Location: Computational analysis of the human sinus node action potential @ cd1c084aee2f / Figure7-plot.py

Author:
nima <nafs080@aucklanduni.ac.nz>
Date:
2021-06-19 09:11:56+12:00
Desc:
New implementation of python codes (having 1 script instead of 2)
Permanent Source URI:
https://staging.physiomeproject.org/workspace/648/rawfile/cd1c084aee2fd311571c12d13ff37d7ebe37e318/Figure7-plot.py

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# read the csv file extracted from sedml file
data = pd.read_csv('Fig07.csv')

# define the x and y axis and match the units
X1 = data[data.keys()[0]]*1000
Y1 = data[data.keys()[1]]
Y2 = data[data.keys()[2]]
Y3 = data[data.keys()[3]]
Y4 = data[data.keys()[4]]*1000/57
Y5 = data[data.keys()[5]]*1000/57
Y6 = data[data.keys()[6]]*1000/57
Y7 = data[data.keys()[7]]*1000/57
Y8 = data[data.keys()[8]]*1000/57
Y9 = data[data.keys()[9]]*1000/57
Y10 = data[data.keys()[10]]*1000/57
Y11 = data[data.keys()[11]]*1000/57
Y12 = data[data.keys()[12]]*1000/57
Y13 = data[data.keys()[13]]*1000/57
Y14 = data[data.keys()[14]]*1000/57
Y15 = data[data.keys()[15]]*1000/57
Y16 = data[data.keys()[16]]*1000/57
Y17 = data[data.keys()[17]]*1000/57
Y18 = data[data.keys()[18]]*1000/57
Y19 = data[data.keys()[19]]*1000/57
Y20 = data[data.keys()[20]]*1000/57
Y21 = data[data.keys()[21]]*1000/57
Y22 = data[data.keys()[22]]
Y23 = data[data.keys()[23]]
Y24 = data[data.keys()[24]]



plt.figure(figsize=(17,17))
plt.subplot(4,2,1)

plt.plot(X1, Y1, 'navy',linestyle='-',  label = 'CTRL', linewidth= 3)
plt.plot(X1, Y2, 'red',linestyle='-',  label = '10 nM ACh', linewidth= 3)
plt.plot(X1, Y3, 'green',linestyle='-',  label = '1 \u03BCM Iso', linewidth= 3)


plt.grid()
plt.xlim(0, 2470)
plt.xticks(np.arange(0,2470,500))
plt.ylim(-100,50)
plt.yticks(np.arange(-100,60,50))

plt.tick_params(axis='both', labelsize=14)
plt.ylabel ('V$_m$ (mV)', fontsize=16)
plt.title('A', loc= 'left', y = 1.05, x= -0.06, fontsize='20')
plt.legend(bbox_to_anchor=(0., 0.92, 1, 0.1), loc='best',fontsize=14, ncol=10, mode="expand")

plt.subplot(4,2,2)
plt.plot(X1, Y4, 'navy',linestyle='-',  label = 'CTRL', linewidth= 3)
plt.plot(X1, Y5, 'red',linestyle='-',  label = '10 nM ACh', linewidth= 3)
plt.plot(X1, Y6, 'green',linestyle='-',  label = '1 ${mu}$M Iso', linewidth= 3)




plt.grid()
plt.xlim(0, 2470)
plt.xticks(np.arange(0,2470,500))
plt.ylim(0,0.3)
plt.yticks(np.arange(0, 0.4,0.1))

plt.tick_params(axis='both', labelsize=14)
plt.ylabel ('I$_{NaK}$ (pA/pF)', fontsize=16)
plt.title('E', loc= 'left', y = 1.05, x= -0.06, fontsize='20')


plt.subplot(4,2,3)
plt.plot(X1, Y7, 'navy',linestyle='-',  label = 'CTRL', linewidth= 3)
plt.plot(X1, Y8, 'red',linestyle='-',  label = '10 nM ACh', linewidth= 3)
plt.plot(X1, Y9, 'green',linestyle='-',  label = '1 \u03BC M Iso', linewidth= 3)




plt.grid()
plt.xlim(0, 2470)
plt.xticks(np.arange(0,2470,500))
plt.ylim(-15,5)
plt.yticks(np.arange(-15,10,5))

plt.tick_params(axis='both', labelsize=14)
plt.ylabel ('I$_{tot}$ (pA/pF)', fontsize=16)
plt.title('B', loc= 'left', y = 1.05, x= -0.06, fontsize='20')


plt.subplot(4,2,4)
plt.plot(X1, Y10, 'navy',linestyle='-',  label = 'CTRL', linewidth= 3)
plt.plot(X1, Y11, 'red',linestyle='-',  label = '10 nM ACh', linewidth= 3)
plt.plot(X1, Y12, 'green',linestyle='-',  label = '1 ${mu}$M Iso', linewidth= 3)




plt.grid()
plt.xlim(0, 2470)
plt.xticks(np.arange(0,2470,500))
plt.ylim(-0.2,0.4)
plt.yticks(np.arange(-0.2,0.5,0.2))

plt.tick_params(axis='both', labelsize=14)
plt.ylabel ('I$_{Ks}$ (pA/pF)', fontsize=16)
plt.title('F', loc= 'left', y = 1.05, x= -0.06, fontsize='20')

plt.subplot(4,2,5)
plt.plot(X1, Y13, 'navy',linestyle='-',  label = 'CTRL', linewidth= 3)
plt.plot(X1, Y14, 'red',linestyle='-',  label = '10 nM ACh', linewidth= 3)
plt.plot(X1, Y15, 'green',linestyle='-',  label = '1 ${mu}$M Iso', linewidth= 3)

plt.grid()
plt.xlim(0, 2470)
plt.xticks(np.arange(0,2470,500))
plt.ylim(-0.05,0.05)
plt.yticks(np.arange(-0.05,0.06,0.05))

plt.tick_params(axis='both', labelsize=14)
plt.ylabel ('I$_{f}$ (pA/pF)', fontsize=16)
plt.title('C', loc= 'left', y = 1.05, x= -0.06, fontsize='20')

plt.subplot(4,2,6)
plt.plot(X1, Y16, 'navy',linestyle='-',  label = 'CTRL', linewidth= 3)
plt.plot(X1, Y17, 'red',linestyle='-',  label = '10 nM ACh', linewidth= 3)
plt.plot(X1, Y18, 'green',linestyle='-',  label = '1 ${mu}$M Iso', linewidth= 3)




plt.grid()
plt.xlim(0, 2470)
plt.xticks(np.arange(0,2470,500))
plt.ylim(0,0.2)
plt.yticks(np.arange(0,0.25,0.05))

plt.tick_params(axis='both', labelsize=14)
plt.ylabel ('I$_{K,ACh}$ (pA/pF)', fontsize=16)
plt.title('G', loc= 'left', y = 1.05, x= -0.06, fontsize='20')

plt.subplot(4,2,7)
plt.plot(X1, Y19, 'navy',linestyle='-',  label = 'CTRL', linewidth= 3)
plt.plot(X1, Y20, 'red',linestyle='-',  label = '10 nM ACh', linewidth= 3)
plt.plot(X1, Y21, 'green',linestyle='-',  label = '1 ${mu}$M Iso', linewidth= 3)




plt.grid()
plt.xlim(0, 2470)
plt.xticks(np.arange(0,2470,500))
plt.ylim(-15,1)
plt.yticks(np.arange(-15,2,5))
plt.xlabel ('Time (ms)',fontsize=16)
plt.tick_params(axis='both', labelsize=14)
plt.ylabel ('I$_{CaL}$ (pA/pF)', fontsize=16)
plt.title('D', loc= 'left', y = 1.05, x= -0.06, fontsize='20')

plt.subplot(4,2,8)
plt.plot(X1, Y22, 'navy',linestyle='-',  label = 'CTRL', linewidth= 3)
plt.plot(X1, Y23, 'red',linestyle='-',  label = '10 nM ACh', linewidth= 3)
plt.plot(X1, Y24, 'green',linestyle='-',  label = '1 ${mu}$M Iso', linewidth= 3)




plt.grid()
plt.xlim(0, 2470)
plt.xticks(np.arange(0,2470,500))
plt.ylim(0,1.5)
plt.yticks(np.arange(0,1.6,0.5))
plt.xlabel ('Time (ms)',fontsize=16)
plt.tick_params(axis='both', labelsize=14)
plt.ylabel ('J$_{up}$ (mM/s)', fontsize=16)
plt.title('H', loc= 'left', y = 1.05, x= -0.06, fontsize='20')


plt.tight_layout(pad=0.5, w_pad=3, h_pad=3)
plt.savefig('figure7.png')
plt.show()