Repository for running simulations of node knockout (KO) or constitutive activation (CA) for various model versions of the stomatal closure Boolean models.
The file Simulations.py contains the python code for running the simulations. The dependencies are BooleanNet and json, which can both be installed using pip. You can choose to read a specific model version by changing the line text = file('rules_reduced/rules_reduced.booleannet').read()
. The values of the parameters repeat and steps are set to the default we use in our simulations. repeat
corresponds to the number of iterations, higher value implies more precision in the results. steps
corresponds to total number of time-steps - we find that 50 works well for observing the steady state behavior. The list targets
contains the list of all nodes which will be individually set to ON (CA) or OFF (KO) while running the simulations. The file has two options for setting targets
, one corresponding to the reduced network model while the other corresponds to the full model. More details on the full model can be found here. The simulation results are saved in a file named results_KO.json
or results_CA.json
depending on whether the value of knockouts
is set to True
or False
.
Rules are saved in folders rules_reduced
and rules_full
for the reduced and non-reduced (full) model versions respectively. A rule filename containing 'A-B' means that A inhibits B in this particular model version. For example, 'Ca-ABI2' corresponds to model version where the node Calcium directly inhibits the node ABI2 while 'PA-all' corresponds to the model version where PA directly inhibits all the PP2Cs.
Results are saved in json format as a dictionary with the perturbed nodes as keys and value of Closure corresponding to the perturbation. The key 'Closure'
contains the fraction of simulations in which the node Closure was ON at each timestep and the key 'Closure AUC'
has the CPC value corresponding to the particular node perturbation.
Please contact me if you have any questions!