Location: Tong_2011_V1 @ a03f680a6922 / Experiments / Figure_8 / Fig8_sim_ver1.py

Author:
Leyla <noroozbabaee@gmail.com>
Date:
2022-05-10 14:01:08+12:00
Desc:
Adding Tong_2011 to PMR
Permanent Source URI:
https://models.cellml.org/workspace/85c/rawfile/a03f680a69226c515cd789723c8036028406852b/Experiments/Figure_8/Fig8_sim_ver1.py

# 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 = 'Fig8'
# Load the simulation file

simfile = 'CaVAR_Tong_2011.sedml'
simulation = oc.open_simulation(simfile)
data = simulation.data()

# Reset states variables and parameters
# simulation.reset(True)
# Set constant values
start = 0
end = 5000
pointInterval = 0.1
data.set_starting_point(start)
data.set_ending_point(end)
data.set_point_interval(pointInterval)



# data.constants() ['interface/parameters/kmca'] = 0.001
# data.constants() [ 'interface/I_h/a_correction' ] = 1
ca_i = [0.000005, 0.00001, 0.00005, 0.00008, 0.0001, 0.0005, 0.0008, 0.001, 0.005, 0.008, 0.01, 0.05, 0.1, 0.5, 0.8, 1.0, 5.0, 8, 10, 50, 80, 100]

for j in range(len(ca_i)):
    simulation.reset(True)
    data.constants()['interface/membrane_potential/v_init'] = 280#-200
    data.constants() [ 'interface/Ca_Concentrations/cai' ] = ca_i [ j ]
    simulation.run()
    # Access simulation results
    results = simulation.results()
    # Data to save

    varName = np.array(["Time", "xass_z", "xass_vh", "xatc", "xass", "iBKa","xa", "v", "xabss_z", "xabss_vh",
                        "xabtc", "xabss", "iBKab","xab"])
    vars = np.reshape(varName, (1,14))
    rows = end * 10 + 1
    print(rows)


    # Grab a some algebraic variable results
    r = np.zeros((rows, len(varName)))
    r [ :, 0 ] = results.voi().values()
    r [ :, 1 ] = results.constants()['interface/I_BKa/xass_z'].values()
    r [ :, 2 ] = results.constants()['interface/I_BKa/xass_vh'].values()
    r [ :, 3 ] = results.algebraic() [ 'interface/I_BKa/xatc'].values()
    r [ :, 4 ] = results.algebraic() [ 'interface/I_BKa/xass'].values()
    r [ :, 5 ] = results.algebraic() [ 'interface/I_BKa/iBKa'].values()
    r [ :, 6 ] = results.states() ['interface/I_BKa/xa'].values()
    r [ :, 7] = results.states() ['interface/membrane_potential/v' ].values()
    r [ :, 8 ] = results.constants() [ 'interface/I_BKab/xabss_z' ].values()
    r [ :, 9 ] = results.constants() [ 'interface/I_BKab/xabss_vh' ].values()
    r [ :, 10 ] = results.algebraic() [ 'interface/I_BKab/xabtc' ].values()
    r [ :, 11] = results.algebraic() [ 'interface/I_BKab/xabss' ].values()
    r [ :, 12] = results.algebraic() [ 'interface/I_BKab/iBKab' ].values()
    r [ :, 13] = results.states() [ 'interface/I_BKab/xab' ].values()

    filename = '%s_%s.csv' % (prefilename, j)
    np.savetxt(filename, vars, fmt='%s', delimiter=",")
    with open(filename, "ab") as f:
        np.savetxt(f, r, delimiter=",")
    f.close