diff --git a/Makefile b/Makefile
index a5d3a9c..ae01871 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
VERSION := $(shell grep . VERSION.txt | cut -f1 -d:)
-PROGRAM_NAME := project
+PROGRAM_NAME := prostate
CC := g++
# CC := g++-mp-7 # typical macports compiler name
@@ -11,16 +11,19 @@ ifdef PHYSICELL_CPP
CC := $(PHYSICELL_CPP)
endif
+# prostate model has more than 64 nodes, so we have
+# to set up this var to the number of nodes
+MABOSS_MAX_NODES = 256
+
### MaBoSS configuration
# MaBoSS max nodes
ifndef MABOSS_MAX_NODES
-MABOSS_MAX_NODES = 256
+MABOSS_MAX_NODES = 64
endif
# MaBoSS directory
MABOSS_DIR = addons/PhysiBoSS/MaBoSS/engine
CUR_DIR = $(shell pwd)
-CUSTOM_DIR = sample_projects/Arnau_model/custom_modules
ifneq ($(OS), Windows_NT)
LDL_FLAG = -ldl
@@ -58,7 +61,9 @@ ARCH := native # best auto-tuning
# ARCH := nocona #64-bit pentium 4 or later
# CFLAGS := -march=$(ARCH) -Ofast -s -fomit-frame-pointer -mfpmath=both -fopenmp -m64 -std=c++11
-CFLAGS := -march=$(ARCH) -O3 -fomit-frame-pointer -mfpmath=both -fopenmp -m64 -std=c++11
+CFLAGS := -g -march=$(ARCH) -O3 -fomit-frame-pointer -mfpmath=both -fopenmp -m64 -std=c++11
+# debug:
+# CFLAGS := -march=$(ARCH) -O0 -ggdb -fomit-frame-pointer -mfpmath=both -fopenmp -m64 -std=c++11
ifeq ($(OS),Windows_NT)
else
@@ -91,18 +96,21 @@ MaBoSS := ./addons/PhysiBoSS/MaBoSS/engine/src/BooleanNetwork.h
PhysiBoSS_OBJECTS := maboss_network.o maboss_intracellular.o
-PhysiCell_custom_module_OBJECTS := custom.o
+PhysiCell_custom_module_OBJECTS := custom.o drug_sensitivity.o boolean_model_interface.o
pugixml_OBJECTS := pugixml.o
PhysiCell_OBJECTS := $(BioFVM_OBJECTS) $(pugixml_OBJECTS) $(PhysiCell_core_OBJECTS) $(PhysiCell_module_OBJECTS)
-ALL_OBJECTS := $(PhysiCell_OBJECTS) $(PhysiCell_custom_module_OBJECTS) $(PhysiBoSS_OBJECTS)
+ALL_OBJECTS := $(PhysiCell_OBJECTS) $(PhysiCell_custom_module_OBJECTS) $(PhysiBoSS_OBJECTS)
+#$(PhysiBoSS_module_OBJECTS)
# compile the project
all: main.cpp $(ALL_OBJECTS) $(MaBoSS)
$(COMPILE_COMMAND) $(INC) -o $(PROGRAM_NAME) $(ALL_OBJECTS) main.cpp $(LIB)
- make name
+ @echo ""
+ @echo "check for $(PROGRAM_NAME)"
+ make name
static: main.cpp $(ALL_OBJECTS) $(MaBoSS)
$(LINK_COMMAND) $(INC) -o $(PROGRAM_NAME) $(ALL_OBJECTS) main.cpp $(LIB) -static-libgcc -static-libstdc++ $(STATIC_OPENMP)
@@ -134,16 +142,16 @@ PhysiCell_utilities.o: ./core/PhysiCell_utilities.cpp
PhysiCell_custom.o: ./core/PhysiCell_custom.cpp
$(COMPILE_COMMAND) -c ./core/PhysiCell_custom.cpp
-
+
PhysiCell_constants.o: ./core/PhysiCell_constants.cpp
- $(COMPILE_COMMAND) -c ./core/PhysiCell_constants.cpp
-
+ $(COMPILE_COMMAND) -c ./core/PhysiCell_constants.cpp
+
PhysiCell_signal_behavior.o: ./core/PhysiCell_signal_behavior.cpp
$(COMPILE_COMMAND) -c ./core/PhysiCell_signal_behavior.cpp
-
+
PhysiCell_rules.o: ./core/PhysiCell_rules.cpp
$(COMPILE_COMMAND) -c ./core/PhysiCell_rules.cpp
-
+
# BioFVM core components (needed by PhysiCell)
BioFVM_vector.o: ./BioFVM/BioFVM_vector.cpp
@@ -189,19 +197,19 @@ PhysiCell_MultiCellDS.o: ./modules/PhysiCell_MultiCellDS.cpp $(MaBoSS)
PhysiCell_various_outputs.o: ./modules/PhysiCell_various_outputs.cpp
$(COMPILE_COMMAND) -c ./modules/PhysiCell_various_outputs.cpp
-
+
PhysiCell_pugixml.o: ./modules/PhysiCell_pugixml.cpp
$(COMPILE_COMMAND) -c ./modules/PhysiCell_pugixml.cpp
PhysiCell_settings.o: ./modules/PhysiCell_settings.cpp
- $(COMPILE_COMMAND) -c ./modules/PhysiCell_settings.cpp
-
+ $(COMPILE_COMMAND) -c ./modules/PhysiCell_settings.cpp
+
PhysiCell_basic_signaling.o: ./core/PhysiCell_basic_signaling.cpp
- $(COMPILE_COMMAND) -c ./core/PhysiCell_basic_signaling.cpp
+ $(COMPILE_COMMAND) -c ./core/PhysiCell_basic_signaling.cpp
PhysiCell_geometry.o: ./modules/PhysiCell_geometry.cpp
$(COMPILE_COMMAND) -c ./modules/PhysiCell_geometry.cpp
-
+
# user-defined PhysiCell modules
Compile_MaBoSS: ./addons/PhysiBoSS/MaBoSS/engine/src/BooleanNetwork.h
@@ -214,14 +222,24 @@ else
python3 addons/PhysiBoSS/setup_libmaboss.py
endif
+maboss_intracellular.o: ./addons/PhysiBoSS/src/maboss_intracellular.cpp $(MaBoSS)
+ $(COMPILE_COMMAND) $(INC) -c ./addons/PhysiBoSS/src/maboss_intracellular.cpp
+
maboss_network.o: ./addons/PhysiBoSS/src/maboss_network.cpp $(MaBoSS)
$(COMPILE_COMMAND) $(INC) -c ./addons/PhysiBoSS/src/maboss_network.cpp
-maboss_intracellular.o: ./addons/PhysiBoSS/src/maboss_intracellular.cpp $(MaBoSS)
- $(COMPILE_COMMAND) $(INC) -c ./addons/PhysiBoSS/src/maboss_intracellular.cpp
+utils.o: ./addons/PhysiBoSS/src/utils.cpp #$(MaBoSS)
+ $(COMPILE_COMMAND) $(INC) -c ./addons/PhysiBoSS/src/utils.cpp
custom.o: ./custom_modules/custom.cpp $(MaBoSS)
- $(COMPILE_COMMAND) $(INC) -c ./custom_modules/custom.cpp
+ $(COMPILE_COMMAND) $(INC) -c ./custom_modules/custom.cpp
+
+drug_sensitivity.o: ./custom_modules/drug_sensitivity.cpp
+ $(COMPILE_COMMAND) $(INC) -c ./custom_modules/drug_sensitivity.cpp
+
+boolean_model_interface.o: ./custom_modules/boolean_model_interface.cpp
+ $(COMPILE_COMMAND) $(INC) -c ./custom_modules/boolean_model_interface.cpp
+
# cleanup
@@ -231,29 +249,31 @@ reset:
rm -f ./custom_modules/*
touch ./custom_modules/empty.txt
touch ALL_CITATIONS.txt
- touch ./core/PhysiCell_cell.cpp
rm ALL_CITATIONS.txt
cp ./config/PhysiCell_settings-backup.xml ./config/PhysiCell_settings.xml
- rm -fr ./config/cells.csv ./config/cell_rules.csv
+ rm -rf ./config/boolean_network/
rm -rf ./scripts
MaBoSS-clean:
rm -fr addons/PhysiBoSS/MaBoSS
-clean:
+clean:
rm -f *.o
rm -f $(PROGRAM_NAME)*
data-cleanup:
+ rm -f *.mat
+ rm -f *.xml
+ rm -f *.svg
rm -rf ./output
mkdir ./output
touch ./output/empty.txt
# archival
-
+
checkpoint:
zip -r $$(date +%b_%d_%Y_%H%M).zip Makefile *.cpp *.h config/*.xml custom_modules/*
-
+
zip:
zip -r latest.zip Makefile* *.cpp *.h BioFVM/* config/* core/* custom_modules/* matlab/* modules/* sample_projects/*
cp latest.zip $$(date +%b_%d_%Y_%H%M).zip
@@ -273,26 +293,10 @@ unzip:
untar:
cp ./archives/latest.tar .
tar -xzf latest.tar
-
-# easier animation
-
-FRAMERATE := 24
-OUTPUT := output
-
-jpeg:
- @magick identify -format "%h" $(OUTPUT)/initial.svg > __H.txt
- @magick identify -format "%w" $(OUTPUT)/initial.svg > __W.txt
- @expr 2 \* \( $$(grep . __H.txt) / 2 \) > __H1.txt
- @expr 2 \* \( $$(grep . __W.txt) / 2 \) > __W1.txt
- @echo "$$(grep . __W1.txt)!x$$(grep . __H1.txt)!" > __resize.txt
- @magick mogrify -format jpg -resize $$(grep . __resize.txt) $(OUTPUT)/s*.svg
- rm -f __H*.txt __W*.txt __resize.txt
-gif:
- magick convert $(OUTPUT)/s*.svg $(OUTPUT)/out.gif
-
movie:
- ffmpeg -r $(FRAMERATE) -f image2 -i $(OUTPUT)/snapshot%08d.jpg -vcodec libx264 -pix_fmt yuv420p -strict -2 -tune animation -crf 15 -acodec none $(OUTPUT)/out.mp4
+ ffmpeg -r 25 -i output/snapshot%08d.svg -pix_fmt yuv420p output.mp4
+ vlc output.mp4
# upgrade rules
@@ -322,7 +326,7 @@ upgrade: $(SOURCE)
mv -f PhysiCell/documentation/User_Guide.pdf documentation
rm -f -r PhysiCell
rm -f $(SOURCE)
-
+
# use: make save PROJ=your_project_name
PROJ := my_project
@@ -367,3 +371,4 @@ unpack:
list-user-projects:
@echo "user projects::"
@cd ./user_projects && ls -dt1 * | grep . | sed 's!empty.txt!!'
+
diff --git a/README.md b/README.md
index 6ebe806..b404954 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,21 @@
# About
-This repository is a template for PhysiBoSS models, that can be used to submit a new model to the database.
+This repository is an update of the prostate model to version 2.2.3 of PhysiBoSS. The project does not rely on the cell rules to perform the inhibition, but on an ad-hoc cell sensitivity that depends on the cell line.
+
+A prior version of this model was used to simulate the drug response in prostate cell lines in Figures 6, 7 and 8 of [the PhysiBoSS 2.0 paper](https://www.nature.com/articles/s41540-023-00314-4).
# Getting started
-- Fork this repository.
-- Make a new branch from main for your PhysiBoSS model.
-- Update the new branch with your model
-- Update model.yml metadata file, as well as the readme for a quick description of the model
-- Open a pull request. Building of your model will be tested on Windows, Mac and Linux.
-- When your pull request is accepted by the editors a new repository will be created in the github PhysiBoSS-Models organization, and build/upload of your model will automatically be triggered. Once complete, the model is available on PhysiBoSS-Models.
+The XML in the `config` folder are:
+- PhysiCell_settings_LNCaP.xml: LNCaP cell line simulation
+- PhysiCell_settings_LNCaP_Luminespib_2.xml: LNCaP cell line simulation adding Luminespib drug (anti_HSPs).
+- PhysiCell_settings_LNCaP_Pictilisib_2.xml: LNCaP cell line simulation adding Pictilisib drug (anti_PI3K).
+- PhysiCell_settings_LNCaP_Luminespib_Pictilisib_2.xml: LNCaP cell line simulation adding Luminespib and Pictilisib drugs.
+
+Files in the `scripts` folder have post processing scripts.
+
+# Authors:
+
+Arnau Montagud, Annika Meert, Gerard Pradas and Miguel Ponce de Leon, BSC-CNS
+
+Contact: arnau.montagud at csic.es
diff --git a/config/PhysiCell_settings_LNCaP.xml b/config/PhysiCell_settings_LNCaP.xml
new file mode 100644
index 0000000..8854269
--- /dev/null
+++ b/config/PhysiCell_settings_LNCaP.xml
@@ -0,0 +1,332 @@
+
+
+ -500
+ 500
+ -500
+ 500
+ -500
+ 500
+ 15
+ 15
+ 15
+ false
+
+
+
+ 10080
+ min
+ micron
+ 0.01
+ 0.1
+ 6
+
+
+
+ 4
+
+
+
+ output_nodrug_new_dt6
+
+ 240
+ true
+
+
+
+ false
+
+
+
+
+ false
+ true
+ false
+
+
+
+
+
+ 100000.0
+ 0.0005
+
+ 160.0
+ 160.0
+
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+
+
+
+
+ 1200.0
+ 0.0275
+
+ 0.0
+ 0.0
+
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+ 1200.0
+ 0.0275
+
+ 0.0
+ 0.0
+
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+ true
+ true
+
+
+ ./config/initial.mat
+
+
+
+ ./config/dirichlet.mat
+
+
+
+
+
+
+
+
+
+ 0.0003155
+
+
+
+
+
+ 5.31667e-05
+
+ 516
+
+
+
+ 0.05
+ 0
+ 1.66667e-02
+ 5.83333e-03
+ 0
+ 2.0
+
+
+
+
+ 0.0
+
+ 0
+ 86400
+
+
+
+ 0.05
+ 0
+ 1.66667e-02
+ 5.83333e-03
+ 0
+ 2.0
+
+
+
+
+ 2494
+ 0.75
+ 540
+ 0.05
+ 0.0045
+ 0.0055
+ 0
+ 0
+ 2.0
+
+
+ 0.4
+ 100.0
+ 1.1
+
+ 1.0
+ 0.8
+
+
+ 1.8
+ 15.12
+
+ 4.0
+ 10.0
+ 0.1
+ 1.0
+ 0.0
+
+
+ 1
+ 1
+ 0
+
+
+ false
+ false
+
+ false
+ oxygen
+ 1
+
+
+ false
+ false
+
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+
+
+ 0
+ 38
+ 10
+ 0
+
+
+ 0.0
+ 1.0
+ 0.0025
+ 0.0
+
+
+ 0.0
+ 1.0
+ 0.0025
+ 0.0
+
+
+
+
+ 0.0
+
+ 0.0
+ 0.0
+
+
+ 0.0
+ 0.0
+
+ 1.0
+
+ 0.0
+ 0.0
+
+
+
+
+
+
+
+ ./config/boolean_network/LNCaP_mut_RNA_00_all_nodes.bnd
+ ./config/boolean_network/LNCaP_mut_RNA_00_all_nodes.cfg
+
+ 6.0
+ 0.0
+ 10.0
+ 0.0
+
+
+
+
+
+
+
+
+
+ 0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+
+
+
+
+ ./config
+ init2.csv
+
+
+
+
+ 0
+
+ 0
+ 0.35
+ 2
+
+
+ 2
+ 0.0003155
+
+
+ 5
+ LNCaP
+
+
+
+ -1
+
+ 0.0025
+ 0.1
+ 2.30653618101248
+ 3.85680179514967
+ 10.0
+ 0.0
+ 0
+ 0.0025
+ 0.1
+ 2.30653618101248
+ 7.02401783651853
+ 0.25
+ 0.0
+ 0
+
+
diff --git a/config/PhysiCell_settings_LNCaP_Luminespib_2.xml b/config/PhysiCell_settings_LNCaP_Luminespib_2.xml
new file mode 100644
index 0000000..4a11b4a
--- /dev/null
+++ b/config/PhysiCell_settings_LNCaP_Luminespib_2.xml
@@ -0,0 +1,332 @@
+
+
+ -500
+ 500
+ -500
+ 500
+ -500
+ 500
+ 15
+ 15
+ 15
+ false
+
+
+
+ 10080
+ min
+ micron
+ 0.01
+ 0.1
+ 6
+
+
+
+ 1
+
+
+
+ output_lumi
+
+ 240
+ true
+
+
+
+ false
+
+
+
+
+ false
+ true
+ false
+
+
+
+
+
+ 100000.0
+ 0.0005
+
+ 160.0
+ 160.0
+
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+
+
+
+
+ 1200.0
+ 0.0275
+
+ 0.0
+ 0.0
+
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+ 1200.0
+ 0.0275
+
+ 160.0
+ 160.0
+
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+
+
+
+ true
+ true
+
+
+ ./config/initial.mat
+
+
+
+ ./config/dirichlet.mat
+
+
+
+
+
+
+
+
+
+ 0.0003155
+
+
+
+
+
+ 5.31667e-05
+
+ 516
+
+
+
+ 0.05
+ 0
+ 1.66667e-02
+ 5.83333e-03
+ 0
+ 2.0
+
+
+
+
+ 0.0
+
+ 0
+ 86400
+
+
+
+ 0.05
+ 0
+ 1.66667e-02
+ 5.83333e-03
+ 0
+ 2.0
+
+
+
+
+ 2494
+ 0.75
+ 540
+ 0.05
+ 0.0045
+ 0.0055
+ 0
+ 0
+ 2.0
+
+
+ 0.4
+ 100.0
+ 1.1
+
+ 1.0
+ 0.8
+
+
+ 1.8
+ 15.12
+
+ 4.0
+ 10.0
+ 0.1
+ 1.0
+ 0.0
+
+
+ 1
+ 1
+ 0
+
+
+ false
+ false
+
+ false
+ oxygen
+ 1
+
+
+ false
+ false
+
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+
+
+ 0
+ 38
+ 10
+ 0
+
+
+ 0.0
+ 1.0
+ 0.0025
+ 0.0
+
+
+ 0.0
+ 1.0
+ 0.0025
+ 0.0
+
+
+
+
+ 0.0
+
+ 0.0
+ 0.0
+
+
+ 0.0
+ 0.0
+
+ 1.0
+
+ 0.0
+ 0.0
+
+
+
+
+
+
+
+ ./config/boolean_network/LNCaP_mut_RNA_00_all_nodes.bnd
+ ./config/boolean_network/LNCaP_mut_RNA_00_all_nodes.cfg
+
+ 6.0
+ 0.0
+ 10.0
+ 0.0
+
+
+
+
+
+
+
+
+
+ 0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+
+
+
+
+ ./config
+ init2.csv
+
+
+
+
+ 0
+
+ 0
+ 0.35
+ 2
+
+
+ 2
+ 0.0003155
+
+
+ 5
+ LNCaP
+
+
+
+ 1
+
+ 0.0025
+ 0.1
+ 2.30653618101248
+ 3.85680179514967
+ 10.0
+ 0.0
+ 0
+ 0.0025
+ 0.1
+ 2.30653618101248
+ 7.02401783651853
+ 0.25
+ 0.0
+ IC90
+
+
diff --git a/config/PhysiCell_settings_LNCaP_Luminespib_Pictilisib_2.xml b/config/PhysiCell_settings_LNCaP_Luminespib_Pictilisib_2.xml
new file mode 100644
index 0000000..54afa89
--- /dev/null
+++ b/config/PhysiCell_settings_LNCaP_Luminespib_Pictilisib_2.xml
@@ -0,0 +1,332 @@
+
+
+ -500
+ 500
+ -500
+ 500
+ -500
+ 500
+ 15
+ 15
+ 15
+ false
+
+
+
+ 10080
+ min
+ micron
+ 0.01
+ 0.1
+ 6
+
+
+
+ 4
+
+
+
+ output_lumi_picti
+
+ 240
+ true
+
+
+
+ false
+
+
+
+
+ false
+ true
+ false
+
+
+
+
+
+ 100000.0
+ 0.0005
+
+ 160.0
+ 160.0
+
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+
+
+
+
+ 1200.0
+ 0.0275
+
+ 160.0
+ 160.0
+
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+
+
+
+
+ 1200.0
+ 0.0275
+
+ 160.0
+ 160.0
+
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+
+
+
+ true
+ true
+
+
+ ./config/initial.mat
+
+
+
+ ./config/dirichlet.mat
+
+
+
+
+
+
+
+
+
+ 0.0003155
+
+
+
+
+
+ 5.31667e-05
+
+ 516
+
+
+
+ 0.05
+ 0
+ 1.66667e-02
+ 5.83333e-03
+ 0
+ 2.0
+
+
+
+
+ 0.0
+
+ 0
+ 86400
+
+
+
+ 0.05
+ 0
+ 1.66667e-02
+ 5.83333e-03
+ 0
+ 2.0
+
+
+
+
+ 2494
+ 0.75
+ 540
+ 0.05
+ 0.0045
+ 0.0055
+ 0
+ 0
+ 2.0
+
+
+ 0.4
+ 100.0
+ 1.1
+
+ 1.0
+ 0.8
+
+
+ 1.8
+ 15.12
+
+ 4.0
+ 10.0
+ 0.1
+ 1.0
+ 0.0
+
+
+ 1
+ 1
+ 0
+
+
+ false
+ false
+
+ false
+ oxygen
+ 1
+
+
+ false
+ false
+
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+
+
+ 0
+ 38
+ 10
+ 0
+
+
+ 0.0
+ 1.0
+ 0.0025
+ 0.0
+
+
+ 0.0
+ 1.0
+ 0.0025
+ 0.0
+
+
+
+
+ 0.0
+
+ 0.0
+ 0.0
+
+
+ 0.0
+ 0.0
+
+ 1.0
+
+ 0.0
+ 0.0
+
+
+
+
+
+
+
+ ./config/boolean_network/LNCaP_mut_RNA_00_all_nodes.bnd
+ ./config/boolean_network/LNCaP_mut_RNA_00_all_nodes.cfg
+
+ 6.0
+ 0.0
+ 10.0
+ 0.0
+
+
+
+
+
+
+
+
+
+ 0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+
+
+
+
+ ./config
+ init2.csv
+
+
+
+
+ 0
+
+ 0
+ 0.35
+ 2
+
+
+ 2
+ 0.0003155
+
+
+ 5
+ LNCaP
+
+
+
+ 1
+
+ 0.0025
+ 0.1
+ 2.30653618101248
+ 3.85680179514967
+ 10.0
+ 0.0
+ IC90
+ 0.0025
+ 0.1
+ 2.30653618101248
+ 7.02401783651853
+ 0.25
+ 0.0
+ IC90
+
+
diff --git a/config/PhysiCell_settings_LNCaP_Pictilisib_2.xml b/config/PhysiCell_settings_LNCaP_Pictilisib_2.xml
new file mode 100644
index 0000000..cccc9a7
--- /dev/null
+++ b/config/PhysiCell_settings_LNCaP_Pictilisib_2.xml
@@ -0,0 +1,332 @@
+
+
+ -500
+ 500
+ -500
+ 500
+ -500
+ 500
+ 15
+ 15
+ 15
+ false
+
+
+
+ 10080
+ min
+ micron
+ 0.01
+ 0.1
+ 6
+
+
+
+ 4
+
+
+
+ output_picti
+
+ 240
+ true
+
+
+
+ false
+
+
+
+
+ false
+ true
+ false
+
+
+
+
+
+ 100000.0
+ 0.0005
+
+ 160.0
+ 160.0
+
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+
+
+
+
+ 1200.0
+ 0.0275
+
+ 0.0
+ 0.0
+
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+ 1200.0
+ 0.0275
+
+ 160.0
+ 160.0
+
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+ 38.0
+
+
+
+ true
+ true
+
+
+ ./config/initial.mat
+
+
+
+ ./config/dirichlet.mat
+
+
+
+
+
+
+
+
+
+ 0.0003155
+
+
+
+
+
+ 5.31667e-05
+
+ 516
+
+
+
+ 0.05
+ 0
+ 1.66667e-02
+ 5.83333e-03
+ 0
+ 2.0
+
+
+
+
+ 0.0
+
+ 0
+ 86400
+
+
+
+ 0.05
+ 0
+ 1.66667e-02
+ 5.83333e-03
+ 0
+ 2.0
+
+
+
+
+ 2494
+ 0.75
+ 540
+ 0.05
+ 0.0045
+ 0.0055
+ 0
+ 0
+ 2.0
+
+
+ 0.4
+ 100.0
+ 1.1
+
+ 1.0
+ 0.8
+
+
+ 1.8
+ 15.12
+
+ 4.0
+ 10.0
+ 0.1
+ 1.0
+ 0.0
+
+
+ 1
+ 1
+ 0
+
+
+ false
+ false
+
+ false
+ oxygen
+ 1
+
+
+ false
+ false
+
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+
+
+ 0
+ 38
+ 10
+ 0
+
+
+ 0.0
+ 1.0
+ 0.0025
+ 0.0
+
+
+ 0.0
+ 1.0
+ 0.0025
+ 0.0
+
+
+
+
+ 0.0
+
+ 0.0
+ 0.0
+
+
+ 0.0
+ 0.0
+
+ 1.0
+
+ 0.0
+ 0.0
+
+
+
+
+
+
+
+ ./config/boolean_network/LNCaP_mut_RNA_00_all_nodes.bnd
+ ./config/boolean_network/LNCaP_mut_RNA_00_all_nodes.cfg
+
+ 6.0
+ 0.0
+ 10.0
+ 0.0
+
+
+
+
+
+
+
+
+
+ 0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+
+
+
+
+
+
+ ./config
+ init2.csv
+
+
+
+
+ 0
+
+ 0
+ 0.35
+ 2
+
+
+ 2
+ 0.0003155
+
+
+ 5
+ LNCaP
+
+
+
+ 1
+
+ 0.0025
+ 0.1
+ 2.30653618101248
+ 3.85680179514967
+ 10.0
+ 0.0
+ IC90
+ 0.0025
+ 0.1
+ 2.30653618101248
+ 7.02401783651853
+ 0.25
+ 0.0
+ 0
+
+
diff --git a/config/boolean_network/LNCaP_mut_RNA_00.bnd b/config/boolean_network/LNCaP_mut_RNA_00.bnd
new file mode 100644
index 0000000..accd46a
--- /dev/null
+++ b/config/boolean_network/LNCaP_mut_RNA_00.bnd
@@ -0,0 +1,823 @@
+Node Acidosis {
+ logic = (Acidosis);
+ rate_up = @logic ? $u_Acidosis : 0;
+ rate_down = @logic ? 0 : $d_Acidosis;
+}
+
+Node AKT {
+ logic = ((HSPs | (PDK1 & PIP3) | PIP3 | (SHH & PIP3)) & !PTCH1);
+ rate_up = @logic ? $u_AKT : 0;
+ rate_down = @logic ? 0 : $d_AKT;
+}
+
+Node AMPK {
+ logic = (ATR | HIF1 | AMP_ATP | ATM) & !FGFR3;
+ rate_up = @logic ? $u_AMPK : 0;
+ rate_down = @logic ? 0 : $d_AMPK;
+}
+
+Node AMP_ATP {
+ logic = (!Nutrients);
+ rate_up = @logic ? $u_AMP_ATP : 0;
+ rate_down = @logic ? 0 : $d_AMP_ATP;
+}
+
+Node Androgen {
+ logic = (Androgen);
+ rate_up = @logic ? $u_Androgen : 0;
+ rate_down = @logic ? 0 : $d_Androgen;
+}
+
+Node Angiogenesis {
+ logic = (VEGF & (NF_kB | SMAD));
+ rate_up = @logic ? $u_Angiogenesis : 0;
+ rate_down = @logic ? 0 : $d_Angiogenesis;
+}
+
+Node APAF1 {
+ logic = ((Caspase8 | BAX | p53 | Bak | HSPs) & !Bcl_XL & !BCL2 & !AKT);
+ rate_up = @logic ? $u_APAF1 : 0;
+ rate_down = @logic ? 0 : $d_APAF1;
+}
+
+Node Apoptosis {
+ logic = (Caspase9 | Caspase8 | Caspase3);
+ rate_up = @logic ? $u_Apoptosis : 0;
+ rate_down = @logic ? 0 : $d_Apoptosis;
+}
+
+Node AR {
+ logic = ((GLI | EP300 | HSPs | NKX3_1 | EZH2 | NCOA3 | PKC | SMAD | Androgen) & !PTEN & !NCOR1 & !NCOR2 & !MDM2);
+ rate_up = @logic ? $u_AR : 0;
+ rate_down = @logic ? 0 : $d_AR;
+}
+
+Node AR_ERG {
+ logic = ((AR & fused_event) | (AR & fused_event & !NKX3_1));
+ rate_up = @logic ? $u_AR_ERG : 0;
+ rate_down = @logic ? 0 : $d_AR_ERG;
+}
+
+Node ATM {
+ logic = (DNA_Damage);
+ rate_up = @logic ? $u_ATM : 0;
+ rate_down = @logic ? 0 : $d_ATM;
+}
+
+Node ATR {
+ logic = (DNA_Damage);
+ rate_up = @logic ? $u_ATR : 0;
+ rate_down = @logic ? 0 : $d_ATR;
+}
+
+Node AXIN1 {
+ logic = (GSK3);
+ rate_up = @logic ? $u_AXIN1 : 0;
+ rate_down = @logic ? 0 : $d_AXIN1;
+}
+
+Node BAD {
+ logic = (!AKT & !HIF1 & !p90RSK & !RAF & !YWHAZ);
+ rate_up = @logic ? $u_BAD : 0;
+ rate_down = @logic ? 0 : $d_BAD;
+}
+
+Node Bak {
+ logic = (Caspase8);
+ rate_up = @logic ? $u_Bak : 0;
+ rate_down = @logic ? 0 : $d_Bak;
+}
+
+Node BAX {
+ logic = (!BCL2 & !HIF1 & !YWHAZ & (JNK | HIF1 | p53) & !ETS1);
+ rate_up = @logic ? $u_BAX : 0;
+ rate_down = @logic ? 0 : $d_BAX;
+}
+
+Node BCL2 {
+ logic = ((HSPs | NF_kB | RUNX2) & !BAX & !p53 & !DAXX & !BAD);
+ rate_up = @logic ? $u_BCL2 : 0;
+ rate_down = @logic ? 0 : $d_BCL2;
+}
+
+Node Bcl_XL {
+ logic = (AR & !BAD & !p53);
+ rate_up = @logic ? $u_Bcl_XL : 0;
+ rate_down = @logic ? 0 : $d_Bcl_XL;
+}
+
+Node beta_catenin {
+ logic = (!GSK3 & !p53 & !AXIN1 & (EZH2 | YWHAZ));
+ rate_up = @logic ? $u_beta_catenin : 0;
+ rate_down = @logic ? 0 : $d_beta_catenin;
+}
+
+Node BIRC5 {
+ logic = (HSPs & !p53);
+ rate_up = @logic ? $u_BIRC5 : 0;
+ rate_down = @logic ? 0 : $d_BIRC5;
+}
+
+Node BMP2 {
+ logic = (GLI & (TGFBR | FGFR3));
+ rate_up = @logic ? $u_BMP2 : 0;
+ rate_down = @logic ? 0 : $d_BMP2;
+}
+
+Node BRCA1 {
+ logic = ((E2F1 | ATM | ATR | (E2F1 & EP300) | (ATM & EP300) | (ATR & EP300)) & !CyclinD & !Bak);
+ rate_up = @logic ? $u_BRCA1 : 0;
+ rate_down = @logic ? 0 : $d_BRCA1;
+}
+
+Node BRCA2 {
+ logic = (ATM & ATR & EP300);
+ rate_up = @logic ? $u_BRCA2 : 0;
+ rate_down = @logic ? 0 : $d_BRCA2;
+}
+
+Node Carcinogen {
+ logic = (Carcinogen);
+ rate_up = @logic ? $u_Carcinogen : 0;
+ rate_down = @logic ? 0 : $d_Carcinogen;
+}
+
+Node Caspase3 {
+ logic = (Caspase8 | Caspase9);
+ rate_up = @logic ? $u_Caspase3 : 0;
+ rate_down = @logic ? 0 : $d_Caspase3;
+}
+
+Node Caspase8 {
+ logic = (!cFLAR & FADD);
+ rate_up = @logic ? $u_Caspase8 : 0;
+ rate_down = @logic ? 0 : $d_Caspase8;
+}
+
+Node Caspase9 {
+ logic = ((!AKT & CytoC & APAF1 & PTCH1) | (!AKT & BIRC5 & CytoC & APAF1) | (!AKT & BIRC5 & CytoC & APAF1 & PTCH1));
+ rate_up = @logic ? $u_Caspase9 : 0;
+ rate_down = @logic ? 0 : $d_Caspase9;
+}
+
+Node CDH2 {
+ logic = (TWIST1);
+ rate_up = @logic ? $u_CDH2 : 0;
+ rate_down = @logic ? 0 : $d_CDH2;
+}
+
+Node cFLAR {
+ logic = ((AKT | AR) & !JNK);
+ rate_up = @logic ? $u_cFLAR : 0;
+ rate_down = @logic ? 0 : $d_cFLAR;
+}
+
+Node CHK1_2 {
+ logic = (ATM & ATR & BRCA1);
+ rate_up = @logic ? $u_CHK1_2 : 0;
+ rate_down = @logic ? 0 : $d_CHK1_2;
+}
+
+Node COX4I2 {
+ logic = (HIF1);
+ rate_up = @logic ? $u_COX4I2 : 0;
+ rate_down = @logic ? 0 : $d_COX4I2;
+}
+
+Node CyclinB {
+ logic = (E2F1 & !p21);
+ rate_up = @logic ? $u_CyclinB : 0;
+ rate_down = @logic ? 0 : $d_CyclinB;
+}
+
+Node CyclinD {
+ logic = ((GLI | TCF | NF_kB) & MYC_MAX & !p21 & !FOXO & !p15 & !GSK3);
+ rate_up = @logic ? $u_CyclinD : 0;
+ rate_down = @logic ? 0 : $d_CyclinD;
+}
+
+Node CytoC {
+ logic = ((Caspase8 | BAX | p53 | Bak) & !Bcl_XL & !BCL2 & !AKT);
+ rate_up = @logic ? $u_CytoC : 0;
+ rate_down = @logic ? 0 : $d_CytoC;
+}
+
+Node DAXX {
+ logic = (!ATM & !ATR & !SPOP);
+ rate_up = @logic ? $u_DAXX : 0;
+ rate_down = @logic ? 0 : $d_DAXX;
+}
+
+Node DNA_Damage {
+ logic = ((Carcinogen | (Carcinogen & ROS)) & !SPOP);
+ rate_up = @logic ? $u_DNA_Damage : 0;
+ rate_down = @logic ? 0 : $d_DNA_Damage;
+}
+
+Node DNA_Repair {
+ logic = (ATM & ATR & (BRCA1 | BRCA2));
+ rate_up = @logic ? $u_DNA_Repair : 0;
+ rate_down = @logic ? 0 : $d_DNA_Repair;
+}
+
+Node Dsh {
+ logic = (WNT);
+ rate_up = @logic ? $u_Dsh : 0;
+ rate_down = @logic ? 0 : $d_Dsh;
+}
+
+Node E2F1 {
+ logic = ((AR | (FOXA1 & AR) | (ATR & AR) | (ATM & AR)) & !RB1 & !MXI1);
+ rate_up = @logic ? $u_E2F1 : 0;
+ rate_down = @logic ? 0 : $d_E2F1;
+}
+
+Node eEF2 {
+ logic = (!eEF2K);
+ rate_up = @logic ? $u_eEF2 : 0;
+ rate_down = @logic ? 0 : $d_eEF2;
+}
+
+Node eEF2K {
+ logic = (p90RSK | p70S6kab);
+ rate_up = @logic ? $u_eEF2K : 0;
+ rate_down = @logic ? 0 : $d_eEF2K;
+}
+
+Node EGF {
+ logic = (EGF);
+ rate_up = @logic ? $u_EGF : 0;
+ rate_down = @logic ? 0 : $d_EGF;
+}
+
+Node EGFR {
+ logic = ((!TGFBR & !FRS2 & !EGFR & !PKC & (ERK | Androgen | EGF)) | (!TGFBR & !FRS2 & (Androgen | EGF)));
+ rate_up = @logic ? $u_EGFR : 0;
+ rate_down = @logic ? 0 : $d_EGFR;
+}
+
+Node EMT {
+ logic = (CDH2 & !E_cadherin & !FOXA1);
+ rate_up = @logic ? $u_EMT : 0;
+ rate_down = @logic ? 0 : $d_EMT;
+}
+
+Node EP300 {
+ logic = (AKT);
+ rate_up = @logic ? $u_EP300 : 0;
+ rate_down = @logic ? 0 : $d_EP300;
+}
+
+Node ERG {
+ logic = (ERK);
+ rate_up = @logic ? $u_ERG : 0;
+ rate_down = @logic ? 0 : $d_ERG;
+}
+
+Node ERK {
+ logic = (RAF | MEK1_2);
+ rate_up = @logic ? $u_ERK : 0;
+ rate_down = @logic ? 0 : $d_ERK;
+}
+
+Node ETS1 {
+ logic = (!p53 & (RTK | ERK));
+ rate_up = @logic ? $u_ETS1 : 0;
+ rate_down = @logic ? 0 : $d_ETS1;
+}
+
+Node ETV1 {
+ logic = (ETS1 | MEK1_2);
+ rate_up = @logic ? $u_ETV1 : 0;
+ rate_down = @logic ? 0 : $d_ETV1;
+}
+
+Node EZH2 {
+ logic = (AKT & E2F1 & (ERG | AR_ERG));
+ rate_up = @logic ? $u_EZH2 : 0;
+ rate_down = @logic ? 0 : $d_EZH2;
+}
+
+Node E_cadherin {
+ logic = ((beta_catenin | AR_ERG) & !Snail & !ERG & !NF_kB & !Slug);
+ rate_up = @logic ? $u_E_cadherin : 0;
+ rate_down = @logic ? 0 : $d_E_cadherin;
+}
+
+Node FADD {
+ logic = (PTCH1 | TNFalpha) & !SHH & !MAP3K1_3;
+ rate_up = @logic ? $u_FADD : 0;
+ rate_down = @logic ? 0 : $d_FADD;
+}
+
+Node FGF {
+ logic = (FGF);
+ rate_up = @logic ? $u_FGF : 0;
+ rate_down = @logic ? 0 : $d_FGF;
+}
+
+Node FGFR3 {
+ logic = ((FGF | (FGF & RUNX2)) & !FRS2 & !PKC & !TGFBR);
+ rate_up = @logic ? $u_FGFR3 : 0;
+ rate_down = @logic ? 0 : $d_FGFR3;
+}
+
+Node FOS {
+ logic = (ERK | ETS1 | AR);
+ rate_up = @logic ? $u_FOS : 0;
+ rate_down = @logic ? 0 : $d_FOS;
+}
+
+Node FOXA1 {
+ logic = (FOXO);
+ rate_up = @logic ? $u_FOXA1 : 0;
+ rate_down = @logic ? 0 : $d_FOXA1;
+}
+
+Node FOXO {
+ logic = (MAP3K1_3 & JNK & !AKT);
+ rate_up = @logic ? $u_FOXO : 0;
+ rate_down = @logic ? 0 : $d_FOXO;
+}
+
+Node FRS2 {
+ logic = (!ERK & !EGFR & FGFR3 & !FRS2 & !TGFBR);
+ rate_up = @logic ? $u_FRS2 : 0;
+ rate_down = @logic ? 0 : $d_FRS2;
+}
+
+Node fused_event {
+ logic = (fused_event);
+ rate_up = @logic ? $u_fused_event : 0;
+ rate_down = @logic ? 0 : $d_fused_event;
+}
+
+Node GADD45 {
+ logic = (SMAD | p53);
+ rate_up = @logic ? $u_GADD45 : 0;
+ rate_down = @logic ? 0 : $d_GADD45;
+}
+
+Node GLI {
+ logic = ((WNT | SMO) & !SPOP);
+ rate_up = @logic ? $u_GLI : 0;
+ rate_down = @logic ? 0 : $d_GLI;
+}
+
+Node GLUT1 {
+ logic = ((HIF1 | MYC_MAX | AKT) & Nutrients);
+ rate_up = @logic ? $u_GLUT1 : 0;
+ rate_down = @logic ? 0 : $d_GLUT1;
+}
+
+Node Glycolysis {
+ logic = (GLUT1 & Lactic_acid);
+ rate_up = @logic ? $u_Glycolysis : 0;
+ rate_down = @logic ? 0 : $d_Glycolysis;
+}
+
+Node GSH {
+ logic = (MYC_MAX | NF_kB | p21);
+ rate_up = @logic ? $u_GSH : 0;
+ rate_down = @logic ? 0 : $d_GSH;
+}
+
+Node GSK3 {
+ logic = (!AKT & !Dsh & MEK1_2 & !mTORC2 & !p90RSK);
+ rate_up = @logic ? $u_GSK3 : 0;
+ rate_down = @logic ? 0 : $d_GSK3;
+}
+
+Node HIF1 {
+ logic = (!PHDs & !VHL & !p53 & !FOXO & (HSPs | mTORC1 | mTORC2 | Hypoxia | MYC_MAX));
+ rate_up = @logic ? $u_HIF1 : 0;
+ rate_down = @logic ? 0 : $d_HIF1;
+}
+
+Node HSPs {
+ logic = ((PKC | FOXA1 | Carcinogen) & !BRCA1 & !E2F1 & !AKT);
+ rate_up = @logic ? $u_HSPs : 0;
+ rate_down = @logic ? 0 : $d_HSPs;
+}
+
+Node Hypermethylation {
+ logic = (!IDH1);
+ rate_up = @logic ? $u_Hypermethylation : 0;
+ rate_down = @logic ? 0 : $d_Hypermethylation;
+}
+
+Node Hypoxia {
+ logic = (Hypoxia);
+ rate_up = @logic ? $u_Hypoxia : 0;
+ rate_down = @logic ? 0 : $d_Hypoxia;
+}
+
+Node IDH1 {
+ logic = (SMAD | FOXA1 | mTORC2 | ((SMAD | mTORC2 | FOXA1) & MEK1_2));
+ rate_up = @logic ? $u_IDH1 : 0;
+ rate_down = @logic ? 0 : $d_IDH1;
+}
+
+Node IKK {
+ logic = ((mTORC2 | AKT) & (PKC | TAK1 | ETS1) & !PHDs & !p53);
+ rate_up = @logic ? $u_IKK : 0;
+ rate_down = @logic ? 0 : $d_IKK;
+}
+
+Node Invasion {
+ logic = ((CDH2 & SMAD) | (CDH2 & SMAD & EZH2) | beta_catenin);
+ rate_up = @logic ? $u_Invasion : 0;
+ rate_down = @logic ? 0 : $d_Invasion;
+}
+
+Node JNK {
+ logic = ((ATM | GADD45 | TAK1 | MAP3K1_3) & !ERK & !p38);
+ rate_up = @logic ? $u_JNK : 0;
+ rate_down = @logic ? 0 : $d_JNK;
+}
+
+Node JUN {
+ logic = (AR | ETS1 | JNK);
+ rate_up = @logic ? $u_JUN : 0;
+ rate_down = @logic ? 0 : $d_JUN;
+}
+
+Node Lactic_acid {
+ logic = (LDHA);
+ rate_up = @logic ? $u_Lactic_acid : 0;
+ rate_down = @logic ? 0 : $d_Lactic_acid;
+}
+
+Node LDHA {
+ logic = (HIF1 | MYC_MAX | IDH1);
+ rate_up = @logic ? $u_LDHA : 0;
+ rate_down = @logic ? 0 : $d_LDHA;
+}
+
+Node MAP3K1_3 {
+ logic = (RAS & !(FOS | JUN | JNK | p38));
+ rate_up = @logic ? $u_MAP3K1_3 : 0;
+ rate_down = @logic ? 0 : $d_MAP3K1_3;
+}
+
+
+Node MDM2 {
+ logic = (((AKT | p53) & DAXX & !p14ARF & !ATR & !ATM));
+ rate_up = @logic ? $u_MDM2 : 0;
+ rate_down = @logic ? 0 : $d_MDM2;
+}
+
+Node MED12 {
+ logic = (!GLI);
+ rate_up = @logic ? $u_MED12 : 0;
+ rate_down = @logic ? 0 : $d_MED12;
+}
+
+Node MEK1_2 {
+ logic = (MAP3K1_3 | RAF | PDK1);
+ rate_up = @logic ? $u_MEK1_2 : 0;
+ rate_down = @logic ? 0 : $d_MEK1_2;
+}
+
+Node Metastasis {
+ logic = (Migration & AR_ERG);
+ rate_up = @logic ? $u_Metastasis : 0;
+ rate_down = @logic ? 0 : $d_Metastasis;
+}
+
+Node Migration {
+ logic = (((AKT & ERK) | (AKT & ETV1)) & Invasion & EMT);
+ rate_up = @logic ? $u_Migration : 0;
+ rate_down = @logic ? 0 : $d_Migration;
+}
+
+Node mTORC1 {
+ logic = ((AKT | (AKT & Rheb)) & !AMPK & !TSC1_2);
+ rate_up = @logic ? $u_mTORC1 : 0;
+ rate_down = @logic ? 0 : $d_mTORC1;
+}
+
+Node mTORC2 {
+ logic = ((!AMPK & RAGS & Rheb) | (AKT & !AMPK & Rheb) | (AKT & !AMPK & RAGS) | (AKT & RAGS & Rheb & !AMPK));
+ rate_up = @logic ? $u_mTORC2 : 0;
+ rate_down = @logic ? 0 : $d_mTORC2;
+}
+
+Node MXI1 {
+ logic = (HIF1);
+ rate_up = @logic ? $u_MXI1 : 0;
+ rate_down = @logic ? 0 : $d_MXI1;
+}
+
+Node MYC {
+ logic = ((GLI | ERK | TCF | JUN | FOS | AR_ERG | ERG | NF_kB | SHH) & (mTORC1 | E2F1 | p38) & !HIF1);
+ rate_up = @logic ? $u_MYC : 0;
+ rate_down = @logic ? 0 : $d_MYC;
+}
+
+Node MYC_MAX {
+ logic = (MYC & !MXI1 & !TGFBR & !SMAD);
+ rate_up = @logic ? $u_MYC_MAX : 0;
+ rate_down = @logic ? 0 : $d_MYC_MAX;
+}
+
+Node NCOA3 {
+ logic = (!SPOP & p38);
+ rate_up = @logic ? $u_NCOA3 : 0;
+ rate_down = @logic ? 0 : $d_NCOA3;
+}
+
+Node NCOR1 {
+ logic = (!AKT);
+ rate_up = @logic ? $u_NCOR1 : 0;
+ rate_down = @logic ? 0 : $d_NCOR1;
+}
+
+Node NCOR2 {
+ logic = (!AKT & !FOXO);
+ rate_up = @logic ? $u_NCOR2 : 0;
+ rate_down = @logic ? 0 : $d_NCOR2;
+}
+
+Node NF1 {
+ logic = (!PKC);
+ rate_up = @logic ? $u_NF1 : 0;
+ rate_down = @logic ? 0 : $d_NF1;
+}
+
+Node NF_kB {
+ logic = ((E_cadherin | IKK | DNA_Damage) & (NCOA3 | PIP3 | Snail));
+ rate_up = @logic ? $u_NF_kB : 0;
+ rate_down = @logic ? 0 : $d_NF_kB;
+}
+
+Node NKX3_1 {
+ logic = (PKC & AR & !ERG & !AR_ERG);
+ rate_up = @logic ? $u_NKX3_1 : 0;
+ rate_down = @logic ? 0 : $d_NKX3_1;
+}
+
+Node Nutrients {
+ logic = (Nutrients);
+ rate_up = @logic ? $u_Nutrients : 0;
+ rate_down = @logic ? 0 : $d_Nutrients;
+}
+
+Node p14ARF {
+ logic = (E2F1 & MYC_MAX & RAS);
+ rate_up = @logic ? $u_p14ARF : 0;
+ rate_down = @logic ? 0 : $d_p14ARF;
+}
+
+Node p15 {
+ logic = (ZBTB17);
+ rate_up = @logic ? $u_p15 : 0;
+ rate_down = @logic ? 0 : $d_p15;
+}
+
+Node p21 {
+ logic = ((p53 | SMAD | HIF1 | ZBTB17) & !TERT & !MYC_MAX & !MDM2 & !AKT & !ERK);
+ rate_up = @logic ? $u_p21 : 0;
+ rate_down = @logic ? 0 : $d_p21;
+}
+
+Node p38 {
+ logic = (MAP3K1_3 & !ERK & !GADD45);
+ rate_up = @logic ? $u_p38 : 0;
+ rate_down = @logic ? 0 : $d_p38;
+}
+
+Node p53 {
+ logic = ((Acidosis | CHK1_2 | p38 | HIF1) & !BCL2 & !MDM2 & !HSPs & !Snail);
+ rate_up = @logic ? $u_p53 : 0;
+ rate_down = @logic ? 0 : $d_p53;
+}
+
+Node p70S6kab {
+ logic = (mTORC2 | PDK1);
+ rate_up = @logic ? $u_p70S6kab : 0;
+ rate_down = @logic ? 0 : $d_p70S6kab;
+}
+
+Node p90RSK {
+ logic = (PDK1 | ERK);
+ rate_up = @logic ? $u_p90RSK : 0;
+ rate_down = @logic ? 0 : $d_p90RSK;
+}
+
+Node PDK1 {
+ logic = (HIF1 | MYC_MAX | PIP3);
+ rate_up = @logic ? $u_PDK1 : 0;
+ rate_down = @logic ? 0 : $d_PDK1;
+}
+
+Node PHDs {
+ logic = (!Hypoxia & ROS);
+ rate_up = @logic ? $u_PHDs : 0;
+ rate_down = @logic ? 0 : $d_PHDs;
+}
+
+Node PI3K {
+ logic = (TGFBR | FRS2 | EGFR);
+ rate_up = @logic ? $u_PI3K : 0;
+ rate_down = @logic ? 0 : $d_PI3K;
+}
+
+Node PIP3 {
+ logic = ((!p53 & PI3K & !PTEN) | (!p53 & PI3K));
+ rate_up = @logic ? $u_PIP3 : 0;
+ rate_down = @logic ? 0 : $d_PIP3;
+}
+
+Node PKC {
+ logic = (RTK & WNT);
+ rate_up = @logic ? $u_PKC : 0;
+ rate_down = @logic ? 0 : $d_PKC;
+}
+
+Node Proliferation {
+ logic = (CyclinB | CyclinD);
+ rate_up = @logic ? $u_Proliferation : 0;
+ rate_down = @logic ? 0 : $d_Proliferation;
+}
+
+Node PTCH1 {
+ logic = (!SHH & GLI);
+ rate_up = @logic ? $u_PTCH1 : 0;
+ rate_down = @logic ? 0 : $d_PTCH1;
+}
+
+Node PTEN {
+ logic = ((!NF_kB & !Snail & FGFR3 & p53) | (!NF_kB & !Snail & p53));
+ rate_up = @logic ? $u_PTEN : 0;
+ rate_down = @logic ? 0 : $d_PTEN;
+}
+
+Node Quiescence {
+ logic = (!Apoptosis & !Proliferation);
+ rate_up = @logic ? $u_Quiescence : 0;
+ rate_down = @logic ? 0 : $d_Quiescence;
+}
+
+Node RAF {
+ logic = (!EZH2 & RAS) | (EZH2);
+ rate_up = @logic ? $u_RAF : 0;
+ rate_down = @logic ? 0 : $d_RAF;
+}
+
+Node RAGS {
+ logic = (!Hypoxia & Nutrients);
+ rate_up = @logic ? $u_RAGS : 0;
+ rate_down = @logic ? 0 : $d_RAGS;
+}
+
+Node RAS {
+ logic = (EGFR | TGFBR | FRS2 | FGFR3);
+ rate_up = @logic ? $u_RAS : 0;
+ rate_down = @logic ? 0 : $d_RAS;
+}
+
+Node RB1 {
+ logic = (!CyclinB & !CyclinD & CHK1_2 & !p53 & !AMPK);
+ rate_up = @logic ? $u_RB1 : 0;
+ rate_down = @logic ? 0 : $d_RB1;
+}
+
+Node Rheb {
+ logic = (!TSC1_2);
+ rate_up = @logic ? $u_Rheb : 0;
+ rate_down = @logic ? 0 : $d_Rheb;
+}
+
+Node ROS {
+ logic = ((COX4I2 | Hypoxia) & !GSH);
+ rate_up = @logic ? $u_ROS : 0;
+ rate_down = @logic ? 0 : $d_ROS;
+}
+
+Node RTK {
+ logic = (EGFR | FGFR3);
+ rate_up = @logic ? $u_RTK : 0;
+ rate_down = @logic ? 0 : $d_RTK;
+}
+
+Node RUNX2 {
+ logic = (!ETS1 & !FOXO & Slug) | (ETS1 & !FOXO);
+ rate_up = @logic ? $u_RUNX2 : 0;
+ rate_down = @logic ? 0 : $d_RUNX2;
+}
+
+Node SHH {
+ logic = (!BMP2 & !ATR);
+ rate_up = @logic ? $u_SHH : 0;
+ rate_down = @logic ? 0 : $d_SHH;
+}
+
+Node Slug {
+ logic = ((TCF | NF_kB) & !DAXX & !p53 & !MDM2);
+ rate_up = @logic ? $u_Slug : 0;
+ rate_down = @logic ? 0 : $d_Slug;
+}
+
+Node SMAD {
+ logic = ((TNFalpha | TGFBR) & !AR);
+ rate_up = @logic ? $u_SMAD : 0;
+ rate_down = @logic ? 0 : $d_SMAD;
+}
+
+Node SMO {
+ logic = (!PTCH1 & SHH);
+ rate_up = @logic ? $u_SMO : 0;
+ rate_down = @logic ? 0 : $d_SMO;
+}
+
+Node Snail {
+ logic = ((GLI | NF_kB | SMAD | beta_catenin) & !GSK3 & !p53);
+ rate_up = @logic ? $u_Snail : 0;
+ rate_down = @logic ? 0 : $d_Snail;
+}
+
+Node SPOP {
+ logic = (SPOP);
+ rate_up = @logic ? $u_SPOP : 0;
+ rate_down = @logic ? 0 : $d_SPOP;
+}
+
+Node TAK1 {
+ logic = (TGFBR | TNFalpha);
+ rate_up = @logic ? $u_TAK1 : 0;
+ rate_down = @logic ? 0 : $d_TAK1;
+}
+
+Node TCF {
+ logic = ((beta_catenin | AR_ERG | ERG) & !TAK1);
+ rate_up = @logic ? $u_TCF : 0;
+ rate_down = @logic ? 0 : $d_TCF;
+}
+
+Node TERT {
+ logic = ((GLI | AKT | HIF1 | MYC_MAX | NF1 | NF_kB | MYC_MAX) & !ZBTB17 & !p53 & !eEF2 & !SMAD);
+ rate_up = @logic ? $u_TERT : 0;
+ rate_down = @logic ? 0 : $d_TERT;
+}
+
+Node TGFb {
+ logic = (TGFb);
+ rate_up = @logic ? $u_TGFb : 0;
+ rate_down = @logic ? 0 : $d_TGFb;
+}
+
+Node TGFBR {
+ logic = ((TGFb | (HIF1 & TGFb)) & !MED12);
+ rate_up = @logic ? $u_TGFBR : 0;
+ rate_down = @logic ? 0 : $d_TGFBR;
+}
+
+Node TNFalpha {
+ logic = (TNFalpha);
+ rate_up = @logic ? $u_TNFalpha : 0;
+ rate_down = @logic ? 0 : $d_TNFalpha;
+}
+
+Node TSC1_2 {
+ logic = ((AMPK | p53 | HIF1) & !AKT & !ERK & !RAF & !p90RSK);
+ rate_up = @logic ? $u_TSC1_2 : 0;
+ rate_down = @logic ? 0 : $d_TSC1_2;
+}
+
+Node TWIST1 {
+ logic = (Snail | beta_catenin);
+ rate_up = @logic ? $u_TWIST1 : 0;
+ rate_down = @logic ? 0 : $d_TWIST1;
+}
+
+Node VEGF {
+ logic = (HIF1 & MYC_MAX);
+ rate_up = @logic ? $u_VEGF : 0;
+ rate_down = @logic ? 0 : $d_VEGF;
+}
+
+Node VHL {
+ logic = (!Hypoxia & !ROS);
+ rate_up = @logic ? $u_VHL : 0;
+ rate_down = @logic ? 0 : $d_VHL;
+}
+
+Node WNT {
+ logic = ((((ERG | AR_ERG) & GLI) | ERG | AR_ERG) & !p53);
+ rate_up = @logic ? $u_WNT : 0;
+ rate_down = @logic ? 0 : $d_WNT;
+}
+
+Node YWHAZ {
+ logic = (AR);
+ rate_up = @logic ? $u_YWHAZ : 0;
+ rate_down = @logic ? 0 : $d_YWHAZ;
+}
+
+Node ZBTB17 {
+ logic = (!MYC_MAX & AR);
+ rate_up = @logic ? $u_ZBTB17 : 0;
+ rate_down = @logic ? 0 : $d_ZBTB17;
+}
+
diff --git a/config/boolean_network/LNCaP_mut_RNA_00.cfg b/config/boolean_network/LNCaP_mut_RNA_00.cfg
new file mode 100644
index 0000000..3936353
--- /dev/null
+++ b/config/boolean_network/LNCaP_mut_RNA_00.cfg
@@ -0,0 +1,575 @@
+$u_Acidosis = 1;
+$d_Acidosis = 1;
+$u_AKT=1.15285;
+$d_AKT=0.86742;
+$u_AMP_ATP=0.06407;
+$d_AMP_ATP=15.60793;
+$u_AMPK=0;
+$d_AMPK=0.91263;
+$u_Androgen = 1;
+$d_Androgen = 1;
+$u_Angiogenesis = 1;
+$d_Angiogenesis = 1;
+$u_Apoptosis = 1;
+$d_Apoptosis = 1;
+$u_AR=100.0;
+$d_AR=0;
+$u_AR_ERG = 1;
+$d_AR_ERG = 1;
+$u_ATM=0;
+$d_ATM=5.81395;
+$u_ATR=0.1955;
+$d_ATR=5.11509;
+$u_AXIN1=0.3574;
+$d_AXIN1=2.79799;
+$u_BAD=4.09692;
+$d_BAD=0.24409;
+$u_Bak=0.1955;
+$d_Bak=5.11509;
+$u_BAX=0;
+$d_BAX=10.39933;
+$u_BCL2=0.01;
+$d_BCL2=100.0;
+$u_Bcl_XL=0.28221;
+$d_Bcl_XL=3.54346;
+$u_beta_catenin=0.60475;
+$d_beta_catenin=0;
+$u_BIRC5=0.23826;
+$d_BIRC5=4.1971;
+$u_BMP2 = 1;
+$d_BMP2 = 1;
+$u_BRCA1=0.49177;
+$d_BRCA1=2.03347;
+$u_BRCA2=0;
+$d_BRCA2=5.11509;
+$u_Carcinogen = 1;
+$d_Carcinogen = 1;
+$u_Caspase3 = 1;
+$d_Caspase3 = 1;
+$u_Caspase8=0.07573;
+$d_Caspase8=13.20481;
+$u_Caspase9=0.1955;
+$d_Caspase9=5.11509;
+$u_CDH2=0.01;
+$d_CDH2=100.0;
+$u_cFLAR=1.0;
+$d_cFLAR=1.0;
+$u_CHK1_2=0;
+$d_CHK1_2=0.74346;
+$u_COX4I2 = 1;
+$d_COX4I2 = 1;
+$u_CyclinB=0.08593;
+$d_CyclinB=11.63738;
+$u_CyclinD=0.72702;
+$d_CyclinD=1.37548;
+$u_CytoC=0.47463;
+$d_CytoC=2.1069;
+$u_APAF1=0;
+$d_APAF1=65.74622;
+$u_DAXX=0.73662;
+$d_DAXX=1.35755;
+$u_DNA_Damage = 1;
+$d_DNA_Damage = 1;
+$u_DNA_Repair = 1;
+$d_DNA_Repair = 1;
+$u_Dsh=0;
+$d_Dsh=0.40456;
+$u_E2F1=0.43193;
+$d_E2F1=2.31519;
+$u_E_cadherin=100.0;
+$d_E_cadherin=0.01;
+$u_eEF2=22.1308;
+$d_eEF2=0.04519;
+$u_eEF2K=5.11518;
+$d_eEF2K=0.1955;
+$u_EMT = 1;
+$d_EMT = 1;
+$u_EP300=1.59488;
+$d_EP300=0.62701;
+$u_ERG=0.01;
+$d_ERG=100.0;
+$u_ERK=1.46443;
+$d_ERK=0.68286;
+$u_ETS1=0.0303;
+$d_ETS1=33.0033;
+$u_ETV1=99.99718;
+$d_ETV1=0.01;
+$u_EZH2=0.25411;
+$d_EZH2=3.9353;
+$u_FADD=0.13852;
+$d_FADD=7.21917;
+$u_FOS=0.01086;
+$d_FOS=92.08103;
+$u_JUN=0.3012;
+$d_JUN=3.32005;
+$u_FOXA1=99.99995;
+$d_FOXA1=0.01;
+$u_FOXO=0.70855;
+$d_FOXO=1.41133;
+$u_EGF=8.51034;
+$d_EGF=0.1175;
+$u_EGFR=87.28647;
+$d_EGFR=0.01146;
+$u_FGF=0;
+$d_FGF=100.0;
+$u_FGFR3=0.01043;
+$d_FGFR3=95.87728;
+$u_FRS2=1.0;
+$d_FRS2=1.0;
+$u_GADD45=0.57004;
+$d_GADD45=1.75426;
+$u_GLI=0.01;
+$d_GLI=100.0;
+$u_GLUT1=0.38474;
+$d_GLUT1=2.59916;
+$u_Glycolysis = 1;
+$d_Glycolysis = 1;
+$u_GSH=34.85754;
+$d_GSH=0.02869;
+$u_GSK3=0.36889;
+$d_GSK3=2.71084;
+$u_HIF1=0.50171;
+$d_HIF1=1.99318;
+$u_HSPs=1.04632;
+$d_HSPs=0.95573;
+$u_Hypermethylation = 1;
+$d_Hypermethylation = 1;
+$u_Hypoxia = 1;
+$d_Hypoxia = 1;
+$u_IDH1=24.23845;
+$d_IDH1=0.04126;
+$u_Invasion = 1;
+$d_Invasion = 1;
+$u_IKK=0.47494;
+$d_IKK=2.10553;
+$u_JNK=0.70598;
+$d_JNK=1.41647;
+$u_Lactic_acid=6.08374;
+$d_Lactic_acid=0.16437;
+$u_LDHA=6.08374;
+$d_LDHA=0.16437;
+$u_MAP3K1_3=0.22457;
+$d_MAP3K1_3=4.45295;
+$u_MDM2=3.70371;
+$d_MDM2=0.27;
+$u_MED12=0.49995;
+$d_MED12=2.0002;
+$u_MEK1_2=2.74199;
+$d_MEK1_2=0;
+$u_Metastasis = 1;
+$d_Metastasis = 1;
+$u_Migration = 1;
+$d_Migration = 1;
+$u_mTORC1=1.03682;
+$d_mTORC1=0.96449;
+$u_mTORC2=1.73313;
+$d_mTORC2=0.57699;
+$u_MXI1=16.71485;
+$d_MXI1=0.05983;
+$u_MYC=4.81493;
+$d_MYC=0.20769;
+$u_MYC_MAX=2.19429;
+$d_MYC_MAX=0.45573;
+$u_NCOA3=0;
+$d_NCOA3=13.75138;
+$u_NCOR1=5.11518;
+$d_NCOR1=0.1955;
+$u_NCOR2=4.09692;
+$d_NCOR2=0.24409;
+$u_NF1=0;
+$d_NF1=1.0;
+$u_NF_kB=0.23915;
+$d_NF_kB=4.18148;
+$u_NKX3_1=100.0;
+$d_NKX3_1=0.01;
+$u_Nutrients = 1;
+$d_Nutrients = 1;
+$u_p14ARF=0.01565;
+$d_p14ARF=63.89776;
+$u_p15=0.01001;
+$d_p15=99.9001;
+$u_p21=10.60511;
+$d_p21=0.09429;
+$u_p38=0.04421;
+$d_p38=22.61932;
+$u_p53=4.77257;
+$d_p53=0.20953;
+$u_p70S6kab=2.97053;
+$d_p70S6kab=0.33664;
+$u_p90RSK=1.92967;
+$d_p90RSK=0.51822;
+$u_PDK1=26.84952;
+$d_PDK1=0.03724;
+$u_PHDs=0.37349;
+$d_PHDs=2.67745;
+$u_PI3K=0.51668;
+$d_PI3K=1.93543;
+$u_PIP3=0.01521;
+$d_PIP3=65.74622;
+$u_PKC=0;
+$d_PKC=2.5697;
+$u_Proliferation = 1;
+$d_Proliferation = 1;
+$u_PTCH1=0.33025;
+$d_PTCH1=3.02801;
+$u_PTEN=0;
+$d_PTEN=2.07753;
+$u_Quiescence = 1;
+$d_Quiescence = 1;
+$u_RAF=1.55217;
+$d_RAF=0.64426;
+$u_RAGS=0.01;
+$d_RAGS=100.0;
+$u_RAS=0.4606;
+$d_RAS=2.17108;
+$u_RB1=0.12234;
+$d_RB1=8.17394;
+$u_Rheb=0.1955;
+$d_Rheb=5.11509;
+$u_ROS = 1;
+$d_ROS = 1;
+$u_RTK=0.08743;
+$d_RTK=11.43772;
+$u_RUNX2=0.01369;
+$d_RUNX2=73.04602;
+$u_SHH=0.01;
+$d_SHH=100.0;
+$u_Slug=0.01;
+$d_Slug=100.0;
+$u_SMAD=0.31951;
+$d_SMAD=3.12979;
+$u_SMO=98.34156;
+$d_SMO=0.01017;
+$u_Snail=0.07454;
+$d_Snail=13.41562;
+$u_SPOP=3.75839;
+$d_SPOP=0.26607;
+$u_TAK1=0.01521;
+$d_TAK1=65.74622;
+$u_TCF=0.01552;
+$d_TCF=64.43299;
+$u_TERT=0.24141;
+$d_TERT=4.14233;
+$u_TGFb=0.01143;
+$d_TGFb=87.48906;
+$u_TGFBR=0.035;
+$d_TGFBR=28.57143;
+$u_fused_event = 1;
+$d_fused_event = 1;
+$u_TNFalpha=0.13372;
+$d_TNFalpha=7.47831;
+$u_TSC1_2=9.35066;
+$d_TSC1_2=0.10694;
+$u_TWIST1=0.02243;
+$d_TWIST1=44.58315;
+$u_VEGF=0.25808;
+$d_VEGF=3.87477;
+$u_VHL=7.12902;
+$d_VHL=0.14027;
+$u_WNT=0;
+$d_WNT=27.5786;
+$u_YWHAZ=0.04405;
+$d_YWHAZ=22.70148;
+$u_ZBTB17=0.0441;
+$d_ZBTB17=22.67574;
+
+discrete_time = 0;
+use_physrandgen = FALSE;
+seed_pseudorandom = 100;
+sample_count = 1;
+max_time = 1; //10 min: 1 in Maboss = 10 in Physicell
+time_tick = 0.01;
+thread_count = 1;
+statdist_traj_count = 100;
+statdist_cluster_threshold = 0.9;
+
+
+Acidosis.is_internal = TRUE;
+AKT.is_internal = TRUE;
+AMPK.is_internal = TRUE;
+AMP_ATP.is_internal = TRUE;
+Androgen.is_internal = TRUE;
+Angiogenesis.is_internal = FALSE;
+APAF1.is_internal = TRUE;
+Apoptosis.is_internal = FALSE;
+AR.is_internal = TRUE;
+AR_ERG.is_internal = TRUE;
+ATM.is_internal = TRUE;
+ATR.is_internal = TRUE;
+AXIN1.is_internal = TRUE;
+BAD.is_internal = TRUE;
+Bak.is_internal = TRUE;
+BAX.is_internal = TRUE;
+BCL2.is_internal = TRUE;
+Bcl_XL.is_internal = TRUE;
+beta_catenin.is_internal = TRUE;
+BIRC5.is_internal = TRUE;
+BMP2.is_internal = TRUE;
+BRCA1.is_internal = TRUE;
+BRCA2.is_internal = TRUE;
+Carcinogen.is_internal = TRUE;
+Caspase3.is_internal = TRUE;
+Caspase8.is_internal = TRUE;
+Caspase9.is_internal = TRUE;
+CDH2.is_internal = TRUE;
+cFLAR.is_internal = TRUE;
+CHK1_2.is_internal = TRUE;
+COX4I2.is_internal = TRUE;
+CyclinB.is_internal = TRUE;
+CyclinD.is_internal = TRUE;
+CytoC.is_internal = TRUE;
+DAXX.is_internal = TRUE;
+DNA_Damage.is_internal = TRUE;
+DNA_Repair.is_internal = FALSE;
+Dsh.is_internal = TRUE;
+E2F1.is_internal = TRUE;
+eEF2.is_internal = TRUE;
+eEF2K.is_internal = TRUE;
+EGF.is_internal = TRUE;
+EGFR.is_internal = TRUE;
+EMT.is_internal = TRUE;
+EP300.is_internal = TRUE;
+ERG.is_internal = TRUE;
+ERK.is_internal = TRUE;
+ETS1.is_internal = TRUE;
+ETV1.is_internal = TRUE;
+EZH2.is_internal = TRUE;
+E_cadherin.is_internal = TRUE;
+FADD.is_internal = TRUE;
+FGF.is_internal = TRUE;
+FGFR3.is_internal = TRUE;
+FOS.is_internal = TRUE;
+FOXA1.is_internal = TRUE;
+FOXO.is_internal = TRUE;
+FRS2.is_internal = TRUE;
+fused_event.is_internal = TRUE;
+GADD45.is_internal = TRUE;
+GLI.is_internal = TRUE;
+GLUT1.is_internal = TRUE;
+Glycolysis.is_internal = FALSE;
+GSH.is_internal = TRUE;
+GSK3.is_internal = TRUE;
+HIF1.is_internal = TRUE;
+HSPs.is_internal = TRUE;
+Hypermethylation.is_internal = TRUE;
+Hypoxia.is_internal = TRUE;
+IDH1.is_internal = TRUE;
+IKK.is_internal = TRUE;
+Invasion.is_internal = FALSE;
+JNK.is_internal = TRUE;
+JUN.is_internal = TRUE;
+Lactic_acid.is_internal = TRUE;
+LDHA.is_internal = TRUE;
+MAP3K1_3.is_internal = TRUE;
+MDM2.is_internal = TRUE;
+MED12.is_internal = TRUE;
+MEK1_2.is_internal = TRUE;
+Metastasis.is_internal = FALSE;
+Migration.is_internal = FALSE;
+mTORC1.is_internal = TRUE;
+mTORC2.is_internal = TRUE;
+MXI1.is_internal = TRUE;
+MYC.is_internal = TRUE;
+MYC_MAX.is_internal = TRUE;
+NCOA3.is_internal = TRUE;
+NCOR1.is_internal = TRUE;
+NCOR2.is_internal = TRUE;
+NF1.is_internal = TRUE;
+NF_kB.is_internal = TRUE;
+NKX3_1.is_internal = TRUE;
+Nutrients.is_internal = TRUE;
+p14ARF.is_internal = TRUE;
+p15.is_internal = TRUE;
+p21.is_internal = TRUE;
+p38.is_internal = TRUE;
+p53.is_internal = TRUE;
+p70S6kab.is_internal = TRUE;
+p90RSK.is_internal = TRUE;
+PDK1.is_internal = TRUE;
+PHDs.is_internal = TRUE;
+PI3K.is_internal = TRUE;
+PIP3.is_internal = TRUE;
+PKC.is_internal = TRUE;
+Proliferation.is_internal = FALSE;
+PTCH1.is_internal = TRUE;
+PTEN.is_internal = TRUE;
+Quiescence.is_internal = FALSE;
+RAF.is_internal = TRUE;
+RAGS.is_internal = TRUE;
+RAS.is_internal = TRUE;
+RB1.is_internal = TRUE;
+Rheb.is_internal = TRUE;
+ROS.is_internal = TRUE;
+RTK.is_internal = TRUE;
+RUNX2.is_internal = TRUE;
+SHH.is_internal = TRUE;
+Slug.is_internal = TRUE;
+SMAD.is_internal = TRUE;
+SMO.is_internal = TRUE;
+Snail.is_internal = TRUE;
+SPOP.is_internal = TRUE;
+TAK1.is_internal = TRUE;
+TCF.is_internal = TRUE;
+TERT.is_internal = TRUE;
+TGFb.is_internal = TRUE;
+TGFBR.is_internal = TRUE;
+TNFalpha.is_internal = TRUE;
+TSC1_2.is_internal = TRUE;
+TWIST1.is_internal = TRUE;
+VEGF.is_internal = TRUE;
+VHL.is_internal = TRUE;
+WNT.is_internal = TRUE;
+YWHAZ.is_internal = TRUE;
+ZBTB17.is_internal = TRUE;
+
+//LNCAP initial conditions:
+[Androgen].istate = 0 [1], 1 [0];
+[Acidosis].istate = 0 [1], 1 [0];
+[Carcinogen].istate = 0 [1], 1 [0];
+[Hypoxia].istate = 0 [1], 1 [0];
+[TGFb].istate = 0 [1], 1 [0];
+[TNFalpha].istate = 0 [1], 1 [0];
+[HSPs].istate = 0 [1], 1 [0];
+
+//Pro-proliferative conditions:
+[EGF].istate = 1 [1], 0 [0];
+[FGF].istate = 1 [1], 0 [0];
+[Nutrients].istate = 1 [1] , 0 [0];
+[Caspase8].istate = 0[1], 1[0];
+[Caspase9].istate = 0[1], 1[0];
+[Caspase3].istate = 0[1], 1[0];
+[FADD].istate = 0[1], 1[0];
+[CytoC].istate = 0[1], 1[0];
+[APAF1].istate = 0[1], 1[0];
+[Bak].istate = 0[1], 1[0];
+
+
+//orphan nodes initial conditions:
+[fused_event].istate= 1 [0] , 0 [1];
+[AR_ERG].istate= 1 [0] , 0 [1];
+
+//outputs:
+[Angiogenesis].istate = 0 [1], 1 [0];
+[Apoptosis].istate = 0 [1], 1 [0];
+[DNA_Repair].istate = 0 [1], 1 [0];
+[Glycolysis].istate = 0 [1], 1 [0];
+[Hypermethylation].istate = 0 [1], 1 [0];
+[Invasion].istate = 0 [1], 1 [0];
+[Metastasis].istate = 0 [1], 1 [0];
+[Migration].istate = 0 [1], 1 [0];
+[Proliferation].istate = 0 [1], 1 [0];
+[Quiescence].istate = 0 [1], 1 [0];
+
+[AKT].istate = 0.51544[1], 0.48456[0];
+[AMP_ATP].istate = 0.20167[1], 0.79833[0];
+[ATR].istate = 0.32278[1], 0.6772199999999999[0];
+[AXIN1].istate = 0.38829[1], 0.61171[0];
+[BAD].istate = 0.65311[1], 0.34689000000000003[0];
+//[Bak].istate = 0.32278[1], 0.6772199999999999[0];
+[Bcl_XL].istate = 0.36264[1], 0.6373599999999999[0];
+[BCL2].istate = 1e-05[1], 0.99999[0];
+[BIRC5].istate = 0.34426[1], 0.65574[0];
+[BRCA1].istate = 0.42294[1], 0.57706[0];
+//[Caspase8].istate = 0.21981[1], 0.7801899999999999[0];
+//[Caspase9].istate = 0.32278[1], 0.6772199999999999[0];
+[CDH2].istate = 0.0[1], 1.0[0];
+[cFLAR].istate = 0.5[1], 0.5[0];
+[CyclinB].istate = 0.23353[1], 0.76647[0];
+[CyclinD].istate = 0.46539[1], 0.53461[0];
+//[CytoC].istate = 0.41909[1], 0.58091[0];
+[DAXX].istate = 0.46681[1], 0.53319[0];
+[E_cadherin].istate = 1.0[1], 0.0[0];
+[E2F1].istate = 0.40885[1], 0.5911500000000001[0];
+[eEF2].istate = 0.83625[1], 0.16374999999999995[0];
+[eEF2K].istate = 0.67722[1], 0.32277999999999996[0];
+[EGFR].istate = 0.98524[1], 0.014759999999999995[0];
+[EP300].istate = 0.55068[1], 0.44932000000000005[0];
+[ERG].istate = 0.0[1], 1.0[0];
+[ERK].istate = 0.54142[1], 0.45858[0];
+[ETS1].istate = 0.12035[1], 0.87965[0];
+[ETV1].istate = 1.0[1], 0.0[0];
+[EZH2].istate = 0.35125[1], 0.6487499999999999[0];
+//[FADD].istate = 0.28538[1], 0.71462[0];
+[FGFR3].istate = 0.00457[1], 0.99543[0];
+[FOS].istate = 0.00892[1], 0.99108[0];
+[FOXA1].istate = 1.0[1], 0.0[0];
+[FOXO].istate = 0.46259[1], 0.5374099999999999[0];
+[FRS2].istate = 0.5[1], 0.5[0];
+[GADD45].istate = 0.43898[1], 0.5610200000000001[0];
+[GLI].istate = 0.0[1], 1.0[0];
+[GLUT1].istate = 0.39629[1], 0.60371[0];
+[GSH].istate = 0.88557[1], 0.11443000000000003[0];
+[GSK3].istate = 0.39173[1], 0.60827[0];
+[HIF1].istate = 0.42511[1], 0.57489[0];
+//[HSPs].istate = 0.50492[1], 0.49507999999999996[0];
+[IDH1].istate = 0.84613[1], 0.15386999999999995[0];
+[IKK].istate = 0.41916[1], 0.58084[0];
+[JNK].istate = 0.4622[1], 0.5378000000000001[0];
+[JUN].istate = 0.36971[1], 0.63029[0];
+[Lactic_acid].istate = 0.69604[1], 0.30396[0];
+[LDHA].istate = 0.69604[1], 0.30396[0];
+[MAP3K1_3].istate = 0.33784[1], 0.6621600000000001[0];
+[MDM2].istate = 0.64216[1], 0.35784000000000005[0];
+[MED12].istate = 0.42473[1], 0.57527[0];
+[ZBTB17].istate = 0.1611[1], 0.8389[0];
+[mTORC1].istate = 0.50393[1], 0.49607[0];
+[mTORC2].istate = 0.55971[1], 0.44028999999999996[0];
+[MXI1].istate = 0.80578[1], 0.19421999999999995[0];
+[MYC].istate = 0.67065[1], 0.32935000000000003[0];
+[MYC_MAX].istate = 0.58532[1], 0.41468000000000005[0];
+[NCOR1].istate = 0.67722[1], 0.32277999999999996[0];
+[NCOR2].istate = 0.65311[1], 0.34689000000000003[0];
+[NF_kB].istate = 0.34467[1], 0.65533[0];
+[NKX3_1].istate = 1.0[1], 0.0[0];
+[p14ARF].istate = 0.04863[1], 0.95137[0];
+[p15].istate = 8e-05[1], 0.99992[0];
+[p21].istate = 0.75638[1], 0.24361999999999995[0];
+[p38].istate = 0.16139[1], 0.83861[0];
+[p53].istate = 0.66969[1], 0.33031[0];
+[p70S6kab].istate = 0.61821[1], 0.38178999999999996[0];
+[p90RSK].istate = 0.57137[1], 0.42862999999999996[0];
+[PDK1].istate = 0.85723[1], 0.14276999999999995[0];
+[PHDs].istate = 0.39307[1], 0.60693[0];
+[PI3K].istate = 0.4283[1], 0.5717[0];
+[PIP3].istate = 0.04553[1], 0.95447[0];
+[PTCH1].istate = 0.37971[1], 0.62029[0];
+[RAF].istate = 0.54773[1], 0.45226999999999995[0];
+[RAGS].istate = 0[1], 1[0];
+[RAS].istate = 0.41583[1], 0.5841700000000001[0];
+[RB1].istate = 0.27189[1], 0.72811[0];
+[Rheb].istate = 0.32278[1], 0.6772199999999999[0];
+[RTK].istate = 0.23541[1], 0.76459[0];
+[RUNX2].istate = 0.03411[1], 0.96589[0];
+[SHH].istate = 0.0[1], 1.0[0];
+[Slug].istate = 2e-05[1], 0.99998[0];
+[SMAD].istate = 0.37612[1], 0.62388[0];
+[SMO].istate = 0.99818[1], 0.0018200000000000438[0];
+[Snail].istate = 0.2181[1], 0.7819[0];
+[SPOP].istate = 0.64375[1], 0.35624999999999996[0];
+[TAK1].istate = 0.04553[1], 0.95447[0];
+[TCF].istate = 0.04774[1], 0.95226[0];
+[TERT].istate = 0.34569[1], 0.65431[0];
+//[TGFb].istate = 0.01451[1], 0.98549[0];
+[TGFBR].istate = 0.13603[1], 0.86397[0];
+//[TNFalpha].istate = 0.28155[1], 0.71845[0];
+[TSC1_2].istate = 0.74271[1], 0.25729[0];
+[TWIST1].istate = 0.08772[1], 0.91228[0];
+[VEGF].istate = 0.35294[1], 0.64706[0];
+[VHL].istate = 0.71326[1], 0.28674[0];
+[YWHAZ].istate = 0.16098[1], 0.83902[0];
+[AMPK].istate=0[1], 1[0];
+//[APAF1].istate=0[1], 1[0];
+//[AR].istate=0[1], 1[0];
+[ATM].istate=0[1], 1[0];
+[BAX].istate=0[1], 1[0];
+[beta_catenin].istate=1[1], 0[0];
+[BRCA2].istate=0[1], 1[0];
+[CHK1_2].istate=0[1], 1[0];
+[Dsh].istate=0[1], 1[0];
+//[FGF].istate=0[1], 1[0];
+[MEK1_2].istate=1[1], 0[0];
+[NCOA3].istate=0[1], 1[0];
+[NF1].istate=0[1], 1[0];
+[PKC].istate=0[1], 1[0];
+[PTEN].istate=0[1], 1[0];
+[WNT].istate=0[1], 1[0];
diff --git a/config/boolean_network/LNCaP_mut_RNA_00_all_nodes.bnd b/config/boolean_network/LNCaP_mut_RNA_00_all_nodes.bnd
new file mode 100644
index 0000000..f9d9bc3
--- /dev/null
+++ b/config/boolean_network/LNCaP_mut_RNA_00_all_nodes.bnd
@@ -0,0 +1,978 @@
+Node PI3K
+{
+ logic = ((TGFBR | FRS2 | EGFR)) AND NOT anti_PI3K;
+ rate_up = @logic ? $u_PI3K : 0;
+ rate_down = @logic ? 0 : $d_PI3K;
+}
+
+
+Node HSPs
+{
+ logic = (((PKC | FOXA1 | Carcinogen) & !BRCA1 & !E2F1 & !AKT)) AND NOT anti_HSPs;
+ rate_up = @logic ? $u_HSPs : 0;
+ rate_down = @logic ? 0 : $d_HSPs;
+}
+
+
+Node Acidosis
+{
+ logic = (Acidosis);
+ rate_up = @logic ? $u_Acidosis : 0;
+ rate_down = @logic ? 0 : $d_Acidosis;
+}
+
+Node AKT
+{
+ logic = ((HSPs | (PDK1 & PIP3) | PIP3 | (SHH & PIP3)) & !PTCH1);
+ rate_up = @logic ? $u_AKT : 0;
+ rate_down = @logic ? 0 : $d_AKT;
+}
+
+Node AMPK
+{
+ logic = (ATR | HIF1 | AMP_ATP | ATM) & !FGFR3;
+ rate_up = @logic ? $u_AMPK : 0;
+ rate_down = @logic ? 0 : $d_AMPK;
+}
+
+Node AMP_ATP
+{
+ logic = (!Nutrients);
+ rate_up = @logic ? $u_AMP_ATP : 0;
+ rate_down = @logic ? 0 : $d_AMP_ATP;
+}
+
+Node Androgen
+{
+ logic = (Androgen);
+ rate_up = @logic ? $u_Androgen : 0;
+ rate_down = @logic ? 0 : $d_Androgen;
+}
+
+Node Angiogenesis
+{
+ logic = (VEGF & (NF_kB | SMAD));
+ rate_up = @logic ? $u_Angiogenesis : 0;
+ rate_down = @logic ? 0 : $d_Angiogenesis;
+}
+
+Node APAF1
+{
+ logic = ((Caspase8 | BAX | p53 | Bak | HSPs) & !Bcl_XL & !BCL2 & !AKT);
+ rate_up = @logic ? $u_APAF1 : 0;
+ rate_down = @logic ? 0 : $d_APAF1;
+}
+
+Node Apoptosis
+{
+ logic = (Caspase9 | Caspase8 | Caspase3);
+ rate_up = @logic ? $u_Apoptosis : 0;
+ rate_down = @logic ? 0 : $d_Apoptosis;
+}
+
+Node AR
+{
+ logic = ((GLI | EP300 | HSPs | NKX3_1 | EZH2 | NCOA3 | PKC | SMAD | Androgen) & !PTEN & !NCOR1 & !NCOR2 & !MDM2);
+ rate_up = @logic ? $u_AR : 0;
+ rate_down = @logic ? 0 : $d_AR;
+}
+
+Node AR_ERG
+{
+ logic = ((AR & fused_event) | (AR & fused_event & !NKX3_1));
+ rate_up = @logic ? $u_AR_ERG : 0;
+ rate_down = @logic ? 0 : $d_AR_ERG;
+}
+
+Node ATM
+{
+ logic = (DNA_Damage);
+ rate_up = @logic ? $u_ATM : 0;
+ rate_down = @logic ? 0 : $d_ATM;
+}
+
+Node ATR
+{
+ logic = (DNA_Damage);
+ rate_up = @logic ? $u_ATR : 0;
+ rate_down = @logic ? 0 : $d_ATR;
+}
+
+Node AXIN1
+{
+ logic = (GSK3);
+ rate_up = @logic ? $u_AXIN1 : 0;
+ rate_down = @logic ? 0 : $d_AXIN1;
+}
+
+Node BAD
+{
+ logic = (!AKT & !HIF1 & !p90RSK & !RAF & !YWHAZ);
+ rate_up = @logic ? $u_BAD : 0;
+ rate_down = @logic ? 0 : $d_BAD;
+}
+
+Node Bak
+{
+ logic = (Caspase8);
+ rate_up = @logic ? $u_Bak : 0;
+ rate_down = @logic ? 0 : $d_Bak;
+}
+
+Node BAX
+{
+ logic = (!BCL2 & !HIF1 & !YWHAZ & (JNK | HIF1 | p53) & !ETS1);
+ rate_up = @logic ? $u_BAX : 0;
+ rate_down = @logic ? 0 : $d_BAX;
+}
+
+Node BCL2
+{
+ logic = ((HSPs | NF_kB | RUNX2) & !BAX & !p53 & !DAXX & !BAD);
+ rate_up = @logic ? $u_BCL2 : 0;
+ rate_down = @logic ? 0 : $d_BCL2;
+}
+
+Node Bcl_XL
+{
+ logic = (AR & !BAD & !p53);
+ rate_up = @logic ? $u_Bcl_XL : 0;
+ rate_down = @logic ? 0 : $d_Bcl_XL;
+}
+
+Node beta_catenin
+{
+ logic = (!GSK3 & !p53 & !AXIN1 & (EZH2 | YWHAZ));
+ rate_up = @logic ? $u_beta_catenin : 0;
+ rate_down = @logic ? 0 : $d_beta_catenin;
+}
+
+Node BIRC5
+{
+ logic = (HSPs & !p53);
+ rate_up = @logic ? $u_BIRC5 : 0;
+ rate_down = @logic ? 0 : $d_BIRC5;
+}
+
+Node BMP2
+{
+ logic = (GLI & (TGFBR | FGFR3));
+ rate_up = @logic ? $u_BMP2 : 0;
+ rate_down = @logic ? 0 : $d_BMP2;
+}
+
+Node BRCA1
+{
+ logic = ((E2F1 | ATM | ATR | (E2F1 & EP300) | (ATM & EP300) | (ATR & EP300)) & !CyclinD & !Bak);
+ rate_up = @logic ? $u_BRCA1 : 0;
+ rate_down = @logic ? 0 : $d_BRCA1;
+}
+
+Node BRCA2
+{
+ logic = (ATM & ATR & EP300);
+ rate_up = @logic ? $u_BRCA2 : 0;
+ rate_down = @logic ? 0 : $d_BRCA2;
+}
+
+Node Carcinogen
+{
+ logic = (Carcinogen);
+ rate_up = @logic ? $u_Carcinogen : 0;
+ rate_down = @logic ? 0 : $d_Carcinogen;
+}
+
+Node Caspase3
+{
+ logic = (Caspase8 | Caspase9);
+ rate_up = @logic ? $u_Caspase3 : 0;
+ rate_down = @logic ? 0 : $d_Caspase3;
+}
+
+Node Caspase8
+{
+ logic = (!cFLAR & FADD);
+ rate_up = @logic ? $u_Caspase8 : 0;
+ rate_down = @logic ? 0 : $d_Caspase8;
+}
+
+Node Caspase9
+{
+ logic = ((!AKT & CytoC & APAF1 & PTCH1) | (!AKT & BIRC5 & CytoC & APAF1) | (!AKT & BIRC5 & CytoC & APAF1 & PTCH1));
+ rate_up = @logic ? $u_Caspase9 : 0;
+ rate_down = @logic ? 0 : $d_Caspase9;
+}
+
+Node CDH2
+{
+ logic = (TWIST1);
+ rate_up = @logic ? $u_CDH2 : 0;
+ rate_down = @logic ? 0 : $d_CDH2;
+}
+
+Node cFLAR
+{
+ logic = ((AKT | AR) & !JNK);
+ rate_up = @logic ? $u_cFLAR : 0;
+ rate_down = @logic ? 0 : $d_cFLAR;
+}
+
+Node CHK1_2
+{
+ logic = (ATM & ATR & BRCA1);
+ rate_up = @logic ? $u_CHK1_2 : 0;
+ rate_down = @logic ? 0 : $d_CHK1_2;
+}
+
+Node COX4I2
+{
+ logic = (HIF1);
+ rate_up = @logic ? $u_COX4I2 : 0;
+ rate_down = @logic ? 0 : $d_COX4I2;
+}
+
+Node CyclinB
+{
+ logic = (E2F1 & !p21);
+ rate_up = @logic ? $u_CyclinB : 0;
+ rate_down = @logic ? 0 : $d_CyclinB;
+}
+
+Node CyclinD
+{
+ logic = ((GLI | TCF | NF_kB) & MYC_MAX & !p21 & !FOXO & !p15 & !GSK3);
+ rate_up = @logic ? $u_CyclinD : 0;
+ rate_down = @logic ? 0 : $d_CyclinD;
+}
+
+Node CytoC
+{
+ logic = ((Caspase8 | BAX | p53 | Bak) & !Bcl_XL & !BCL2 & !AKT);
+ rate_up = @logic ? $u_CytoC : 0;
+ rate_down = @logic ? 0 : $d_CytoC;
+}
+
+Node DAXX
+{
+ logic = (!ATM & !ATR & !SPOP);
+ rate_up = @logic ? $u_DAXX : 0;
+ rate_down = @logic ? 0 : $d_DAXX;
+}
+
+Node DNA_Damage
+{
+ logic = ((Carcinogen | (Carcinogen & ROS)) & !SPOP);
+ rate_up = @logic ? $u_DNA_Damage : 0;
+ rate_down = @logic ? 0 : $d_DNA_Damage;
+}
+
+Node DNA_Repair
+{
+ logic = (ATM & ATR & (BRCA1 | BRCA2));
+ rate_up = @logic ? $u_DNA_Repair : 0;
+ rate_down = @logic ? 0 : $d_DNA_Repair;
+}
+
+Node Dsh
+{
+ logic = (WNT);
+ rate_up = @logic ? $u_Dsh : 0;
+ rate_down = @logic ? 0 : $d_Dsh;
+}
+
+Node E2F1
+{
+ logic = ((AR | (FOXA1 & AR) | (ATR & AR) | (ATM & AR)) & !RB1 & !MXI1);
+ rate_up = @logic ? $u_E2F1 : 0;
+ rate_down = @logic ? 0 : $d_E2F1;
+}
+
+Node eEF2
+{
+ logic = (!eEF2K);
+ rate_up = @logic ? $u_eEF2 : 0;
+ rate_down = @logic ? 0 : $d_eEF2;
+}
+
+Node eEF2K
+{
+ logic = (p90RSK | p70S6kab);
+ rate_up = @logic ? $u_eEF2K : 0;
+ rate_down = @logic ? 0 : $d_eEF2K;
+}
+
+Node EGF
+{
+ logic = (EGF);
+ rate_up = @logic ? $u_EGF : 0;
+ rate_down = @logic ? 0 : $d_EGF;
+}
+
+Node EGFR
+{
+ logic = ((!TGFBR & !FRS2 & !EGFR & !PKC & (ERK | Androgen | EGF)) | (!TGFBR & !FRS2 & (Androgen | EGF)));
+ rate_up = @logic ? $u_EGFR : 0;
+ rate_down = @logic ? 0 : $d_EGFR;
+}
+
+Node EMT
+{
+ logic = (CDH2 & !E_cadherin & !FOXA1);
+ rate_up = @logic ? $u_EMT : 0;
+ rate_down = @logic ? 0 : $d_EMT;
+}
+
+Node EP300
+{
+ logic = (AKT);
+ rate_up = @logic ? $u_EP300 : 0;
+ rate_down = @logic ? 0 : $d_EP300;
+}
+
+Node ERG
+{
+ logic = (ERK);
+ rate_up = @logic ? $u_ERG : 0;
+ rate_down = @logic ? 0 : $d_ERG;
+}
+
+Node ERK
+{
+ logic = (RAF | MEK1_2);
+ rate_up = @logic ? $u_ERK : 0;
+ rate_down = @logic ? 0 : $d_ERK;
+}
+
+Node ETS1
+{
+ logic = (!p53 & (RTK | ERK));
+ rate_up = @logic ? $u_ETS1 : 0;
+ rate_down = @logic ? 0 : $d_ETS1;
+}
+
+Node ETV1
+{
+ logic = (ETS1 | MEK1_2);
+ rate_up = @logic ? $u_ETV1 : 0;
+ rate_down = @logic ? 0 : $d_ETV1;
+}
+
+Node EZH2
+{
+ logic = (AKT & E2F1 & (ERG | AR_ERG));
+ rate_up = @logic ? $u_EZH2 : 0;
+ rate_down = @logic ? 0 : $d_EZH2;
+}
+
+Node E_cadherin
+{
+ logic = ((beta_catenin | AR_ERG) & !Snail & !ERG & !NF_kB & !Slug);
+ rate_up = @logic ? $u_E_cadherin : 0;
+ rate_down = @logic ? 0 : $d_E_cadherin;
+}
+
+Node FADD
+{
+ logic = (PTCH1 | TNFalpha) & !SHH & !MAP3K1_3;
+ rate_up = @logic ? $u_FADD : 0;
+ rate_down = @logic ? 0 : $d_FADD;
+}
+
+Node FGF
+{
+ logic = (FGF);
+ rate_up = @logic ? $u_FGF : 0;
+ rate_down = @logic ? 0 : $d_FGF;
+}
+
+Node FGFR3
+{
+ logic = ((FGF | (FGF & RUNX2)) & !FRS2 & !PKC & !TGFBR);
+ rate_up = @logic ? $u_FGFR3 : 0;
+ rate_down = @logic ? 0 : $d_FGFR3;
+}
+
+Node FOS
+{
+ logic = (ERK | ETS1 | AR);
+ rate_up = @logic ? $u_FOS : 0;
+ rate_down = @logic ? 0 : $d_FOS;
+}
+
+Node FOXA1
+{
+ logic = (FOXO);
+ rate_up = @logic ? $u_FOXA1 : 0;
+ rate_down = @logic ? 0 : $d_FOXA1;
+}
+
+Node FOXO
+{
+ logic = (MAP3K1_3 & JNK & !AKT);
+ rate_up = @logic ? $u_FOXO : 0;
+ rate_down = @logic ? 0 : $d_FOXO;
+}
+
+Node FRS2
+{
+ logic = (!ERK & !EGFR & FGFR3 & !FRS2 & !TGFBR);
+ rate_up = @logic ? $u_FRS2 : 0;
+ rate_down = @logic ? 0 : $d_FRS2;
+}
+
+Node fused_event
+{
+ logic = (fused_event);
+ rate_up = @logic ? $u_fused_event : 0;
+ rate_down = @logic ? 0 : $d_fused_event;
+}
+
+Node GADD45
+{
+ logic = (SMAD | p53);
+ rate_up = @logic ? $u_GADD45 : 0;
+ rate_down = @logic ? 0 : $d_GADD45;
+}
+
+Node GLI
+{
+ logic = ((WNT | SMO) & !SPOP);
+ rate_up = @logic ? $u_GLI : 0;
+ rate_down = @logic ? 0 : $d_GLI;
+}
+
+Node GLUT1
+{
+ logic = ((HIF1 | MYC_MAX | AKT) & Nutrients);
+ rate_up = @logic ? $u_GLUT1 : 0;
+ rate_down = @logic ? 0 : $d_GLUT1;
+}
+
+Node Glycolysis
+{
+ logic = (GLUT1 & Lactic_acid);
+ rate_up = @logic ? $u_Glycolysis : 0;
+ rate_down = @logic ? 0 : $d_Glycolysis;
+}
+
+Node GSH
+{
+ logic = (MYC_MAX | NF_kB | p21);
+ rate_up = @logic ? $u_GSH : 0;
+ rate_down = @logic ? 0 : $d_GSH;
+}
+
+Node GSK3
+{
+ logic = (!AKT & !Dsh & MEK1_2 & !mTORC2 & !p90RSK);
+ rate_up = @logic ? $u_GSK3 : 0;
+ rate_down = @logic ? 0 : $d_GSK3;
+}
+
+Node HIF1
+{
+ logic = (!PHDs & !VHL & !p53 & !FOXO & (HSPs | mTORC1 | mTORC2 | Hypoxia | MYC_MAX));
+ rate_up = @logic ? $u_HIF1 : 0;
+ rate_down = @logic ? 0 : $d_HIF1;
+}
+
+Node Hypermethylation
+{
+ logic = (!IDH1);
+ rate_up = @logic ? $u_Hypermethylation : 0;
+ rate_down = @logic ? 0 : $d_Hypermethylation;
+}
+
+Node Hypoxia
+{
+ logic = (Hypoxia);
+ rate_up = @logic ? $u_Hypoxia : 0;
+ rate_down = @logic ? 0 : $d_Hypoxia;
+}
+
+Node IDH1
+{
+ logic = (SMAD | FOXA1 | mTORC2 | ((SMAD | mTORC2 | FOXA1) & MEK1_2));
+ rate_up = @logic ? $u_IDH1 : 0;
+ rate_down = @logic ? 0 : $d_IDH1;
+}
+
+Node IKK
+{
+ logic = ((mTORC2 | AKT) & (PKC | TAK1 | ETS1) & !PHDs & !p53);
+ rate_up = @logic ? $u_IKK : 0;
+ rate_down = @logic ? 0 : $d_IKK;
+}
+
+Node Invasion
+{
+ logic = ((CDH2 & SMAD) | (CDH2 & SMAD & EZH2) | beta_catenin);
+ rate_up = @logic ? $u_Invasion : 0;
+ rate_down = @logic ? 0 : $d_Invasion;
+}
+
+Node JNK
+{
+ logic = ((ATM | GADD45 | TAK1 | MAP3K1_3) & !ERK & !p38);
+ rate_up = @logic ? $u_JNK : 0;
+ rate_down = @logic ? 0 : $d_JNK;
+}
+
+Node JUN
+{
+ logic = (AR | ETS1 | JNK);
+ rate_up = @logic ? $u_JUN : 0;
+ rate_down = @logic ? 0 : $d_JUN;
+}
+
+Node Lactic_acid
+{
+ logic = (LDHA);
+ rate_up = @logic ? $u_Lactic_acid : 0;
+ rate_down = @logic ? 0 : $d_Lactic_acid;
+}
+
+Node LDHA
+{
+ logic = (HIF1 | MYC_MAX | IDH1);
+ rate_up = @logic ? $u_LDHA : 0;
+ rate_down = @logic ? 0 : $d_LDHA;
+}
+
+Node MAP3K1_3
+{
+ logic = (RAS & !(FOS | JUN | JNK | p38));
+ rate_up = @logic ? $u_MAP3K1_3 : 0;
+ rate_down = @logic ? 0 : $d_MAP3K1_3;
+}
+
+
+Node MDM2
+{
+ logic = (((AKT | p53) & DAXX & !p14ARF & !ATR & !ATM));
+ rate_up = @logic ? $u_MDM2 : 0;
+ rate_down = @logic ? 0 : $d_MDM2;
+}
+
+Node MED12
+{
+ logic = (!GLI);
+ rate_up = @logic ? $u_MED12 : 0;
+ rate_down = @logic ? 0 : $d_MED12;
+}
+
+Node MEK1_2
+{
+ logic = (MAP3K1_3 | RAF | PDK1);
+ rate_up = @logic ? $u_MEK1_2 : 0;
+ rate_down = @logic ? 0 : $d_MEK1_2;
+}
+
+Node Metastasis
+{
+ logic = (Migration & AR_ERG);
+ rate_up = @logic ? $u_Metastasis : 0;
+ rate_down = @logic ? 0 : $d_Metastasis;
+}
+
+Node Migration
+{
+ logic = (((AKT & ERK) | (AKT & ETV1)) & Invasion & EMT);
+ rate_up = @logic ? $u_Migration : 0;
+ rate_down = @logic ? 0 : $d_Migration;
+}
+
+Node mTORC1
+{
+ logic = ((AKT | (AKT & Rheb)) & !AMPK & !TSC1_2);
+ rate_up = @logic ? $u_mTORC1 : 0;
+ rate_down = @logic ? 0 : $d_mTORC1;
+}
+
+Node mTORC2
+{
+ logic = ((!AMPK & RAGS & Rheb) | (AKT & !AMPK & Rheb) | (AKT & !AMPK & RAGS) | (AKT & RAGS & Rheb & !AMPK));
+ rate_up = @logic ? $u_mTORC2 : 0;
+ rate_down = @logic ? 0 : $d_mTORC2;
+}
+
+Node MXI1
+{
+ logic = (HIF1);
+ rate_up = @logic ? $u_MXI1 : 0;
+ rate_down = @logic ? 0 : $d_MXI1;
+}
+
+Node MYC
+{
+ logic = ((GLI | ERK | TCF | JUN | FOS | AR_ERG | ERG | NF_kB | SHH) & (mTORC1 | E2F1 | p38) & !HIF1);
+ rate_up = @logic ? $u_MYC : 0;
+ rate_down = @logic ? 0 : $d_MYC;
+}
+
+Node MYC_MAX
+{
+ logic = (MYC & !MXI1 & !TGFBR & !SMAD);
+ rate_up = @logic ? $u_MYC_MAX : 0;
+ rate_down = @logic ? 0 : $d_MYC_MAX;
+}
+
+Node NCOA3
+{
+ logic = (!SPOP & p38);
+ rate_up = @logic ? $u_NCOA3 : 0;
+ rate_down = @logic ? 0 : $d_NCOA3;
+}
+
+Node NCOR1
+{
+ logic = (!AKT);
+ rate_up = @logic ? $u_NCOR1 : 0;
+ rate_down = @logic ? 0 : $d_NCOR1;
+}
+
+Node NCOR2
+{
+ logic = (!AKT & !FOXO);
+ rate_up = @logic ? $u_NCOR2 : 0;
+ rate_down = @logic ? 0 : $d_NCOR2;
+}
+
+Node NF1
+{
+ logic = (!PKC);
+ rate_up = @logic ? $u_NF1 : 0;
+ rate_down = @logic ? 0 : $d_NF1;
+}
+
+Node NF_kB
+{
+ logic = ((E_cadherin | IKK | DNA_Damage) & (NCOA3 | PIP3 | Snail));
+ rate_up = @logic ? $u_NF_kB : 0;
+ rate_down = @logic ? 0 : $d_NF_kB;
+}
+
+Node NKX3_1
+{
+ logic = (PKC & AR & !ERG & !AR_ERG);
+ rate_up = @logic ? $u_NKX3_1 : 0;
+ rate_down = @logic ? 0 : $d_NKX3_1;
+}
+
+Node Nutrients
+{
+ logic = (Nutrients);
+ rate_up = @logic ? $u_Nutrients : 0;
+ rate_down = @logic ? 0 : $d_Nutrients;
+}
+
+Node p14ARF
+{
+ logic = (E2F1 & MYC_MAX & RAS);
+ rate_up = @logic ? $u_p14ARF : 0;
+ rate_down = @logic ? 0 : $d_p14ARF;
+}
+
+Node p15
+{
+ logic = (ZBTB17);
+ rate_up = @logic ? $u_p15 : 0;
+ rate_down = @logic ? 0 : $d_p15;
+}
+
+Node p21
+{
+ logic = ((p53 | SMAD | HIF1 | ZBTB17) & !TERT & !MYC_MAX & !MDM2 & !AKT & !ERK);
+ rate_up = @logic ? $u_p21 : 0;
+ rate_down = @logic ? 0 : $d_p21;
+}
+
+Node p38
+{
+ logic = (MAP3K1_3 & !ERK & !GADD45);
+ rate_up = @logic ? $u_p38 : 0;
+ rate_down = @logic ? 0 : $d_p38;
+}
+
+Node p53
+{
+ logic = ((Acidosis | CHK1_2 | p38 | HIF1) & !BCL2 & !MDM2 & !HSPs & !Snail);
+ rate_up = @logic ? $u_p53 : 0;
+ rate_down = @logic ? 0 : $d_p53;
+}
+
+Node p70S6kab
+{
+ logic = (mTORC2 | PDK1);
+ rate_up = @logic ? $u_p70S6kab : 0;
+ rate_down = @logic ? 0 : $d_p70S6kab;
+}
+
+Node p90RSK
+{
+ logic = (PDK1 | ERK);
+ rate_up = @logic ? $u_p90RSK : 0;
+ rate_down = @logic ? 0 : $d_p90RSK;
+}
+
+Node PDK1
+{
+ logic = (HIF1 | MYC_MAX | PIP3);
+ rate_up = @logic ? $u_PDK1 : 0;
+ rate_down = @logic ? 0 : $d_PDK1;
+}
+
+Node PHDs
+{
+ logic = (!Hypoxia & ROS);
+ rate_up = @logic ? $u_PHDs : 0;
+ rate_down = @logic ? 0 : $d_PHDs;
+}
+
+Node PIP3
+{
+ logic = ((!p53 & PI3K & !PTEN) | (!p53 & PI3K));
+ rate_up = @logic ? $u_PIP3 : 0;
+ rate_down = @logic ? 0 : $d_PIP3;
+}
+
+Node PKC
+{
+ logic = (RTK & WNT);
+ rate_up = @logic ? $u_PKC : 0;
+ rate_down = @logic ? 0 : $d_PKC;
+}
+
+Node Proliferation
+{
+ logic = (CyclinB | CyclinD);
+ rate_up = @logic ? $u_Proliferation : 0;
+ rate_down = @logic ? 0 : $d_Proliferation;
+}
+
+Node PTCH1
+{
+ logic = (!SHH & GLI);
+ rate_up = @logic ? $u_PTCH1 : 0;
+ rate_down = @logic ? 0 : $d_PTCH1;
+}
+
+Node PTEN
+{
+ logic = ((!NF_kB & !Snail & FGFR3 & p53) | (!NF_kB & !Snail & p53));
+ rate_up = @logic ? $u_PTEN : 0;
+ rate_down = @logic ? 0 : $d_PTEN;
+}
+
+Node Quiescence
+{
+ logic = (!Apoptosis & !Proliferation);
+ rate_up = @logic ? $u_Quiescence : 0;
+ rate_down = @logic ? 0 : $d_Quiescence;
+}
+
+Node RAF
+{
+ logic = (!EZH2 & RAS) | (EZH2);
+ rate_up = @logic ? $u_RAF : 0;
+ rate_down = @logic ? 0 : $d_RAF;
+}
+
+Node RAGS
+{
+ logic = (!Hypoxia & Nutrients);
+ rate_up = @logic ? $u_RAGS : 0;
+ rate_down = @logic ? 0 : $d_RAGS;
+}
+
+Node RAS
+{
+ logic = (EGFR | TGFBR | FRS2 | FGFR3);
+ rate_up = @logic ? $u_RAS : 0;
+ rate_down = @logic ? 0 : $d_RAS;
+}
+
+Node RB1
+{
+ logic = (!CyclinB & !CyclinD & CHK1_2 & !p53 & !AMPK);
+ rate_up = @logic ? $u_RB1 : 0;
+ rate_down = @logic ? 0 : $d_RB1;
+}
+
+Node Rheb
+{
+ logic = (!TSC1_2);
+ rate_up = @logic ? $u_Rheb : 0;
+ rate_down = @logic ? 0 : $d_Rheb;
+}
+
+Node ROS
+{
+ logic = ((COX4I2 | Hypoxia) & !GSH);
+ rate_up = @logic ? $u_ROS : 0;
+ rate_down = @logic ? 0 : $d_ROS;
+}
+
+Node RTK
+{
+ logic = (EGFR | FGFR3);
+ rate_up = @logic ? $u_RTK : 0;
+ rate_down = @logic ? 0 : $d_RTK;
+}
+
+Node RUNX2
+{
+ logic = (!ETS1 & !FOXO & Slug) | (ETS1 & !FOXO);
+ rate_up = @logic ? $u_RUNX2 : 0;
+ rate_down = @logic ? 0 : $d_RUNX2;
+}
+
+Node SHH
+{
+ logic = (!BMP2 & !ATR);
+ rate_up = @logic ? $u_SHH : 0;
+ rate_down = @logic ? 0 : $d_SHH;
+}
+
+Node Slug
+{
+ logic = ((TCF | NF_kB) & !DAXX & !p53 & !MDM2);
+ rate_up = @logic ? $u_Slug : 0;
+ rate_down = @logic ? 0 : $d_Slug;
+}
+
+Node SMAD
+{
+ logic = ((TNFalpha | TGFBR) & !AR);
+ rate_up = @logic ? $u_SMAD : 0;
+ rate_down = @logic ? 0 : $d_SMAD;
+}
+
+Node SMO
+{
+ logic = (!PTCH1 & SHH);
+ rate_up = @logic ? $u_SMO : 0;
+ rate_down = @logic ? 0 : $d_SMO;
+}
+
+Node Snail
+{
+ logic = ((GLI | NF_kB | SMAD | beta_catenin) & !GSK3 & !p53);
+ rate_up = @logic ? $u_Snail : 0;
+ rate_down = @logic ? 0 : $d_Snail;
+}
+
+Node SPOP
+{
+ logic = (SPOP);
+ rate_up = @logic ? $u_SPOP : 0;
+ rate_down = @logic ? 0 : $d_SPOP;
+}
+
+Node TAK1
+{
+ logic = (TGFBR | TNFalpha);
+ rate_up = @logic ? $u_TAK1 : 0;
+ rate_down = @logic ? 0 : $d_TAK1;
+}
+
+Node TCF
+{
+ logic = ((beta_catenin | AR_ERG | ERG) & !TAK1);
+ rate_up = @logic ? $u_TCF : 0;
+ rate_down = @logic ? 0 : $d_TCF;
+}
+
+Node TERT
+{
+ logic = ((GLI | AKT | HIF1 | MYC_MAX | NF1 | NF_kB | MYC_MAX) & !ZBTB17 & !p53 & !eEF2 & !SMAD);
+ rate_up = @logic ? $u_TERT : 0;
+ rate_down = @logic ? 0 : $d_TERT;
+}
+
+Node TGFb
+{
+ logic = (TGFb);
+ rate_up = @logic ? $u_TGFb : 0;
+ rate_down = @logic ? 0 : $d_TGFb;
+}
+
+Node TGFBR
+{
+ logic = ((TGFb | (HIF1 & TGFb)) & !MED12);
+ rate_up = @logic ? $u_TGFBR : 0;
+ rate_down = @logic ? 0 : $d_TGFBR;
+}
+
+Node TNFalpha
+{
+ logic = (TNFalpha);
+ rate_up = @logic ? $u_TNFalpha : 0;
+ rate_down = @logic ? 0 : $d_TNFalpha;
+}
+
+Node TSC1_2
+{
+ logic = ((AMPK | p53 | HIF1) & !AKT & !ERK & !RAF & !p90RSK);
+ rate_up = @logic ? $u_TSC1_2 : 0;
+ rate_down = @logic ? 0 : $d_TSC1_2;
+}
+
+Node TWIST1
+{
+ logic = (Snail | beta_catenin);
+ rate_up = @logic ? $u_TWIST1 : 0;
+ rate_down = @logic ? 0 : $d_TWIST1;
+}
+
+Node VEGF
+{
+ logic = (HIF1 & MYC_MAX);
+ rate_up = @logic ? $u_VEGF : 0;
+ rate_down = @logic ? 0 : $d_VEGF;
+}
+
+Node VHL
+{
+ logic = (!Hypoxia & !ROS);
+ rate_up = @logic ? $u_VHL : 0;
+ rate_down = @logic ? 0 : $d_VHL;
+}
+
+Node WNT
+{
+ logic = ((((ERG | AR_ERG) & GLI) | ERG | AR_ERG) & !p53);
+ rate_up = @logic ? $u_WNT : 0;
+ rate_down = @logic ? 0 : $d_WNT;
+}
+
+Node YWHAZ
+{
+ logic = (AR);
+ rate_up = @logic ? $u_YWHAZ : 0;
+ rate_down = @logic ? 0 : $d_YWHAZ;
+}
+
+Node ZBTB17
+{
+ logic = (!MYC_MAX & AR);
+ rate_up = @logic ? $u_ZBTB17 : 0;
+ rate_down = @logic ? 0 : $d_ZBTB17;
+}
+
+Node anti_PI3K
+{
+ logic = (anti_PI3K);
+ rate_up = @logic ? 0 : 0;
+ rate_down = @logic ? 0 : 0;
+}
+
+
+Node anti_HSPs
+{
+ logic = (anti_HSPs);
+ rate_up = @logic ? 0 : 0;
+ rate_down = @logic ? 0 : 0;
+}
+
+
diff --git a/config/boolean_network/LNCaP_mut_RNA_00_all_nodes.cfg b/config/boolean_network/LNCaP_mut_RNA_00_all_nodes.cfg
new file mode 100644
index 0000000..6981df9
--- /dev/null
+++ b/config/boolean_network/LNCaP_mut_RNA_00_all_nodes.cfg
@@ -0,0 +1,584 @@
+$u_Acidosis = 1;
+$d_Acidosis = 1;
+$u_AKT = 1.15285;
+$d_AKT = 0.86742;
+$u_AMP_ATP = 0.06407;
+$d_AMP_ATP = 15.60793;
+$u_AMPK = 0;
+$d_AMPK = 0.91263;
+$u_Androgen = 1;
+$d_Androgen = 1;
+$u_Angiogenesis = 1;
+$d_Angiogenesis = 1;
+$u_Apoptosis = 1;
+$d_Apoptosis = 1;
+$u_AR = 100.0;
+$d_AR = 0;
+$u_AR_ERG = 1;
+$d_AR_ERG = 1;
+$u_ATM = 0;
+$d_ATM = 5.81395;
+$u_ATR = 0.1955;
+$d_ATR = 5.11509;
+$u_AXIN1 = 0.3574;
+$d_AXIN1 = 2.79799;
+$u_BAD = 4.09692;
+$d_BAD = 0.24409;
+$u_Bak = 0.1955;
+$d_Bak = 5.11509;
+$u_BAX = 0;
+$d_BAX = 10.39933;
+$u_BCL2 = 0.01;
+$d_BCL2 = 100.0;
+$u_Bcl_XL = 0.28221;
+$d_Bcl_XL = 3.54346;
+$u_beta_catenin = 0.60475;
+$d_beta_catenin = 0;
+$u_BIRC5 = 0.23826;
+$d_BIRC5 = 4.1971;
+$u_BMP2 = 1;
+$d_BMP2 = 1;
+$u_BRCA1 = 0.49177;
+$d_BRCA1 = 2.03347;
+$u_BRCA2 = 0;
+$d_BRCA2 = 5.11509;
+$u_Carcinogen = 1;
+$d_Carcinogen = 1;
+$u_Caspase3 = 1;
+$d_Caspase3 = 1;
+$u_Caspase8 = 0.07573;
+$d_Caspase8 = 13.20481;
+$u_Caspase9 = 0.1955;
+$d_Caspase9 = 5.11509;
+$u_CDH2 = 0.01;
+$d_CDH2 = 100.0;
+$u_cFLAR = 1.0;
+$d_cFLAR = 1.0;
+$u_CHK1_2 = 0;
+$d_CHK1_2 = 0.74346;
+$u_COX4I2 = 1;
+$d_COX4I2 = 1;
+$u_CyclinB = 0.08593;
+$d_CyclinB = 11.63738;
+$u_CyclinD = 0.72702;
+$d_CyclinD = 1.37548;
+$u_CytoC = 0.47463;
+$d_CytoC = 2.1069;
+$u_APAF1 = 0;
+$d_APAF1 = 65.74622;
+$u_DAXX = 0.73662;
+$d_DAXX = 1.35755;
+$u_DNA_Damage = 1;
+$d_DNA_Damage = 1;
+$u_DNA_Repair = 1;
+$d_DNA_Repair = 1;
+$u_Dsh = 0;
+$d_Dsh = 0.40456;
+$u_E2F1 = 0.43193;
+$d_E2F1 = 2.31519;
+$u_E_cadherin = 100.0;
+$d_E_cadherin = 0.01;
+$u_eEF2 = 22.1308;
+$d_eEF2 = 0.04519;
+$u_eEF2K = 5.11518;
+$d_eEF2K = 0.1955;
+$u_EMT = 1;
+$d_EMT = 1;
+$u_EP300 = 1.59488;
+$d_EP300 = 0.62701;
+$u_ERG = 0.01;
+$d_ERG = 100.0;
+$u_ERK = 1.46443;
+$d_ERK = 0.68286;
+$u_ETS1 = 0.0303;
+$d_ETS1 = 33.0033;
+$u_ETV1 = 99.99718;
+$d_ETV1 = 0.01;
+$u_EZH2 = 0.25411;
+$d_EZH2 = 3.9353;
+$u_FADD = 0.13852;
+$d_FADD = 7.21917;
+$u_FOS = 0.01086;
+$d_FOS = 92.08103;
+$u_JUN = 0.3012;
+$d_JUN = 3.32005;
+$u_FOXA1 = 99.99995;
+$d_FOXA1 = 0.01;
+$u_FOXO = 0.70855;
+$d_FOXO = 1.41133;
+$u_EGF = 8.51034;
+$d_EGF = 0.1175;
+$u_EGFR = 87.28647;
+$d_EGFR = 0.01146;
+$u_FGF = 0;
+$d_FGF = 100.0;
+$u_FGFR3 = 0.01043;
+$d_FGFR3 = 95.87728;
+$u_FRS2 = 1.0;
+$d_FRS2 = 1.0;
+$u_GADD45 = 0.57004;
+$d_GADD45 = 1.75426;
+$u_GLI = 0.01;
+$d_GLI = 100.0;
+$u_GLUT1 = 0.38474;
+$d_GLUT1 = 2.59916;
+$u_Glycolysis = 1;
+$d_Glycolysis = 1;
+$u_GSH = 34.85754;
+$d_GSH = 0.02869;
+$u_GSK3 = 0.36889;
+$d_GSK3 = 2.71084;
+$u_HIF1 = 0.50171;
+$d_HIF1 = 1.99318;
+$u_HSPs = 1.04632;
+$d_HSPs = 0.95573;
+$u_Hypermethylation = 1;
+$d_Hypermethylation = 1;
+$u_Hypoxia = 1;
+$d_Hypoxia = 1;
+$u_IDH1 = 24.23845;
+$d_IDH1 = 0.04126;
+$u_Invasion = 1;
+$d_Invasion = 1;
+$u_IKK = 0.47494;
+$d_IKK = 2.10553;
+$u_JNK = 0.70598;
+$d_JNK = 1.41647;
+$u_Lactic_acid = 6.08374;
+$d_Lactic_acid = 0.16437;
+$u_LDHA = 6.08374;
+$d_LDHA = 0.16437;
+$u_MAP3K1_3 = 0.22457;
+$d_MAP3K1_3 = 4.45295;
+$u_MDM2 = 3.70371;
+$d_MDM2 = 0.27;
+$u_MED12 = 0.49995;
+$d_MED12 = 2.0002;
+$u_MEK1_2 = 2.74199;
+$d_MEK1_2 = 0;
+$u_Metastasis = 1;
+$d_Metastasis = 1;
+$u_Migration = 1;
+$d_Migration = 1;
+$u_mTORC1 = 1.03682;
+$d_mTORC1 = 0.96449;
+$u_mTORC2 = 1.73313;
+$d_mTORC2 = 0.57699;
+$u_MXI1 = 16.71485;
+$d_MXI1 = 0.05983;
+$u_MYC = 4.81493;
+$d_MYC = 0.20769;
+$u_MYC_MAX = 2.19429;
+$d_MYC_MAX = 0.45573;
+$u_NCOA3 = 0;
+$d_NCOA3 = 13.75138;
+$u_NCOR1 = 5.11518;
+$d_NCOR1 = 0.1955;
+$u_NCOR2 = 4.09692;
+$d_NCOR2 = 0.24409;
+$u_NF1 = 0;
+$d_NF1 = 1.0;
+$u_NF_kB = 0.23915;
+$d_NF_kB = 4.18148;
+$u_NKX3_1 = 100.0;
+$d_NKX3_1 = 0.01;
+$u_Nutrients = 1;
+$d_Nutrients = 1;
+$u_p14ARF = 0.01565;
+$d_p14ARF = 63.89776;
+$u_p15 = 0.01001;
+$d_p15 = 99.9001;
+$u_p21 = 10.60511;
+$d_p21 = 0.09429;
+$u_p38 = 0.04421;
+$d_p38 = 22.61932;
+$u_p53 = 4.77257;
+$d_p53 = 0.20953;
+$u_p70S6kab = 2.97053;
+$d_p70S6kab = 0.33664;
+$u_p90RSK = 1.92967;
+$d_p90RSK = 0.51822;
+$u_PDK1 = 26.84952;
+$d_PDK1 = 0.03724;
+$u_PHDs = 0.37349;
+$d_PHDs = 2.67745;
+$u_PI3K = 0.51668;
+$d_PI3K = 1.93543;
+$u_PIP3 = 0.01521;
+$d_PIP3 = 65.74622;
+$u_PKC = 0;
+$d_PKC = 2.5697;
+$u_Proliferation = 1;
+$d_Proliferation = 1;
+$u_PTCH1 = 0.33025;
+$d_PTCH1 = 3.02801;
+$u_PTEN = 0;
+$d_PTEN = 2.07753;
+$u_Quiescence = 1;
+$d_Quiescence = 1;
+$u_RAF = 1.55217;
+$d_RAF = 0.64426;
+$u_RAGS = 0.01;
+$d_RAGS = 100.0;
+$u_RAS = 0.4606;
+$d_RAS = 2.17108;
+$u_RB1 = 0.12234;
+$d_RB1 = 8.17394;
+$u_Rheb = 0.1955;
+$d_Rheb = 5.11509;
+$u_ROS = 1;
+$d_ROS = 1;
+$u_RTK = 0.08743;
+$d_RTK = 11.43772;
+$u_RUNX2 = 0.01369;
+$d_RUNX2 = 73.04602;
+$u_SHH = 0.01;
+$d_SHH = 100.0;
+$u_Slug = 0.01;
+$d_Slug = 100.0;
+$u_SMAD = 0.31951;
+$d_SMAD = 3.12979;
+$u_SMO = 98.34156;
+$d_SMO = 0.01017;
+$u_Snail = 0.07454;
+$d_Snail = 13.41562;
+$u_SPOP = 3.75839;
+$d_SPOP = 0.26607;
+$u_TAK1 = 0.01521;
+$d_TAK1 = 65.74622;
+$u_TCF = 0.01552;
+$d_TCF = 64.43299;
+$u_TERT = 0.24141;
+$d_TERT = 4.14233;
+$u_TGFb = 0.01143;
+$d_TGFb = 87.48906;
+$u_TGFBR = 0.035;
+$d_TGFBR = 28.57143;
+$u_fused_event = 1;
+$d_fused_event = 1;
+$u_TNFalpha = 0.13372;
+$d_TNFalpha = 7.47831;
+$u_TSC1_2 = 9.35066;
+$d_TSC1_2 = 0.10694;
+$u_TWIST1 = 0.02243;
+$d_TWIST1 = 44.58315;
+$u_VEGF = 0.25808;
+$d_VEGF = 3.87477;
+$u_VHL = 7.12902;
+$d_VHL = 0.14027;
+$u_WNT = 0;
+$d_WNT = 27.5786;
+$u_YWHAZ = 0.04405;
+$d_YWHAZ = 22.70148;
+$u_ZBTB17 = 0.0441;
+$d_ZBTB17 = 22.67574;
+
+discrete_time = 0;
+use_physrandgen = FALSE;
+seed_pseudorandom = 100;
+sample_count = 1;
+max_time = 1; //10 min: 1 in Maboss = 10 in Physicell
+time_tick = 0.01;
+thread_count = 1;
+statdist_traj_count = 100;
+statdist_cluster_threshold = 0.9;
+
+
+Acidosis.is_internal = TRUE;
+AKT.is_internal = TRUE;
+AMPK.is_internal = TRUE;
+AMP_ATP.is_internal = TRUE;
+Androgen.is_internal = TRUE;
+Angiogenesis.is_internal = FALSE;
+APAF1.is_internal = TRUE;
+Apoptosis.is_internal = FALSE;
+AR.is_internal = TRUE;
+AR_ERG.is_internal = TRUE;
+ATM.is_internal = TRUE;
+ATR.is_internal = TRUE;
+AXIN1.is_internal = TRUE;
+BAD.is_internal = TRUE;
+Bak.is_internal = TRUE;
+BAX.is_internal = TRUE;
+BCL2.is_internal = TRUE;
+Bcl_XL.is_internal = TRUE;
+beta_catenin.is_internal = TRUE;
+BIRC5.is_internal = TRUE;
+BMP2.is_internal = TRUE;
+BRCA1.is_internal = TRUE;
+BRCA2.is_internal = TRUE;
+Carcinogen.is_internal = TRUE;
+Caspase3.is_internal = TRUE;
+Caspase8.is_internal = TRUE;
+Caspase9.is_internal = TRUE;
+CDH2.is_internal = TRUE;
+cFLAR.is_internal = TRUE;
+CHK1_2.is_internal = TRUE;
+COX4I2.is_internal = TRUE;
+CyclinB.is_internal = TRUE;
+CyclinD.is_internal = TRUE;
+CytoC.is_internal = TRUE;
+DAXX.is_internal = TRUE;
+DNA_Damage.is_internal = TRUE;
+DNA_Repair.is_internal = FALSE;
+Dsh.is_internal = TRUE;
+E2F1.is_internal = TRUE;
+eEF2.is_internal = TRUE;
+eEF2K.is_internal = TRUE;
+EGF.is_internal = TRUE;
+EGFR.is_internal = TRUE;
+EMT.is_internal = TRUE;
+EP300.is_internal = TRUE;
+ERG.is_internal = TRUE;
+ERK.is_internal = TRUE;
+ETS1.is_internal = TRUE;
+ETV1.is_internal = TRUE;
+EZH2.is_internal = TRUE;
+E_cadherin.is_internal = TRUE;
+FADD.is_internal = TRUE;
+FGF.is_internal = TRUE;
+FGFR3.is_internal = TRUE;
+FOS.is_internal = TRUE;
+FOXA1.is_internal = TRUE;
+FOXO.is_internal = TRUE;
+FRS2.is_internal = TRUE;
+fused_event.is_internal = TRUE;
+GADD45.is_internal = TRUE;
+GLI.is_internal = TRUE;
+GLUT1.is_internal = TRUE;
+Glycolysis.is_internal = FALSE;
+GSH.is_internal = TRUE;
+GSK3.is_internal = TRUE;
+HIF1.is_internal = TRUE;
+HSPs.is_internal = TRUE;
+Hypermethylation.is_internal = TRUE;
+Hypoxia.is_internal = TRUE;
+IDH1.is_internal = TRUE;
+IKK.is_internal = TRUE;
+Invasion.is_internal = FALSE;
+JNK.is_internal = TRUE;
+JUN.is_internal = TRUE;
+Lactic_acid.is_internal = TRUE;
+LDHA.is_internal = TRUE;
+MAP3K1_3.is_internal = TRUE;
+MDM2.is_internal = TRUE;
+MED12.is_internal = TRUE;
+MEK1_2.is_internal = TRUE;
+Metastasis.is_internal = FALSE;
+Migration.is_internal = FALSE;
+mTORC1.is_internal = TRUE;
+mTORC2.is_internal = TRUE;
+MXI1.is_internal = TRUE;
+MYC.is_internal = TRUE;
+MYC_MAX.is_internal = TRUE;
+NCOA3.is_internal = TRUE;
+NCOR1.is_internal = TRUE;
+NCOR2.is_internal = TRUE;
+NF1.is_internal = TRUE;
+NF_kB.is_internal = TRUE;
+NKX3_1.is_internal = TRUE;
+Nutrients.is_internal = TRUE;
+p14ARF.is_internal = TRUE;
+p15.is_internal = TRUE;
+p21.is_internal = TRUE;
+p38.is_internal = TRUE;
+p53.is_internal = TRUE;
+p70S6kab.is_internal = TRUE;
+p90RSK.is_internal = TRUE;
+PDK1.is_internal = TRUE;
+PHDs.is_internal = TRUE;
+PI3K.is_internal = TRUE;
+PIP3.is_internal = TRUE;
+PKC.is_internal = TRUE;
+Proliferation.is_internal = FALSE;
+PTCH1.is_internal = TRUE;
+PTEN.is_internal = TRUE;
+Quiescence.is_internal = FALSE;
+RAF.is_internal = TRUE;
+RAGS.is_internal = TRUE;
+RAS.is_internal = TRUE;
+RB1.is_internal = TRUE;
+Rheb.is_internal = TRUE;
+ROS.is_internal = TRUE;
+RTK.is_internal = TRUE;
+RUNX2.is_internal = TRUE;
+SHH.is_internal = TRUE;
+Slug.is_internal = TRUE;
+SMAD.is_internal = TRUE;
+SMO.is_internal = TRUE;
+Snail.is_internal = TRUE;
+SPOP.is_internal = TRUE;
+TAK1.is_internal = TRUE;
+TCF.is_internal = TRUE;
+TERT.is_internal = TRUE;
+TGFb.is_internal = TRUE;
+TGFBR.is_internal = TRUE;
+TNFalpha.is_internal = TRUE;
+TSC1_2.is_internal = TRUE;
+TWIST1.is_internal = TRUE;
+VEGF.is_internal = TRUE;
+VHL.is_internal = TRUE;
+WNT.is_internal = TRUE;
+YWHAZ.is_internal = TRUE;
+ZBTB17.is_internal = TRUE;
+
+//LNCAP initial conditions:
+[Androgen].istate = 0 [1], 1 [0];
+[Acidosis].istate = 0 [1], 1 [0];
+[Carcinogen].istate = 0 [1], 1 [0];
+[Hypoxia].istate = 0 [1], 1 [0];
+[TGFb].istate = 0 [1], 1 [0];
+[TNFalpha].istate = 0 [1], 1 [0];
+[HSPs].istate = 0.5 [1], 0.5 [0];
+[anti_HSPs].istate = 0 [1], 1 [0];
+
+//Pro-proliferative conditions:
+[EGF].istate = 1 [1], 0 [0];
+[FGF].istate = 1 [1], 0 [0];
+[Nutrients].istate = 1 [1], 0 [0];
+[Caspase8].istate = 0 [1], 1 [0];
+[Caspase9].istate = 0 [1], 1 [0];
+[Caspase3].istate = 0 [1], 1 [0];
+[FADD].istate = 0 [1], 1 [0];
+[CytoC].istate = 0 [1], 1 [0];
+[APAF1].istate = 0 [1], 1 [0];
+[Bak].istate = 0 [1], 1 [0];
+
+
+//orphan nodes initial conditions:
+[fused_event].istate = 0 [1], 1 [0];
+[AR_ERG].istate = 0 [1], 1 [0];
+
+//outputs:
+[Angiogenesis].istate = 0 [1], 1 [0];
+[Apoptosis].istate = 0 [1], 1 [0];
+[DNA_Repair].istate = 0 [1], 1 [0];
+[Glycolysis].istate = 0 [1], 1 [0];
+[Hypermethylation].istate = 0 [1], 1 [0];
+[Invasion].istate = 0 [1], 1 [0];
+[Metastasis].istate = 0 [1], 1 [0];
+[Migration].istate = 0 [1], 1 [0];
+[Proliferation].istate = 0 [1], 1 [0];
+[Quiescence].istate = 0 [1], 1 [0];
+
+[AKT].istate = 0.51544 [1], 0.48456 [0];
+[AMP_ATP].istate = 0.20167 [1], 0.79833 [0];
+[ATR].istate = 0.32278 [1], 0.6772199999999999 [0];
+[AXIN1].istate = 0.38829 [1], 0.61171 [0];
+[BAD].istate = 0.65311 [1], 0.34689000000000003 [0];
+//[Bak].istate = 0.32278 [1], 0.6772199999999999 [0];
+[Bcl_XL].istate = 0.36264 [1], 0.6373599999999999 [0];
+[BCL2].istate = 1e-05 [1], 0.99999 [0];
+[BIRC5].istate = 0.34426 [1], 0.65574 [0];
+[BRCA1].istate = 0.42294 [1], 0.57706 [0];
+//[Caspase8].istate = 0.21981 [1], 0.7801899999999999 [0];
+//[Caspase9].istate = 0.32278 [1], 0.6772199999999999 [0];
+[CDH2].istate = 0.0 [1], 1.0 [0];
+[cFLAR].istate = 0.5 [1], 0.5 [0];
+[CyclinB].istate = 0.23353 [1], 0.76647 [0];
+[CyclinD].istate = 0.46539 [1], 0.53461 [0];
+//[CytoC].istate = 0.41909 [1], 0.58091 [0];
+[DAXX].istate = 0.46681 [1], 0.53319 [0];
+[E_cadherin].istate = 1.0 [1], 0.0 [0];
+[E2F1].istate = 0.40885 [1], 0.5911500000000001 [0];
+[eEF2].istate = 0.83625 [1], 0.16374999999999995 [0];
+[eEF2K].istate = 0.67722 [1], 0.32277999999999996 [0];
+[EGFR].istate = 0.98524 [1], 0.014759999999999995 [0];
+[EP300].istate = 0.55068 [1], 0.44932000000000005 [0];
+[ERG].istate = 0.0 [1], 1.0 [0];
+[ERK].istate = 0.54142 [1], 0.45858 [0];
+[ETS1].istate = 0.12035 [1], 0.87965 [0];
+[ETV1].istate = 1.0 [1], 0.0 [0];
+[EZH2].istate = 0.35125 [1], 0.6487499999999999 [0];
+//[FADD].istate = 0.28538 [1], 0.71462 [0];
+[FGFR3].istate = 0.00457 [1], 0.99543 [0];
+[FOS].istate = 0.00892 [1], 0.99108 [0];
+[FOXA1].istate = 1.0 [1], 0.0 [0];
+[FOXO].istate = 0.46259 [1], 0.5374099999999999 [0];
+[FRS2].istate = 0.5 [1], 0.5 [0];
+[GADD45].istate = 0.43898 [1], 0.5610200000000001 [0];
+[GLI].istate = 0.0 [1], 1.0 [0];
+[GLUT1].istate = 0.39629 [1], 0.60371 [0];
+[GSH].istate = 0.88557 [1], 0.11443000000000003 [0];
+[GSK3].istate = 0.39173 [1], 0.60827 [0];
+[HIF1].istate = 0.42511 [1], 0.57489 [0];
+//[HSPs].istate = 0.50492 [1], 0.49507999999999996 [0];
+[IDH1].istate = 0.84613 [1], 0.15386999999999995 [0];
+[IKK].istate = 0.41916 [1], 0.58084 [0];
+[JNK].istate = 0.4622 [1], 0.5378000000000001 [0];
+[JUN].istate = 0.36971 [1], 0.63029 [0];
+[Lactic_acid].istate = 0.69604 [1], 0.30396 [0];
+[LDHA].istate = 0.69604 [1], 0.30396 [0];
+[MAP3K1_3].istate = 0.33784 [1], 0.6621600000000001 [0];
+[MDM2].istate = 0.64216 [1], 0.35784000000000005 [0];
+[MED12].istate = 0.42473 [1], 0.57527 [0];
+[ZBTB17].istate = 0.1611 [1], 0.8389 [0];
+[mTORC1].istate = 0.50393 [1], 0.49607 [0];
+[mTORC2].istate = 0.55971 [1], 0.44028999999999996 [0];
+[MXI1].istate = 0.80578 [1], 0.19421999999999995 [0];
+[MYC].istate = 0.67065 [1], 0.32935000000000003 [0];
+[MYC_MAX].istate = 0.58532 [1], 0.41468000000000005 [0];
+[NCOR1].istate = 0.67722 [1], 0.32277999999999996 [0];
+[NCOR2].istate = 0.65311 [1], 0.34689000000000003 [0];
+[NF_kB].istate = 0.34467 [1], 0.65533 [0];
+[NKX3_1].istate = 1.0 [1], 0.0 [0];
+[p14ARF].istate = 0.04863 [1], 0.95137 [0];
+[p15].istate = 8e-05 [1], 0.99992 [0];
+[p21].istate = 0.75638 [1], 0.24361999999999995 [0];
+[p38].istate = 0.16139 [1], 0.83861 [0];
+[p53].istate = 0.66969 [1], 0.33031 [0];
+[p70S6kab].istate = 0.61821 [1], 0.38178999999999996 [0];
+[p90RSK].istate = 0.57137 [1], 0.42862999999999996 [0];
+[PDK1].istate = 0.85723 [1], 0.14276999999999995 [0];
+[PHDs].istate = 0.39307 [1], 0.60693 [0];
+[PI3K].istate = 0.5 [1], 0.5 [0];
+[anti_PI3K].istate = 0 [1], 1 [0];
+[PIP3].istate = 0.04553 [1], 0.95447 [0];
+[PTCH1].istate = 0.37971 [1], 0.62029 [0];
+[RAF].istate = 0.54773 [1], 0.45226999999999995 [0];
+[RAGS].istate = 0 [1], 1 [0];
+[RAS].istate = 0.41583 [1], 0.5841700000000001 [0];
+[RB1].istate = 0.27189 [1], 0.72811 [0];
+[Rheb].istate = 0.32278 [1], 0.6772199999999999 [0];
+[RTK].istate = 0.23541 [1], 0.76459 [0];
+[RUNX2].istate = 0.03411 [1], 0.96589 [0];
+[SHH].istate = 0.0 [1], 1.0 [0];
+[Slug].istate = 2e-05 [1], 0.99998 [0];
+[SMAD].istate = 0.37612 [1], 0.62388 [0];
+[SMO].istate = 0.99818 [1], 0.0018200000000000438 [0];
+[Snail].istate = 0.2181 [1], 0.7819 [0];
+[SPOP].istate = 0.64375 [1], 0.35624999999999996 [0];
+[TAK1].istate = 0.04553 [1], 0.95447 [0];
+[TCF].istate = 0.04774 [1], 0.95226 [0];
+[TERT].istate = 0.34569 [1], 0.65431 [0];
+//[TGFb].istate = 0.01451 [1], 0.98549 [0];
+[TGFBR].istate = 0.13603 [1], 0.86397 [0];
+//[TNFalpha].istate = 0.28155 [1], 0.71845 [0];
+[TSC1_2].istate = 0.74271 [1], 0.25729 [0];
+[TWIST1].istate = 0.08772 [1], 0.91228 [0];
+[VEGF].istate = 0.35294 [1], 0.64706 [0];
+[VHL].istate = 0.71326 [1], 0.28674 [0];
+[YWHAZ].istate = 0.16098 [1], 0.83902 [0];
+[AMPK].istate = 0 [1], 1 [0];
+//[APAF1].istate = 0 [1], 1 [0];
+//[AR].istate = 0 [1], 1 [0];
+[ATM].istate = 0 [1], 1 [0];
+[BAX].istate = 0 [1], 1 [0];
+[beta_catenin].istate = 1 [1], 0 [0];
+[BRCA2].istate = 0 [1], 1 [0];
+[CHK1_2].istate = 0 [1], 1 [0];
+[Dsh].istate = 0 [1], 1 [0];
+//[FGF].istate = 0 [1], 1 [0];
+[MEK1_2].istate = 1 [1], 0 [0];
+[NCOA3].istate = 0 [1], 1 [0];
+[NF1].istate = 0 [1], 1 [0];
+[PKC].istate = 0 [1], 1 [0];
+[PTEN].istate = 0 [1], 1 [0];
+[WNT].istate = 0 [1], 1 [0];
+
+[AR].istate = 0.5 [0] , 0.5 [1];
+[BMP2].istate = 0.5 [0] , 0.5 [1];
+[COX4I2].istate = 0.5 [0] , 0.5 [1];
+[DNA_Damage].istate = 0.5 [0] , 0.5 [1];
+[EMT].istate = 0.5 [0] , 0.5 [1];
+[ROS].istate = 0.5 [0] , 0.5 [1];
diff --git a/config/boolean_network/Montagud2022_Prostate_Cancer.bnd b/config/boolean_network/Montagud2022_Prostate_Cancer.bnd
new file mode 100644
index 0000000..5f51576
--- /dev/null
+++ b/config/boolean_network/Montagud2022_Prostate_Cancer.bnd
@@ -0,0 +1,803 @@
+Node Acidosis {
+ logic = (Acidosis);
+ rate_up = @logic ? $u_Acidosis : 0;
+ rate_down = @logic ? 0 : $d_Acidosis;
+}
+
+Node AKT {
+ logic = ((HSPs | (PDK1 & PIP3) | PIP3 | (SHH & PIP3)) & !PTCH1);
+ rate_up = @logic ? $u_AKT : 0;
+ rate_down = @logic ? 0 : $d_AKT;
+}
+
+Node AMPK {
+ logic = (ATR | HIF1 | AMP_ATP | ATM) & !FGFR3;
+ rate_up = @logic ? $u_AMPK : 0;
+ rate_down = @logic ? 0 : $d_AMPK;
+}
+
+Node AMP_ATP {
+ logic = (!Nutrients);
+ rate_up = @logic ? $u_AMP_ATP : 0;
+ rate_down = @logic ? 0 : $d_AMP_ATP;
+}
+
+Node Androgen {
+ logic = (Androgen);
+ rate_up = @logic ? $u_Androgen : 0;
+ rate_down = @logic ? 0 : $d_Androgen;
+}
+
+Node APAF1 {
+ logic = ((Caspase8 | BAX | p53 | Bak | HSPs) & !Bcl_XL & !BCL2 & !AKT);
+ rate_up = @logic ? $u_APAF1 : 0;
+ rate_down = @logic ? 0 : $d_APAF1;
+}
+
+Node Apoptosis {
+ logic = (Caspase9 | Caspase8 | Caspase3);
+ rate_up = @logic ? $u_Apoptosis : 0;
+ rate_down = @logic ? 0 : $d_Apoptosis;
+}
+
+Node AR {
+ logic = ((GLI | EP300 | HSPs | NKX3_1 | EZH2 | NCOA3 | PKC | SMAD | Androgen) & !PTEN & !NCOR1 & !NCOR2 & !MDM2);
+ rate_up = @logic ? $u_AR : 0;
+ rate_down = @logic ? 0 : $d_AR;
+}
+
+Node AR_ERG {
+ logic = ((AR & fused_event) | (AR & fused_event & !NKX3_1));
+ rate_up = @logic ? $u_AR_ERG : 0;
+ rate_down = @logic ? 0 : $d_AR_ERG;
+}
+
+Node ATM {
+ logic = (DNA_Damage);
+ rate_up = @logic ? $u_ATM : 0;
+ rate_down = @logic ? 0 : $d_ATM;
+}
+
+Node ATR {
+ logic = (DNA_Damage);
+ rate_up = @logic ? $u_ATR : 0;
+ rate_down = @logic ? 0 : $d_ATR;
+}
+
+Node AXIN1 {
+ logic = (GSK3);
+ rate_up = @logic ? $u_AXIN1 : 0;
+ rate_down = @logic ? 0 : $d_AXIN1;
+}
+
+Node BAD {
+ logic = (!AKT & !HIF1 & !p90RSK & !RAF & !YWHAZ);
+ rate_up = @logic ? $u_BAD : 0;
+ rate_down = @logic ? 0 : $d_BAD;
+}
+
+Node Bak {
+ logic = (Caspase8);
+ rate_up = @logic ? $u_Bak : 0;
+ rate_down = @logic ? 0 : $d_Bak;
+}
+
+Node BAX {
+ logic = (!BCL2 & !HIF1 & !YWHAZ & (JNK | HIF1 | p53) & !ETS1);
+ rate_up = @logic ? $u_BAX : 0;
+ rate_down = @logic ? 0 : $d_BAX;
+}
+
+Node BCL2 {
+ logic = ((HSPs | NF_kB | RUNX2) & !BAX & !p53 & !DAXX & !BAD);
+ rate_up = @logic ? $u_BCL2 : 0;
+ rate_down = @logic ? 0 : $d_BCL2;
+}
+
+Node Bcl_XL {
+ logic = (AR & !BAD & !p53);
+ rate_up = @logic ? $u_Bcl_XL : 0;
+ rate_down = @logic ? 0 : $d_Bcl_XL;
+}
+
+Node beta_catenin {
+ logic = (!GSK3 & !p53 & !AXIN1 & (EZH2 | YWHAZ));
+ rate_up = @logic ? $u_beta_catenin : 0;
+ rate_down = @logic ? 0 : $d_beta_catenin;
+}
+
+Node BIRC5 {
+ logic = (HSPs & !p53);
+ rate_up = @logic ? $u_BIRC5 : 0;
+ rate_down = @logic ? 0 : $d_BIRC5;
+}
+
+Node BMP2 {
+ logic = (GLI & (TGFBR | FGFR3));
+ rate_up = @logic ? $u_BMP2 : 0;
+ rate_down = @logic ? 0 : $d_BMP2;
+}
+
+Node BRCA1 {
+ logic = ((E2F1 | ATM | ATR | (E2F1 & EP300) | (ATM & EP300) | (ATR & EP300)) & !CyclinD & !Bak);
+ rate_up = @logic ? $u_BRCA1 : 0;
+ rate_down = @logic ? 0 : $d_BRCA1;
+}
+
+Node BRCA2 {
+ logic = (ATM & ATR & EP300);
+ rate_up = @logic ? $u_BRCA2 : 0;
+ rate_down = @logic ? 0 : $d_BRCA2;
+}
+
+Node Carcinogen {
+ logic = (Carcinogen);
+ rate_up = @logic ? $u_Carcinogen : 0;
+ rate_down = @logic ? 0 : $d_Carcinogen;
+}
+
+Node Caspase3 {
+ logic = (Caspase8 | Caspase9);
+ rate_up = @logic ? $u_Caspase3 : 0;
+ rate_down = @logic ? 0 : $d_Caspase3;
+}
+
+Node Caspase8 {
+ logic = (!cFLAR & FADD);
+ rate_up = @logic ? $u_Caspase8 : 0;
+ rate_down = @logic ? 0 : $d_Caspase8;
+}
+
+Node Caspase9 {
+ logic = ((!AKT & CytoC & APAF1 & PTCH1) | (!AKT & BIRC5 & CytoC & APAF1) | (!AKT & BIRC5 & CytoC & APAF1 & PTCH1));
+ rate_up = @logic ? $u_Caspase9 : 0;
+ rate_down = @logic ? 0 : $d_Caspase9;
+}
+
+Node CDH2 {
+ logic = (TWIST1);
+ rate_up = @logic ? $u_CDH2 : 0;
+ rate_down = @logic ? 0 : $d_CDH2;
+}
+
+Node cFLAR {
+ logic = ((AKT | AR) & !JNK);
+ rate_up = @logic ? $u_cFLAR : 0;
+ rate_down = @logic ? 0 : $d_cFLAR;
+}
+
+Node CHK1_2 {
+ logic = (ATM & ATR & BRCA1);
+ rate_up = @logic ? $u_CHK1_2 : 0;
+ rate_down = @logic ? 0 : $d_CHK1_2;
+}
+
+Node COX4I2 {
+ logic = (HIF1);
+ rate_up = @logic ? $u_COX4I2 : 0;
+ rate_down = @logic ? 0 : $d_COX4I2;
+}
+
+Node CyclinB {
+ logic = (E2F1 & !p21);
+ rate_up = @logic ? $u_CyclinB : 0;
+ rate_down = @logic ? 0 : $d_CyclinB;
+}
+
+Node CyclinD {
+ logic = ((GLI | TCF | NF_kB) & MYC_MAX & !p21 & !FOXO & !p15 & !GSK3);
+ rate_up = @logic ? $u_CyclinD : 0;
+ rate_down = @logic ? 0 : $d_CyclinD;
+}
+
+Node CytoC {
+ logic = ((Caspase8 | BAX | p53 | Bak) & !Bcl_XL & !BCL2 & !AKT);
+ rate_up = @logic ? $u_CytoC : 0;
+ rate_down = @logic ? 0 : $d_CytoC;
+}
+
+Node DAXX {
+ logic = (!ATM & !ATR & !SPOP);
+ rate_up = @logic ? $u_DAXX : 0;
+ rate_down = @logic ? 0 : $d_DAXX;
+}
+
+Node DNA_Damage {
+ logic = ((Carcinogen | (Carcinogen & ROS)) & !SPOP);
+ rate_up = @logic ? $u_DNA_Damage : 0;
+ rate_down = @logic ? 0 : $d_DNA_Damage;
+}
+
+Node DNA_Repair {
+ logic = (ATM & ATR & (BRCA1 | BRCA2));
+ rate_up = @logic ? $u_DNA_Repair : 0;
+ rate_down = @logic ? 0 : $d_DNA_Repair;
+}
+
+Node Dsh {
+ logic = (WNT);
+ rate_up = @logic ? $u_Dsh : 0;
+ rate_down = @logic ? 0 : $d_Dsh;
+}
+
+Node E2F1 {
+ logic = ((AR | (FOXA1 & AR) | (ATR & AR) | (ATM & AR)) & !RB1 & !MXI1);
+ rate_up = @logic ? $u_E2F1 : 0;
+ rate_down = @logic ? 0 : $d_E2F1;
+}
+
+Node eEF2 {
+ logic = (!eEF2K);
+ rate_up = @logic ? $u_eEF2 : 0;
+ rate_down = @logic ? 0 : $d_eEF2;
+}
+
+Node eEF2K {
+ logic = (p90RSK | p70S6kab);
+ rate_up = @logic ? $u_eEF2K : 0;
+ rate_down = @logic ? 0 : $d_eEF2K;
+}
+
+Node EGF {
+ logic = (EGF);
+ rate_up = @logic ? $u_EGF : 0;
+ rate_down = @logic ? 0 : $d_EGF;
+}
+
+Node EGFR {
+ logic = ((!TGFBR & !FRS2 & !EGFR & !PKC & (ERK | Androgen | EGF)) | (!TGFBR & !FRS2 & (Androgen | EGF)));
+ rate_up = @logic ? $u_EGFR : 0;
+ rate_down = @logic ? 0 : $d_EGFR;
+}
+
+Node EMT {
+ logic = (CDH2 & !E_cadherin & !FOXA1);
+ rate_up = @logic ? $u_EMT : 0;
+ rate_down = @logic ? 0 : $d_EMT;
+}
+
+Node EP300 {
+ logic = (AKT);
+ rate_up = @logic ? $u_EP300 : 0;
+ rate_down = @logic ? 0 : $d_EP300;
+}
+
+Node ERG {
+ logic = (ERK);
+ rate_up = @logic ? $u_ERG : 0;
+ rate_down = @logic ? 0 : $d_ERG;
+}
+
+Node ERK {
+ logic = (RAF | MEK1_2);
+ rate_up = @logic ? $u_ERK : 0;
+ rate_down = @logic ? 0 : $d_ERK;
+}
+
+Node ETS1 {
+ logic = (!p53 & (RTK | ERK));
+ rate_up = @logic ? $u_ETS1 : 0;
+ rate_down = @logic ? 0 : $d_ETS1;
+}
+
+Node ETV1 {
+ logic = (ETS1 | MEK1_2);
+ rate_up = @logic ? $u_ETV1 : 0;
+ rate_down = @logic ? 0 : $d_ETV1;
+}
+
+Node EZH2 {
+ logic = (AKT & E2F1 & (ERG | AR_ERG));
+ rate_up = @logic ? $u_EZH2 : 0;
+ rate_down = @logic ? 0 : $d_EZH2;
+}
+
+Node E_cadherin {
+ logic = ((beta_catenin | AR_ERG) & !Snail & !ERG & !NF_kB & !Slug);
+ rate_up = @logic ? $u_E_cadherin : 0;
+ rate_down = @logic ? 0 : $d_E_cadherin;
+}
+
+Node FADD {
+ logic = (PTCH1 | TNFalpha) & !SHH & !MAP3K1_3;
+ rate_up = @logic ? $u_FADD : 0;
+ rate_down = @logic ? 0 : $d_FADD;
+}
+
+Node FGF {
+ logic = (FGF);
+ rate_up = @logic ? $u_FGF : 0;
+ rate_down = @logic ? 0 : $d_FGF;
+}
+
+Node FGFR3 {
+ logic = ((FGF | (FGF & RUNX2)) & !FRS2 & !PKC & !TGFBR);
+ rate_up = @logic ? $u_FGFR3 : 0;
+ rate_down = @logic ? 0 : $d_FGFR3;
+}
+
+Node FOS {
+ logic = (ERK | ETS1 | AR);
+ rate_up = @logic ? $u_FOS : 0;
+ rate_down = @logic ? 0 : $d_FOS;
+}
+
+Node FOXA1 {
+ logic = (FOXO);
+ rate_up = @logic ? $u_FOXA1 : 0;
+ rate_down = @logic ? 0 : $d_FOXA1;
+}
+
+Node FOXO {
+ logic = (MAP3K1_3 & JNK & !AKT);
+ rate_up = @logic ? $u_FOXO : 0;
+ rate_down = @logic ? 0 : $d_FOXO;
+}
+
+Node FRS2 {
+ logic = (!ERK & !EGFR & FGFR3 & !FRS2 & !TGFBR);
+ rate_up = @logic ? $u_FRS2 : 0;
+ rate_down = @logic ? 0 : $d_FRS2;
+}
+
+Node fused_event {
+ logic = (fused_event);
+ rate_up = @logic ? $u_fused_event : 0;
+ rate_down = @logic ? 0 : $d_fused_event;
+}
+
+Node GADD45 {
+ logic = (SMAD | p53);
+ rate_up = @logic ? $u_GADD45 : 0;
+ rate_down = @logic ? 0 : $d_GADD45;
+}
+
+Node GLI {
+ logic = ((WNT | SMO) & !SPOP);
+ rate_up = @logic ? $u_GLI : 0;
+ rate_down = @logic ? 0 : $d_GLI;
+}
+
+Node GLUT1 {
+ logic = ((HIF1 | MYC_MAX | AKT) & Nutrients);
+ rate_up = @logic ? $u_GLUT1 : 0;
+ rate_down = @logic ? 0 : $d_GLUT1;
+}
+
+
+
+Node GSH {
+ logic = (MYC_MAX | NF_kB | p21);
+ rate_up = @logic ? $u_GSH : 0;
+ rate_down = @logic ? 0 : $d_GSH;
+}
+
+Node GSK3 {
+ logic = (!AKT & !Dsh & MEK1_2 & !mTORC2 & !p90RSK);
+ rate_up = @logic ? $u_GSK3 : 0;
+ rate_down = @logic ? 0 : $d_GSK3;
+}
+
+Node HIF1 {
+ logic = (!PHDs & !VHL & !p53 & !FOXO & (HSPs | mTORC1 | mTORC2 | Hypoxia | MYC_MAX));
+ rate_up = @logic ? $u_HIF1 : 0;
+ rate_down = @logic ? 0 : $d_HIF1;
+}
+
+Node HSPs {
+ logic = ((PKC | FOXA1 | Carcinogen) & !BRCA1 & !E2F1 & !AKT);
+ rate_up = @logic ? $u_HSPs : 0;
+ rate_down = @logic ? 0 : $d_HSPs;
+}
+
+
+Node Hypoxia {
+ logic = (Hypoxia);
+ rate_up = @logic ? $u_Hypoxia : 0;
+ rate_down = @logic ? 0 : $d_Hypoxia;
+}
+
+Node IDH1 {
+ logic = (SMAD | FOXA1 | mTORC2 | ((SMAD | mTORC2 | FOXA1) & MEK1_2));
+ rate_up = @logic ? $u_IDH1 : 0;
+ rate_down = @logic ? 0 : $d_IDH1;
+}
+
+Node IKK {
+ logic = ((mTORC2 | AKT) & (PKC | TAK1 | ETS1) & !PHDs & !p53);
+ rate_up = @logic ? $u_IKK : 0;
+ rate_down = @logic ? 0 : $d_IKK;
+}
+
+Node Invasion {
+ logic = ((CDH2 & SMAD) | (CDH2 & SMAD & EZH2) | beta_catenin);
+ rate_up = @logic ? $u_Invasion : 0;
+ rate_down = @logic ? 0 : $d_Invasion;
+}
+
+Node JNK {
+ logic = ((ATM | GADD45 | TAK1 | MAP3K1_3) & !ERK & !p38);
+ rate_up = @logic ? $u_JNK : 0;
+ rate_down = @logic ? 0 : $d_JNK;
+}
+
+Node JUN {
+ logic = (AR | ETS1 | JNK);
+ rate_up = @logic ? $u_JUN : 0;
+ rate_down = @logic ? 0 : $d_JUN;
+}
+
+Node Lactic_acid {
+ logic = (LDHA);
+ rate_up = @logic ? $u_Lactic_acid : 0;
+ rate_down = @logic ? 0 : $d_Lactic_acid;
+}
+
+Node LDHA {
+ logic = (HIF1 | MYC_MAX | IDH1);
+ rate_up = @logic ? $u_LDHA : 0;
+ rate_down = @logic ? 0 : $d_LDHA;
+}
+
+Node MAP3K1_3 {
+ logic = (RAS & !(FOS | JUN | JNK | p38));
+ rate_up = @logic ? $u_MAP3K1_3 : 0;
+ rate_down = @logic ? 0 : $d_MAP3K1_3;
+}
+
+
+Node MDM2 {
+ logic = (((AKT | p53) & DAXX & !p14ARF & !ATR & !ATM));
+ rate_up = @logic ? $u_MDM2 : 0;
+ rate_down = @logic ? 0 : $d_MDM2;
+}
+
+Node MED12 {
+ logic = (!GLI);
+ rate_up = @logic ? $u_MED12 : 0;
+ rate_down = @logic ? 0 : $d_MED12;
+}
+
+Node MEK1_2 {
+ logic = (MAP3K1_3 | RAF | PDK1);
+ rate_up = @logic ? $u_MEK1_2 : 0;
+ rate_down = @logic ? 0 : $d_MEK1_2;
+}
+
+Node Metastasis {
+ logic = (Migration & AR_ERG);
+ rate_up = @logic ? $u_Metastasis : 0;
+ rate_down = @logic ? 0 : $d_Metastasis;
+}
+
+Node Migration {
+ logic = (((AKT & ERK) | (AKT & ETV1)) & Invasion & EMT);
+ rate_up = @logic ? $u_Migration : 0;
+ rate_down = @logic ? 0 : $d_Migration;
+}
+
+Node mTORC1 {
+ logic = ((AKT | (AKT & Rheb)) & !AMPK & !TSC1_2);
+ rate_up = @logic ? $u_mTORC1 : 0;
+ rate_down = @logic ? 0 : $d_mTORC1;
+}
+
+Node mTORC2 {
+ logic = ((!AMPK & RAGS & Rheb) | (AKT & !AMPK & Rheb) | (AKT & !AMPK & RAGS) | (AKT & RAGS & Rheb & !AMPK));
+ rate_up = @logic ? $u_mTORC2 : 0;
+ rate_down = @logic ? 0 : $d_mTORC2;
+}
+
+Node MXI1 {
+ logic = (HIF1);
+ rate_up = @logic ? $u_MXI1 : 0;
+ rate_down = @logic ? 0 : $d_MXI1;
+}
+
+Node MYC {
+ logic = ((GLI | ERK | TCF | JUN | FOS | AR_ERG | ERG | NF_kB | SHH) & (mTORC1 | E2F1 | p38) & !HIF1);
+ rate_up = @logic ? $u_MYC : 0;
+ rate_down = @logic ? 0 : $d_MYC;
+}
+
+Node MYC_MAX {
+ logic = (MYC & !MXI1 & !TGFBR & !SMAD);
+ rate_up = @logic ? $u_MYC_MAX : 0;
+ rate_down = @logic ? 0 : $d_MYC_MAX;
+}
+
+Node NCOA3 {
+ logic = (!SPOP & p38);
+ rate_up = @logic ? $u_NCOA3 : 0;
+ rate_down = @logic ? 0 : $d_NCOA3;
+}
+
+Node NCOR1 {
+ logic = (!AKT);
+ rate_up = @logic ? $u_NCOR1 : 0;
+ rate_down = @logic ? 0 : $d_NCOR1;
+}
+
+Node NCOR2 {
+ logic = (!AKT & !FOXO);
+ rate_up = @logic ? $u_NCOR2 : 0;
+ rate_down = @logic ? 0 : $d_NCOR2;
+}
+
+Node NF1 {
+ logic = (!PKC);
+ rate_up = @logic ? $u_NF1 : 0;
+ rate_down = @logic ? 0 : $d_NF1;
+}
+
+Node NF_kB {
+ logic = ((E_cadherin | IKK | DNA_Damage) & (NCOA3 | PIP3 | Snail));
+ rate_up = @logic ? $u_NF_kB : 0;
+ rate_down = @logic ? 0 : $d_NF_kB;
+}
+
+Node NKX3_1 {
+ logic = (PKC & AR & !ERG & !AR_ERG);
+ rate_up = @logic ? $u_NKX3_1 : 0;
+ rate_down = @logic ? 0 : $d_NKX3_1;
+}
+
+Node Nutrients {
+ logic = (Nutrients);
+ rate_up = @logic ? $u_Nutrients : 0;
+ rate_down = @logic ? 0 : $d_Nutrients;
+}
+
+Node p14ARF {
+ logic = (E2F1 & MYC_MAX & RAS);
+ rate_up = @logic ? $u_p14ARF : 0;
+ rate_down = @logic ? 0 : $d_p14ARF;
+}
+
+Node p15 {
+ logic = (ZBTB17);
+ rate_up = @logic ? $u_p15 : 0;
+ rate_down = @logic ? 0 : $d_p15;
+}
+
+Node p21 {
+ logic = ((p53 | SMAD | HIF1 | ZBTB17) & !TERT & !MYC_MAX & !MDM2 & !AKT & !ERK);
+ rate_up = @logic ? $u_p21 : 0;
+ rate_down = @logic ? 0 : $d_p21;
+}
+
+Node p38 {
+ logic = (MAP3K1_3 & !ERK & !GADD45);
+ rate_up = @logic ? $u_p38 : 0;
+ rate_down = @logic ? 0 : $d_p38;
+}
+
+Node p53 {
+ logic = ((Acidosis | CHK1_2 | p38 | HIF1) & !BCL2 & !MDM2 & !HSPs & !Snail);
+ rate_up = @logic ? $u_p53 : 0;
+ rate_down = @logic ? 0 : $d_p53;
+}
+
+Node p70S6kab {
+ logic = (mTORC2 | PDK1);
+ rate_up = @logic ? $u_p70S6kab : 0;
+ rate_down = @logic ? 0 : $d_p70S6kab;
+}
+
+Node p90RSK {
+ logic = (PDK1 | ERK);
+ rate_up = @logic ? $u_p90RSK : 0;
+ rate_down = @logic ? 0 : $d_p90RSK;
+}
+
+Node PDK1 {
+ logic = (HIF1 | MYC_MAX | PIP3);
+ rate_up = @logic ? $u_PDK1 : 0;
+ rate_down = @logic ? 0 : $d_PDK1;
+}
+
+Node PHDs {
+ logic = (!Hypoxia & ROS);
+ rate_up = @logic ? $u_PHDs : 0;
+ rate_down = @logic ? 0 : $d_PHDs;
+}
+
+Node PI3K {
+ logic = (TGFBR | FRS2 | EGFR);
+ rate_up = @logic ? $u_PI3K : 0;
+ rate_down = @logic ? 0 : $d_PI3K;
+}
+
+Node PIP3 {
+ logic = ((!p53 & PI3K & !PTEN) | (!p53 & PI3K));
+ rate_up = @logic ? $u_PIP3 : 0;
+ rate_down = @logic ? 0 : $d_PIP3;
+}
+
+Node PKC {
+ logic = (RTK & WNT);
+ rate_up = @logic ? $u_PKC : 0;
+ rate_down = @logic ? 0 : $d_PKC;
+}
+
+Node Proliferation {
+ logic = (CyclinB | CyclinD);
+ rate_up = @logic ? $u_Proliferation : 0;
+ rate_down = @logic ? 0 : $d_Proliferation;
+}
+
+Node PTCH1 {
+ logic = (!SHH & GLI);
+ rate_up = @logic ? $u_PTCH1 : 0;
+ rate_down = @logic ? 0 : $d_PTCH1;
+}
+
+Node PTEN {
+ logic = ((!NF_kB & !Snail & FGFR3 & p53) | (!NF_kB & !Snail & p53));
+ rate_up = @logic ? $u_PTEN : 0;
+ rate_down = @logic ? 0 : $d_PTEN;
+}
+
+
+Node RAF {
+ logic = (!EZH2 & RAS) | (EZH2);
+ rate_up = @logic ? $u_RAF : 0;
+ rate_down = @logic ? 0 : $d_RAF;
+}
+
+Node RAGS {
+ logic = (!Hypoxia & Nutrients);
+ rate_up = @logic ? $u_RAGS : 0;
+ rate_down = @logic ? 0 : $d_RAGS;
+}
+
+Node RAS {
+ logic = (EGFR | TGFBR | FRS2 | FGFR3);
+ rate_up = @logic ? $u_RAS : 0;
+ rate_down = @logic ? 0 : $d_RAS;
+}
+
+Node RB1 {
+ logic = (!CyclinB & !CyclinD & CHK1_2 & !p53 & !AMPK);
+ rate_up = @logic ? $u_RB1 : 0;
+ rate_down = @logic ? 0 : $d_RB1;
+}
+
+Node Rheb {
+ logic = (!TSC1_2);
+ rate_up = @logic ? $u_Rheb : 0;
+ rate_down = @logic ? 0 : $d_Rheb;
+}
+
+Node ROS {
+ logic = ((COX4I2 | Hypoxia) & !GSH);
+ rate_up = @logic ? $u_ROS : 0;
+ rate_down = @logic ? 0 : $d_ROS;
+}
+
+Node RTK {
+ logic = (EGFR | FGFR3);
+ rate_up = @logic ? $u_RTK : 0;
+ rate_down = @logic ? 0 : $d_RTK;
+}
+
+Node RUNX2 {
+ logic = (!ETS1 & !FOXO & Slug) | (ETS1 & !FOXO);
+ rate_up = @logic ? $u_RUNX2 : 0;
+ rate_down = @logic ? 0 : $d_RUNX2;
+}
+
+Node SHH {
+ logic = (!BMP2 & !ATR);
+ rate_up = @logic ? $u_SHH : 0;
+ rate_down = @logic ? 0 : $d_SHH;
+}
+
+Node Slug {
+ logic = ((TCF | NF_kB) & !DAXX & !p53 & !MDM2);
+ rate_up = @logic ? $u_Slug : 0;
+ rate_down = @logic ? 0 : $d_Slug;
+}
+
+Node SMAD {
+ logic = ((TNFalpha | TGFBR) & !AR);
+ rate_up = @logic ? $u_SMAD : 0;
+ rate_down = @logic ? 0 : $d_SMAD;
+}
+
+Node SMO {
+ logic = (!PTCH1 & SHH);
+ rate_up = @logic ? $u_SMO : 0;
+ rate_down = @logic ? 0 : $d_SMO;
+}
+
+Node Snail {
+ logic = ((GLI | NF_kB | SMAD | beta_catenin) & !GSK3 & !p53);
+ rate_up = @logic ? $u_Snail : 0;
+ rate_down = @logic ? 0 : $d_Snail;
+}
+
+Node SPOP {
+ logic = (SPOP);
+ rate_up = @logic ? $u_SPOP : 0;
+ rate_down = @logic ? 0 : $d_SPOP;
+}
+
+Node TAK1 {
+ logic = (TGFBR | TNFalpha);
+ rate_up = @logic ? $u_TAK1 : 0;
+ rate_down = @logic ? 0 : $d_TAK1;
+}
+
+Node TCF {
+ logic = ((beta_catenin | AR_ERG | ERG) & !TAK1);
+ rate_up = @logic ? $u_TCF : 0;
+ rate_down = @logic ? 0 : $d_TCF;
+}
+
+Node TERT {
+ logic = ((GLI | AKT | HIF1 | MYC_MAX | NF1 | NF_kB | MYC_MAX) & !ZBTB17 & !p53 & !eEF2 & !SMAD);
+ rate_up = @logic ? $u_TERT : 0;
+ rate_down = @logic ? 0 : $d_TERT;
+}
+
+Node TGFb {
+ logic = (TGFb);
+ rate_up = @logic ? $u_TGFb : 0;
+ rate_down = @logic ? 0 : $d_TGFb;
+}
+
+Node TGFBR {
+ logic = ((TGFb | (HIF1 & TGFb)) & !MED12);
+ rate_up = @logic ? $u_TGFBR : 0;
+ rate_down = @logic ? 0 : $d_TGFBR;
+}
+
+Node TNFalpha {
+ logic = (TNFalpha);
+ rate_up = @logic ? $u_TNFalpha : 0;
+ rate_down = @logic ? 0 : $d_TNFalpha;
+}
+
+Node TSC1_2 {
+ logic = ((AMPK | p53 | HIF1) & !AKT & !ERK & !RAF & !p90RSK);
+ rate_up = @logic ? $u_TSC1_2 : 0;
+ rate_down = @logic ? 0 : $d_TSC1_2;
+}
+
+Node TWIST1 {
+ logic = (Snail | beta_catenin);
+ rate_up = @logic ? $u_TWIST1 : 0;
+ rate_down = @logic ? 0 : $d_TWIST1;
+}
+
+Node VEGF {
+ logic = (HIF1 & MYC_MAX);
+ rate_up = @logic ? $u_VEGF : 0;
+ rate_down = @logic ? 0 : $d_VEGF;
+}
+
+Node VHL {
+ logic = (!Hypoxia & !ROS);
+ rate_up = @logic ? $u_VHL : 0;
+ rate_down = @logic ? 0 : $d_VHL;
+}
+
+Node WNT {
+ logic = ((((ERG | AR_ERG) & GLI) | ERG | AR_ERG) & !p53);
+ rate_up = @logic ? $u_WNT : 0;
+ rate_down = @logic ? 0 : $d_WNT;
+}
+
+Node YWHAZ {
+ logic = (AR);
+ rate_up = @logic ? $u_YWHAZ : 0;
+ rate_down = @logic ? 0 : $d_YWHAZ;
+}
+
+Node ZBTB17 {
+ logic = (!MYC_MAX & AR);
+ rate_up = @logic ? $u_ZBTB17 : 0;
+ rate_down = @logic ? 0 : $d_ZBTB17;
+}
+
diff --git a/config/boolean_network/Montagud2022_Prostate_Cancer.cfg b/config/boolean_network/Montagud2022_Prostate_Cancer.cfg
new file mode 100644
index 0000000..7ddde6c
--- /dev/null
+++ b/config/boolean_network/Montagud2022_Prostate_Cancer.cfg
@@ -0,0 +1,431 @@
+$u_Acidosis = 1;
+$d_Acidosis = 1;
+$u_AKT = 1;
+$d_AKT = 1;
+$u_AMP_ATP = 1;
+$d_AMP_ATP = 1;
+$u_AMPK = 1;
+$d_AMPK = 1;
+$u_Androgen = 1;
+$d_Androgen = 1;
+$u_Apoptosis = 1;
+$d_Apoptosis = 1;
+$u_AR = 1;
+$d_AR = 1;
+$u_AR_ERG = 1;
+$d_AR_ERG = 1;
+$u_ATM = 1;
+$d_ATM = 1;
+$u_ATR = 1;
+$d_ATR = 1;
+$u_AXIN1 = 1;
+$d_AXIN1 = 1;
+$u_BAD = 1;
+$d_BAD = 1;
+$u_Bak = 1;
+$d_Bak = 1;
+$u_BAX = 1;
+$d_BAX = 1;
+$u_BCL2 = 1;
+$d_BCL2 = 1;
+$u_Bcl_XL = 1;
+$d_Bcl_XL = 1;
+$u_beta_catenin = 1;
+$d_beta_catenin = 1;
+$u_BIRC5 = 1;
+$d_BIRC5 = 1;
+$u_BMP2 = 1;
+$d_BMP2 = 1;
+$u_BRCA1 = 1;
+$d_BRCA1 = 1;
+$u_BRCA2 = 1;
+$d_BRCA2 = 1;
+$u_Carcinogen = 1;
+$d_Carcinogen = 1;
+$u_Caspase3 = 1;
+$d_Caspase3 = 1;
+$u_Caspase8 = 1;
+$d_Caspase8 = 1;
+$u_Caspase9 = 1;
+$d_Caspase9 = 1;
+$u_CDH2 = 1;
+$d_CDH2 = 1;
+$u_cFLAR = 1;
+$d_cFLAR = 1;
+$u_CHK1_2 = 1;
+$d_CHK1_2 = 1;
+$u_COX4I2 = 1;
+$d_COX4I2 = 1;
+$u_CyclinB = 1;
+$d_CyclinB = 1;
+$u_CyclinD = 1;
+$d_CyclinD = 1;
+$u_CytoC = 1;
+$d_CytoC = 1;
+$u_APAF1 = 1;
+$d_APAF1 = 1;
+$u_DAXX = 1;
+$d_DAXX = 1;
+$u_DNA_Damage = 1;
+$d_DNA_Damage = 1;
+$u_DNA_Repair = 1;
+$d_DNA_Repair = 1;
+$u_Dsh = 1;
+$d_Dsh = 1;
+$u_E2F1 = 1;
+$d_E2F1 = 1;
+$u_E_cadherin = 1;
+$d_E_cadherin = 1;
+$u_eEF2 = 1;
+$d_eEF2 = 1;
+$u_eEF2K = 1;
+$d_eEF2K = 1;
+$u_EMT = 1;
+$d_EMT = 1;
+$u_EP300 = 1;
+$d_EP300 = 1;
+$u_ERG = 1;
+$d_ERG = 1;
+$u_ERK = 1;
+$d_ERK = 1;
+$u_ETS1 = 1;
+$d_ETS1 = 1;
+$u_ETV1 = 1;
+$d_ETV1 = 1;
+$u_EZH2 = 1;
+$d_EZH2 = 1;
+$u_FADD = 1;
+$d_FADD = 1;
+$u_FOS = 1;
+$d_FOS = 1;
+$u_JUN = 1;
+$d_JUN = 1;
+$u_FOXA1 = 1;
+$d_FOXA1 = 1;
+$u_FOXO = 1;
+$d_FOXO = 1;
+$u_EGF = 1;
+$d_EGF = 1;
+$u_EGFR = 1;
+$d_EGFR = 1;
+$u_FGF = 1;
+$d_FGF = 1;
+$u_FGFR3 = 1;
+$d_FGFR3 = 1;
+$u_FRS2 = 1;
+$d_FRS2 = 1;
+$u_GADD45 = 1;
+$d_GADD45 = 1;
+$u_GLI = 1;
+$d_GLI = 1;
+$u_GLUT1 = 1;
+$d_GLUT1 = 1;
+$u_GSH = 1;
+$d_GSH = 1;
+$u_GSK3 = 1;
+$d_GSK3 = 1;
+$u_HIF1 = 1;
+$d_HIF1 = 1;
+$u_HSPs = 1;
+$d_HSPs = 1;
+$u_Hypoxia = 1;
+$d_Hypoxia = 1;
+$u_IDH1 = 1;
+$d_IDH1 = 1;
+$u_Invasion = 1;
+$d_Invasion = 1;
+$u_IKK = 1;
+$d_IKK = 1;
+$u_JNK = 1;
+$d_JNK = 1;
+$u_Lactic_acid = 1;
+$d_Lactic_acid = 1;
+$u_LDHA = 1;
+$d_LDHA = 1;
+$u_MAP3K1_3 = 1;
+$d_MAP3K1_3 = 1;
+$u_MDM2 = 1;
+$d_MDM2 = 1;
+$u_MED12 = 1;
+$d_MED12 = 1;
+$u_MEK1_2 = 1;
+$d_MEK1_2 = 1;
+$u_Metastasis = 1;
+$d_Metastasis = 1;
+$u_Migration = 1;
+$d_Migration = 1;
+$u_mTORC1 = 1;
+$d_mTORC1 = 1;
+$u_mTORC2 = 1;
+$d_mTORC2 = 1;
+$u_MXI1 = 1;
+$d_MXI1 = 1;
+$u_MYC = 1;
+$d_MYC = 1;
+$u_MYC_MAX = 1;
+$d_MYC_MAX = 1;
+$u_NCOA3 = 1;
+$d_NCOA3 = 1;
+$u_NCOR1 = 1;
+$d_NCOR1 = 1;
+$u_NCOR2 = 1;
+$d_NCOR2 = 1;
+$u_NF1 = 1;
+$d_NF1 = 1;
+$u_NF_kB = 1;
+$d_NF_kB = 1;
+$u_NKX3_1 = 1;
+$d_NKX3_1 = 1;
+$u_Nutrients = 1;
+$d_Nutrients = 1;
+$u_p14ARF = 1;
+$d_p14ARF = 1;
+$u_p15 = 1;
+$d_p15 = 1;
+$u_p21 = 1;
+$d_p21 = 1;
+$u_p38 = 1;
+$d_p38 = 1;
+$u_p53 = 1;
+$d_p53 = 1;
+$u_p70S6kab = 1;
+$d_p70S6kab = 1;
+$u_p90RSK = 1;
+$d_p90RSK = 1;
+$u_PDK1 = 1;
+$d_PDK1 = 1;
+$u_PHDs = 1;
+$d_PHDs = 1;
+$u_PI3K = 1;
+$d_PI3K = 1;
+$u_PIP3 = 1;
+$d_PIP3 = 1;
+$u_PKC = 1;
+$d_PKC = 1;
+$u_Proliferation = 1;
+$d_Proliferation = 1;
+$u_PTCH1 = 1;
+$d_PTCH1 = 1;
+$u_PTEN = 1;
+$d_PTEN = 1;
+$u_RAF = 1;
+$d_RAF = 1;
+$u_RAGS = 1;
+$d_RAGS = 1;
+$u_RAS = 1;
+$d_RAS = 1;
+$u_RB1 = 1;
+$d_RB1 = 1;
+$u_Rheb = 1;
+$d_Rheb = 1;
+$u_ROS = 1;
+$d_ROS = 1;
+$u_RTK = 1;
+$d_RTK = 1;
+$u_RUNX2 = 1;
+$d_RUNX2 = 1;
+$u_SHH = 1;
+$d_SHH = 1;
+$u_Slug = 1;
+$d_Slug = 1;
+$u_SMAD = 1;
+$d_SMAD = 1;
+$u_SMO = 1;
+$d_SMO = 1;
+$u_Snail = 1;
+$d_Snail = 1;
+$u_SPOP = 1;
+$d_SPOP = 1;
+$u_TAK1 = 1;
+$d_TAK1 = 1;
+$u_TCF = 1;
+$d_TCF = 1;
+$u_TERT = 1;
+$d_TERT = 1;
+$u_TGFb = 1;
+$d_TGFb = 1;
+$u_TGFBR = 1;
+$d_TGFBR = 1;
+$u_fused_event = 1;
+$d_fused_event = 1;
+$u_TNFalpha = 1;
+$d_TNFalpha = 1;
+$u_TSC1_2 = 1;
+$d_TSC1_2 = 1;
+$u_TWIST1 = 1;
+$d_TWIST1 = 1;
+$u_VEGF = 1;
+$d_VEGF = 1;
+$u_VHL = 1;
+$d_VHL = 1;
+$u_WNT = 1;
+$d_WNT = 1;
+$u_YWHAZ = 1;
+$d_YWHAZ = 1;
+$u_ZBTB17 = 1;
+$d_ZBTB17 = 1;
+
+discrete_time = 0;
+use_physrandgen = FALSE;
+seed_pseudorandom = 100;
+// sample_count = 500000;
+sample_count = 5000;
+
+max_time = 50;
+//time_tick = 0.01;
+time_tick = 0.1;
+thread_count = 1;
+
+statdist_traj_count = 100;
+statdist_cluster_threshold = 0.9;
+display_traj = 0;
+statdist_similarity_cache_max_size = 20000;
+
+
+
+Acidosis.is_internal=1;
+AKT.is_internal=1;
+AMPK.is_internal=1;
+AMP_ATP.is_internal=1;
+Androgen.is_internal=1;
+APAF1.is_internal=1;
+Apoptosis.is_internal=0;
+AR.is_internal=1;
+AR_ERG.is_internal=1;
+ATM.is_internal=1;
+ATR.is_internal=1;
+AXIN1.is_internal=1;
+BAD.is_internal=1;
+Bak.is_internal=1;
+BAX.is_internal=1;
+BCL2.is_internal=1;
+Bcl_XL.is_internal=1;
+beta_catenin.is_internal=1;
+BIRC5.is_internal=1;
+BMP2.is_internal=1;
+BRCA1.is_internal=1;
+BRCA2.is_internal=1;
+Carcinogen.is_internal=1;
+Caspase3.is_internal=1;
+Caspase8.is_internal=1;
+Caspase9.is_internal=1;
+CDH2.is_internal=1;
+cFLAR.is_internal=1;
+CHK1_2.is_internal=1;
+COX4I2.is_internal=1;
+CyclinB.is_internal=1;
+CyclinD.is_internal=1;
+CytoC.is_internal=1;
+DAXX.is_internal=1;
+DNA_Damage.is_internal=1;
+DNA_Repair.is_internal=1;
+Dsh.is_internal=1;
+E2F1.is_internal=1;
+eEF2.is_internal=1;
+eEF2K.is_internal=1;
+EGF.is_internal=1;
+EGFR.is_internal=1;
+EMT.is_internal=1;
+EP300.is_internal=1;
+ERG.is_internal=1;
+ERK.is_internal=1;
+ETS1.is_internal=1;
+ETV1.is_internal=1;
+EZH2.is_internal=1;
+E_cadherin.is_internal=1;
+FADD.is_internal=1;
+FGF.is_internal=1;
+FGFR3.is_internal=1;
+FOS.is_internal=1;
+FOXA1.is_internal=1;
+FOXO.is_internal=1;
+FRS2.is_internal=1;
+fused_event.is_internal=1;
+GADD45.is_internal=1;
+GLI.is_internal=1;
+GLUT1.is_internal=1;
+GSH.is_internal=1;
+GSK3.is_internal=1;
+HIF1.is_internal=1;
+HSPs.is_internal=1;
+Hypoxia.is_internal=1;
+IDH1.is_internal=1;
+IKK.is_internal=1;
+Invasion.is_internal=1;
+JNK.is_internal=1;
+JUN.is_internal=1;
+Lactic_acid.is_internal=1;
+LDHA.is_internal=1;
+MAP3K1_3.is_internal=1;
+MDM2.is_internal=1;
+MED12.is_internal=1;
+MEK1_2.is_internal=1;
+Metastasis.is_internal=0;
+Migration.is_internal=1;
+mTORC1.is_internal=1;
+mTORC2.is_internal=1;
+MXI1.is_internal=1;
+MYC.is_internal=1;
+MYC_MAX.is_internal=1;
+NCOA3.is_internal=1;
+NCOR1.is_internal=1;
+NCOR2.is_internal=1;
+NF1.is_internal=1;
+NF_kB.is_internal=1;
+NKX3_1.is_internal=1;
+Nutrients.is_internal=1;
+p14ARF.is_internal=1;
+p15.is_internal=1;
+p21.is_internal=1;
+p38.is_internal=1;
+p53.is_internal=1;
+p70S6kab.is_internal=1;
+p90RSK.is_internal=1;
+PDK1.is_internal=1;
+PHDs.is_internal=1;
+PI3K.is_internal=1;
+PIP3.is_internal=1;
+PKC.is_internal=1;
+Proliferation.is_internal=0;
+PTCH1.is_internal=1;
+PTEN.is_internal=1;
+RAF.is_internal=1;
+RAGS.is_internal=1;
+RAS.is_internal=1;
+RB1.is_internal=1;
+Rheb.is_internal=1;
+ROS.is_internal=1;
+RTK.is_internal=1;
+RUNX2.is_internal=1;
+SHH.is_internal=1;
+Slug.is_internal=1;
+SMAD.is_internal=1;
+SMO.is_internal=1;
+Snail.is_internal=1;
+SPOP.is_internal=1;
+TAK1.is_internal=1;
+TCF.is_internal=1;
+TERT.is_internal=1;
+TGFb.is_internal=1;
+TGFBR.is_internal=1;
+TNFalpha.is_internal=1;
+TSC1_2.is_internal=1;
+TWIST1.is_internal=1;
+VEGF.is_internal=1;
+VHL.is_internal=1;
+WNT.is_internal=1;
+YWHAZ.is_internal=1;
+ZBTB17.is_internal=1;
+
+
+//[EGF].istate= 0 [0] , 1 [1];
+//[FGF].istate= 1 [0] , 0 [1];
+//[TGFb].istate= 1 [0] , 0 [1];
+//[Nutrients].istate= 1 [0] , 0 [1];
+//[Hypoxia].istate= 1 [0] , 0 [1];
+//[Acidosis].istate= 1 [0] , 0 [1];
+//[Androgen].istate= 1 [0] , 0 [1];
+//[fused_event].istate= 1 [0] , 0 [1];
+//[TNFalpha].istate= 1 [0] , 0 [1];
+//[SPOP].istate= 1 [0] , 0 [1];
+//[Carcinogen].istate= 1 [0] , 0 [1];
\ No newline at end of file
diff --git a/config/init2.csv b/config/init2.csv
new file mode 100644
index 0000000..bcb5d10
--- /dev/null
+++ b/config/init2.csv
@@ -0,0 +1,1138 @@
+x,y,z,type,volume
+-51.2137,-4.55442,-83.2907,default,8.5
+-37.5888,-33.2832,-84.4271,default,9.8791
+-37.6541,-13.6737,-86.5638,default,8.5
+-38.7093,0.223641,-85.6339,default,8.93259
+-35.4237,20.7316,-84.4495,default,10.0373
+-21.6863,-40.8023,-87.282,default,9.31441
+-20.457,-22.107,-86.0417,default,8.72424
+-21.191,-8.58699,-84.1779,default,8.68751
+-20.1745,10.7166,-86.0735,default,8.9461
+-22.5775,28.6424,-83.8703,default,9.1147
+-9.02799,-49.3179,-83.452,default,10.3831
+-6.88653,-30.1996,-87.0069,default,9.25676
+-6.70109,-17.1687,-86.3095,default,8.92614
+-6.68777,0.159854,-85.1603,default,10.1914
+-7.77875,19.9209,-83.5472,default,10.1998
+-7.84761,38.2974,-83.531,default,9.71243
+7.60351,-40.894,-85.683,default,10.0896
+5.94894,-24.3406,-83.397,default,10.0954
+8.5685,-6.01829,-85.6375,default,8.76963
+6.47517,10.8833,-86.7981,default,8.73724
+7.74972,27.7539,-87.4803,default,8.84193
+8.76834,45.41,-83.1479,default,10.2972
+19.9542,-48.817,-84.3397,default,9.44966
+23.8245,-34.3121,-86.4994,default,10.0918
+20.599,-15.664,-85.0455,default,8.5
+22.5894,3.45774,-86.9589,default,8.58914
+23.975,20.4049,-84.5403,default,8.88816
+23.4088,37.8392,-84.8241,default,9.8457
+35.923,-39.8056,-83.6807,default,9.99562
+35.2746,-26.0117,-86.1669,default,8.5
+37.2275,-5.58403,-85.3156,default,10.2046
+36.2089,11.1301,-83.5743,default,10.2277
+37.3746,26.7552,-83.8608,default,10.0868
+-70.5057,-14.7296,-69.1699,default,9.3986
+-57.77,-39.1177,-71.2849,default,9.97762
+-56.5964,-25.7059,-72.4555,default,9.30194
+-54.3462,-8.93067,-70.9266,default,8.5
+-56.197,10.0026,-69.7403,default,10.3383
+-57.7468,28.4292,-71.3538,default,8.5
+-54.5719,46.9411,-68.3717,default,9.52835
+-41.4945,-51.2596,-72.7088,default,9.08313
+-41.2889,-29.884,-71.187,default,9.44447
+-42.3187,-17.0337,-69.4272,default,10.4347
+-39.3438,1.83237,-68.9845,default,8.5
+-42.2973,16.7614,-68.753,default,8.5
+-42.564,34.2374,-69.8245,default,9.48534
+-41.2197,53.3538,-68.963,default,8.5
+-26.3138,-57.0233,-70.1267,default,8.69547
+-28.3779,-42.914,-68.3804,default,10.4235
+-26.1849,-24.6927,-70.2968,default,8.78999
+-24.2139,-8.96024,-72.3287,default,8.5
+-26.7609,11.1367,-69.3157,default,9.33999
+-25.9136,26.784,-69.0695,default,10.0291
+-27.5315,43.6636,-70.7154,default,9.33376
+-27.1511,62.3571,-69.6168,default,9.79464
+-13.7277,-63.7381,-68.929,default,9.87774
+-13.8522,-48.1681,-68.4329,default,8.5
+-11.2932,-31.1591,-72.7621,default,8.91585
+-13.0105,-14.8985,-70.9625,default,9.29638
+-9.69915,2.16642,-72.1614,default,9.45092
+-11.4425,16.464,-70.5036,default,8.82064
+-11.6378,36.7025,-71.2798,default,9.09843
+-10.6213,55.1183,-70.1981,default,9.75011
+2.42839,-56.3773,-68.5683,default,9.01971
+4.27379,-40.3643,-72.4412,default,8.76763
+3.14519,-22.6282,-68.3996,default,10.2393
+4.93459,-8.27177,-71.8139,default,9.90275
+2.19701,10.0154,-69.0748,default,8.5
+4.57629,26.7876,-69.6667,default,8.5
+4.80925,45.7232,-70.9163,default,9.40266
+3.59107,63.6778,-69.9177,default,9.87208
+16.5055,-66.2895,-69.6918,default,9.33398
+15.8373,-47.1268,-71.1983,default,8.71329
+19.7814,-30.3375,-70.7784,default,10.2304
+16.1407,-13.7382,-68.6453,default,8.5
+16.8303,1.02005,-71.2893,default,9.24351
+16.0228,18.2707,-69.0918,default,8.72477
+17.3892,35.5072,-70.6568,default,9.03495
+19.5416,55.1154,-70.1706,default,10.194
+31.1732,-57.8128,-69.489,default,8.5
+31.6423,-38.3552,-68.3793,default,9.87873
+31.7888,-21.9021,-69.5883,default,8.5
+33.8074,-6.30923,-68.7781,default,9.53103
+30.8196,12.4796,-71.8684,default,9.73152
+33.8598,28.5021,-68.486,default,10.0382
+34.0925,43.6135,-71.9384,default,8.5
+46.518,-51.3474,-68.5256,default,9.61922
+46.4042,-30.425,-71.9997,default,9.01313
+47.4938,-13.2805,-71.9913,default,9.9526
+45.1883,1.43848,-69.0932,default,8.5
+47.6824,16.9535,-68.4544,default,10.3912
+49.0084,36.903,-71.9228,default,10.2103
+46.9926,54.2787,-68.5909,default,8.5
+59.7823,-25.7485,-72.1046,default,10.0688
+62.6008,-5.53068,-71.9585,default,8.73835
+61.2494,9.98591,-68.8134,default,9.81409
+-80.4536,-8.30731,-55.2779,default,9.69228
+-80.0676,12.536,-54.4407,default,8.7296
+-65.6547,-48.1027,-54.3077,default,10.1245
+-67.905,-34.1545,-55.0026,default,8.95215
+-65.7414,-12.4622,-56.7221,default,8.50736
+-64.645,1.47282,-53.7336,default,9.72048
+-68.2673,19.5622,-57.7419,default,8.68328
+-66.7533,35.5918,-54.9025,default,8.5
+-52.1017,-59.4633,-54.6993,default,9.7421
+-53.278,-42.4426,-57.7591,default,8.54632
+-51.4119,-24.6579,-57.8428,default,8.5
+-49.6963,-4.70058,-57.0481,default,9.83619
+-51.9463,11.9796,-54.3061,default,9.7551
+-50.9111,27.7188,-57.9436,default,10.3779
+-52.1756,45.2031,-54.0744,default,9.75705
+-50.5619,59.386,-54.1583,default,10.0947
+-38.9515,-66.3592,-56.4023,default,9.78686
+-38.5833,-51.1908,-54.3222,default,9.22818
+-36.5204,-30.9569,-56.2356,default,9.62245
+-36.4406,-15.108,-55.9886,default,10.2702
+-38.1597,2.19579,-54.391,default,8.98033
+-36.2353,21.1679,-57.2353,default,10.2728
+-35.2113,36.8833,-55.0687,default,8.75833
+-37.4919,51.2259,-56.6891,default,10.0445
+-35.5725,70.2157,-57.8402,default,10.4064
+-23.9375,-76.0737,-57.1596,default,9.56038
+-21.903,-56.158,-56.5236,default,9.42137
+-21.2325,-40.4904,-54.5105,default,10.0066
+-24.1622,-22.4078,-56.9349,default,9.91108
+-21.5323,-7.39712,-56.3096,default,8.98657
+-22.5321,9.04005,-56.1996,default,9.44496
+-21.6519,25.4568,-55.8902,default,8.61865
+-21.5105,42.1984,-56.6652,default,8.5
+-22.32,63.6387,-54.5593,default,10.3642
+-22.1562,77.5114,-56.8165,default,9.14647
+-9.37247,-80.802,-55.9402,default,8.5
+-5.59702,-65.5046,-55.9136,default,9.0412
+-6.25705,-47.0426,-54.9532,default,9.62786
+-8.97529,-30.0237,-54.3384,default,9.80216
+-9.12349,-14.0305,-55.4416,default,8.61231
+-7.00974,0.291779,-56.8387,default,8.5
+-5.7966,21.2724,-55.0929,default,10.3787
+-8.51183,36.842,-55.6116,default,10.3709
+-5.7959,54.9486,-55.1889,default,10.4463
+-9.05592,70.2441,-55.0136,default,8.9171
+9.02318,-74.3486,-56.9427,default,8.95921
+6.47402,-58.1854,-56.6403,default,9.9375
+7.11598,-41.8006,-54.9472,default,8.5
+9.30573,-22.5079,-57.1718,default,9.348
+6.09518,-8.23973,-56.7602,default,9.37777
+5.47535,9.88043,-55.2109,default,8.95394
+8.24391,27.6465,-53.8571,default,10.1128
+8.67164,45.1262,-56.1819,default,10.2821
+8.61149,59.5525,-57.973,default,8.76315
+8.46926,79.8464,-54.1441,default,9.33081
+22.066,-64.1055,-56.8885,default,9.79249
+24.0832,-50.2688,-53.688,default,8.97699
+20.0578,-32.4524,-55.2811,default,9.10775
+19.9833,-12.6407,-57.8077,default,9.31056
+23.5401,1.12062,-56.2379,default,9.29185
+23.7389,20.8023,-55.7575,default,10.1452
+22.2786,38.5109,-55.715,default,10.0929
+22.8479,54.2008,-54.0889,default,10.4336
+22.0968,70.6442,-57.6913,default,9.08793
+38.8035,-55.9629,-56.6469,default,9.06067
+34.9061,-38.1022,-54.9593,default,8.60039
+38.5457,-25.4688,-56.3196,default,9.04343
+37.0393,-5.38715,-54.827,default,8.57831
+38.4456,8.03528,-55.0195,default,9.23354
+38.9179,25.2413,-54.8246,default,9.85015
+36.4869,46.2296,-56.6669,default,9.17439
+36.0146,60.5108,-54.0061,default,8.5
+52.6587,-50.9826,-56.4724,default,8.97539
+51.9003,-31.0409,-53.9052,default,9.95776
+52.5396,-14.8954,-53.763,default,8.5
+51.9538,-0.0779929,-54.1729,default,9.99184
+50.4365,18.2076,-56.0715,default,9.0008
+52.924,34.0487,-55.8525,default,9.24176
+52.7328,55.0406,-56.6279,default,10.1122
+64.5395,-40.8632,-56.7462,default,9.03274
+67.5971,-24.9348,-56.1821,default,9.38578
+67.6326,-4.61179,-54.6942,default,8.5
+65.741,12.1089,-53.7646,default,9.54477
+65.8272,26.482,-54.6461,default,8.5
+64.4898,46.1148,-54.0877,default,9.81335
+79.495,-17.0774,-56.7063,default,10.1836
+82.0603,1.16048,-54.1342,default,8.92226
+-87.339,-21.2044,-40.3427,default,9.37018
+-83.7117,-8.57137,-40.1209,default,10.0307
+-86.0366,12.2369,-39.1202,default,9.63572
+-86.6688,29.2633,-38.9191,default,9.84885
+-70.223,-47.6203,-39.8183,default,8.5
+-71.8916,-34.293,-41.8682,default,10.2288
+-71.8661,-14.4103,-41.5606,default,8.5
+-72.7209,3.82389,-41.0727,default,10.2704
+-70.4257,18.8437,-42.0669,default,9.73679
+-69.4887,37.5616,-43.2737,default,9.92192
+-72.6737,51.0324,-41.1348,default,9.59208
+-56.7295,-59.3128,-40.0359,default,10.3288
+-56.7253,-39.1702,-41.7862,default,9.50868
+-53.8017,-25.0217,-40.3444,default,9.31218
+-57.4563,-7.19447,-41.9372,default,10.0834
+-54.6568,9.3984,-39.7332,default,10.2811
+-55.4001,25.8247,-41.6886,default,9.89022
+-57.3201,42.3971,-40.4383,default,9.6706
+-53.7803,60.5905,-39.7575,default,9.62047
+-40.3915,-80.4985,-40.8318,default,8.5
+-41.4018,-65.9838,-38.9194,default,9.46189
+-42.9009,-47.5574,-41.8215,default,8.5
+-42.9674,-31.4699,-42.3279,default,8.64528
+-40.1078,-13.3298,-40.7293,default,9.60474
+-42.075,2.0114,-39.8614,default,9.25091
+-41.7758,19.9275,-42.3552,default,8.59492
+-41.3282,34.2403,-41.4646,default,8.78789
+-39.8897,54.1837,-40.8712,default,9.53739
+-40.7494,67.938,-42.23,default,10.3601
+-27.5978,-72.6844,-42.9771,default,9.39388
+-28.1389,-58.1303,-40.4029,default,10.4418
+-25.0507,-38.5256,-43.04,default,9.23225
+-24.549,-22.2175,-39.671,default,9.9908
+-24.4384,-5.04302,-40.3278,default,8.87426
+-25.4602,9.73004,-41.1855,default,8.5
+-28.2194,27.0146,-41.9463,default,9.3773
+-27.1138,44.2117,-41.8818,default,9.59228
+-27.9601,60.5592,-40.9723,default,9.41372
+-24.8054,77.2105,-41.8196,default,9.57316
+-12.9458,-83.0742,-42.2233,default,8.61093
+-13.1089,-67.697,-39.1017,default,10.0617
+-12.254,-49.3187,-42.076,default,9.18212
+-9.59978,-33.3308,-39.9162,default,9.50911
+-13.4078,-15.7272,-40.6675,default,8.69144
+-10.8838,0.0741679,-41.4586,default,8.66025
+-12.3652,20.2436,-39.2043,default,9.95302
+-9.52621,34.3289,-39.265,default,8.5
+-11.0927,52.8995,-39.0658,default,10.1789
+-11.1058,70.8353,-40.1804,default,9.43087
+-9.77385,87.2367,-39.8671,default,8.5
+2.85384,-89.5309,-42.1402,default,9.11671
+4.72972,-75.0006,-41.1473,default,8.55271
+2.15865,-59.8259,-39.2446,default,9.47364
+3.55339,-40.628,-39.531,default,8.5
+4.89916,-25.4899,-39.0563,default,9.5216
+1.15622,-7.97946,-42.4616,default,10.2613
+3.29397,10.3635,-41.2022,default,8.61838
+4.4974,27.4667,-39.0261,default,8.90471
+0.911987,42.8757,-40.0194,default,10.0973
+1.22502,60.5306,-40.9848,default,8.5
+4.19995,76.5228,-40.8089,default,9.14274
+17.6566,-82.3757,-42.1679,default,8.5
+18.4595,-65.2747,-38.9683,default,10.2625
+18.1282,-46.4505,-40.5286,default,8.89095
+17.7374,-31.7565,-41.3221,default,8.5
+19.2418,-15.5496,-41.7576,default,9.48375
+19.7647,2.02332,-42.3211,default,9.10927
+17.9601,17.6295,-40.0616,default,9.27102
+19.3148,37.0301,-43.2878,default,9.9124
+17.0716,51.9547,-39.7982,default,10.0976
+18.7888,68.4002,-40.7609,default,10.3155
+16.367,87.4287,-41.2298,default,10.0767
+33.0295,-75.6857,-42.571,default,8.64912
+30.4353,-56.5185,-40.2728,default,9.0958
+34.1525,-41.1558,-40.1444,default,10.005
+33.2054,-25.415,-41.2712,default,10.1242
+34.0555,-8.13325,-42.3771,default,8.5
+34.3424,9.98649,-42.6377,default,8.5
+33.9643,29.5344,-39.9485,default,8.93213
+33.509,46.479,-38.9324,default,10.038
+34.2634,59.5417,-39.838,default,9.38769
+33.6537,79.8825,-40.4942,default,8.95437
+47.9018,-65.2492,-41.6284,default,8.94443
+47.0765,-47.7181,-39.6932,default,9.52788
+47.7134,-29.8682,-39.3559,default,10.3176
+46.8568,-15.1857,-42.8916,default,10.067
+46.2689,3.41228,-42.3955,default,8.5
+47.7142,16.6131,-43.2803,default,10.1627
+46.7833,38.4757,-41.1358,default,9.52653
+46.3734,51.7632,-42.8842,default,9.67637
+46.937,69.3571,-39.5378,default,9.92643
+60.525,-55.1084,-38.9969,default,9.8308
+64.0986,-42.0239,-39.7094,default,8.94562
+61.0082,-23.437,-39.6998,default,8.55006
+63.9992,-7.39106,-42.5005,default,9.67674
+63.9823,8.04882,-39.5191,default,10.0114
+63.3148,26.3418,-42.625,default,10.0357
+61.5663,42.1113,-41.5605,default,8.88075
+62.1467,60.5554,-42.2004,default,9.23144
+74.9126,-32.6729,-43.1412,default,9.0112
+77.6674,-14.6984,-41.2798,default,8.62851
+76.2244,-0.343341,-41.5903,default,10.2851
+78.7959,19.9899,-42.841,default,8.99017
+76.5495,34.058,-41.7206,default,9.23964
+90.3873,-4.4781,-40.5319,default,8.7003
+-95.2517,-13.2803,-24.7572,default,8.77145
+-95.6816,1.12904,-25.6424,default,9.92316
+-81.0487,-41.5664,-24.2288,default,9.90428
+-81.9133,-23.4037,-27.5727,default,9.5595
+-79.0703,-4.55991,-26.7144,default,10.0423
+-82.8965,10.8886,-26.5122,default,10.1274
+-82.6557,27.757,-24.9813,default,10.0349
+-80.4063,44.6123,-28.1512,default,9.88358
+-64.1501,-67.9847,-26.035,default,8.5
+-64.5632,-48.9693,-25.992,default,8.77835
+-64.2031,-31.1423,-25.4737,default,9.74862
+-64.1852,-12.8761,-27.0439,default,9.28066
+-65.8477,4.47515,-26.1198,default,8.5
+-65.5186,20.4974,-26.8458,default,8.59094
+-64.7555,35.2026,-27.1252,default,10.0497
+-64.5742,50.6634,-26.1608,default,9.27992
+-66.8181,68.7466,-26.7169,default,9.4554
+-49.6126,-72.2148,-27.8335,default,8.99661
+-49.6343,-58.3236,-26.4492,default,9.25063
+-51.5183,-39.7653,-26.4475,default,9.3425
+-52.9145,-23.2304,-28.0736,default,9.77632
+-50.8356,-7.23692,-27.942,default,9.73264
+-53.489,8.49869,-26.3404,default,8.9409
+-51.2413,26.8153,-24.2423,default,9.14375
+-49.8849,45.6832,-24.4454,default,9.78011
+-50.3951,62.5937,-25.8518,default,8.75947
+-51.8761,78.5868,-28.3069,default,8.72318
+-36.5612,-81.9635,-26.1773,default,10.3133
+-35.1186,-67.6614,-27.044,default,8.88636
+-38.7878,-47.0895,-27.2707,default,10.1598
+-36.1385,-30.1598,-25.7805,default,9.32899
+-34.7438,-13.8239,-26.754,default,8.77558
+-36.678,4.53864,-27.7921,default,8.5
+-38.4474,18.3878,-27.4509,default,9.50184
+-38.6239,34.7271,-24.4748,default,8.5
+-38.1392,52.174,-28.2485,default,9.223
+-38.6265,67.6009,-25.607,default,8.5
+-35.4423,85.7452,-24.7254,default,10.2803
+-22.1616,-90.923,-24.8427,default,10.3383
+-20.0818,-72.1614,-27.0915,default,10.1729
+-20.0742,-59.9874,-26.1794,default,9.74517
+-21.9694,-40.6437,-26.677,default,8.61701
+-21.7506,-21.1018,-24.7522,default,10.094
+-19.931,-5.49239,-28.3544,default,8.5
+-21.3148,11.7015,-25.7034,default,8.5
+-22.8726,28.8553,-27.8912,default,8.64731
+-21.1433,44.8122,-28.102,default,9.74786
+-21.796,62.1662,-26.4303,default,9.66986
+-23.2379,78.8516,-28.0391,default,9.43208
+-5.59682,-80.8497,-28.4584,default,9.37792
+-9.16956,-66.8985,-26.6184,default,9.47884
+-8.66083,-48.6709,-24.2729,default,9.13807
+-8.49633,-29.713,-25.2832,default,8.77274
+-5.88593,-13.1599,-28.0137,default,9.41095
+-5.273,2.10286,-27.6221,default,8.53399
+-6.71341,21.3789,-25.7652,default,9.60397
+-7.05923,35.1477,-27.4604,default,9.34522
+-8.18402,51.4552,-26.5922,default,8.65073
+-9.53472,71.9869,-24.201,default,8.6207
+-9.20044,88.3003,-25.5007,default,8.64271
+9.41126,-90.0826,-25.3063,default,10.3115
+6.09152,-76.4381,-25.1917,default,9.7822
+9.38199,-58.7326,-25.8922,default,9.33001
+5.45889,-39.9542,-24.9873,default,9.62018
+8.18713,-25.7348,-27.1688,default,8.72878
+9.14196,-8.97796,-27.7804,default,10.2426
+5.1122,9.74022,-24.8907,default,9.14542
+9.33716,29.6506,-27.9936,default,10.081
+6.09072,43.7085,-25.3146,default,10.3766
+7.06326,63.6953,-24.5011,default,10.1832
+5.80807,77.9381,-28.4844,default,9.05381
+8.17679,95.7279,-26.7126,default,10.0208
+22.3165,-82.5714,-25.1377,default,9.14669
+23.5964,-65.6997,-25.8596,default,9.51617
+23.4863,-47.0534,-27.7351,default,10.114
+22.773,-31.7965,-26.0708,default,9.7203
+21.8128,-16.1318,-25.5694,default,10.0142
+22.3296,1.01867,-26.8838,default,9.03568
+23.4044,18.1721,-28.4673,default,9.62583
+23.0296,34.8937,-27.5028,default,9.48752
+20.2653,51.1255,-24.3739,default,9.78732
+19.9228,69.1019,-27.3735,default,9.41126
+23.4892,84.4608,-24.661,default,9.48309
+38.2773,-75.936,-26.9959,default,9.08221
+34.8313,-56.9276,-27.2902,default,8.68961
+37.4541,-39.9235,-27.2435,default,9.92192
+37.5488,-23.2548,-28.0321,default,9.98008
+37.3956,-7.24578,-24.6629,default,9.68117
+34.7348,9.06735,-26.3174,default,8.8148
+37.2796,25.3729,-24.6967,default,9.96675
+36.8391,42.2221,-27.3689,default,9.84583
+38.3171,63.6516,-24.9795,default,8.5
+36.4603,78.9462,-24.7545,default,8.5
+50.1993,-66.6778,-24.1931,default,10.2137
+49.6812,-50.7923,-24.9942,default,10.1728
+49.6156,-33.4501,-24.6935,default,8.55599
+52.7695,-15.5536,-26.8612,default,9.21838
+51.9022,1.73912,-28.4856,default,10.0155
+49.8611,17.8029,-28.5635,default,9.04577
+49.9547,34.9982,-24.8931,default,9.38364
+53.3119,54.8861,-24.6897,default,8.65695
+52.154,72.467,-27.4415,default,9.78828
+66.3826,-59.0227,-28.0585,default,8.99162
+66.6893,-42.2392,-24.9071,default,8.84857
+67.5258,-23.1873,-24.5327,default,10.3678
+65.4668,-5.39707,-26.8504,default,8.9529
+66.1582,9.27373,-24.8501,default,9.2484
+64.776,25.4136,-25.565,default,9.8348
+66.4943,46.9982,-25.76,default,10.0347
+64.942,61.8731,-27.5438,default,10.0508
+79.2056,-51.2631,-25.7538,default,10.1042
+81.8468,-34.1755,-24.6743,default,10.2512
+80.3768,-16.9386,-25.1791,default,8.88357
+79.6337,-0.262982,-26.4776,default,9.30496
+83.1011,17.7949,-24.8635,default,9.79833
+79.1435,33.7745,-28.3351,default,8.5
+78.9457,54.5493,-26.5313,default,10.3516
+-98.2453,0.925183,-12.0256,default,10.2755
+-84.2257,-42.1458,-11.7495,default,9.08598
+-83.9083,-23.252,-9.75055,default,10.4098
+-85.2503,-7.12372,-12.5742,default,8.91246
+-83.0738,11.4668,-12.1259,default,10.149
+-84.7212,29.5585,-13.1183,default,8.5
+-83.9718,42.137,-10.8065,default,9.39125
+-70.7955,-68.4058,-9.77546,default,8.78734
+-68.9679,-49.3692,-12.1125,default,9.51949
+-69.5035,-32.6429,-9.82646,default,9.37135
+-72.4746,-15.9198,-11.0894,default,9.40543
+-70.8933,3.36646,-10.0135,default,8.76929
+-68.4759,17.2165,-12.9737,default,8.58719
+-69.1137,36.3313,-11.8997,default,9.59908
+-71.7615,53.9384,-13.1484,default,8.9755
+-53.9428,-75.453,-9.5082,default,8.85847
+-56.7165,-58.0652,-12.483,default,9.39962
+-57.6584,-39.0943,-10.2814,default,8.57706
+-57.4144,-24.1005,-11.8577,default,8.5
+-54.9527,-7.16135,-11.8177,default,9.00601
+-53.8813,8.35716,-12.9015,default,10.0595
+-57.49,29.9467,-13.1672,default,8.5
+-54.5998,44.8418,-12.3232,default,9.28257
+-57.9679,59.9397,-10.4979,default,9.74725
+-42.6329,-83.4147,-13.6162,default,10.0889
+-39.1054,-64.6279,-11.4012,default,9.79525
+-40.945,-49.3848,-10.7006,default,8.52157
+-40.9075,-32.5876,-12.3925,default,9.80366
+-42.1224,-14.229,-13.6058,default,10.014
+-41.2493,3.30256,-10.7602,default,9.48602
+-38.9577,20.3229,-10.6542,default,10.0097
+-41.8577,37.0362,-13.5607,default,9.33057
+-42.902,52.0009,-12.6998,default,8.5
+-42.8093,70.793,-12.6103,default,8.74544
+-42.9795,85.0901,-13.8123,default,8.5
+-27.6061,-93.0417,-13.6215,default,9.62079
+-28.3775,-77.0486,-13.2099,default,10.1441
+-24.2309,-56.2541,-11.9654,default,10.3899
+-27.0806,-42.0674,-9.53317,default,10.4383
+-26.4134,-22.0264,-12.3218,default,10.2193
+-24.9677,-7.52181,-10.2463,default,8.54228
+-24.951,9.15696,-10.0409,default,9.43114
+-27.6119,28.4827,-9.97782,default,10.2555
+-28.3393,42.4446,-10.7491,default,9.06343
+-24.4549,59.1817,-13.1379,default,8.80537
+-24.6759,77.8548,-11.9789,default,9.85517
+-24.7328,94.5862,-13.7524,default,10.1999
+-13.5533,-83.2642,-11.1143,default,8.5
+-12.8717,-65.2204,-13.5124,default,8.5
+-12.918,-48.4548,-9.53417,default,9.49539
+-11.0665,-32.4761,-11.7445,default,10.4018
+-9.65385,-14.0764,-10.2891,default,8.5
+-10.3165,0.951775,-11.5805,default,10.2021
+-10.5212,16.8304,-11.4734,default,9.08701
+-11.6681,34.2643,-12.6419,default,8.56015
+-9.9689,50.8699,-10.5522,default,8.54843
+-10.1935,67.5805,-11.6251,default,9.0735
+-11.8392,87.3975,-12.7935,default,8.5
+4.54218,-91.5805,-10.6068,default,8.69412
+1.73871,-76.0106,-12.4592,default,8.5
+1.49129,-59.4622,-12.7083,default,8.86284
+1.75312,-41.004,-13.1989,default,9.63019
+1.10398,-21.2309,-10.2413,default,9.21799
+0.988925,-7.54821,-12.0345,default,8.63646
+3.40581,7.95431,-12.6772,default,10.1133
+3.26168,25.086,-13.6281,default,9.05314
+1.99401,44.0249,-10.6227,default,9.3009
+2.32347,59.5027,-10.6366,default,9.45512
+3.01735,76.7273,-10.15,default,8.91847
+3.32027,94.2246,-11.0535,default,10.2647
+18.9963,-85.2561,-10.0498,default,9.35595
+16.2683,-68.134,-10.206,default,9.47166
+15.9788,-51.5204,-9.77754,default,9.86583
+15.6376,-33.4239,-10.1814,default,9.65096
+16.2985,-16.3275,-11.5166,default,8.57311
+16.2765,1.38747,-11.2426,default,9.38448
+19.9303,21.0431,-10.7706,default,9.88972
+19.7685,38.045,-13.1853,default,8.5
+18.2553,54.4488,-11.9505,default,8.5
+17.3996,71.7536,-9.7049,default,10.3965
+15.7912,84.5222,-12.5414,default,8.5
+31.8832,-93.8062,-12.032,default,8.83098
+33.7815,-76.7252,-12.0981,default,9.41174
+32.915,-55.3233,-10.3329,default,9.45135
+34.2955,-39.046,-9.65797,default,9.62386
+31.4499,-21.184,-12.0392,default,9.89423
+33.6247,-6.55201,-11.0986,default,8.88235
+33.9083,11.7902,-12.9579,default,10.3784
+31.1872,28.7325,-10.7347,default,9.24443
+33.7682,46.1789,-13.1081,default,9.56238
+33.1864,63.6916,-9.99456,default,8.6173
+32.5341,79.3176,-9.57153,default,10.0567
+45.736,-82.7309,-10.8011,default,8.5
+48.7481,-68.0889,-12.1288,default,9.53328
+48.2745,-47.9032,-12.3134,default,9.34097
+48.8085,-31.8151,-13.1034,default,9.05733
+45.3395,-14.4188,-10.8594,default,9.15165
+46.5235,0.260725,-10.8298,default,10.1585
+47.7357,17.8754,-13.4998,default,10.1742
+48.3908,34.4718,-10.1511,default,9.51622
+45.9911,55.5107,-12.5476,default,8.5
+46.1936,67.9822,-9.65015,default,9.24156
+47.7753,85.7106,-13.0943,default,8.6403
+60.7972,-74.1023,-11.3302,default,10.3036
+60.1107,-55.4248,-13.3388,default,9.61516
+61.3028,-42.6742,-11.8065,default,9.39919
+62.7513,-25.7433,-12.4047,default,9.28468
+63.4579,-7.71699,-11.5504,default,9.83406
+60.7085,9.43498,-13.2692,default,10.2245
+62.0381,28.9144,-10.319,default,9.92591
+63.2034,46.1943,-11.2789,default,9.50542
+63.3386,63.8143,-10.7765,default,10.0981
+61.1622,77.6831,-13.7121,default,8.90529
+77.7239,-47.6748,-10.9928,default,8.5
+77.5151,-29.9394,-11.3095,default,8.60685
+74.9605,-14.2971,-10.9435,default,10.4528
+74.8944,0.696645,-10.6104,default,8.5
+77.1884,17.9062,-13.8128,default,8.69993
+74.7373,34.7208,-12.6393,default,8.5
+75.0677,51.3135,-10.3458,default,9.24246
+89.6603,-22.2055,-11.7533,default,8.5
+90.1295,-4.24824,-10.0757,default,9.67018
+89.62,12.1266,-10.716,default,8.94815
+89.5829,26.9814,-11.2267,default,8.57982
+89.1957,43.5781,-9.81823,default,10.0381
+-93.7351,-16.7883,2.35038,default,9.45997
+-95.7338,2.90696,3.16327,default,9.65336
+-95.9399,18.5505,2.1722,default,10.2032
+-79.8482,-55.7662,3.02606,default,8.5
+-82.7174,-41.7014,4.85127,default,9.80047
+-80.7886,-22.946,2.34977,default,9.80139
+-79.0268,-6.05337,3.75519,default,9.46528
+-82.0067,10.4321,2.55874,default,8.90491
+-80.6049,25.4132,1.21196,default,8.5
+-82.8366,44.0516,2.35589,default,10.2457
+-78.9526,61.124,3.35721,default,9.4202
+-64.102,-65.5156,1.46147,default,8.86781
+-64.2225,-46.9066,4.80097,default,10.2617
+-68.468,-33.3416,3.10274,default,8.92266
+-68.4907,-14.3586,1.4207,default,10.4365
+-67.762,-0.0687358,3.52591,default,10.3306
+-64.3596,17.0034,3.39228,default,10.4477
+-65.1953,36.802,3.18595,default,10.4249
+-65.7418,51.8249,3.62122,default,9.47993
+-64.8725,70.5213,3.19526,default,8.5
+-49.7993,-75.1665,2.92714,default,8.5823
+-50.1662,-59.6431,4.21791,default,8.71413
+-51.6159,-42.4253,3.52115,default,8.72965
+-52.2097,-24.4339,3.90038,default,8.58632
+-49.6998,-5.49337,2.36937,default,8.5
+-52.8067,10.2768,3.84857,default,8.5
+-53.0525,25.5959,3.06249,default,8.5
+-50.1145,42.8981,5.10304,default,9.8444
+-50.8895,63.7084,1.57545,default,9.04923
+-51.5362,77.8187,1.29143,default,9.76208
+-35.1206,-84.1124,3.75668,default,9.36644
+-39.0413,-67.4176,3.19619,default,9.15764
+-36.7631,-50.2966,4.61706,default,8.5
+-35.5977,-32.8759,2.51668,default,9.95707
+-38.2835,-13.9819,3.34434,default,8.97516
+-36.793,3.2073,4.13448,default,8.90095
+-38.2603,20.0752,2.37839,default,10.1518
+-38.5707,36.7987,1.04395,default,8.89588
+-35.5583,50.5694,2.85559,default,9.82839
+-35.4349,71.8035,1.52249,default,10.4423
+-34.977,87.9757,3.30346,default,9.58234
+-20.4709,-93.9292,1.6253,default,9.51832
+-20.396,-76.3795,4.59845,default,8.53528
+-23.7124,-57.6671,1.08318,default,9.2155
+-23.908,-40.2429,1.32045,default,9.25268
+-21.0551,-22.9972,3.70595,default,8.5
+-20.3947,-5.09517,3.38535,default,8.55675
+-20.212,9.72254,4.4041,default,10.1133
+-24.1934,27.5216,0.969725,default,8.5874
+-19.9637,47.0325,1.79598,default,9.19996
+-22.1828,63.9466,2.23764,default,9.89483
+-22.5229,76.7938,1.70986,default,9.60554
+-23.5922,96.0568,1.15691,default,9.90756
+-7.4651,-98.934,0.929601,default,10.0776
+-5.63692,-80.5666,3.7272,default,8.73414
+-9.19887,-66.9041,2.97025,default,10.3839
+-7.83299,-49.2237,2.01435,default,8.64791
+-7.58047,-29.8289,2.11543,default,9.4445
+-9.17806,-14.3046,3.13301,default,9.71029
+-8.47321,1.79866,3.98884,default,8.5
+-6.22558,17.232,1.02303,default,8.51996
+-6.1979,34.592,3.99087,default,9.22465
+-6.06438,51.8374,3.70008,default,8.5
+-7.99579,71.8464,2.06558,default,10.3283
+-9.34279,88.3144,3.75289,default,9.77079
+8.09689,-92.1459,3.05209,default,8.71605
+8.56241,-76.1541,1.87649,default,9.61678
+5.75799,-58.7743,1.50038,default,10.096
+6.80561,-42.8107,4.1444,default,9.83689
+7.29498,-24.8781,1.65803,default,9.5353
+9.49315,-8.67633,4.88919,default,10.1237
+5.48934,10.7607,3.17589,default,8.89902
+7.48964,25.2213,2.28255,default,9.91149
+8.37825,44.0642,2.15868,default,8.5
+6.63344,60.3534,1.32677,default,8.5
+8.82467,76.4799,2.35944,default,8.62821
+5.50615,97.7667,0.852267,default,9.70502
+20.0973,-85.3025,1.56332,default,8.5
+23.6045,-66.3319,2.61044,default,10.1485
+22.4481,-47.353,4.427,default,8.61569
+21.6682,-31.0106,1.03267,default,8.5
+20.8476,-14.3643,1.48261,default,8.5
+23.354,4.3938,0.981434,default,9.49255
+23.2571,21.0108,5.03159,default,9.56391
+21.9115,37.8318,5.22218,default,8.5
+23.0517,50.9854,3.93698,default,9.88732
+20.875,68.0303,0.907251,default,9.16445
+21.3825,89.5424,1.183,default,10.1186
+37.9323,-76.0558,1.68638,default,9.44408
+38.8808,-59.6001,4.01158,default,8.64248
+34.7439,-39.8988,2.85532,default,8.9796
+34.7224,-26.0126,1.03908,default,9.54414
+38.066,-8.93449,4.67906,default,9.35846
+36.8513,9.09404,1.1049,default,9.51894
+36.4099,27.3056,2.92365,default,9.98295
+35.4412,44.6587,1.08065,default,10.3932
+36.1567,62.8726,3.57102,default,10.293
+37.3943,79.938,1.99393,default,10.395
+50.5785,-83.4395,3.12033,default,8.5
+51.7827,-64.4546,4.36014,default,9.83279
+50.186,-48.5523,3.22385,default,10.1367
+53.3226,-33.7905,5.26197,default,8.5
+51.1424,-15.7653,3.00227,default,8.60239
+52.0446,1.17038,2.13075,default,8.51441
+52.8293,16.8413,1.68865,default,9.47502
+49.7305,34.3809,2.06104,default,9.80689
+51.0108,55.0179,5.24962,default,8.5
+49.4942,67.6309,2.94739,default,9.09874
+68.0616,-56.1252,4.85032,default,9.91865
+67.5741,-38.8549,2.62935,default,9.67029
+64.4535,-24.3364,4.54126,default,8.59961
+67.9933,-6.46241,4.57409,default,8.5
+65.0907,12.6911,4.30271,default,10.2544
+65.1839,25.4711,4.38377,default,8.5
+66.8215,44.4639,4.33427,default,9.40417
+67.4613,60.1319,4.34272,default,9.78995
+82.3886,-46.9536,5.05956,default,9.16647
+82.0147,-33.4872,3.25943,default,10.4059
+81.3058,-15.8358,4.05511,default,9.58771
+79.4432,-0.165153,1.62494,default,9.17655
+81.181,18.2513,2.83648,default,9.17519
+82.8324,35.9978,4.19781,default,10.3563
+82.6803,55.3748,5.04971,default,9.98006
+95.6087,-23.2664,2.07193,default,10.372
+96.4069,-7.70411,4.10148,default,9.30892
+94.1872,12.5324,1.86289,default,9.59168
+93.7707,26.4937,4.88746,default,10.0281
+-86.6087,-40.7377,19.6215,default,10.0139
+-84.8319,-20.9957,18.6934,default,9.39531
+-84.5733,-5.1944,19.2837,default,9.9256
+-86.6601,10.383,17.1769,default,9.41782
+-85.6979,27.0939,18.9838,default,8.5
+-84.2101,45.3729,19.3154,default,8.68184
+-71.9871,-63.5226,19.9194,default,9.46219
+-70.4577,-48.5683,16.2944,default,9.04696
+-68.5309,-34.0814,19.1376,default,8.5
+-72.1513,-13.0755,19.4914,default,9.90376
+-68.9667,2.11688,19.597,default,9.7357
+-70.0636,18.629,19.2509,default,9.64972
+-70.1324,34.2659,16.3661,default,8.77909
+-70.107,52.9093,15.8557,default,8.5
+-57.8908,-74.8658,17.5651,default,10.065
+-57.4126,-58.8361,19.0019,default,9.47117
+-56.1199,-39.2378,17.4664,default,10.2399
+-56.9759,-23.3952,16.7399,default,8.9323
+-55.011,-6.3545,15.9177,default,9.97374
+-57.4431,8.21505,17.4323,default,8.70387
+-55.1485,26.672,16.6167,default,9.65507
+-54.9046,46.8266,18.8524,default,8.5
+-54.1032,61.9395,18.2944,default,8.67427
+-53.6278,78.0522,19.6842,default,9.60026
+-41.4701,-84.8121,16.5991,default,9.64536
+-40.0294,-67.5793,17.7982,default,8.98447
+-40.3835,-47.6988,16.4127,default,9.09298
+-42.7424,-33.3895,18.297,default,9.56256
+-42.2248,-13.6146,16.2176,default,8.5
+-39.6637,2.26455,17.5041,default,8.8338
+-42.3265,18.915,18.4948,default,8.81873
+-40.9851,33.5993,18.567,default,8.97255
+-39.3495,53.3161,18.7743,default,8.97931
+-39.0462,71.6384,16.2175,default,10.2106
+-41.5823,87.6014,18.5429,default,8.98874
+-27.8086,-93.4499,16.718,default,10.4523
+-27.6558,-72.6446,18.6621,default,9.83112
+-25.2735,-56.8612,16.2003,default,8.5
+-24.2249,-40.4162,17.9451,default,8.88227
+-28.344,-24.8156,16.1065,default,9.59361
+-28.4633,-7.06581,16.0124,default,9.33032
+-26.4928,10.4801,16.0981,default,9.60486
+-27.459,28.0677,17.3732,default,9.05772
+-25.4089,46.0326,17.6171,default,9.58543
+-28.5354,62.1168,16.3342,default,9.01678
+-27.7903,80.2682,16.1718,default,10.1887
+-13.1623,-83.6982,17.6686,default,9.77088
+-13.761,-65.5736,16.7561,default,8.5
+-11.0962,-47.434,16.3375,default,9.7905
+-12.2622,-30.5919,19.5652,default,8.63701
+-11.3356,-16.2451,17.6646,default,9.71429
+-13.7417,1.80375,16.8025,default,10.0878
+-13.2593,20.8913,16.6433,default,10.0841
+-10.7728,37.4234,17.0485,default,8.97727
+-9.62062,52.0833,18.1043,default,10.1287
+-11.3794,68.3194,18.3938,default,8.59754
+-10.8446,85.3001,18.8072,default,8.5
+1.68404,-92.0426,17.3557,default,10.248
+4.86138,-72.1645,15.937,default,8.68782
+3.05842,-56.9821,17.3646,default,8.5
+3.10426,-39.9655,16.1098,default,9.887
+2.40844,-24.6465,16.362,default,8.82136
+5.22341,-8.40502,16.3835,default,8.57217
+4.41246,9.70572,15.931,default,9.89258
+2.19466,28.4143,16.5137,default,9.95865
+2.15192,46.4591,15.7865,default,8.5982
+2.63442,63.6965,15.923,default,10.4039
+0.907265,77.6366,15.9609,default,8.66392
+4.82644,93.126,17.8063,default,8.70908
+17.8014,-82.4023,17.0715,default,10.0453
+15.6289,-64.3112,16.3407,default,8.5
+15.8849,-50.3055,18.1775,default,9.61978
+19.0025,-33.992,18.4163,default,8.5
+18.7648,-16.9199,17.5983,default,9.30503
+17.4238,2.79728,18.8374,default,8.54447
+16.7898,21.1802,15.7018,default,9.14026
+16.6931,37.0179,17.0767,default,8.88866
+19.8853,52.9014,17.4458,default,8.85858
+16.2568,69.7035,17.4263,default,8.51644
+18.0595,85.6748,16.3177,default,9.17315
+33.2372,-92.5707,15.9317,default,9.05955
+34.4506,-74.1515,15.9016,default,9.51316
+33.2741,-55.2778,18.1662,default,9.15668
+33.7792,-38.7534,18.4162,default,8.5
+31.2691,-24.5316,16.207,default,9.37929
+30.6504,-8.209,18.538,default,9.30862
+30.5698,11.5718,17.0232,default,8.87722
+32.1286,26.8423,16.3501,default,8.78131
+33.5486,45.9379,16.3467,default,8.5
+30.3681,63.6907,19.6525,default,9.08213
+30.5745,77.7008,17.9648,default,9.25776
+45.0164,-80.6418,15.8893,default,9.99665
+49.0863,-68.1529,16.512,default,8.61752
+47.6112,-48.2628,18.6386,default,8.5
+47.1,-31.8143,16.3153,default,9.52674
+46.6533,-15.4268,17.6246,default,9.96599
+46.2273,4.49605,19.6096,default,9.61473
+49.1214,20.6973,17.3171,default,9.77667
+47.0406,34.593,18.9778,default,8.5
+45.1024,54.1613,16.1497,default,10.1386
+47.1791,68.7359,17.7413,default,8.7934
+46.0513,86.1259,19.6462,default,8.5
+61.0534,-75.4342,17.503,default,9.74749
+62.5345,-57.8631,17.9362,default,8.5
+63.0592,-38.0305,16.5743,default,10.097
+60.4605,-24.8221,16.0075,default,9.90118
+60.389,-7.45602,16.5793,default,8.93108
+62.6694,10.672,16.2822,default,9.45392
+61.7537,28.3826,16.1122,default,10.2254
+62.4656,44.9736,19.3895,default,8.67367
+62.4927,63.614,19.244,default,10.0225
+76.0613,-50.2152,19.534,default,8.70096
+75.6543,-33.6929,18.3759,default,10.0886
+77.9868,-16.9587,16.4139,default,8.5
+74.9795,0.918166,19.6644,default,8.71841
+76.7744,20.2087,15.9527,default,9.82373
+74.5916,38.2535,19.2534,default,10.3722
+76.7448,52.0407,18.6133,default,8.77615
+91.5586,-21.8575,18.6035,default,9.7875
+92.7717,-7.61224,19.9642,default,8.5
+91.8192,9.39288,16.022,default,9.05672
+89.4862,26.6683,16.7966,default,9.35384
+-93.741,2.45825,34.5412,default,8.55786
+-82.2922,-39.5168,31.019,default,9.85962
+-79.7882,-25.422,32.3765,default,9.32437
+-79.0259,-5.9999,34.1369,default,9.22038
+-80.319,10.0593,31.8796,default,8.73128
+-82.9103,25.974,30.4412,default,9.40262
+-79.8913,46.1122,30.9933,default,8.54151
+-65.7703,-67.0859,33.8225,default,9.46889
+-66.705,-47.6867,32.3685,default,9.70994
+-64.3314,-30.7219,34.2932,default,9.95636
+-67.0599,-15.5411,30.3671,default,8.5
+-65.7275,-0.0969909,34.1618,default,8.9441
+-66.6484,18.1535,34.1864,default,8.5
+-64.2491,35.2388,31.6509,default,8.58667
+-67.0748,53.0713,33.2135,default,9.91933
+-53.6269,-73.0012,30.3222,default,10.1149
+-50.2426,-59.1417,30.642,default,9.48167
+-49.5137,-38.5307,31.3878,default,9.72083
+-52.9414,-21.0331,31.0852,default,8.5
+-52.9029,-7.38088,34.3625,default,9.66627
+-51.529,11.8716,31.9002,default,8.5
+-50.887,29.6307,32.6474,default,8.5
+-52.9348,43.0429,33.0982,default,8.5
+-51.8682,60.1949,34.5719,default,8.5
+-35.4622,-85.5165,34.3758,default,10.1766
+-38.3705,-66.1788,31.0661,default,8.5
+-38.1939,-46.6858,33.1459,default,9.74583
+-34.8779,-33.5105,33.1937,default,10.2533
+-35.1901,-16.3048,32.7089,default,8.8572
+-35.4004,3.06439,32.2297,default,8.80953
+-38.5125,17.5068,32.7239,default,8.96634
+-37.1045,38.0735,31.643,default,9.65063
+-36.9325,52.1149,32.0982,default,8.9865
+-37.9232,69.2932,32.0028,default,8.5
+-21.1622,-91.0265,34.0553,default,9.86408
+-23.0818,-74.256,31.9509,default,8.5
+-22.9052,-56.9854,34.5008,default,8.61747
+-21.6082,-42.8476,31.7404,default,8.61331
+-20.0092,-21.3138,31.5304,default,8.5
+-20.5881,-4.95924,34.1509,default,9.37895
+-21.8761,11.1082,31.7512,default,8.93559
+-23.1526,29.6604,34.0507,default,9.49202
+-20.5693,43.9745,33.8318,default,9.19925
+-20.5291,59.6741,31.126,default,8.65751
+-21.7816,76.7731,32.6874,default,10.0526
+-6.83939,-81.2794,33.2686,default,10.2345
+-7.47714,-66.0085,31.9704,default,9.11861
+-9.19336,-46.7511,30.6,default,9.1191
+-5.64875,-32.688,30.9926,default,8.5
+-9.4462,-13.2222,31.3026,default,10.4144
+-7.37186,3.40402,32.13,default,9.30981
+-6.89958,21.0063,33.8359,default,10.0649
+-7.46256,38.2544,34.0678,default,9.13604
+-5.76266,51.2848,33.4714,default,8.5
+-7.32343,69.8957,32.3503,default,8.73803
+-6.8762,88.6307,30.8903,default,8.56897
+8.26507,-89.1868,34.6704,default,8.757
+7.53577,-74.5819,32.7854,default,10.4534
+6.25107,-59.0902,31.8574,default,8.79873
+8.5779,-42.9176,33.4569,default,10.0561
+6.88171,-23.9815,32.7623,default,8.90408
+7.22036,-5.78653,33.883,default,9.87605
+5.38294,8.39363,34.5142,default,9.10205
+8.16614,28.0659,30.9183,default,9.25309
+6.59018,42.6075,30.6092,default,10.1876
+8.61699,61.5866,30.8189,default,8.68436
+9.17263,79.0956,31.9936,default,9.46328
+23.2036,-82.1981,33.8642,default,9.93443
+22.5953,-68.5042,33.317,default,9.85623
+23.8608,-47.6783,33.3916,default,8.90151
+20.9023,-32.6736,32.9014,default,10.1635
+22.0531,-13.5771,31.9659,default,10.1553
+22.3637,0.0461592,30.7298,default,8.92445
+22.9899,19.3182,30.4569,default,9.06881
+22.128,38.1533,33.876,default,9.3486
+23.769,50.9125,32.9929,default,9.90615
+22.584,68.608,30.9086,default,8.75237
+20.7813,89.3755,34.2666,default,9.34689
+35.3852,-74.7553,32.8362,default,8.5
+36.941,-55.0603,32.7938,default,9.55435
+35.3006,-38.4617,30.6041,default,8.5
+37.7297,-21.8356,32.3801,default,8.5
+35.5312,-4.66709,33.2869,default,9.17157
+38.7134,9.15626,32.4279,default,8.59517
+38.0272,25.4907,33.2006,default,9.81869
+38.2917,43.1343,33.1397,default,9.76301
+34.9257,62.0718,33.6472,default,9.76121
+36.731,77.0675,32.1294,default,10.0224
+52.8661,-64.5876,31.9485,default,9.06145
+53.0064,-49.3836,32.0128,default,9.43641
+52.0251,-33.3447,32.5854,default,9.52844
+51.3397,-17.537,31.3262,default,9.93219
+53.3305,0.851273,34.1291,default,10.0205
+52.2061,17.9425,33.6498,default,8.9672
+53.3901,38.4276,32.2779,default,8.9671
+53.5995,53.2201,33.3319,default,9.60563
+51.4028,68.2519,32.3465,default,9.14929
+67.2307,-58.1439,32.6092,default,8.83388
+67.9713,-38.3676,31.3422,default,9.31078
+66.479,-21.7156,31.9256,default,9.12977
+66.8463,-4.45854,33.014,default,9.85842
+67.6112,9.81371,33.0919,default,8.94914
+66.0326,27.9644,34.5648,default,8.61621
+67.0099,46.1616,30.6241,default,9.11558
+66.6611,59.1087,31.7845,default,9.87652
+79.632,-30.1808,33.7507,default,9.91075
+80.0514,-16.3537,30.6753,default,8.8039
+78.8509,3.64417,33.9316,default,10.0827
+80.7702,19.7672,34.4365,default,8.73611
+80.3485,33.5385,31.9895,default,8.98096
+-86.2828,-6.29472,47.115,default,9.7781
+-85.6945,9.71627,47.8151,default,10.4049
+-68.8426,-49.9191,48.6955,default,10.4318
+-68.9422,-34.0206,47.7924,default,8.5
+-68.9268,-12.9511,47.8483,default,9.91875
+-71.3675,0.405122,46.5751,default,8.91111
+-68.4675,18.0395,46.6176,default,8.75571
+-70.5712,36.423,49.3864,default,9.25688
+-56.798,-59.4905,46.3448,default,8.92538
+-57.4936,-39.0635,47.7208,default,9.30218
+-56.9636,-23.2581,47.2619,default,8.5
+-57.072,-7.21485,49.0117,default,9.56046
+-53.8869,12.9321,46.1464,default,8.6949
+-57.841,29.7867,46.0355,default,8.5
+-56.2673,46.0139,47.0672,default,8.5
+-53.9989,61.3686,45.9555,default,8.73256
+-40.6304,-64.1484,45.9233,default,8.77308
+-40.0195,-50.6158,48.552,default,9.14813
+-43.203,-30.031,45.9014,default,10.1709
+-41.4575,-14.3477,49.216,default,8.5
+-41.5874,0.828111,49.2483,default,8.65928
+-42.4378,16.478,48.1496,default,10.2808
+-42.165,35.8751,45.0337,default,8.59133
+-41.1673,53.4324,49.1114,default,10.1348
+-42.5033,69.4293,48.7551,default,9.85071
+-27.8352,-76.7683,46.7411,default,9.0812
+-25.9028,-55.003,48.4576,default,8.59395
+-27.2819,-41.9721,46.7409,default,9.63897
+-28.041,-24.278,49.3767,default,8.5
+-25.4592,-8.71619,47.3049,default,8.5
+-26.4743,12.1987,46.6516,default,9.92574
+-26.838,29.728,48.4967,default,10.2075
+-26.2948,45.1148,49.1269,default,9.22863
+-25.6218,60.6432,46.8844,default,10.3198
+-25.4096,79.4711,48.4568,default,9.1597
+-12.1652,-80.8198,45.638,default,8.874
+-11.6216,-64.7534,48.3296,default,8.62741
+-13.7837,-47.4423,46.6876,default,10.3686
+-12.7966,-34.1487,49.0528,default,10.005
+-11.1473,-13.6762,49.0096,default,9.93402
+-10.9033,-0.100177,46.0945,default,9.49154
+-13.1973,19.4849,47.969,default,10.0132
+-11.037,37.1385,49.1742,default,8.84922
+-11.9847,52.4728,49.2712,default,9.02879
+-11.5684,69.6122,48.702,default,10.1432
+-12.981,86.5676,48.0385,default,8.5
+2.31431,-72.8791,45.5215,default,8.5
+1.49458,-59.8245,46.6354,default,8.99434
+2.41244,-42.2772,46.7147,default,9.40872
+1.43638,-22.2845,48.7757,default,9.3869
+4.64344,-5.13004,49.3113,default,9.50215
+3.36286,8.58054,49.2147,default,9.40384
+1.82222,29.6098,47.3371,default,8.5
+1.17055,45.5567,48.0753,default,8.53776
+1.46443,60.5821,45.6634,default,9.03964
+5.2163,79.6721,48.6177,default,10.1102
+18.9201,-84.5292,48.8481,default,8.82496
+18.4418,-65.9116,46.4987,default,9.13393
+16.9687,-49.2207,46.1571,default,8.5
+19.9597,-34.389,45.4429,default,10.2763
+16.1105,-14.8045,48.5712,default,9.22523
+18.9979,1.8287,48.8092,default,8.50641
+17.5787,17.5539,46.7714,default,9.55479
+15.8798,36.5412,49.2227,default,8.5
+19.5721,50.9898,45.1232,default,9.03341
+17.5129,71.37,47.0215,default,9.52319
+33.2937,-74.3602,48.9098,default,8.9766
+33.581,-57.1328,47.6663,default,9.60965
+33.4233,-39.1029,45.8185,default,9.85133
+30.7321,-22.6767,46.0924,default,9.98303
+32.1923,-4.95963,47.6927,default,9.48791
+33.2665,12.6428,47.8972,default,9.44032
+30.7635,25.1404,46.9229,default,9.75134
+33.0397,43.1572,48.6294,default,8.95476
+32.169,59.1392,48.4831,default,9.99243
+30.8855,76.1318,47.6351,default,9.44588
+45.757,-63.5319,46.6722,default,8.50235
+45.9849,-47.4184,47.6447,default,10.2055
+47.7553,-31.542,46.114,default,8.5
+45.2652,-13.6639,49.2607,default,9.26855
+46.0434,-0.52376,45.0699,default,8.5
+48.1198,20.9313,46.7505,default,10.0206
+45.3179,36.6379,48.9572,default,9.44979
+46.3961,54.9455,49.3503,default,9.69619
+45.5318,72.1402,48.4893,default,9.86394
+63.799,-58.8061,46.3625,default,8.74716
+62.2299,-42.3643,48.2178,default,9.36522
+59.9038,-24.0606,48.5719,default,8.5
+63.9221,-8.46561,46.6476,default,10.1425
+60.9551,8.03658,47.3713,default,9.86993
+61.7382,26.8974,45.8336,default,9.90075
+60.1938,43.4875,45.9354,default,10.1384
+61.2618,61.0221,46.9709,default,9.12844
+77.3851,-29.9735,48.4149,default,8.61289
+77.1094,-17.4473,47.8433,default,8.5
+75.5751,1.98638,45.9556,default,9.84126
+78.823,17.2583,48.5858,default,10.0526
+75.1546,34.6099,45.7224,default,10.2898
+-65.662,-30.2557,62.2953,default,8.57744
+-66.6526,-15.5015,63.5192,default,8.87947
+-66.7663,0.689272,61.4041,default,8.52153
+-65.9313,19.4833,63.9135,default,9.60852
+-51.9174,-58.5598,60.4095,default,9.06277
+-51.3658,-38.3451,63.5633,default,10.4312
+-51.02,-25.0413,63.9044,default,8.99047
+-52.9457,-8.68299,60.805,default,8.75928
+-53.7787,10.428,61.9368,default,10.3467
+-53.307,27.2012,62.8434,default,8.5119
+-51.5482,46.663,61.8233,default,9.49673
+-36.2627,-47.562,60.0535,default,9.31429
+-37.1514,-33.4632,64.1313,default,8.56914
+-35.6301,-15.6098,63.2703,default,9.77893
+-36.1664,1.42362,64.1335,default,8.73934
+-34.9234,19.7387,62.3537,default,8.80965
+-34.7965,37.223,60.7426,default,9.96828
+-38.6875,52.1798,63.5295,default,9.47991
+-38.605,68.0584,60.1284,default,9.61487
+-21.2998,-73.2138,63.7931,default,8.5
+-23.4885,-56.6924,62.3455,default,10.4
+-22.3889,-41.2679,61.5446,default,10.2717
+-21.5838,-22.6371,64.1099,default,8.53442
+-22.0564,-5.40829,62.0674,default,10.3597
+-22.2024,10.4739,60.6422,default,8.5
+-24.2129,26.7682,63.7341,default,9.01866
+-22.6534,44.459,62.6711,default,9.87176
+-21.9478,59.6768,59.8214,default,8.81698
+-7.99637,-67.7129,60.0462,default,8.52518
+-8.24022,-47.7423,63.5691,default,10.2311
+-5.27157,-29.5354,63.5789,default,9.05885
+-6.92179,-15.5571,60.4628,default,8.54701
+-9.11621,0.554997,60.6745,default,8.5
+-7.21178,20.8452,59.9841,default,8.92528
+-9.05107,36.1104,64.0546,default,9.68264
+-6.71439,52.3479,60.6772,default,9.64341
+-7.47742,67.5248,60.3543,default,10.3052
+5.28949,-73.7695,62.0082,default,8.5
+6.76275,-57.528,62.746,default,10.176
+7.84139,-39.3216,60.9747,default,8.5
+5.68805,-22.7484,62.6162,default,9.92312
+9.21381,-6.33232,62.1047,default,10.2402
+8.77802,12.277,62.0464,default,8.66534
+7.94831,26.1656,63.3684,default,8.5
+7.43754,42.028,59.8436,default,10.2988
+6.19489,63.1581,63.8471,default,9.3194
+21.3526,-63.6031,60.9446,default,8.5
+23.2108,-50.5582,62.067,default,8.5
+20.902,-32.4083,60.8161,default,8.5
+24.2186,-12.5968,60.379,default,8.5
+20.2363,2.81012,61.5041,default,8.5
+22.8782,19.7341,64.1221,default,10.3275
+21.7811,37.8287,63.5809,default,8.70203
+21.5281,53.1903,60.4003,default,8.5
+22.0353,69.2106,61.3601,default,9.0674
+34.5453,-59.7545,63.523,default,8.5
+36.0974,-39.3648,63.1047,default,9.23923
+38.3798,-22.7661,61.8986,default,8.81792
+35.5579,-5.07251,62.4685,default,8.95321
+38.1451,12.6327,61.1186,default,9.45337
+38.1452,25.7211,60.2478,default,8.5
+35.2731,43.3784,63.6578,default,9.23679
+38.7602,60.4519,63.3133,default,9.72555
+53.5871,-48.6113,61.6411,default,9.52246
+50.3103,-33.5035,60.8831,default,8.5
+50.7605,-15.3765,62.1088,default,9.58171
+49.9963,0.779865,62.7188,default,8.5
+50.0773,21.0699,60.9428,default,8.5
+50.6534,34.5458,61.5393,default,9.8158
+53.5324,53.1159,62.6347,default,10.1404
+66.7858,-41.0678,60.5157,default,10.4293
+64.3171,-21.5007,62.1217,default,8.5
+64.5769,-5.20585,61.6963,default,8.5
+66.6017,9.04052,60.4459,default,9.7064
+65.1252,25.0333,59.9684,default,8.80062
+-53.9146,-23.8645,75.5495,default,9.34551
+-56.5884,-4.71116,78.7377,default,8.5
+-54.818,10.6116,75.8704,default,9.32397
+-56.3464,29.7098,74.5824,default,10.447
+-40.1293,-49.015,77.1215,default,8.5
+-42.4591,-30.4236,77.7586,default,8.79456
+-39.8545,-16.3263,74.8299,default,9.98709
+-40.1956,2.81048,78.0168,default,9.51488
+-41.6126,17.6694,74.6472,default,8.54694
+-39.2098,33.6238,76.4292,default,9.87209
+-24.3652,-54.9946,76.5493,default,9.73996
+-26.0439,-41.1659,74.599,default,9.02504
+-27.3554,-22.9358,76.6221,default,10.0637
+-26.856,-4.30947,78.0077,default,9.34698
+-24.7471,12.5854,77.6133,default,9.04555
+-25.8087,26.2918,76.9768,default,9.31413
+-25.0491,43.8721,77.5693,default,9.28589
+-9.46698,-47.6131,75.8249,default,8.80812
+-12.3968,-30.7706,76.5987,default,10.2266
+-12.8263,-16.4977,74.6776,default,9.40462
+-13.7528,0.198027,78.639,default,10.2202
+-11.2917,20.8164,78.3823,default,8.95194
+-10.1569,36.8383,76.185,default,10.0821
+-12.0406,51.1707,76.3332,default,9.93362
+3.76026,-58.7874,76.1981,default,10.3992
+0.936995,-42.5267,78.4634,default,8.5
+5.22424,-23.2556,76.0635,default,10.0445
+1.26752,-7.67026,78.57,default,9.92445
+3.3955,11.3514,77.9879,default,8.90179
+1.35145,27.7876,78.3272,default,9.65841
+2.01928,42.0197,76.4331,default,10.3015
+4.28453,61.4925,76.0805,default,9.70352
+16.4292,-49.7591,74.9634,default,8.82222
+17.5909,-30.5242,78.1975,default,9.94785
+18.7266,-13.0997,74.7269,default,9.11763
+16.7022,3.3771,76.3238,default,8.78297
+18.6365,20.6702,76.3276,default,8.5
+18.9475,33.7963,75.8855,default,10.0972
+18.8707,54.2949,76.23,default,9.59276
+32.6984,-40.1614,76.0334,default,10.1849
+30.9429,-23.1768,78.5555,default,10.1291
+31.2857,-6.05988,77.6066,default,8.5572
+32.4232,11.7389,76.1685,default,9.07028
+34.6042,28.3593,76.7079,default,10.3011
+30.7374,46.6825,77.9844,default,10.3268
+49.1914,-30.4388,78.7307,default,9.26179
+45.6804,-13.8415,75.0329,default,8.5304
+47.6028,0.345682,77.9713,default,8.55106
+48.3389,20.1085,74.8,default,9.58572
+49.0192,36.2619,77.4491,default,8.5
+60.417,-6.04777,78.5115,default,8.5
+-36.2392,-15.759,89.4421,default,9.8315
+-36.5074,1.68876,90.9916,default,8.5
+-38.5393,16.8917,89.9126,default,10.0141
+-20.91,-24.5699,89.7274,default,10.4526
+-23.6763,-6.37268,92.9418,default,10.0382
+-22.8986,11.7681,89.2297,default,8.5
+-21.5783,27.6846,93.3965,default,10.1704
+-7.64763,-31.347,90.5585,default,9.99572
+-8.66331,-13.9081,89.3492,default,9.49792
+-6.29881,0.956566,92.4755,default,9.92513
+-5.47827,19.2008,93.2362,default,10.3778
+-7.62661,34.9087,92.401,default,8.5
+5.20829,-38.2988,92.1039,default,8.64182
+6.45184,-23.6029,92.0225,default,9.97299
+6.9948,-4.92843,91.3495,default,9.76217
+6.22652,10.8258,90.9693,default,9.29955
+5.518,28.5502,89.5488,default,9.47028
+23.5226,-31.8993,89.3932,default,8.5
+20.6108,-13.108,89.3247,default,8.96289
+22.6628,-0.207682,90.2156,default,8.56343
+20.0264,20.7919,90.8917,default,8.88242
+20.8702,36.709,90.1625,default,8.61361
+37.2156,-7.78745,89.5663,default,9.767
+35.4865,9.83066,91.1711,default,8.5238
diff --git a/config/prostate_drug_sensitivity.csv b/config/prostate_drug_sensitivity.csv
new file mode 100644
index 0000000..91284e1
--- /dev/null
+++ b/config/prostate_drug_sensitivity.csv
@@ -0,0 +1,841 @@
+"","xmid","scal","CL","maxc","DRUG_ID_lib","IC50"
+"1",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"2",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"3",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"4",14.8332455365279,2.82575365697899,905934,2,1032,4.73644487771815
+"5",8.5977181365736,2.82575365697899,905934,10,1058,2.02374455356964
+"6",10.7613865448833,2.82575365697899,905934,4,1058,2.60719447858199
+"7",14.4452580735478,2.82575365697899,905934,2,1168,4.46751246166089
+"8",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"9",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"10",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"11",11.2606158847515,2.82575365697899,905934,0.25,1559,0.180645165724661
+"12",8.95215386636085,2.82575365697899,905934,1,1559,-0.0331644126326732
+"13",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"14",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"15",10.3975060954322,2.82575365697899,905934,10,1912,3.27126250285819
+"16",12.6460145906971,2.82575365697899,905934,10,1924,4.82980982681614
+"17",13.1203009714627,2.82575365697899,905934,10,2043,5.15856009442182
+"18",15.3571272641322,2.82575365697899,905934,2,2047,5.09957202015393
+"19",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"20",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"21",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"22",13.0910387692171,1.86754539474537,905935,2,1032,3.52883916900419
+"23",10.0481638398596,1.86754539474537,905935,10,1058,3.02911690335763
+"24",10.447193076105,1.86754539474537,905935,4,1058,2.38941216154793
+"25",12.4791072011117,1.86754539474537,905935,2,1168,3.10468052787634
+"26",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"27",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"28",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"29",9.02960229688106,1.86754539474537,905935,0.25,1559,-1.36577561249869
+"30",7.14255507100334,1.86754539474537,905935,1,1559,-1.2874827155794
+"31",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"32",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"33",11.2403128135108,1.86754539474537,905935,10,1912,3.85545160325138
+"34",11.6795082127463,1.86754539474537,905935,10,1924,4.15987865594635
+"35",12.8718519154586,1.86754539474537,905935,10,2043,4.98634833173982
+"36",12.6375842554799,1.86754539474537,905935,2,2047,3.21452845129508
+"37",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"38",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"39",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"40",10.6851227088505,2.30653618101248,907788,2,1032,1.8611852350972
+"41",3.85680179514967,2.30653618101248,907788,10,1058,-1.26240824175893
+"42",5.77450936668732,2.30653618101248,907788,4,1058,-0.849445377283303
+"43",13.8806020165162,2.30653618101248,907788,2,1168,4.07612270774331
+"44",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"45",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"46",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"47",7.02401783651853,2.30653618101248,907788,0.25,1559,-2.75594082657382
+"48",5.71693783079737,2.30653618101248,907788,1,1559,-2.27564528618582
+"49",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"50",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"51",1.14891123577728,2.30653618101248,907788,10,1912,-3.1393749482528
+"52",2.34172699352085,2.30653618101248,907788,10,1924,-2.31257806884537
+"53",10.0117981023866,2.30653618101248,907788,10,2043,3.00391009495922
+"54",10.8871410593406,2.30653618101248,907788,2,2047,2.00121368516079
+"55",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"56",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"57",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"58",10.2783906793626,2.57592196481569,924100,2,1032,1.57926007561423
+"59",7.49508759962623,2.57592196481569,924100,10,1058,1.25945930568527
+"60",8.32311922367592,2.57592196481569,924100,4,1058,0.917116359435628
+"61",13.6403512936497,2.57592196481569,924100,2,1168,3.90959359656095
+"62",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"63",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"64",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"65",6.46625850175513,2.57592196481569,924100,0.25,1559,-3.14255013689605
+"66",7.58459608764889,2.57592196481569,924100,1,1559,-0.98108323119969
+"67",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"68",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"69",7.90636445181169,2.57592196481569,924100,10,1912,1.54453469620719
+"70",10.83310606157,2.57592196481569,924100,10,1924,3.57319739123862
+"71",14.6791577243851,2.57592196481569,924100,10,2043,6.23907725760682
+"72",12.143825806122,2.57592196481569,924100,2,2047,2.87228117424504
+"73",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"74",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"75",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"76",3.81033853654365,2.40272017901346,924105,2,1032,-2.90405203089543
+"77",5.76017945751733,2.40272017901346,924105,10,1058,0.0569126184519901
+"78",5.99553627577977,2.40272017901346,924105,4,1058,-0.696241198417997
+"79",8.16542751538186,2.40272017901346,924105,2,1168,0.114665615873975
+"80",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"81",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"82",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"83",5.38819990643229,2.40272017901346,924105,0.25,1559,-3.8898034127225
+"84",3.16781766867632,2.40272017901346,924105,1,1559,-4.04256073946854
+"85",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"86",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"87",9.87374251658438,2.40272017901346,924105,10,1912,2.90821725489986
+"88",9.73539066039704,2.40272017901346,924105,10,1924,2.81231905585837
+"89",13.7959178125883,2.40272017901346,924105,10,2043,5.62686200298683
+"90",11.4824422673119,2.40272017901346,924105,2,2047,2.41384503905002
+"91",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"92",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"93",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"94",11.9821270898956,2.11185431611028,1299075,2,1032,2.7602001649925
+"95",8.86177115379489,2.11185431611028,1299075,10,1058,2.20677215797492
+"96",7.23229160387356,2.11185431611028,1299075,4,1058,0.161012270292703
+"97",13.9404334098522,2.11185431611028,1299075,2,1168,4.11759466934317
+"98",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"99",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"100",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"101",7.77703805989411,2.11185431611028,1299075,0.25,1559,-2.23398698183641
+"102",9.00304300847153,2.11185431611028,1299075,1,1559,0.00210925274245933
+"103",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"104",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"105",7.1945499157114,2.11185431611028,1299075,10,1912,1.05114245742769
+"106",9.09188553804903,2.11185431611028,1299075,10,1924,2.36627529462696
+"107",13.1125726236745,2.11185431611028,1299075,10,2043,5.15320321194206
+"108",9.8883688502507,2.11185431611028,1299075,2,2047,1.3089175444085
+"109",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"110",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"111",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"112",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"113",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"114",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"115",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"116",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"117",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"118",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"119",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"120",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"121",10.7613865448833,2.82575365697899,905934,4,1058,2.60719447858199
+"122",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"123",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"124",10.447193076105,1.86754539474537,905935,4,1058,2.38941216154793
+"125",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"126",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"127",5.77450936668732,2.30653618101248,907788,4,1058,-0.849445377283303
+"128",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"129",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"130",8.32311922367592,2.57592196481569,924100,4,1058,0.917116359435628
+"131",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"132",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"133",5.99553627577977,2.40272017901346,924105,4,1058,-0.696241198417997
+"134",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"135",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"136",7.23229160387356,2.11185431611028,1299075,4,1058,0.161012270292703
+"137",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"138",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"139",11.2606158847515,2.82575365697899,905934,0.25,1559,0.180645165724661
+"140",9.02960229688106,1.86754539474537,905935,0.25,1559,-1.36577561249869
+"141",7.02401783651853,2.30653618101248,907788,0.25,1559,-2.75594082657382
+"142",6.46625850175513,2.57592196481569,924100,0.25,1559,-3.14255013689605
+"143",5.38819990643229,2.40272017901346,924105,0.25,1559,-3.8898034127225
+"144",7.77703805989411,2.11185431611028,1299075,0.25,1559,-2.23398698183641
+"145",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"146",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"147",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"148",14.8332455365279,2.82575365697899,905934,2,1032,4.73644487771815
+"149",8.5977181365736,2.82575365697899,905934,10,1058,2.02374455356964
+"150",14.4452580735478,2.82575365697899,905934,2,1168,4.46751246166089
+"151",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"152",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"153",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"154",8.95215386636085,2.82575365697899,905934,1,1559,-0.0331644126326732
+"155",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"156",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"157",10.3975060954322,2.82575365697899,905934,10,1912,3.27126250285819
+"158",12.6460145906971,2.82575365697899,905934,10,1924,4.82980982681614
+"159",13.1203009714627,2.82575365697899,905934,10,2043,5.15856009442182
+"160",15.3571272641322,2.82575365697899,905934,2,2047,5.09957202015393
+"161",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"162",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"163",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"164",13.0910387692171,1.86754539474537,905935,2,1032,3.52883916900419
+"165",10.0481638398596,1.86754539474537,905935,10,1058,3.02911690335763
+"166",12.4791072011117,1.86754539474537,905935,2,1168,3.10468052787634
+"167",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"168",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"169",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"170",7.14255507100334,1.86754539474537,905935,1,1559,-1.2874827155794
+"171",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"172",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"173",11.2403128135108,1.86754539474537,905935,10,1912,3.85545160325138
+"174",11.6795082127463,1.86754539474537,905935,10,1924,4.15987865594635
+"175",12.8718519154586,1.86754539474537,905935,10,2043,4.98634833173982
+"176",12.6375842554799,1.86754539474537,905935,2,2047,3.21452845129508
+"177",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"178",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"179",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"180",10.6851227088505,2.30653618101248,907788,2,1032,1.8611852350972
+"181",3.85680179514967,2.30653618101248,907788,10,1058,-1.26240824175893
+"182",13.8806020165162,2.30653618101248,907788,2,1168,4.07612270774331
+"183",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"184",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"185",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"186",5.71693783079737,2.30653618101248,907788,1,1559,-2.27564528618582
+"187",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"188",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"189",1.14891123577728,2.30653618101248,907788,10,1912,-3.1393749482528
+"190",2.34172699352085,2.30653618101248,907788,10,1924,-2.31257806884537
+"191",10.0117981023866,2.30653618101248,907788,10,2043,3.00391009495922
+"192",10.8871410593406,2.30653618101248,907788,2,2047,2.00121368516079
+"193",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"194",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"195",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"196",10.2783906793626,2.57592196481569,924100,2,1032,1.57926007561423
+"197",7.49508759962623,2.57592196481569,924100,10,1058,1.25945930568527
+"198",13.6403512936497,2.57592196481569,924100,2,1168,3.90959359656095
+"199",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"200",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"201",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"202",7.58459608764889,2.57592196481569,924100,1,1559,-0.98108323119969
+"203",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"204",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"205",7.90636445181169,2.57592196481569,924100,10,1912,1.54453469620719
+"206",10.83310606157,2.57592196481569,924100,10,1924,3.57319739123862
+"207",14.6791577243851,2.57592196481569,924100,10,2043,6.23907725760682
+"208",12.143825806122,2.57592196481569,924100,2,2047,2.87228117424504
+"209",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"210",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"211",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"212",3.81033853654365,2.40272017901346,924105,2,1032,-2.90405203089543
+"213",5.76017945751733,2.40272017901346,924105,10,1058,0.0569126184519901
+"214",8.16542751538186,2.40272017901346,924105,2,1168,0.114665615873975
+"215",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"216",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"217",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"218",3.16781766867632,2.40272017901346,924105,1,1559,-4.04256073946854
+"219",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"220",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"221",9.87374251658438,2.40272017901346,924105,10,1912,2.90821725489986
+"222",9.73539066039704,2.40272017901346,924105,10,1924,2.81231905585837
+"223",13.7959178125883,2.40272017901346,924105,10,2043,5.62686200298683
+"224",11.4824422673119,2.40272017901346,924105,2,2047,2.41384503905002
+"225",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"226",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"227",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"228",11.9821270898956,2.11185431611028,1299075,2,1032,2.7602001649925
+"229",8.86177115379489,2.11185431611028,1299075,10,1058,2.20677215797492
+"230",13.9404334098522,2.11185431611028,1299075,2,1168,4.11759466934317
+"231",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"232",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"233",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"234",9.00304300847153,2.11185431611028,1299075,1,1559,0.00210925274245933
+"235",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"236",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"237",7.1945499157114,2.11185431611028,1299075,10,1912,1.05114245742769
+"238",9.09188553804903,2.11185431611028,1299075,10,1924,2.36627529462696
+"239",13.1125726236745,2.11185431611028,1299075,10,2043,5.15320321194206
+"240",9.8883688502507,2.11185431611028,1299075,2,2047,1.3089175444085
+"241",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"242",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"243",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"244",8.5977181365736,2.82575365697899,905934,10,1058,2.02374455356964
+"245",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"246",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"247",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"248",8.95215386636085,2.82575365697899,905934,1,1559,-0.0331644126326732
+"249",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"250",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"251",10.3975060954322,2.82575365697899,905934,10,1912,3.27126250285819
+"252",12.6460145906971,2.82575365697899,905934,10,1924,4.82980982681614
+"253",13.1203009714627,2.82575365697899,905934,10,2043,5.15856009442182
+"254",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"255",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"256",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"257",10.0481638398596,1.86754539474537,905935,10,1058,3.02911690335763
+"258",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"259",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"260",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"261",7.14255507100334,1.86754539474537,905935,1,1559,-1.2874827155794
+"262",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"263",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"264",11.2403128135108,1.86754539474537,905935,10,1912,3.85545160325138
+"265",11.6795082127463,1.86754539474537,905935,10,1924,4.15987865594635
+"266",12.8718519154586,1.86754539474537,905935,10,2043,4.98634833173982
+"267",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"268",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"269",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"270",3.85680179514967,2.30653618101248,907788,10,1058,-1.26240824175893
+"271",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"272",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"273",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"274",5.71693783079737,2.30653618101248,907788,1,1559,-2.27564528618582
+"275",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"276",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"277",1.14891123577728,2.30653618101248,907788,10,1912,-3.1393749482528
+"278",2.34172699352085,2.30653618101248,907788,10,1924,-2.31257806884537
+"279",10.0117981023866,2.30653618101248,907788,10,2043,3.00391009495922
+"280",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"281",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"282",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"283",7.49508759962623,2.57592196481569,924100,10,1058,1.25945930568527
+"284",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"285",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"286",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"287",7.58459608764889,2.57592196481569,924100,1,1559,-0.98108323119969
+"288",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"289",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"290",7.90636445181169,2.57592196481569,924100,10,1912,1.54453469620719
+"291",10.83310606157,2.57592196481569,924100,10,1924,3.57319739123862
+"292",14.6791577243851,2.57592196481569,924100,10,2043,6.23907725760682
+"293",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"294",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"295",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"296",5.76017945751733,2.40272017901346,924105,10,1058,0.0569126184519901
+"297",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"298",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"299",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"300",3.16781766867632,2.40272017901346,924105,1,1559,-4.04256073946854
+"301",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"302",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"303",9.87374251658438,2.40272017901346,924105,10,1912,2.90821725489986
+"304",9.73539066039704,2.40272017901346,924105,10,1924,2.81231905585837
+"305",13.7959178125883,2.40272017901346,924105,10,2043,5.62686200298683
+"306",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"307",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"308",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"309",8.86177115379489,2.11185431611028,1299075,10,1058,2.20677215797492
+"310",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"311",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"312",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"313",9.00304300847153,2.11185431611028,1299075,1,1559,0.00210925274245933
+"314",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"315",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"316",7.1945499157114,2.11185431611028,1299075,10,1912,1.05114245742769
+"317",9.09188553804903,2.11185431611028,1299075,10,1924,2.36627529462696
+"318",13.1125726236745,2.11185431611028,1299075,10,2043,5.15320321194206
+"319",10.7613865448833,2.82575365697899,905934,4,1058,2.60719447858199
+"320",10.447193076105,1.86754539474537,905935,4,1058,2.38941216154793
+"321",5.77450936668732,2.30653618101248,907788,4,1058,-0.849445377283303
+"322",8.32311922367592,2.57592196481569,924100,4,1058,0.917116359435628
+"323",5.99553627577977,2.40272017901346,924105,4,1058,-0.696241198417997
+"324",7.23229160387356,2.11185431611028,1299075,4,1058,0.161012270292703
+"325",11.2606158847515,2.82575365697899,905934,0.25,1559,0.180645165724661
+"326",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"327",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"328",9.02960229688106,1.86754539474537,905935,0.25,1559,-1.36577561249869
+"329",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"330",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"331",7.02401783651853,2.30653618101248,907788,0.25,1559,-2.75594082657382
+"332",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"333",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"334",6.46625850175513,2.57592196481569,924100,0.25,1559,-3.14255013689605
+"335",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"336",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"337",5.38819990643229,2.40272017901346,924105,0.25,1559,-3.8898034127225
+"338",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"339",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"340",7.77703805989411,2.11185431611028,1299075,0.25,1559,-2.23398698183641
+"341",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"342",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"343",14.8332455365279,2.82575365697899,905934,2,1032,4.73644487771815
+"344",14.4452580735478,2.82575365697899,905934,2,1168,4.46751246166089
+"345",15.3571272641322,2.82575365697899,905934,2,2047,5.09957202015393
+"346",13.0910387692171,1.86754539474537,905935,2,1032,3.52883916900419
+"347",12.4791072011117,1.86754539474537,905935,2,1168,3.10468052787634
+"348",12.6375842554799,1.86754539474537,905935,2,2047,3.21452845129508
+"349",10.6851227088505,2.30653618101248,907788,2,1032,1.8611852350972
+"350",13.8806020165162,2.30653618101248,907788,2,1168,4.07612270774331
+"351",10.8871410593406,2.30653618101248,907788,2,2047,2.00121368516079
+"352",10.2783906793626,2.57592196481569,924100,2,1032,1.57926007561423
+"353",13.6403512936497,2.57592196481569,924100,2,1168,3.90959359656095
+"354",12.143825806122,2.57592196481569,924100,2,2047,2.87228117424504
+"355",3.81033853654365,2.40272017901346,924105,2,1032,-2.90405203089543
+"356",8.16542751538186,2.40272017901346,924105,2,1168,0.114665615873975
+"357",11.4824422673119,2.40272017901346,924105,2,2047,2.41384503905002
+"358",11.9821270898956,2.11185431611028,1299075,2,1032,2.7602001649925
+"359",13.9404334098522,2.11185431611028,1299075,2,1168,4.11759466934317
+"360",9.8883688502507,2.11185431611028,1299075,2,2047,1.3089175444085
+"361",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"362",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"363",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"364",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"365",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"366",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"367",13.1203009714627,2.82575365697899,905934,10,2043,5.15856009442182
+"368",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"369",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"370",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"371",10.0481638398596,1.86754539474537,905935,10,1058,3.02911690335763
+"372",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"373",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"374",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"375",7.14255507100334,1.86754539474537,905935,1,1559,-1.2874827155794
+"376",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"377",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"378",11.2403128135108,1.86754539474537,905935,10,1912,3.85545160325138
+"379",11.6795082127463,1.86754539474537,905935,10,1924,4.15987865594635
+"380",12.8718519154586,1.86754539474537,905935,10,2043,4.98634833173982
+"381",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"382",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"383",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"384",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"385",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"386",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"387",10.0117981023866,2.30653618101248,907788,10,2043,3.00391009495922
+"388",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"389",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"390",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"391",7.49508759962623,2.57592196481569,924100,10,1058,1.25945930568527
+"392",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"393",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"394",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"395",7.58459608764889,2.57592196481569,924100,1,1559,-0.98108323119969
+"396",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"397",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"398",7.90636445181169,2.57592196481569,924100,10,1912,1.54453469620719
+"399",10.83310606157,2.57592196481569,924100,10,1924,3.57319739123862
+"400",14.6791577243851,2.57592196481569,924100,10,2043,6.23907725760682
+"401",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"402",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"403",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"404",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"405",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"406",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"407",13.7959178125883,2.40272017901346,924105,10,2043,5.62686200298683
+"408",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"409",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"410",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"411",8.86177115379489,2.11185431611028,1299075,10,1058,2.20677215797492
+"412",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"413",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"414",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"415",9.00304300847153,2.11185431611028,1299075,1,1559,0.00210925274245933
+"416",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"417",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"418",7.1945499157114,2.11185431611028,1299075,10,1912,1.05114245742769
+"419",9.09188553804903,2.11185431611028,1299075,10,1924,2.36627529462696
+"420",13.1125726236745,2.11185431611028,1299075,10,2043,5.15320321194206
+"421",11.2606158847515,2.82575365697899,905934,0.25,1559,0.180645165724661
+"422",9.02960229688106,1.86754539474537,905935,0.25,1559,-1.36577561249869
+"423",7.02401783651853,2.30653618101248,907788,0.25,1559,-2.75594082657382
+"424",6.46625850175513,2.57592196481569,924100,0.25,1559,-3.14255013689605
+"425",5.38819990643229,2.40272017901346,924105,0.25,1559,-3.8898034127225
+"426",7.77703805989411,2.11185431611028,1299075,0.25,1559,-2.23398698183641
+"427",14.8332455365279,2.82575365697899,905934,2,1032,4.73644487771815
+"428",10.7613865448833,2.82575365697899,905934,4,1058,2.60719447858199
+"429",14.4452580735478,2.82575365697899,905934,2,1168,4.46751246166089
+"430",15.3571272641322,2.82575365697899,905934,2,2047,5.09957202015393
+"431",13.0910387692171,1.86754539474537,905935,2,1032,3.52883916900419
+"432",10.447193076105,1.86754539474537,905935,4,1058,2.38941216154793
+"433",12.4791072011117,1.86754539474537,905935,2,1168,3.10468052787634
+"434",12.6375842554799,1.86754539474537,905935,2,2047,3.21452845129508
+"435",10.6851227088505,2.30653618101248,907788,2,1032,1.8611852350972
+"436",5.77450936668732,2.30653618101248,907788,4,1058,-0.849445377283303
+"437",13.8806020165162,2.30653618101248,907788,2,1168,4.07612270774331
+"438",10.8871410593406,2.30653618101248,907788,2,2047,2.00121368516079
+"439",10.2783906793626,2.57592196481569,924100,2,1032,1.57926007561423
+"440",8.32311922367592,2.57592196481569,924100,4,1058,0.917116359435628
+"441",13.6403512936497,2.57592196481569,924100,2,1168,3.90959359656095
+"442",12.143825806122,2.57592196481569,924100,2,2047,2.87228117424504
+"443",3.81033853654365,2.40272017901346,924105,2,1032,-2.90405203089543
+"444",5.99553627577977,2.40272017901346,924105,4,1058,-0.696241198417997
+"445",8.16542751538186,2.40272017901346,924105,2,1168,0.114665615873975
+"446",11.4824422673119,2.40272017901346,924105,2,2047,2.41384503905002
+"447",11.9821270898956,2.11185431611028,1299075,2,1032,2.7602001649925
+"448",7.23229160387356,2.11185431611028,1299075,4,1058,0.161012270292703
+"449",13.9404334098522,2.11185431611028,1299075,2,1168,4.11759466934317
+"450",9.8883688502507,2.11185431611028,1299075,2,2047,1.3089175444085
+"451",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"452",8.5977181365736,2.82575365697899,905934,10,1058,2.02374455356964
+"453",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"454",8.95215386636085,2.82575365697899,905934,1,1559,-0.0331644126326732
+"455",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"456",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"457",10.3975060954322,2.82575365697899,905934,10,1912,3.27126250285819
+"458",12.6460145906971,2.82575365697899,905934,10,1924,4.82980982681614
+"459",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"460",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"461",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"462",3.85680179514967,2.30653618101248,907788,10,1058,-1.26240824175893
+"463",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"464",5.71693783079737,2.30653618101248,907788,1,1559,-2.27564528618582
+"465",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"466",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"467",1.14891123577728,2.30653618101248,907788,10,1912,-3.1393749482528
+"468",2.34172699352085,2.30653618101248,907788,10,1924,-2.31257806884537
+"469",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"470",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"471",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"472",5.76017945751733,2.40272017901346,924105,10,1058,0.0569126184519901
+"473",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"474",3.16781766867632,2.40272017901346,924105,1,1559,-4.04256073946854
+"475",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"476",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"477",9.87374251658438,2.40272017901346,924105,10,1912,2.90821725489986
+"478",9.73539066039704,2.40272017901346,924105,10,1924,2.81231905585837
+"479",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"480",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"481",14.8332455365279,2.82575365697899,905934,2,1032,4.73644487771815
+"482",10.7613865448833,2.82575365697899,905934,4,1058,2.60719447858199
+"483",14.4452580735478,2.82575365697899,905934,2,1168,4.46751246166089
+"484",15.3571272641322,2.82575365697899,905934,2,2047,5.09957202015393
+"485",13.0910387692171,1.86754539474537,905935,2,1032,3.52883916900419
+"486",10.447193076105,1.86754539474537,905935,4,1058,2.38941216154793
+"487",12.4791072011117,1.86754539474537,905935,2,1168,3.10468052787634
+"488",12.6375842554799,1.86754539474537,905935,2,2047,3.21452845129508
+"489",10.6851227088505,2.30653618101248,907788,2,1032,1.8611852350972
+"490",5.77450936668732,2.30653618101248,907788,4,1058,-0.849445377283303
+"491",13.8806020165162,2.30653618101248,907788,2,1168,4.07612270774331
+"492",10.8871410593406,2.30653618101248,907788,2,2047,2.00121368516079
+"493",10.2783906793626,2.57592196481569,924100,2,1032,1.57926007561423
+"494",8.32311922367592,2.57592196481569,924100,4,1058,0.917116359435628
+"495",13.6403512936497,2.57592196481569,924100,2,1168,3.90959359656095
+"496",12.143825806122,2.57592196481569,924100,2,2047,2.87228117424504
+"497",3.81033853654365,2.40272017901346,924105,2,1032,-2.90405203089543
+"498",5.99553627577977,2.40272017901346,924105,4,1058,-0.696241198417997
+"499",8.16542751538186,2.40272017901346,924105,2,1168,0.114665615873975
+"500",11.4824422673119,2.40272017901346,924105,2,2047,2.41384503905002
+"501",11.9821270898956,2.11185431611028,1299075,2,1032,2.7602001649925
+"502",7.23229160387356,2.11185431611028,1299075,4,1058,0.161012270292703
+"503",13.9404334098522,2.11185431611028,1299075,2,1168,4.11759466934317
+"504",9.8883688502507,2.11185431611028,1299075,2,2047,1.3089175444085
+"505",11.2606158847515,2.82575365697899,905934,0.25,1559,0.180645165724661
+"506",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"507",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"508",9.02960229688106,1.86754539474537,905935,0.25,1559,-1.36577561249869
+"509",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"510",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"511",7.02401783651853,2.30653618101248,907788,0.25,1559,-2.75594082657382
+"512",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"513",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"514",6.46625850175513,2.57592196481569,924100,0.25,1559,-3.14255013689605
+"515",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"516",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"517",5.38819990643229,2.40272017901346,924105,0.25,1559,-3.8898034127225
+"518",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"519",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"520",7.77703805989411,2.11185431611028,1299075,0.25,1559,-2.23398698183641
+"521",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"522",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"523",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"524",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"525",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"526",8.5977181365736,2.82575365697899,905934,10,1058,2.02374455356964
+"527",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"528",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"529",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"530",8.95215386636085,2.82575365697899,905934,1,1559,-0.0331644126326732
+"531",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"532",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"533",10.3975060954322,2.82575365697899,905934,10,1912,3.27126250285819
+"534",12.6460145906971,2.82575365697899,905934,10,1924,4.82980982681614
+"535",13.1203009714627,2.82575365697899,905934,10,2043,5.15856009442182
+"536",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"537",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"538",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"539",10.0481638398596,1.86754539474537,905935,10,1058,3.02911690335763
+"540",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"541",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"542",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"543",7.14255507100334,1.86754539474537,905935,1,1559,-1.2874827155794
+"544",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"545",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"546",11.2403128135108,1.86754539474537,905935,10,1912,3.85545160325138
+"547",11.6795082127463,1.86754539474537,905935,10,1924,4.15987865594635
+"548",12.8718519154586,1.86754539474537,905935,10,2043,4.98634833173982
+"549",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"550",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"551",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"552",3.85680179514967,2.30653618101248,907788,10,1058,-1.26240824175893
+"553",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"554",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"555",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"556",5.71693783079737,2.30653618101248,907788,1,1559,-2.27564528618582
+"557",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"558",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"559",1.14891123577728,2.30653618101248,907788,10,1912,-3.1393749482528
+"560",2.34172699352085,2.30653618101248,907788,10,1924,-2.31257806884537
+"561",10.0117981023866,2.30653618101248,907788,10,2043,3.00391009495922
+"562",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"563",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"564",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"565",7.49508759962623,2.57592196481569,924100,10,1058,1.25945930568527
+"566",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"567",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"568",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"569",7.58459608764889,2.57592196481569,924100,1,1559,-0.98108323119969
+"570",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"571",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"572",7.90636445181169,2.57592196481569,924100,10,1912,1.54453469620719
+"573",10.83310606157,2.57592196481569,924100,10,1924,3.57319739123862
+"574",14.6791577243851,2.57592196481569,924100,10,2043,6.23907725760682
+"575",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"576",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"577",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"578",5.76017945751733,2.40272017901346,924105,10,1058,0.0569126184519901
+"579",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"580",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"581",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"582",3.16781766867632,2.40272017901346,924105,1,1559,-4.04256073946854
+"583",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"584",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"585",9.87374251658438,2.40272017901346,924105,10,1912,2.90821725489986
+"586",9.73539066039704,2.40272017901346,924105,10,1924,2.81231905585837
+"587",13.7959178125883,2.40272017901346,924105,10,2043,5.62686200298683
+"588",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"589",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"590",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"591",8.86177115379489,2.11185431611028,1299075,10,1058,2.20677215797492
+"592",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"593",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"594",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"595",9.00304300847153,2.11185431611028,1299075,1,1559,0.00210925274245933
+"596",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"597",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"598",7.1945499157114,2.11185431611028,1299075,10,1912,1.05114245742769
+"599",9.09188553804903,2.11185431611028,1299075,10,1924,2.36627529462696
+"600",13.1125726236745,2.11185431611028,1299075,10,2043,5.15320321194206
+"601",10.7613865448833,2.82575365697899,905934,4,1058,2.60719447858199
+"602",10.447193076105,1.86754539474537,905935,4,1058,2.38941216154793
+"603",5.77450936668732,2.30653618101248,907788,4,1058,-0.849445377283303
+"604",8.32311922367592,2.57592196481569,924100,4,1058,0.917116359435628
+"605",5.99553627577977,2.40272017901346,924105,4,1058,-0.696241198417997
+"606",7.23229160387356,2.11185431611028,1299075,4,1058,0.161012270292703
+"607",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"608",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"609",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"610",8.5977181365736,2.82575365697899,905934,10,1058,2.02374455356964
+"611",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"612",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"613",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"614",8.95215386636085,2.82575365697899,905934,1,1559,-0.0331644126326732
+"615",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"616",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"617",10.3975060954322,2.82575365697899,905934,10,1912,3.27126250285819
+"618",12.6460145906971,2.82575365697899,905934,10,1924,4.82980982681614
+"619",13.1203009714627,2.82575365697899,905934,10,2043,5.15856009442182
+"620",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"621",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"622",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"623",10.0481638398596,1.86754539474537,905935,10,1058,3.02911690335763
+"624",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"625",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"626",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"627",7.14255507100334,1.86754539474537,905935,1,1559,-1.2874827155794
+"628",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"629",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"630",11.2403128135108,1.86754539474537,905935,10,1912,3.85545160325138
+"631",11.6795082127463,1.86754539474537,905935,10,1924,4.15987865594635
+"632",12.8718519154586,1.86754539474537,905935,10,2043,4.98634833173982
+"633",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"634",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"635",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"636",3.85680179514967,2.30653618101248,907788,10,1058,-1.26240824175893
+"637",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"638",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"639",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"640",5.71693783079737,2.30653618101248,907788,1,1559,-2.27564528618582
+"641",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"642",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"643",1.14891123577728,2.30653618101248,907788,10,1912,-3.1393749482528
+"644",2.34172699352085,2.30653618101248,907788,10,1924,-2.31257806884537
+"645",10.0117981023866,2.30653618101248,907788,10,2043,3.00391009495922
+"646",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"647",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"648",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"649",7.49508759962623,2.57592196481569,924100,10,1058,1.25945930568527
+"650",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"651",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"652",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"653",7.58459608764889,2.57592196481569,924100,1,1559,-0.98108323119969
+"654",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"655",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"656",7.90636445181169,2.57592196481569,924100,10,1912,1.54453469620719
+"657",10.83310606157,2.57592196481569,924100,10,1924,3.57319739123862
+"658",14.6791577243851,2.57592196481569,924100,10,2043,6.23907725760682
+"659",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"660",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"661",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"662",5.76017945751733,2.40272017901346,924105,10,1058,0.0569126184519901
+"663",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"664",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"665",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"666",3.16781766867632,2.40272017901346,924105,1,1559,-4.04256073946854
+"667",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"668",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"669",9.87374251658438,2.40272017901346,924105,10,1912,2.90821725489986
+"670",9.73539066039704,2.40272017901346,924105,10,1924,2.81231905585837
+"671",13.7959178125883,2.40272017901346,924105,10,2043,5.62686200298683
+"672",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"673",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"674",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"675",8.86177115379489,2.11185431611028,1299075,10,1058,2.20677215797492
+"676",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"677",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"678",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"679",9.00304300847153,2.11185431611028,1299075,1,1559,0.00210925274245933
+"680",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"681",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"682",7.1945499157114,2.11185431611028,1299075,10,1912,1.05114245742769
+"683",9.09188553804903,2.11185431611028,1299075,10,1924,2.36627529462696
+"684",13.1125726236745,2.11185431611028,1299075,10,2043,5.15320321194206
+"685",11.2606158847515,2.82575365697899,905934,0.25,1559,0.180645165724661
+"686",9.02960229688106,1.86754539474537,905935,0.25,1559,-1.36577561249869
+"687",7.02401783651853,2.30653618101248,907788,0.25,1559,-2.75594082657382
+"688",6.46625850175513,2.57592196481569,924100,0.25,1559,-3.14255013689605
+"689",5.38819990643229,2.40272017901346,924105,0.25,1559,-3.8898034127225
+"690",7.77703805989411,2.11185431611028,1299075,0.25,1559,-2.23398698183641
+"691",14.8332455365279,2.82575365697899,905934,2,1032,4.73644487771815
+"692",14.4452580735478,2.82575365697899,905934,2,1168,4.46751246166089
+"693",15.3571272641322,2.82575365697899,905934,2,2047,5.09957202015393
+"694",13.0910387692171,1.86754539474537,905935,2,1032,3.52883916900419
+"695",12.4791072011117,1.86754539474537,905935,2,1168,3.10468052787634
+"696",12.6375842554799,1.86754539474537,905935,2,2047,3.21452845129508
+"697",10.6851227088505,2.30653618101248,907788,2,1032,1.8611852350972
+"698",13.8806020165162,2.30653618101248,907788,2,1168,4.07612270774331
+"699",10.8871410593406,2.30653618101248,907788,2,2047,2.00121368516079
+"700",10.2783906793626,2.57592196481569,924100,2,1032,1.57926007561423
+"701",13.6403512936497,2.57592196481569,924100,2,1168,3.90959359656095
+"702",12.143825806122,2.57592196481569,924100,2,2047,2.87228117424504
+"703",3.81033853654365,2.40272017901346,924105,2,1032,-2.90405203089543
+"704",8.16542751538186,2.40272017901346,924105,2,1168,0.114665615873975
+"705",11.4824422673119,2.40272017901346,924105,2,2047,2.41384503905002
+"706",11.9821270898956,2.11185431611028,1299075,2,1032,2.7602001649925
+"707",13.9404334098522,2.11185431611028,1299075,2,1168,4.11759466934317
+"708",9.8883688502507,2.11185431611028,1299075,2,2047,1.3089175444085
+"709",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"710",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"711",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"712",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"713",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"714",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"715",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"716",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"717",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"718",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"719",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"720",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"721",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"722",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"723",12.4565199603777,2.82575365697899,905934,10,1032,4.69846215807905
+"724",14.8332455365279,2.82575365697899,905934,2,1032,4.73644487771815
+"725",8.5977181365736,2.82575365697899,905934,10,1058,2.02374455356964
+"726",10.7613865448833,2.82575365697899,905934,4,1058,2.60719447858199
+"727",14.4452580735478,2.82575365697899,905934,2,1168,4.46751246166089
+"728",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"729",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"730",15.1868772220085,2.82575365697899,905934,1,1372,4.28841650290575
+"731",11.2606158847515,2.82575365697899,905934,0.25,1559,0.180645165724661
+"732",8.95215386636085,2.82575365697899,905934,1,1559,-0.0331644126326732
+"733",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"734",13.6000061865013,2.82575365697899,905934,5,1560,4.7979192311658
+"735",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"736",15.8147252143953,2.82575365697899,905934,10,1736,7.0261926616429
+"737",10.3975060954322,2.82575365697899,905934,10,1912,3.27126250285819
+"738",12.6460145906971,2.82575365697899,905934,10,1924,4.82980982681614
+"739",13.1203009714627,2.82575365697899,905934,10,2043,5.15856009442182
+"740",15.3571272641322,2.82575365697899,905934,2,2047,5.09957202015393
+"741",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"742",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"743",10.4707451345632,1.86754539474537,905935,10,1032,3.32202793633879
+"744",13.0910387692171,1.86754539474537,905935,2,1032,3.52883916900419
+"745",10.0481638398596,1.86754539474537,905935,10,1058,3.02911690335763
+"746",10.447193076105,1.86754539474537,905935,4,1058,2.38941216154793
+"747",12.4791072011117,1.86754539474537,905935,2,1168,3.10468052787634
+"748",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"749",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"750",12.6091649089152,1.86754539474537,905935,1,1372,2.50168248079046
+"751",9.02960229688106,1.86754539474537,905935,0.25,1559,-1.36577561249869
+"752",7.14255507100334,1.86754539474537,905935,1,1559,-1.2874827155794
+"753",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"754",12.9888204867694,1.86754539474537,905935,5,1560,4.37427758659803
+"755",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"756",14.1084546201919,1.86754539474537,905935,10,1736,5.84349600999849
+"757",11.2403128135108,1.86754539474537,905935,10,1912,3.85545160325138
+"758",11.6795082127463,1.86754539474537,905935,10,1924,4.15987865594635
+"759",12.8718519154586,1.86754539474537,905935,10,2043,4.98634833173982
+"760",12.6375842554799,1.86754539474537,905935,2,2047,3.21452845129508
+"761",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"762",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"763",6.91178323358013,2.30653618101248,907788,10,1032,0.855143528952105
+"764",10.6851227088505,2.30653618101248,907788,2,1032,1.8611852350972
+"765",3.85680179514967,2.30653618101248,907788,10,1058,-1.26240824175893
+"766",5.77450936668732,2.30653618101248,907788,4,1058,-0.849445377283303
+"767",13.8806020165162,2.30653618101248,907788,2,1168,4.07612270774331
+"768",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"769",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"770",13.3166678038932,2.30653618101248,907788,1,1372,2.99208611768243
+"771",7.02401783651853,2.30653618101248,907788,0.25,1559,-2.75594082657382
+"772",5.71693783079737,2.30653618101248,907788,1,1559,-2.27564528618582
+"773",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"774",11.0099734211479,2.30653618101248,907788,5,1560,3.00264532230322
+"775",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"776",14.4878222003395,2.30653618101248,907788,10,1736,6.10645357857362
+"777",1.14891123577728,2.30653618101248,907788,10,1912,-3.1393749482528
+"778",2.34172699352085,2.30653618101248,907788,10,1924,-2.31257806884537
+"779",10.0117981023866,2.30653618101248,907788,10,2043,3.00391009495922
+"780",10.8871410593406,2.30653618101248,907788,2,2047,2.00121368516079
+"781",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"782",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"783",9.67852155343416,2.57592196481569,924100,10,1032,2.77290039470609
+"784",10.2783906793626,2.57592196481569,924100,2,1032,1.57926007561423
+"785",7.49508759962623,2.57592196481569,924100,10,1058,1.25945930568527
+"786",8.32311922367592,2.57592196481569,924100,4,1058,0.917116359435628
+"787",13.6403512936497,2.57592196481569,924100,2,1168,3.90959359656095
+"788",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"789",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"790",11.3459623634984,2.57592196481569,924100,1,1372,1.62609719795866
+"791",6.46625850175513,2.57592196481569,924100,0.25,1559,-3.14255013689605
+"792",7.58459608764889,2.57592196481569,924100,1,1559,-0.98108323119969
+"793",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"794",9.83263307884059,2.57592196481569,924100,5,1560,2.1865751834734
+"795",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"796",10.6822565834447,2.57592196481569,924100,10,1736,3.46863650078711
+"797",7.90636445181169,2.57592196481569,924100,10,1912,1.54453469620719
+"798",10.83310606157,2.57592196481569,924100,10,1924,3.57319739123862
+"799",14.6791577243851,2.57592196481569,924100,10,2043,6.23907725760682
+"800",12.143825806122,2.57592196481569,924100,2,2047,2.87228117424504
+"801",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"802",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"803",4.28200888142533,2.40272017901346,924105,10,1032,-0.967677148752849
+"804",3.81033853654365,2.40272017901346,924105,2,1032,-2.90405203089543
+"805",5.76017945751733,2.40272017901346,924105,10,1058,0.0569126184519901
+"806",5.99553627577977,2.40272017901346,924105,4,1058,-0.696241198417997
+"807",8.16542751538186,2.40272017901346,924105,2,1168,0.114665615873975
+"808",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"809",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"810",4.35680600178699,2.40272017901346,924105,1,1372,-3.21841682865421
+"811",5.38819990643229,2.40272017901346,924105,0.25,1559,-3.8898034127225
+"812",3.16781766867632,2.40272017901346,924105,1,1559,-4.04256073946854
+"813",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"814",8.29681849576314,2.40272017901346,924105,5,1560,1.12202963535042
+"815",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"816",6.88348617823547,2.40272017901346,924105,10,1736,0.835529504821806
+"817",9.87374251658438,2.40272017901346,924105,10,1912,2.90821725489986
+"818",9.73539066039704,2.40272017901346,924105,10,1924,2.81231905585837
+"819",13.7959178125883,2.40272017901346,924105,10,2043,5.62686200298683
+"820",11.4824422673119,2.40272017901346,924105,2,2047,2.41384503905002
+"821",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"822",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"823",9.98511560625003,2.11185431611028,1299075,10,1032,2.98541519799186
+"824",11.9821270898956,2.11185431611028,1299075,2,1032,2.7602001649925
+"825",8.86177115379489,2.11185431611028,1299075,10,1058,2.20677215797492
+"826",7.23229160387356,2.11185431611028,1299075,4,1058,0.161012270292703
+"827",13.9404334098522,2.11185431611028,1299075,2,1168,4.11759466934317
+"828",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"829",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"830",13.7097527994872,2.11185431611028,1299075,1,1372,3.26455187409888
+"831",7.77703805989411,2.11185431611028,1299075,0.25,1559,-2.23398698183641
+"832",9.00304300847153,2.11185431611028,1299075,1,1559,0.00210925274245933
+"833",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"834",11.3508955787036,2.11185431611028,1299075,5,1560,3.23895455460336
+"835",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"836",14.6822921303097,2.11185431611028,1299075,10,1736,6.24124986223617
+"837",7.1945499157114,2.11185431611028,1299075,10,1912,1.05114245742769
+"838",9.09188553804903,2.11185431611028,1299075,10,1924,2.36627529462696
+"839",13.1125726236745,2.11185431611028,1299075,10,2043,5.15320321194206
+"840",9.8883688502507,2.11185431611028,1299075,2,2047,1.3089175444085
diff --git a/custom_modules/boolean_model_interface.cpp b/custom_modules/boolean_model_interface.cpp
new file mode 100644
index 0000000..0e6815d
--- /dev/null
+++ b/custom_modules/boolean_model_interface.cpp
@@ -0,0 +1,196 @@
+#include "./boolean_model_interface.h"
+
+
+void update_custom_variables( Cell* pCell )
+{
+ // first density is oxygen - shouldn't be changed: index from 1
+ for (int i = 0; i < microenvironment.number_of_densities(); i++)
+ {
+ const std::string& drug_name = microenvironment.density_names[i];
+ if (drug_name != "oxygen") {
+ int drug_index = microenvironment.find_density_index(drug_name);
+
+ // Cache the string operations
+ std::string conc_var_name = drug_name + "_concentration";
+ std::string node_var_name = drug_name + "_node";
+
+ int index_drug_conc = pCell->custom_data.find_variable_index(conc_var_name);
+ int index_drug_node = pCell->custom_data.find_variable_index(node_var_name);
+
+ const string& drug_target = get_value(drug_targets, drug_name);
+ std::string anti_target = "anti_" + drug_target;
+
+ pCell->custom_data.variables.at(index_drug_conc).value = pCell->nearest_density_vector()[drug_index];
+ pCell->custom_data.variables.at(index_drug_node).value = pCell->phenotype.intracellular->get_boolean_variable_value(anti_target);
+ }
+ }
+}
+
+
+// void set_boolean_node (Cell* pCell, std::string drug_name, int drug_index, double threshold) {
+void set_boolean_node (Cell* pCell, std::string drug_name, int drug_index) {
+ if (drug_index != -1)
+ {
+ string drug_target = get_value(drug_targets, drug_name);
+ std::string node_name = "anti_" + drug_target;
+ // get internalized substrate concentration
+ double drug_conc = pCell->nearest_density_vector()[drug_index];
+ double cell_viability = get_cell_viability_for_drug_conc(drug_conc, parameters.strings("cell_line"), drug_name);
+ double cell_inhibition = 1 - cell_viability;
+ double random_num = (double) rand()/RAND_MAX;
+ if (random_num <= cell_inhibition)
+ {
+ pCell->phenotype.intracellular->set_boolean_variable_value(node_name, 1);
+ }
+ else
+ {
+ pCell->phenotype.intracellular->set_boolean_variable_value(node_name, 0);
+ }
+
+ }
+}
+
+void set_input_nodes(Cell* pCell) {
+
+ if (PhysiCell::parameters.ints("simulation_mode") == 0)
+ {
+ // single inhibition - just one drug is present
+
+ std::string drug_name = microenvironment.density_names[1];
+ int drug_index = microenvironment.find_density_index(drug_name);
+ // int drug_threshold = PhysiCell::parameters.doubles( "threshold_" + drug_name);
+
+ if (pCell->type_name == drug_name + "_sensitive")
+ {
+ // cell is sensitive to the drug -> set boolean node
+ // set_boolean_node(pCell, drug_name, drug_index, drug_threshold);
+ set_boolean_node(pCell, drug_name, drug_index);
+ }
+ }
+ else if (PhysiCell::parameters.ints("simulation_mode") == 1)
+ {
+ // double inhibition - two drugs are present - we have 4 cell strains
+
+ std::string drug1_name = microenvironment.density_names[1];
+ int drug1_index = microenvironment.find_density_index(drug1_name);
+ // int drug1_threshold = PhysiCell::parameters.doubles( "threshold_" + drug1_name);
+
+ std::string drug2_name = microenvironment.density_names[2];
+ int drug2_index = microenvironment.find_density_index(drug2_name);
+ // int drug2_threshold = PhysiCell::parameters.doubles( "threshold_" + drug2_name);
+
+ // if (pCell->type_name == drug1_name + "_sensitive")
+ // {
+ // cell is sensitive to both drugs
+ // set_boolean_node(pCell, drug1_name, drug1_index, drug1_threshold);
+ // set_boolean_node(pCell, drug2_name, drug2_index, drug2_threshold);
+ set_boolean_node(pCell, drug1_name, drug1_index);
+ set_boolean_node(pCell, drug2_name, drug2_index);
+ // }
+ // else if (pCell->type_name == drug2_name + "_resistant")
+ // {
+ // cell is only sensitive to the first drug
+ // set_boolean_node(pCell, drug1_name, drug1_index, drug1_threshold);
+ // set_boolean_node(pCell, drug1_name, drug1_index);
+ // }
+ // else if (pCell->type_name == drug2_name + "_sensitive")
+ // {
+ // cell is only sensitive to the second drug
+ // set_boolean_node(pCell, drug2_name, drug2_index, drug2_threshold);
+ // set_boolean_node(pCell, drug2_name, drug2_index);
+ // }
+
+ // else: cell is sensitive to no drug --> no boolean node is set
+ }
+}
+
+void from_nodes_to_cell(Cell* pCell, Phenotype& phenotype, double dt)
+{
+
+ // Prostate live model
+ // map apoptosis, proliferation and invasion values to agent-based model
+
+ if( pCell->phenotype.cycle.model().code == PhysiCell_constants::live_cells_cycle_model )
+ {
+ int start_phase_index = phenotype.cycle.model().find_phase_index( PhysiCell_constants::live );
+ int end_phase_index = phenotype.cycle.model().find_phase_index( PhysiCell_constants::live );
+ int apoptosis_index = phenotype.death.find_death_model_index(PhysiCell_constants::apoptosis_death_model);
+
+ // Update Apoptosis
+ if(pCell->phenotype.intracellular->get_boolean_variable_value("Apoptosis"))
+ {
+ // simple implementation, just lead immediately to death
+ // pCell->start_death(apoptosis_index);
+
+ // increase death rate whenever the node is ON
+ pCell->phenotype.death.rates[apoptosis_index] = PhysiCell::parameters.doubles("apoptosis_rate_multiplier") * pCell->phenotype.death.rates[apoptosis_index];
+ }
+
+ // Update Adhesion
+ // if( pCell->phenotype.intracellular->get_boolean_variable_value("EMT")){ // nothing happens for now }
+
+ // Update pReference_live_phenotype for proliferation node
+ if (pCell->phenotype.intracellular->get_boolean_variable_value("Proliferation"))
+ {
+ // multiplier implementation
+ //pCell->parameters.pReference_live_phenotype->cycle.data.transition_rate(start_phase_index,end_phase_index) *= 2.5;
+ //std::cout << "Rate up! " << std::endl;
+
+ //switch implementation
+ double high_transition_rate = PhysiCell::parameters.doubles("base_transition_rate") * PhysiCell::parameters.doubles("transition_rate_multiplier");
+ pCell->parameters.pReference_live_phenotype->cycle.data.transition_rate(start_phase_index,end_phase_index) = high_transition_rate;
+
+ // pCell->parameters.pReference_live_phenotype->cycle.data.transition_rate(start_phase_index,end_phase_index) = PhysiCell::parameters.doubles("base_transition_rate");
+ }
+ else
+ {
+ //multiplier implementation
+ //pCell->parameters.pReference_live_phenotype->cycle.data.transition_rate(start_phase_index,end_phase_index) *= 0.4;
+ //std::cout << "Rate down! " << std::endl;
+
+ //switch implementation
+ pCell->parameters.pReference_live_phenotype->cycle.data.transition_rate(start_phase_index,end_phase_index) = PhysiCell::parameters.doubles("base_transition_rate");
+ }
+
+ // Update Migration
+ if(pCell->phenotype.intracellular->get_boolean_variable_value("Migration"))
+ {
+ pCell->phenotype.motility.is_motile = true;
+ pCell->phenotype.motility.migration_speed = PhysiCell::parameters.doubles("migration_speed");
+ pCell->phenotype.motility.migration_bias = PhysiCell::parameters.doubles("migration_bias");
+ pCell->phenotype.motility.persistence_time = PhysiCell::parameters.doubles("persistence");
+
+ // pCell->evolve_coef(pCell->phenotype.intracellular->get_boolean_variable_value("Migration"), phenotype.motility.migration_speed, dt );
+ // pCell->phenotype.motility.migration_speed = PhysiCell::parameters.doubles("max_motility_speed") * migration_coeff
+ }
+ else
+ {
+ pCell->phenotype.motility.is_motile = false;
+ }
+
+ // Update Invasion
+ // if(pCell->phenotype.intracellular->get_boolean_variable_value("Invasion")){// nothing happens for now }
+ }
+
+ pCell->set_internal_uptake_constants(dt);
+}
+
+void boolean_model_interface_main (Cell* pCell, Phenotype& phenotype, double dt){
+
+ if( phenotype.death.dead == true )
+ {
+ pCell->functions.update_phenotype = NULL;
+ return;
+ }
+}
+
+void pre_update_intracellular(Cell* pCell, Phenotype& phenotype, double dt)
+{
+ set_input_nodes(pCell);
+}
+
+void post_update_intracellular(Cell* pCell, Phenotype& phenotype, double dt)
+{
+ update_custom_variables(pCell);
+ from_nodes_to_cell(pCell, phenotype, dt);
+}
\ No newline at end of file
diff --git a/custom_modules/boolean_model_interface.h b/custom_modules/boolean_model_interface.h
new file mode 100644
index 0000000..b73c501
--- /dev/null
+++ b/custom_modules/boolean_model_interface.h
@@ -0,0 +1,35 @@
+#ifndef __BOOLEAN_MODEL_INTERFACE_H__
+#define __BOOLEAN_MODEL_INTERFACE_H__
+
+#include "../core/PhysiCell.h"
+#include "../modules/PhysiCell_standard_modules.h"
+#include "../addons/PhysiBoSS/src/maboss_network.h"
+#include "./drug_sensitivity.h"
+
+
+/**
+ * \boolean network interface
+ * \brief custom module for prostate example
+ *
+ * \details Modules needed for the prostate example. This custom module can be used to study the inhibition of prostate cell lines.
+ *
+ *
+ * \date 21/08/2025
+ * \author Annika Meert, Arnau Montagud, Gerard Pradas and Miguel Ponce de Leon, BSC-CNS
+ */
+
+using namespace BioFVM;
+using namespace PhysiCell;
+
+void update_custom_variables( Cell* pCell );
+
+// void set_boolean_node (Cell* pCell, std::string drug_name, int index, double threshold);
+void set_boolean_node (Cell* pCell, std::string drug_name, int drug_index);
+void set_input_nodes(Cell* pCell);
+void from_nodes_to_cell(Cell* pCell, Phenotype& phenotype, double dt);
+void boolean_model_interface_main (Cell* pCell, Phenotype& phenotype, double dt);
+
+void pre_update_intracellular(Cell* pCell, Phenotype& phenotype, double dt);
+void post_update_intracellular(Cell* pCell, Phenotype& phenotype, double dt);
+
+#endif
\ No newline at end of file
diff --git a/custom_modules/custom.cpp b/custom_modules/custom.cpp
index d3b6fda..0872ead 100644
--- a/custom_modules/custom.cpp
+++ b/custom_modules/custom.cpp
@@ -1,74 +1,31 @@
-/*
-###############################################################################
-# If you use PhysiCell in your project, please cite PhysiCell and the version #
-# number, such as below: #
-# #
-# We implemented and solved the model using PhysiCell (Version x.y.z) [1]. #
-# #
-# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
-# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
-# lar Systems, PLoS Comput. Biol. 14(2): e1005991, 2018 #
-# DOI: 10.1371/journal.pcbi.1005991 #
-# #
-# See VERSION.txt or call get_PhysiCell_version() to get the current version #
-# x.y.z. Call display_citations() to get detailed information on all cite-#
-# able software used in your PhysiCell application. #
-# #
-# Because PhysiCell extensively uses BioFVM, we suggest you also cite BioFVM #
-# as below: #
-# #
-# We implemented and solved the model using PhysiCell (Version x.y.z) [1], #
-# with BioFVM [2] to solve the transport equations. #
-# #
-# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
-# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
-# lar Systems, PLoS Comput. Biol. 14(2): e1005991, 2018 #
-# DOI: 10.1371/journal.pcbi.1005991 #
-# #
-# [2] A Ghaffarizadeh, SH Friedman, and P Macklin, BioFVM: an efficient para- #
-# llelized diffusive transport solver for 3-D biological simulations, #
-# Bioinformatics 32(8): 1256-8, 2016. DOI: 10.1093/bioinformatics/btv730 #
-# #
-###############################################################################
-# #
-# BSD 3-Clause License (see https://opensource.org/licenses/BSD-3-Clause) #
-# #
-# Copyright (c) 2015-2021, Paul Macklin and the PhysiCell Project #
-# All rights reserved. #
-# #
-# Redistribution and use in source and binary forms, with or without #
-# modification, are permitted provided that the following conditions are met: #
-# #
-# 1. Redistributions of source code must retain the above copyright notice, #
-# this list of conditions and the following disclaimer. #
-# #
-# 2. Redistributions in binary form must reproduce the above copyright #
-# notice, this list of conditions and the following disclaimer in the #
-# documentation and/or other materials provided with the distribution. #
-# #
-# 3. Neither the name of the copyright holder nor the names of its #
-# contributors may be used to endorse or promote products derived from this #
-# software without specific prior written permission. #
-# #
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" #
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE #
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE #
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE #
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR #
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF #
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS #
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN #
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) #
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE #
-# POSSIBILITY OF SUCH DAMAGE. #
-# #
-###############################################################################
-*/
+
+#define _USE_MATH_DEFINES
+#include
+#include
#include "./custom.h"
+#include "../BioFVM/BioFVM.h"
+
+/**
+ * \main prostate custom
+ * \brief Custom module file for prostate example
+ *
+ * \details Modules needed for the prostate example.
+ *
+ *
+ * \date 20/08/2025
+ * \author Arnau Montagud, Annika Meert, Gerard Pradas and Miguel Ponce de Leon, BSC-CNS
+ */
+
+// declare cell definitions here
void create_cell_types( void )
{
+ // use the same random seed so that future experiments have the
+ // same initial histogram of oncoprotein, even if threading means
+ // that future division and other events are still not identical
+ // for all runs
+
// set the random seed
if (parameters.ints.find_index("random_seed") != -1)
{
@@ -81,38 +38,52 @@ void create_cell_types( void )
This is a good place to set default functions.
*/
-
+
initialize_default_cell_definition();
cell_defaults.phenotype.secretion.sync_to_microenvironment( µenvironment );
-
+
cell_defaults.functions.volume_update_function = standard_volume_update_function;
cell_defaults.functions.update_velocity = standard_update_cell_velocity;
+ // cell_defaults.functions.pre_update_intracellular = pre_update_intracellular;
+ // cell_defaults.functions.post_update_intracellular = post_update_intracellular;
+
cell_defaults.functions.update_migration_bias = NULL;
- cell_defaults.functions.update_phenotype = NULL; // update_cell_and_death_parameters_O2_based;
+ cell_defaults.functions.update_phenotype = NULL; // tumor_cell_phenotype_with_signaling;
cell_defaults.functions.custom_cell_rule = NULL;
cell_defaults.functions.contact_function = NULL;
cell_defaults.functions.add_cell_basement_membrane_interactions = NULL;
cell_defaults.functions.calculate_distance_to_membrane = NULL;
+ // cell_defaults.functions.set_orientation = NULL;
+
/*
This parses the cell definitions in the XML config file.
*/
-
- initialize_cell_definitions_from_pugixml();
+
+ initialize_cell_definitions_from_pugixml();
/*
This builds the map of cell definitions and summarizes the setup.
*/
-
+
+ // set molecular properties for each drug defined in PhysiCell_settings.xml
+ // starts with the second density because the first density is oxygen
+ // for (int i = 0; i < microenvironment.number_of_densities(); i++)
+ // {
+ // if (microenvironment.density_names[i] != "oxygen") {
+ // cell_defaults.phenotype.molecular.fraction_released_at_death[i] = 0.0;
+ // }
+ // }
+
build_cell_definitions_maps();
/*
This intializes cell signal and response dictionaries
*/
- setup_signal_behavior_dictionaries();
+ setup_signal_behavior_dictionaries();
/*
Cell rule definitions
@@ -125,84 +96,186 @@ void create_cell_types( void )
This is a good place to set custom functions.
*/
+
+ cell_defaults.functions.pre_update_intracellular = pre_update_intracellular;
+ cell_defaults.functions.post_update_intracellular = post_update_intracellular;
cell_defaults.functions.update_phenotype = phenotype_function;
cell_defaults.functions.custom_cell_rule = custom_function;
cell_defaults.functions.contact_function = contact_function;
+
+ Cell_Definition* pCD = find_cell_definition( "default");
+
+ pCD->functions.pre_update_intracellular = pre_update_intracellular;
+ pCD->functions.post_update_intracellular = post_update_intracellular;
+ pCD->functions.custom_cell_rule = custom_function;
+ pCD->functions.contact_function = contact_function;
+ pCD->functions.update_velocity = standard_update_cell_velocity;
+
/*
This builds the map of cell definitions and summarizes the setup.
*/
-
+
display_cell_definitions( std::cout );
-
+
return;
}
+double get_decay_rate(double half_life){
+ // natural logarithm of 2 / half-life = k (reaction rate coefficient)
+ double decay_rate = log(2)/(half_life);
+ return decay_rate;
+}
+
void setup_microenvironment( void )
{
- // set domain parameters
-
- // put any custom code to set non-homogeneous initial conditions or
- // extra Dirichlet nodes here.
-
+ // // make sure to override and go back to 2D
+ // if( default_microenvironment_options.simulate_2D == true )
+ // {
+ // std::cout << "Warning: overriding XML config option and setting to 3D!" << std::endl;
+ // default_microenvironment_options.simulate_2D = false;
+ // }
+
+ // set intial conditions and dirichlet boundary conditions for the drugs; vector already contains the condition for oxygen
+ // double oxygen_condition = 160.0;
+ // vector condition_vector = {oxygen_condition};
+ // vector activation_vector {1};
+ // vector decay_vector {0.1};
+ // for (int i = 0; i < microenvironment.number_of_densities(); i++)
+ // {
+ // std::string drug_name = microenvironment.density_names[i];
+ // if (drug_name != "oxygen") {
+ // // int current_drug_level= parameters.ints("current_concentration_level_" + drug_name);
+ // // int total_drug_levels = parameters.ints("total_concentration_levels");
+ // string cell_line = parameters.strings("cell_line");
+ // int simulation_mode = parameters.ints("simulation_mode");
+
+ // //drug_conc can either be an IC value or an actual drug concentration
+ // string drug_conc = parameters.strings("drug_concentration_" + drug_name);
+ // double drug_concentration;
+ // // check if drug_conc contains the string "IC"
+ // if(drug_conc.find("IC") != string::npos) {
+ // drug_concentration = get_drug_concentration_from_IC(cell_line, drug_name, drug_conc, simulation_mode);
+ // }
+ // else {
+ // drug_concentration = stod(drug_conc);
+ // }
+ // // double drug_concentration = get_drug_concentration_from_level(cell_line, drug_name, current_drug_level, total_drug_levels, simulation_mode);
+ // condition_vector.push_back(drug_concentration);
+ // activation_vector.push_back(1);
+
+ // // double half_life = get_value(half_lives, drug_name);
+ // // double decay_rate = get_decay_rate(half_life);
+ // // decay_vector.push_back(decay_rate);
+
+ // }
+ // }
+ // default_microenvironment_options.Dirichlet_activation_vector = activation_vector;
+ // default_microenvironment_options.Dirichlet_condition_vector = condition_vector;
+ // default_microenvironment_options.Dirichlet_zmax_values = condition_vector;
+ // default_microenvironment_options.Dirichlet_zmin_values = condition_vector;
+ // default_microenvironment_options.Dirichlet_ymax_values = condition_vector;
+ // default_microenvironment_options.Dirichlet_ymin_values = condition_vector;
+ // default_microenvironment_options.Dirichlet_xmax_values = condition_vector;
+ // default_microenvironment_options.Dirichlet_xmin_values = condition_vector;
+
+
// initialize BioFVM
-
initialize_microenvironment();
+
+ // microenvironment.decay_rates = decay_vector;
return;
}
void setup_tissue( void )
{
- double Xmin = microenvironment.mesh.bounding_box[0];
- double Ymin = microenvironment.mesh.bounding_box[1];
- double Zmin = microenvironment.mesh.bounding_box[2];
+ // place a cluster of tumor cells at the center
+ load_cells_from_pugixml();
- double Xmax = microenvironment.mesh.bounding_box[3];
- double Ymax = microenvironment.mesh.bounding_box[4];
- double Zmax = microenvironment.mesh.bounding_box[5];
-
- if( default_microenvironment_options.simulate_2D == true )
- {
- Zmin = 0.0;
- Zmax = 0.0;
- }
-
- double Xrange = Xmax - Xmin;
- double Yrange = Ymax - Ymin;
- double Zrange = Zmax - Zmin;
-
- // create some of each type of cell
-
+}
+
+// old setup_tissue function, needs to be updated to new structure
+void setup_tissue_resistant( void )
+{
Cell* pC;
-
- for( int k=0; k < cell_definitions_by_index.size() ; k++ )
+
+ std::vector cells = read_init_file(parameters.strings("init_cells_filename"), ';', true);
+
+ for (int i = 0; i < cells.size(); i++)
{
- Cell_Definition* pCD = cell_definitions_by_index[k];
- std::cout << "Placing cells of type " << pCD->name << " ... " << std::endl;
- for( int n = 0 ; n < parameters.ints("number_of_cells") ; n++ )
+ float x = cells[i].x;
+ float y = cells[i].y;
+ float z = cells[i].z;
+ float radius = cells[i].radius;
+ int phase = cells[i].phase;
+ double elapsed_time = cells[i].elapsed_time;
+
+ double random_num_1 = (double) rand()/RAND_MAX;
+ double random_num_2 = (double) rand()/RAND_MAX;
+
+ if (PhysiCell::parameters.ints("simulation_mode") == 0)
+ {
+ // single inhibition - just one drug is present
+ if (random_num_1 < PhysiCell::parameters.doubles("prop_drug_resistant_" + microenvironment.density_names[1]))
+ {
+ // cell is sensitive to the drug
+ pC = create_cell(get_cell_definition(microenvironment.density_names[1] + "_resistant"));
+ }
+ else
+ {
+ // cell is not sensitive to the drug
+ pC = create_cell(get_cell_definition(microenvironment.density_names[1] + "_sensitive"));
+ }
+ }
+ else if (PhysiCell::parameters.ints("simulation_mode") == 1)
{
- std::vector position = {0,0,0};
- position[0] = Xmin + UniformRandom()*Xrange;
- position[1] = Ymin + UniformRandom()*Yrange;
- position[2] = Zmin + UniformRandom()*Zrange;
+ // double inhibition - two drugs are present - we have 4 cell strains
+ if (random_num_1 < PhysiCell::parameters.doubles("prop_drug_resistant_" + microenvironment.density_names[1]))
+ {
+ if (random_num_2 < PhysiCell::parameters.doubles("prop_drug_resistant_" + microenvironment.density_names[2]))
+ {
+ // cell is resistant to both drugs
+ pC = create_cell(get_cell_definition(microenvironment.density_names[1] + "_resistant"));
+ }
+ else
+ {
+ // cell is only resistant to the first drug
+ pC = create_cell(get_cell_definition(microenvironment.density_names[2] + "_sensitive"));
+ }
+ }
+ else
+ {
+ if (random_num_2 < PhysiCell::parameters.doubles("prop_drug_resistant_" + microenvironment.density_names[2]))
+ {
+ // cell is only resistant to the second drug
+ pC = create_cell(get_cell_definition(microenvironment.density_names[2] + "_resistant"));
+ }
+ else
+ {
+ // cell is resistant to no drug
+ pC = create_cell(get_cell_definition(microenvironment.density_names[1] + "_sensitive"));
+ }
+
+ }
- pC = create_cell( *pCD );
- pC->assign_position( position );
}
+ else
+ {
+ pC = create_cell(get_cell_definition("default"));
+ }
+
+ pC->assign_position( x, y, z );
+
+ pC->phenotype.cycle.data.elapsed_time_in_phase = elapsed_time;
+
+ update_custom_variables(pC);
}
- std::cout << std::endl;
-
- // load cells from your CSV file (if enabled)
- load_cells_from_pugixml();
-
+
return;
}
-std::vector my_coloring_function( Cell* pCell )
-{ return paint_by_number_cell_coloring(pCell); }
-
void phenotype_function( Cell* pCell, Phenotype& phenotype, double dt )
{ return; }
@@ -213,34 +286,140 @@ void contact_function( Cell* pMe, Phenotype& phenoMe , Cell* pOther, Phenotype&
{ return; }
void treatment_function ()
+{ return; }
+
+void tumor_cell_phenotype_with_signaling( Cell* pCell, Phenotype& phenotype, double dt)
{
- if (PhysiCell::parameters.bools.find_index("treatment") != -1)
+ update_cell_and_death_parameters_O2_based(pCell, phenotype, dt);
+
+ // update motility state variable
+ static int index_motility_state = pCell->custom_data.find_variable_index("motility_state");
+ pCell->custom_data.variables.at(index_motility_state).value = int(pCell->phenotype.motility.is_motile);
+
+ boolean_model_interface_main (pCell, phenotype, dt);
+}
+
+// coloring function, not used
+
+// std::vector prolif_apoptosis_coloring( Cell* pCell )
+// {
+// std::vector output;
+// if (pCell->phenotype.cycle.current_phase().code == PhysiCell_constants::apoptosis_death_model)
+// {
+// //apoptotic cells are colored red
+// output = {"crimson", "black","darkred", "darkred"};
+// }
+
+// else if (pCell->phenotype.cycle.current_phase().code == PhysiCell_constants::necrosis_death_model)
+// {
+// //necrotic cells are colored brown
+// output = {"peru", "black","saddlebrown", "saddlebrown"};
+// }
+
+// else if (PhysiCell::parameters.ints("simulation_mode") == 0)
+// {
+// std::string drug_name = microenvironment.density_names[1];
+// if (pCell->type_name == drug_name + "_sensitive")
+// {
+// //drug sensitive living cells are colored blue
+// output = {"deepskyblue", "black", "darkblue", "darkblue"};
+// }
+// else
+// {
+// //drug resistant living cells are colored green
+// output = {"limegreen", "black", "darkgreen", "darkgreen"};
+// }
+// }
+// else if (PhysiCell::parameters.ints("simulation_mode") == 1)
+// {
+// // // color living cells just in one color
+// // output = {"limegreen", "black", "darkgreen", "darkgreen"};
+
+// // In case we want to color all 4 strains differently:
+// // double inhibitions --> 4 cell strains
+// std::string drug1_name = microenvironment.density_names[1];
+// std::string drug2_name = microenvironment.density_names[2];
+// if (pCell->type_name == drug1_name + "_sensitive")
+// {
+// //cells that are sensitive to both drugs are colored blue
+// output = {"deepskyblue", "black", "darkblue", "darkblue"};
+// }
+// else if (pCell->type_name == drug2_name + "_resistant")
+// {
+// // cells that are just sensitive to the first drug
+// output = {"limegreen", "black", "darkgreen", "darkgreen"};
+
+// }
+// else if (pCell->type_name == drug2_name + "_sensitive")
+// {
+// // cells are just sensitive to the second drug
+// output = {"gold", "black", "orange", "orange"};
+// }
+// else
+// {
+// // cells aren't sensitive to any drug
+// output = {"mediumorchid", "black", "mediumpurple", "mediumpurple"};
+// }
+// }
+// else
+// {
+// // no drug simulation - living cells are colored green
+// output = {"limegreen", "black", "darkgreen", "darkgreen"};
+// }
+// return output;
+
+// }
+
+// ***********************************************************
+// * NOTE: Funtion to read init files created with PhysiBoSS *
+// ***********************************************************
+std::vector read_init_file(std::string filename, char delimiter, bool header)
+{
+ // File pointer
+ std::fstream fin;
+ std::vector result;
+
+ // Open an existing file
+ fin.open(filename, std::ios::in);
+
+ // Read the Data from the file
+ // as String Vector
+ std::vector row;
+ std::string line, word;
+
+ if(header)
+ getline(fin, line);
+
+ do
{
- int treatment_substrate_index = BioFVM::microenvironment.find_density_index(PhysiCell::parameters.strings("treatment_substrate"));
+ row.clear();
- if (PhysiCell::parameters.bools("treatment")){
-
- if (
- (((int)PhysiCell::PhysiCell_globals.current_time) % PhysiCell::parameters.ints("treatment_period")) == 0
- && !BioFVM::microenvironment.get_substrate_dirichlet_activation(treatment_substrate_index)
- )
- {
- std::cout << PhysiCell::parameters.strings("treatment_substrate") << " activation at t=" << PhysiCell::PhysiCell_globals.current_time << std::endl;
- BioFVM::microenvironment.set_substrate_dirichlet_activation(treatment_substrate_index, true);
- }
+ // read an entire row and
+ // store it in a string variable 'line'
+ getline(fin, line);
- if (
- (((int)PhysiCell::PhysiCell_globals.current_time) % PhysiCell::parameters.ints("treatment_period")) == PhysiCell::parameters.ints("treatment_duration")
- && BioFVM::microenvironment.get_substrate_dirichlet_activation(treatment_substrate_index)
- )
- {
- std::cout << PhysiCell::parameters.strings("treatment_substrate") << " inactivation at t=" << PhysiCell::PhysiCell_globals.current_time << std::endl;
- BioFVM::microenvironment.set_substrate_dirichlet_activation(treatment_substrate_index, false);
- }
-
- } else if ( BioFVM::microenvironment.get_substrate_dirichlet_activation(treatment_substrate_index) ){
- std::cout << PhysiCell::parameters.strings("treatment_substrate") << " inactivation (NO TREATMENT) at t=" << PhysiCell::PhysiCell_globals.current_time << std::endl;
- BioFVM::microenvironment.set_substrate_dirichlet_activation(treatment_substrate_index, false);
+ // used for breaking words
+ std::stringstream s(line);
+
+ // read every column data of a row and
+ // store it in a string variable, 'word'
+ while (getline(s, word, delimiter)) {
+
+ // add all the column data
+ // of a row to a vector
+ row.push_back(word);
}
- }
+
+ init_record record;
+ record.x = std::stof(row[2]);
+ record.y = std::stof(row[3]);
+ record.z = std::stof(row[4]);
+ record.radius = std::stof(row[5]);
+ record.phase = std::stoi(row[13]);
+ record.elapsed_time = std::stod(row[14]);
+
+ result.push_back(record);
+ } while (!fin.eof());
+
+ return result;
}
\ No newline at end of file
diff --git a/custom_modules/custom.h b/custom_modules/custom.h
index bb5843d..dd07b75 100644
--- a/custom_modules/custom.h
+++ b/custom_modules/custom.h
@@ -1,93 +1,58 @@
-/*
-###############################################################################
-# If you use PhysiCell in your project, please cite PhysiCell and the version #
-# number, such as below: #
-# #
-# We implemented and solved the model using PhysiCell (Version x.y.z) [1]. #
-# #
-# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
-# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
-# lar Systems, PLoS Comput. Biol. 14(2): e1005991, 2018 #
-# DOI: 10.1371/journal.pcbi.1005991 #
-# #
-# See VERSION.txt or call get_PhysiCell_version() to get the current version #
-# x.y.z. Call display_citations() to get detailed information on all cite-#
-# able software used in your PhysiCell application. #
-# #
-# Because PhysiCell extensively uses BioFVM, we suggest you also cite BioFVM #
-# as below: #
-# #
-# We implemented and solved the model using PhysiCell (Version x.y.z) [1], #
-# with BioFVM [2] to solve the transport equations. #
-# #
-# [1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, #
-# PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellu- #
-# lar Systems, PLoS Comput. Biol. 14(2): e1005991, 2018 #
-# DOI: 10.1371/journal.pcbi.1005991 #
-# #
-# [2] A Ghaffarizadeh, SH Friedman, and P Macklin, BioFVM: an efficient para- #
-# llelized diffusive transport solver for 3-D biological simulations, #
-# Bioinformatics 32(8): 1256-8, 2016. DOI: 10.1093/bioinformatics/btv730 #
-# #
-###############################################################################
-# #
-# BSD 3-Clause License (see https://opensource.org/licenses/BSD-3-Clause) #
-# #
-# Copyright (c) 2015-2021, Paul Macklin and the PhysiCell Project #
-# All rights reserved. #
-# #
-# Redistribution and use in source and binary forms, with or without #
-# modification, are permitted provided that the following conditions are met: #
-# #
-# 1. Redistributions of source code must retain the above copyright notice, #
-# this list of conditions and the following disclaimer. #
-# #
-# 2. Redistributions in binary form must reproduce the above copyright #
-# notice, this list of conditions and the following disclaimer in the #
-# documentation and/or other materials provided with the distribution. #
-# #
-# 3. Neither the name of the copyright holder nor the names of its #
-# contributors may be used to endorse or promote products derived from this #
-# software without specific prior written permission. #
-# #
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" #
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE #
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE #
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE #
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR #
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF #
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS #
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN #
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) #
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE #
-# POSSIBILITY OF SUCH DAMAGE. #
-# #
-###############################################################################
-*/
+#ifndef __CUSTOM_H__
+#define __CUSTOM_H__
#include "../core/PhysiCell.h"
-#include "../modules/PhysiCell_standard_modules.h"
+#include "../modules/PhysiCell_standard_modules.h"
+#include "drug_sensitivity.h"
+#include "boolean_model_interface.h"
+
+/**
+ * \main drug custom
+ * \brief Custom module file for example
+ *
+ * \details Modules needed for the drug example. This custom module can be used to study the inhibition of cell lines with inhibitors.
+ *
+ *
+ * \date 20/08/2025
+ * \author Arnau Montagud, Annika Meert, Gerard Pradas and Miguel Ponce de Leon, BSC-CNS
+ */
using namespace BioFVM;
using namespace PhysiCell;
-// setup functions to help us along
-
void create_cell_types( void );
-void setup_tissue( void );
+double get_decay_rate(double half_life);
// set up the BioFVM microenvironment
void setup_microenvironment( void );
-// custom pathology coloring function
-
-std::vector my_coloring_function( Cell* );
-
-// custom functions can go here
+void setup_tissue( void );
+void setup_tissue_resistant( void );
void phenotype_function( Cell* pCell, Phenotype& phenotype, double dt );
void custom_function( Cell* pCell, Phenotype& phenotype , double dt );
-
void contact_function( Cell* pMe, Phenotype& phenoMe , Cell* pOther, Phenotype& phenoOther , double dt );
+void treatment_function ();
+
+// custom cell phenotype functions could go here
+void tumor_cell_phenotype_with_signaling( Cell* pCell, Phenotype& phenotype, double dt );
+
+// needed for setup_tissue_resistant
+struct init_record
+{
+ float x;
+ float y;
+ float z;
+ float radius;
+ int phase;
+ double elapsed_time;
+};
+
+// custom pathology coloring function
+// std::vector prolif_apoptosis_coloring( Cell* );
+
+std::vector read_init_file(std::string filename, char delimiter, bool header);
+
+inline float sphere_volume_from_radius(float radius) {return 4/3 * PhysiCell_constants::pi * std::pow(radius, 3);}
-void treatment_function ();
\ No newline at end of file
+#endif
\ No newline at end of file
diff --git a/custom_modules/drug_sensitivity.cpp b/custom_modules/drug_sensitivity.cpp
new file mode 100644
index 0000000..a0c15e5
--- /dev/null
+++ b/custom_modules/drug_sensitivity.cpp
@@ -0,0 +1,172 @@
+
+#include "./drug_sensitivity.h"
+
+/**
+ * \drug sensitivity
+ * \brief drug sensitivity module for prostate example
+ *
+ * \details Module needed for the prostate example.
+ *
+ *
+ * \date 15/02/2020
+ * \author Annika Meert, BSC-CNS
+ */
+
+using namespace std;
+
+vector> drug_targets = {
+ { "Ipatasertib", "AKT"},
+ { "Afuresertib", "AKT"},
+ { "Afatinib", "EGFR"},
+ { "Erlotinib", "EGFR"},
+ { "Ulixertinib", "ERK"},
+ { "Luminespib", "HSPs"},
+ { "Trametinib", "MEK1_2"},
+ { "Selumetinib", "MEK1_2"},
+ { "Pictilisib", "PI3K"},
+ { "Alpelisib", "PI3K"},
+ { "BIBR1532", "TERT"}
+};
+
+vector> half_lives = {
+ { "Ipatasertib", 2748},
+ { "Afuresertib", 2448},
+ { "Afatinib", 2220},
+ { "Erlotinib", 2172},
+ { "Ulixertinib", 105},
+ { "Luminespib", 7200},
+ { "Trametinib", 5760},
+ { "Selumetinib", 822},
+ { "Pictilisib", 1062},
+ { "Alpelisib", 822},
+
+};
+
+// Update function definitions to match declarations
+string get_value(const vector>& dict, const string& key) {
+ vector>::const_iterator dict_iterator =
+ find_if(dict.begin(), dict.end(),
+ [&key](const pair& element) -> bool {
+ return element.first == key;
+ });
+ if (dict_iterator != dict.end()) {
+ return dict_iterator->second;
+ }
+ return ""; // or throw an exception
+}
+
+int get_value(const vector>& dict, const string& key) {
+ vector>::const_iterator dict_iterator =
+ find_if(dict.begin(), dict.end(),
+ [&key](const pair& element) -> bool {
+ return element.first == key;
+ });
+ if (dict_iterator != dict.end()) {
+ return dict_iterator->second;
+ }
+ return -1; // or throw an exception
+}
+
+// string get_value (const vector> dict, string key) {
+ // vector< pair>::const_iterator dict_iterator = find_if( dict.begin(), dict.end(),[&key](const pair < string, string>& element){ return element.first == key;} );
+ // return (*dict_iterator).second;
+// }
+
+// int get_value (const vector> dict, string key) {
+// vector< pair>::const_iterator dict_iterator = find_if( dict.begin(), dict.end(),[&key](const pair < string, int>& element){ return element.first == key;} );
+// return (*dict_iterator).second;
+// }
+
+
+vector get_drug_sensitivity_values (string drug_name) {
+ double max_conc = parameters.doubles(drug_name+"_maxc");
+ double xmid = parameters.doubles(drug_name+"_xmid");
+ double scale = parameters.doubles(drug_name+"_scal");
+
+ return {max_conc, xmid, scale};
+}
+
+
+double get_drug_concentration_from_IC (string cell_line, string drug_name, string IC_value, int simulation_mode) {
+ std::stringstream ss;
+ ss << IC_value[3] << "." << IC_value[2];
+ double inhibition_value = stod(ss.str());
+ std::cout << "Inhibition value for "<< drug_name << " is: " << inhibition_value << '\n';
+ double final_viability = 1.0 - inhibition_value;
+
+ // call functions to retrieve data from datastructure cell line and drug
+ vector drug_sens_vals = get_drug_sensitivity_values(drug_name);
+ // call linear_mixed_model_function
+ double max_conc = drug_sens_vals[0];
+ double xmid = drug_sens_vals[1];
+ double scale = drug_sens_vals[2];
+
+ // get the drug concentration for the cell viability
+ double x = get_x_for_cell_viability(xmid, scale, final_viability);
+ double drug_conc = get_conc_from_x(x, max_conc);
+
+ return drug_conc;
+}
+
+// returns x: the concentration scaled for 9 different concentrations
+double get_x_from_conc(double x_conc, double max_conc) {
+ double x = (log (x_conc / max_conc) / log (2) ) + 9;
+ return(x);
+}
+
+// returns conc: concentration in micromolar
+double get_conc_from_x (double x, double max_conc) {
+ double x_conc = max_conc * pow(2 , (x - 9));
+ return(x_conc);
+}
+
+// returns the natural logarithm for x
+double get_lx_from_x (double x, double max_conc) {
+ double lx = log (get_conc_from_x(x, max_conc));
+ return(lx);
+}
+
+// two parameter logistic function used to model GDSC dose response data
+// this model is described further in published in Vis, D.J. et al Pharmacogenomics 2016, 17(7):691-700)
+// double logist3 (double x, double xmid, double scale) {
+// //https://github.com/CancerRxGene/gdscIC50/blob/master/R/nlme_fit.R
+
+// return;
+// }
+
+
+// this function then has to be called whenever we translate concentration into maboss
+// check in the datastructure for cell line and drug for the important values and enter concentration
+// then we receive a y_hat that we can use to calculate the maboss activity
+double get_cell_viability_for_x(double x, double max_conc, double xmid, double scale)
+{
+ // double y_hat = 1 - logist3(x, xmid, scale);
+ double y_hat = 1/(1 + pow( exp(1), (x- xmid) /scale));
+ return(y_hat);
+}
+
+
+double get_x_for_cell_viability (double xmid, double scale, double cell_viability) {
+ double x = (log((1/cell_viability) - 1) * scale) + xmid;
+ return x;
+}
+
+double get_cell_viability_for_drug_conc (double drug_conc, string cell_line, string drug_name)
+{
+ //std::cout << "Concentration of " << drug_name << ": " << drug_conc << std::endl;
+ // call functions to retrieve data from datastructure cell line and drug
+ vector drug_sens_vals = get_drug_sensitivity_values(drug_name);
+ // call linear_mixed_model_function
+ double max_conc = drug_sens_vals[0];
+ double xmid = drug_sens_vals[1];
+ double scale = drug_sens_vals[2];
+ // transfor drug concentration into lx
+ double x = get_x_from_conc(drug_conc, max_conc);
+ double y_hat = get_cell_viability_for_x(x, max_conc, xmid, scale);
+ // return cell viability value y_hat
+ //std::cout << "Cell viability for " << drug_name << ": " << y_hat << std::endl;
+ return y_hat;
+}
+
+
+
diff --git a/custom_modules/drug_sensitivity.h b/custom_modules/drug_sensitivity.h
new file mode 100644
index 0000000..4febc44
--- /dev/null
+++ b/custom_modules/drug_sensitivity.h
@@ -0,0 +1,44 @@
+#include
+#include
+#include
+#include // std::pair
+#include // std::runtime_error
+#include // std::stringstream
+#include