- Author:
- nima <nafs080@aucklanduni.ac.nz>
- Date:
- 2021-06-19 09:23:55+12:00
- Desc:
- 1 script instead of 2
- Permanent Source URI:
- https://staging.physiomeproject.org/workspace/648/rawfile/7cb8a9d44ad7e22d7ee5ee37d836a6f97e05758f/Figure6.py
# To reproduce the data needed for Figure 6 in associated
# Physiome paper, execute this script in the Python console
# in OpenCOR. This can be done with the following commands
# at the prompt in the OpenCOR Python console:
# In [1]: cd /path/to/the/folder/this/file/is/in
# In [2]: %run Figure6.py
import opencor as opencor
import numpy as np
# different values for gf to decrease the If
K_NaCa = [1.6715, 0.3343]
# load the reference model
simulation = opencor.open_simulation("HumanSAN_Fabbri_Fantini_Wilders_Severi_2017.sedml")
data = simulation.data()
data.set_ending_point(1.8)
data.set_point_interval(0.001)
simulation.reset(True)
results = np.zeros((13, 1801))
for value in range(len(K_NaCa)):
simulation.reset(True)
simulation.clear_results()
data.constants()["i_NaCa/K_NaCa"] = K_NaCa[value]
for i in range(8):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[value] = ds.voi_and_variables()["Membrane/V"].values()
simulation.reset(True)
simulation.clear_results()
data.constants()["i_NaCa/K_NaCa"] = 0.83575
for i in range(3):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[3] = ds.voi_and_variables()["Membrane/V"].values()
simulation.reset(True)
simulation.clear_results()
data.constants()["i_NaCa/K_NaCa"] = 3.343
for i in range(42):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[2] = ds.voi_and_variables()["Membrane/V"].values()
for i in range(0, 1):
for i in range(3):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[4] = ds.voi_and_variables()["environment/time"].values()
for value in range(len(K_NaCa)):
simulation.reset(True)
simulation.clear_results()
data.constants()["i_NaCa/K_NaCa"] = K_NaCa[value]
for i in range(8):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[value + 5] = ds.voi_and_variables()["Ca_dynamics/Cai"].values()
simulation.reset(True)
simulation.clear_results()
data.constants()["i_NaCa/K_NaCa"] = 0.83575
for i in range(3):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[8] = ds.voi_and_variables()["Ca_dynamics/Cai"].values()
simulation.reset(True)
simulation.clear_results()
data.constants()["i_NaCa/K_NaCa"] = 3.343
for i in range(42):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[7] = ds.voi_and_variables()["Ca_dynamics/Cai"].values()
for value in range(len(K_NaCa)):
simulation.reset(True)
simulation.clear_results()
data.constants()["i_NaCa/K_NaCa"] = K_NaCa[value]
for i in range(8):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[value + 9] = ds.voi_and_variables()["i_NaCa/i_NaCa"].values()
simulation.reset(True)
simulation.clear_results()
data.constants()["i_NaCa/K_NaCa"] = 0.83575
for i in range(3):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[12] = ds.voi_and_variables()["i_NaCa/i_NaCa"].values()
simulation.reset(True)
simulation.clear_results()
data.constants()["i_NaCa/K_NaCa"] = 3.343
for i in range(42):
simulation.run()
simulation.clear_results()
simulation.run()
ds = simulation.results().data_store()
results[11] = ds.voi_and_variables()["i_NaCa/i_NaCa"].values()
np.savetxt("Figure6.csv", results[:13].T, fmt='%.4e', delimiter=',')