Location: Tong_2011_V1 @ a03f680a6922 / Experiments / Figure_10 / Fig10_plt.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_10/Fig10_plt.py

# Author: Leyla Noroozbabaee
# Date: 12/12/2021
# To reproduce Figure 6 from original paper, the python file 'Fig6_sim.py' should be run.

import matplotlib.pyplot as plt
import pandas as pd
from sklearn import preprocessing
import numpy as np
# Figure name
prefilename = 'Fig10'

# Set figure dimension (width, height) in inches.
fw, fh = 16, 8
# Set subplots
subpRow, subpCol = 4,2
ax, lns = {}, {}

# This gives list with the colors from the cycle, which you can use to iterate over.
cycle = plt.rcParams [ 'axes.prop_cycle' ].by_key() [ 'color' ]
# Set subplots
lfontsize, labelfontsize = 10, 15  # legend, label fontsize
fig, axs = plt.subplots(subpRow, subpCol, figsize=(fw, fh), facecolor='w', edgecolor='k')
fig.subplots_adjust(hspace = .3, wspace=.3)
axs = axs.ravel()
tit = ['Steady state','Steady state','Time constant (ms)','Time constant (ms)','I (normalised)','I (normalised)']
cycle = plt.rcParams [ 'axes.prop_cycle' ].by_key() [ 'color' ]
# To add the extracted data from original paper to your plot, modify the path to have access to the
# "Extracted_data"
I_V = []
prefilename = 'Fig10'


# v_clamp =[50, 40, 30, 25, 20, 10, 0,-10,-20,-30,-40,-50,-60, -70,-80]
# print(I_V)
# axs[5].plot(V, I_V, '-b')# y_data = data [ var [ i ]
prefilename = 'Fig10'

# for i in range(6):
#     filename = '%s_%s.csv' % (prefilename,  i+1)
#     data = pd.read_csv(filename)
#     data = pd.read_csv(filename)
#     y_d = data [ 'Curve1' ]
#     x_d = data [ 'x' ]
#     axs [ i ].plot(x_d, y_d, 'k*')
#    # axs [ i ].set_xlim([ -90, 60 ])
#     axs [ i ].set_xlabel('V (mV)', fontsize=labelfontsize)
#     axs [ i ].set_ylabel('%s' % (tit [ i ]), fontsize=labelfontsize)
#     if i == 0 or i == 3:
#         y_d_2 = data [ 'Curve2' ]
#         axs [ 0 ].plot(x_d, y_d_2, 'k*')
#         #axs [ 3 ].plot(x_d, y_d_2, 'k*')
#     elif i == 1:
#         # y_d_2 = data [ 'Curve1' ]
#         axs [ 1 ].semilogy(x_d, y_d, 'k*')
#     elif i == 2:
#         y_d_2 = data [ 'Curve2' ]
#         axs [ i ].semilogy(x_d, y_d, 'k*', x_d, y_d_2, 'k*')
#
#     elif i == 4 or i == 5 :
#         y_d_2 = data [ 'Curve2' ]
#         y_d_3 = data [ 'Curve3' ]
#         y_d_4 = data [ 'Curve4' ]
#         y_d_5 = data [ 'Curve5' ]
#         axs [ 4 ].plot(x_d, y_d_2, '*', x_d, y_d_3, '*', x_d, y_d_4, '*', x_d, y_d_5, '*', color=cycle [ i % 4 ])
#         axs [ 5 ].plot(x_d, y_d_2, '*', x_d, y_d_3, '*', x_d, y_d_4, '*', x_d, y_d_5, '*', color=cycle [ i % 4 ])
#      #   axs [ i ].set_xlim([ 0, 50 ])
#         axs [ i ].set_xlabel('Time (ms)', fontsize=labelfontsize)
#       #  axs [ i ].set_ylim([ -1, 0 ])
#
#     axs [i].set_xlabel('V (mV)', fontsize=labelfontsize)
#     axs [i].set_ylabel('%s' % (tit[i]),fontsize=labelfontsize)
#


##axs[1].semilogy( v_data, htc_data, 'b', v_data, mtc_data, 'r')
# 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 matplotlib.pyplot as plt
import numpy as np
# The prefix of the saved output file name
Sub_A=0


sub =['A','B','C','D','E']
varName = np.array([ "Time", "css", "ctc", "icl", "c",  "v", "cai"])

cai = [100, 250, 500, 1000]
for i in range(len(cai)):
    filename = '%s_%s_%s.csv' % (prefilename, sub [ 0 ], i)
    print(filename)
    data = pd.read_csv(filename)
    time = data [ varName [ 0 ] ]
    css_data = data [ varName [ 1 ] ]
    ctc_data = data [ varName [ 2 ] ]
    icl_data = data [ varName [ 3 ] ]
    c_data = data [ varName [ 4 ] ]
    v_data = data [ varName [ 5 ] ]
    cai_data = data [ varName [ 6 ] ]
    # axs [ 0 ].plot(time, ik1_data, '-r')#, color=cycle [ j % 8 ])
    # axs [ 1 ].plot( time, ik2_data, 'b.')#, color=cycle [ j % 8 ])
    # axs [ 2 ].plot(time, 0.7*iBKa_data+0.3*iBKab_data, 'k')
    # axs [ 3 ].plot(time, iBKab_data, 'g')#, color=cycle [ j % 8 ])
    axs [ 0 ].plot(v_data, css_data, color=cycle [ i % 8 ])
    axs [ 1 ].plot(v_data, ctc_data, 'y')
    #axs [ 2 ].plot(v_data, c_data, color=cycle [ i % 8 ])
# plt.show()
v_hold = [ 30, 0,-30,-60]
for i in range(len(v_hold)):
    filename = '%s_%s_%s.csv' % (prefilename, sub [ 1 ], i)
    data = pd.read_csv(filename)
    print(filename)
    time = data [ varName [ 0 ] ]
    cs_data = data [ varName [ 1 ] ]
    ctc_data = data [ varName [ 2 ] ]
    icl_data = data [ varName [ 3 ] ]
    c_data = data [ varName [ 4 ] ]
    v_data = data [ varName [ 5 ] ]
    cai_data = data [ varName [ 6 ] ]
    axs [ 2 ].plot(cai_data , cs_data, color=cycle [ i % 8 ])
    # axs [ 2 ].plot(v_data , ctc_data, color=cycle [ i % 8 ])
# plt.show()
# v_hold =[-60]
# simulation.reset(True)
prefilename='Fig10_D'
varName = np.array([ "Time", "css", "ctc", "icl", "c",  "v", "cai","I_tot" ])

v_clamp = [40, 30, 20, 10, 0, -10, -20]
for i in range(len(v_clamp)):
    filename = '%s_%s.csv' % (prefilename, i)

    data = pd.read_csv(filename)
    time = data [ varName [ 0 ] ]
    css_data = data [ varName [ 1 ] ]
    ctc_data = data [ varName [ 2 ] ]
    icl_data = data [ varName [ 3 ] ]
    c_data = data [ varName [ 4 ] ]
    v_data = data [ varName [ 5 ] ]
    cai_data = data [ varName [ 6 ] ]
    I_data = data [ varName [ 7 ] ]
    axs [ 3 ].plot(time, icl_data, color=cycle [ i % 8 ])
    axs [ 4 ].plot(time, I_data, color=cycle [ i % 8 ])
plt.show()