- Author:
- nima <nafs080@aucklanduni.ac.nz>
- Date:
- 2021-09-29 11:24:25+13:00
- Desc:
- Removed unnecessary file
- Permanent Source URI:
- https://models.cellml.org/workspace/702/rawfile/cce3bec433931af90767dc0fcc42134086119c11/Fig11/fig11-IK1.py
import scipy.io as sio
import numpy as np
import os
# To reproduce Figure 11 in the associated Physiome paper,
# execute this script from the command line:
#
# cd [PathToThisFile]
# [PathToOpenCOR]/pythonshell fig11-IK1.py
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
import opencor as opencor
data = sio.loadmat('Param_Ik1')
# print(sorted(data.keys()))
# print(data['all_parameters'].shape)
xK1_spont= data['all_parameters_spont'][:,16:22]
all_params_XK1= data['all_parameters'][:,16:22]
variations= len(xK1_spont[:, 0])
cell2plot=8000
if (cell2plot>variations):
cell2plot = variations
else:
pass
# for i in range(0,3580):
# print((xK1_spont[i, 0]))
root = "C:/Nima/ABI/Physiome Journal/pluripotent stem cell/src/cellml/I_K1/"
def load_sedml(filename):
return opencor.open_simulation(os.path.join(root, filename))
def get_data(filename):
data = filename.data()
data.set_ending_point(1)
data.set_point_interval(1)
return data
# print(len(xK1_spont))
def run_sim(data, filename):
ik1_list = np.zeros((251, 5000))
vm_plot = np.arange(-150, 101, 1)
file = load_sedml(filename)
for v in vm_plot:
file.reset(True)
file.clear_results()
data.constants()["main/protocol"] = 2
data.constants()["main/v"] = v
for i in range(5000):
data.constants()["main/var_1"] = xK1_spont[i, 0]
data.constants()["main/var_2"] = xK1_spont[i, 1]
data.constants()["main/var_3"] = xK1_spont[i, 2]
data.constants()["main/var_4"] = xK1_spont[i, 3]
data.constants()["main/var_5"] = xK1_spont[i, 4]
data.constants()["main/var_6"] = xK1_spont[i, 5]
file.run()
ds = file.results().data_store()
ik1_list[v, i] = ds.voi_and_variables()["main/i_k1"].values()[-1]
print(ik1_list[v, i])
#
return ik1_list
#
if __name__ == '__main__':
Ik1_file = "IK1.sedml"
Ik1 = load_sedml(Ik1_file)
data1 = get_data(Ik1)
Ik1_list = run_sim(data1, Ik1_file)
vm_plot = np.arange(-150, 101, 1)
plt.figure(figsize=(12, 12))
plt.plot(vm_plot, Ik1_list, color='orange', linewidth=4)
plt.show()