# with the following commands at the prompt in the OpenCOR Python console: # # In [1]: cd path/to/folder_this_file_is_in # In [2]: run Fig1_sim.py import opencor as oc import matplotlib.pyplot as plt import numpy as np # The prefix of the saved output file name prefilename = 'Fig10' # Load the simulation file sub =['A','B','C','D','E'] varName = np.array([ "Time", "css", "ctc", "icl", "c", "v", "cai" ]) # simulation.reset(True) # cai = [100000000, 250000000, 500000000, 1000000000] #cai = [100, 250, 500, 1000] # cai = [0.000100, 0.000250, 0.000500, 0.001] # for i in range(len(cai)): # simfile = 'Tong_2011_newVersion.sedml' # simulation = oc.open_simulation(simfile) v_hold = [-60] # # simulation.reset(True) simfile = 'Tong_2011_newVersion.sedml' simulation = oc.open_simulation(simfile) data = simulation.data() simulation.reset(True) # v_clamp = [40, 30, 20, 10, 0, -10, -20, -30, -40, -50] for i in range(len(v_clamp)): # Reset states variables and parameters # Set constant values start = 0 end = 400 pointInterval = 0.1 # Reset states variables data.set_starting_point(start) data.set_ending_point(end) data.set_point_interval(pointInterval) data.constants() [ 'interface/membrane_potential/v_hold' ] = v_hold data.constants() [ 'interface/membrane_potential/v_clamp' ] = v_clamp [ i ] data.constants() [ 'interface/Ca_Concentrations/cai_hold_swtch' ] = 0 data.constants() [ 'interface/membrane_potential/v_var' ] = 0 data.constants() [ 'interface/membrane_potential/time_clamp_strt' ] = 100 data.constants() [ 'interface/membrane_potential/time_clamp_stp' ] = 200 data.constants() [ 'interface/membrane_potential/a_correction'] = 0 data.constants()['interface/Ca_Concentrations/cai_init'] = 0.00016 # data.constants() [ 'interface/parameters/ki' ] = 110 # data.constants() [ 'interface/parameters/ko' ] = 5 simulation.run() # Access simulation results results = simulation.results() # Data to save rows = end * 10 + 1 vars = np.reshape(varName, (1, 7)) # Grab a some algebraic variable results r = np.zeros((rows, len(varName))) r [ :, 0 ] = results.voi().values() r [ :, 1 ] = results.algebraic()['interface/I_Cl/css'].values() r [ :, 2 ] = results.algebraic()['interface/I_Cl/ctc'].values() r [ :, 3 ] = results.algebraic() [ 'interface/I_Cl/icl'].values() r [ :, 4 ] = results.states() [ 'interface/I_Cl/c'].values() r [ :, 5 ] = results.algebraic() [ 'interface/membrane_potential/v'].values() r [ :, 6 ] = results.algebraic() [ 'interface/Ca_Concentrations/cai'].values() filename = '%s_%s_%s.csv' % (prefilename,sub[3],i) np.savetxt(filename, vars, fmt='%s', delimiter=",") with open(filename, "ab") as f: np.savetxt(f, r, delimiter=",") f.close