Location: Model of excitation-contraction in uterine myocytes from a pregnant rat @ 1451a14f3fbe / Simulation / src / clampPlot.py

Author:
WeiweiAi <wai484@aucklanduni.ac.nz>
Date:
2022-01-20 12:46:30+13:00
Desc:
revert the scaling in the currents
Permanent Source URI:
https://models.physiomeproject.org/workspace/701/rawfile/1451a14f3fbe8fd7aacd0d0a73d87cec591b26de/Simulation/src/clampPlot.py

# To reproduce the data needed for clamping experiments in associated original paper,

def clampPlot(simFign, current,outKeys):
   import numpy as np
   import matplotlib.pyplot as plt
   import pandas as pd
   # The prefix of the saved output file name 
   filename = '../simulatedData/sim%s.csv' % simFign
   # Figure name   
   figfile = 'sim%s' % simFign
   # Set figure dimension (width, height) in inches.
   fw, fh = 6, 6
   fig = plt.figure(figsize=(fw,fh))
   # Set subplots
   subpRow, subpCol = 1, 1
   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 = 12, 12 # legend, label fontsize   
   # Read data from the files
   x_name = 'V'
   y_name = outKeys   
   y_labels = ['Normalized Current %s' % current]
   
   for i, varName in enumerate(y_name):   
       ax[i] = fig.add_subplot(subpRow, subpCol, i+1)  
       data = pd.read_csv(filename)
       x_data = data[x_name]
       y_data = data[varName]
       ny_data=y_data/max(abs(y_data))  
       ax[i].plot(x_data, ny_data,  color=cycle[1], label = 'CellML')
   
       ofilename ='../originalData/%s.csv' %simFign
       odata = pd.read_csv(ofilename)
       ox_data = odata['x']   
       oy_data = odata['Curve1']    
       ax[i].plot(ox_data, oy_data, '.',  color=cycle[0], label = 'Testrow_et_al_2018')
   
       plt.tick_params(direction='in', axis='both')    
       ax[i].legend(loc = 'best', fontsize=lfontsize, frameon=False)
       ax[i].set_xlabel ('Voltage (mV)', fontsize= labelfontsize)
       ax[i].set_ylabel (y_labels[i], fontsize= labelfontsize)
       ax[i].set_title('%s in the primary publication' % (simFign))
   
   figfiles = '../sim%s.png' % (simFign)
   plt.savefig(figfiles)        
   plt.show()