TITLE: A multi-scale model of cardiac electrophysiology
AUTHORS: Colleen clancy, Pei-Chi, Parya Aghasafari

[DESCRIPTION]
<div class = "text-blocks"><div class = "text-block">Multi-scale computational modeling is a major branch of computational biology as evidenced by the US federal interagency Multi-Scale Modeling Consortium and major international projects. It invariably involves specific and detailed sequences of data analysis and simulation, often with multiple tools and datasets, and the community recognizes improved modularity, reuse, reproducibility, portability and scalability as critical unmet needs in this area. Scientific workflows are a well-recognized strategy for addressing these needs in scientific computing. While there are good examples if the use of scientific workflows in bioinformatics, medical informatics, biomedical imaging and data analysis, there are fewer examples in multi-scale computational modeling in general and cardiac electrophysiology in particular. Cardiac electrophysiology simulation is a mature area of multi-scale computational biology that serves as an excellent use case for developing and testing new scientific workflows. In this dataset, we develop, describe and test a computational workflow that serves as a proof of concept of a platform for the robust integration and implementation of a reusable and reproducible multi-scale cardiac cell and tissue model that is expandable, modular and portable. The workflow described leverages Python and Kepler-Python actor for plotting and pre/post-processing. During all stages of the workflow design, we rely on freely available open-source tools, to make our workflow freely usable by scientists.</div></div>

[STEPS]
?. Creating multi-scale model of cardiac electrophysiologyWe developed a workflow containing differential equation models of cardiac physiology that automate the execution of simulations with user defined options of outputs from a single cell, 1 or 2D tissue, and a pseudo-ECG output, which can be compared to experimental or clinical data.
?. Compiling Human_0D1D2DWF programIn order to compile 1D2D Human_0D1D2DWF program model,located in Code\Human_0D1D2DWF\1D2D folder in our data set, follow these instructions:           To compile the program: ———————————————————————————————— (1) Using Intel Compiler:icc masterCompute.cpp -openmp -o oneD  ./oneD initial_WTstates.txt stim_param.txt testOutputFolderTWOd  ____________________________________________________________________________________ OR  (2) Using GCC compiler: g++ masterCompute.cpp -fopenmp -o oneD  ./oneD initial_WTstates.txt stim_param.txt testOutputFolderONEd  ____________________________________________________________________________________ Input settings in stim_param.txt 1 Set Na blocker drug concentration 2 Set Kr blocker ratio 3 Set basic cycle length (BCL) 4 Set how many beats for 1D (e.g 200).  For 2D, set beat = 1 5 Set Ligand concentrations  6 Adjust cAMKII activity levels (expression = 'WT', 'OE', or 'KO') 7. 1D or 2D 8. tissue size = tw * tl. Enter value for tw.  9. tissue size = tw * tl. Enter value for tl.  10. homogeneous or heterogeneous ____________________________________________________________________________________ For 1D simulations: Read initial_WTstates.txt which is the initial variables file corresponding to SS_rabbit_varNames.txt (total variables are 206, although some of them are not used in the model)  (1) outputs generated in ecgs.txt (1D case) 1st column: time2nd column: ecg (2) Time course of AP surface (1D) ____________________________________________________________________________________  For 2D simulations: Read in fiber.cell which is generated from 1D simulations (3) Time snapshots for 2D In order to compile Single_Cell Human_0D1D2DWF program model,located in Code\Human_0D1D2DWF\      To compile the program:————————————————————————————————(1) Using Intel Compiler:icc masterCompute.cpp -openmp -o oneD ./oneD initial_WTstates.txt stim_param.txt testOutputFolderTWOd____________________________________________________________________________________OR (2) Using GCC compiler:g++ masterCompute.cpp -fopenmp -o oneD ./oneD initial_WTstates.txt stim_param.txt testOutputFolderONEd ____________________________________________________________________________________Input settings in stim_param.txt1 Set Na blocker drug concentration2 Set Kr blocker ratio3 Set basic cycle length (BCL)4 Set how many beats for 1D (e.g 200).  For 2D, set beat = 15 Set Ligand concentrations 6 Adjust cAMKII activity levels (expression = 'WT', 'OE', or 'KO')7. 1D or 2D8. tissue size = tw * tl. Enter value for tw. 9. tissue size = tw * tl. Enter value for tl. 10. homogeneous or heterogeneous____________________________________________________________________________________For 1D simulations: Read initial_WTstates.txt which is the initial variables file corresponding to SS_rabbit_varNames.txt (total variables are 206, although some of them are not used in the model)(1) outputs generated in ecgs.txt (1D case)1st column: time2nd column: ecg(2) Time course of AP surface (1D)____________________________________________________________________________________For 2D simulations: Read in fiber.cell which is generated from 1D simulations(3) Time snapshots for 2D       Single_Cell folder in our data set, follow these instructions:To compile the program:    Using Intel Compiler ICC icc masterCompute.cpp -o singlecell  ./singlecell initial_WTstates.txt stim_param.txt testOutputFolder  __________________________________________________________________ Using GCC g++ masterCompute.cpp -o singlecell  ./singlecell initial_WTstates.txt stim_param.txt testOutputFolder  __________________________________________________________________ plotall.m collects the results from masterCompute.cpp and plots the time course of voltage or currents    ____________________________________________________________________________________ Input settings in stim_param.txt  Set Na blocker drug concentration  Set Kr blocker ratio  Set basic cycle length (BCL)  Set how many beats.  Set Ligand concentration   Adjust cAMKII activity levels (expression = 'WT', 'OE', or 'KO')  ____________________________________________________________________________________initial_WTstates.txt is the initial variables file corresponding to SS_rabbit_varNames.txt (total variables are 206, although some of them are not used in the model) __________________________________________________________________________________ (1) outputs generated in vm_1Hz.txt  29	Ca bound to Casqn  	Ca SR 	Na dyad 	Na sl 33	Na cytosol 	K  	Ca dyad 	Ca sl 	Ca cytosol 	Vm (2) outputs generated in allresult_1Hz.txt           I_Ca_store,         I_to_store[0],         I_Na_store,         I_K1_store,        Jserca,        IKs_store,        IKr_store,       Jleak[0],       Jleak[1],       ICFTR,       pars1.Incx(3) outputs generated in apds_1Hz.txt  1st column: beat 2nd column: APD90
?. Compiling Mouse_0D1D2DWF programIn order to compile 1D2D Mouse_0D1D2DWF program model,located in Code\Mouse_0D1D2DWF\1D2D folder in our data set, follow these instructions:To compile the program: ———————————————————————————————— (1) Using Intel Compiler:icc masterCompute.cpp -openmp -o oneD  ./oneD initial_WTstates.txt stim_param.txt testOutputFolderTWOd  ____________________________________________________________________________________ OR  (2) Using GCC compiler: g++ masterCompute.cpp -fopenmp -o oneD  ./oneD initial_WTstates.txt stim_param.txt testOutputFolderONEd  ____________________________________________________________________________________ Input settings in stim_param.txt 1 Set Na blocker drug concentration 2 Set Kr blocker ratio 3 Set basic cycle length (BCL) 4 Set how many beats for 1D (e.g 200).  For 2D, set beat = 1 5 Set Ligand concentrations  6 Adjust cAMKII activity levels (expression = 'WT', 'OE', or 'KO') 7. 1D or 2D 8. tissue size = tw * tl. Enter value for tw.  9. tissue size = tw * tl. Enter value for tl.  10. homogeneous or heterogeneous ____________________________________________________________________________________ For 1D simulations: Read initial_WTstates.txt which is the initial variables file corresponding to SS_rabbit_varNames.txt (total variables are 206, although some of them are not used in the model)  (1) outputs generated in ecgs.txt (1D case) 1st column: time2nd column: ecg (2) Time course of AP surface (1D) ____________________________________________________________________________________  For 2D simulations: Read in fiber.cell which is generated from 1D simulations (3) Time snapshots for 2D In order to compile Single_Cell Mouse_0D1D2DWF program model,located in Code\Mouse_0D1D2DWF\Single_Cell folder in our data set, follow these instructions:To compile the program:————————————————————————————————(1) Using Intel Compiler:icc masterCompute.cpp -openmp -o oneD ./oneD initial_WTstates.txt stim_param.txt testOutputFolderTWOd____________________________________________________________________________________OR (2) Using GCC compiler:g++ masterCompute.cpp -fopenmp -o oneD ./oneD initial_WTstates.txt stim_param.txt testOutputFolderONEd ____________________________________________________________________________________Input settings in stim_param.txt1 Set Na blocker drug concentration2 Set Kr blocker ratio3 Set basic cycle length (BCL)4 Set how many beats for 1D (e.g 200).  For 2D, set beat = 15 Set Ligand concentrations 6 Adjust cAMKII activity levels (expression = 'WT', 'OE', or 'KO')7. 1D or 2D8. tissue size = tw * tl. Enter value for tw. 9. tissue size = tw * tl. Enter value for tl. 10. homogeneous or heterogeneous____________________________________________________________________________________For 1D simulations: Read initial_WTstates.txt which is the initial variables file corresponding to SS_rabbit_varNames.txt (total variables are 206, although some of them are not used in the model)(1) outputs generated in ecgs.txt (1D case)1st column: time2nd column: ecg(2) Time course of AP surface (1D)____________________________________________________________________________________For 2D simulations: Read in fiber.cell which is generated from 1D simulations(3) Time snapshots for 2DTo compile the program:    Using Intel Compiler ICC icc masterCompute.cpp -o singlecell  ./singlecell initial_WTstates.txt stim_param.txt testOutputFolder  __________________________________________________________________ Using GCC g++ masterCompute.cpp -o singlecell  ./singlecell initial_WTstates.txt stim_param.txt testOutputFolder  __________________________________________________________________ plotall.m collects the results from masterCompute.cpp and plots the time course of voltage or currents     ____________________________________________________________________________________ Input settings in stim_param.txt  Set Na blocker drug concentration  Set Kr blocker ratio  Set basic cycle length (BCL)  Set how many beats.  Set Ligand concentration   Adjust cAMKII activity levels (expression = 'WT', 'OE', or 'KO')  ____________________________________________________________________________________ initial_WTstates.txt is the initial variables file corresponding to SS_rabbit_varNames.txt (total variables are 206, although some of them are not used in the model)  ____________________________________________________________________________________ (1) outputs generated in vm_1Hz.txt  	Ca bound to Casqn  	Ca SR 	Na dyad 	Na sl 	Na cytosol 	K  	Ca dyad 	Ca sl 	Ca cytosol 	Vm (2) outputs generated in allresult_1Hz.txt        I_Ca_store,       I_to_store[0],       I_Na_store,       I_K1_store,      Jserca,      IKs_store,      IKr_store,     Jleak[0],    Jleak[1],     ICFTR, pars1.Incx    (3) outputs generated in apds_1Hz.txt 1st column: beat 2nd column: APD90
?. Compiling Rabbit_0D1D2DWF programIn order to compile 1D2D Rabbit_0D1D2DWF program model,located in Code\Rabbit_0D1D2DWF\1D2D folder in our data set, follow these instructions:To compile the program: ———————————————————————————————— (1) Using Intel Compiler:icc masterCompute.cpp -openmp -o oneD  ./oneD initial_WTstates.txt stim_param.txt testOutputFolderTWOd  ____________________________________________________________________________________ OR  (2) Using GCC compiler: g++ masterCompute.cpp -fopenmp -o oneD  ./oneD initial_WTstates.txt stim_param.txt testOutputFolderONEd  ____________________________________________________________________________________ Input settings in stim_param.txt 1 Set Na blocker drug concentration 2 Set Kr blocker ratio 3 Set basic cycle length (BCL) 4 Set how many beats for 1D (e.g 200).  For 2D, set beat = 1 5 Set Ligand concentrations  6 Adjust cAMKII activity levels (expression = 'WT', 'OE', or 'KO') 7. 1D or 2D 8. tissue size = tw * tl. Enter value for tw.  9. tissue size = tw * tl. Enter value for tl.  10. homogeneous or heterogeneous ____________________________________________________________________________________ For 1D simulations: Read initial_WTstates.txt which is the initial variables file corresponding to SS_rabbit_varNames.txt (total variables are 206, although some of them are not used in the model)  (1) outputs generated in ecgs.txt (1D case) 1st column: time2nd column: ecg (2) Time course of ECG (1D) ____________________________________________________________________________________  For 2D simulations: Read in fiber.cell which is generated from 1D simulations (3) Time snapshots for 2D  In order to compile Single_Cell Rabbit_0D1D2DWF program model,located in Code\Rabbit_0D1D2DWF\Single_Cell folder in our data set, follow these instructions:To compile the program:————————————————————————————————(1) Using Intel Compiler:icc masterCompute.cpp -openmp -o oneD ./oneD initial_WTstates.txt stim_param.txt testOutputFolderTWOd____________________________________________________________________________________OR (2) Using GCC compiler:g++ masterCompute.cpp -fopenmp -o oneD ./oneD initial_WTstates.txt stim_param.txt testOutputFolderONEd ____________________________________________________________________________________Input settings in stim_param.txt1 Set Na blocker drug concentration2 Set Kr blocker ratio3 Set basic cycle length (BCL)4 Set how many beats for 1D (e.g 200).  For 2D, set beat = 15 Set Ligand concentrations 6 Adjust cAMKII activity levels (expression = 'WT', 'OE', or 'KO')7. 1D or 2D8. tissue size = tw * tl. Enter value for tw. 9. tissue size = tw * tl. Enter value for tl. 10. homogeneous or heterogeneous____________________________________________________________________________________For 1D simulations: Read initial_WTstates.txt which is the initial variables file corresponding to SS_rabbit_varNames.txt (total variables are 206, although some of them are not used in the model)(1) outputs generated in ecgs.txt (1D case)1st column: time2nd column: ecg(2) Time course of ECG (1D)____________________________________________________________________________________For 2D simulations: Read in fiber.cell which is generated from 1D simulations(3) Time snapshots for 2D To compile the program:    Using Intel Compiler ICC icc masterCompute.cpp -o singlecell  ./singlecell initial_WTstates.txt stim_param.txt testOutputFolder  __________________________________________________________________ Using GCC g++ masterCompute.cpp -o singlecell  ./singlecell initial_WTstates.txt stim_param.txt testOutputFolder  __________________________________________________________________ plotall.m collects the results from masterCompute.cpp and plots the time course of voltage or currents  ____________________________________________________________________________________Input settings in stim_param.txt  Set Na blocker drug concentration  Set Kr blocker ratio  Set basic cycle length (BCL)  Set how many beats.  Set Ligand concentration   Adjust cAMKII activity levels (expression = 'WT', 'OE', or 'KO') ____________________________________________________________________________________ initial_WTstates.txt is the initial variables file corresponding to SS_rabbit_varNames.txt (total variables are 206, although some of them are not used in the model)  ____________________________________________________________________________________ (1) outputs generated in vm_1Hz.txt  	Ca bound to Casqn  	Ca SR 	Na dyad 	Na sl 	Na cytosol 	K  	Ca dyad 	Ca sl 	Ca cytosol 	Vm  (2) outputs generated in allresult_1Hz.txt         I_Ca_store,       I_to_store[0],      I_Na_store,       I_K1_store,      Jserca,      IKs_store,      IKr_store,     Jleak[0],     Jleak[1],     ICFTR,     pars1.Incx    (3) outputs generated in apds_1Hz.txt  1st column: beat 2nd column: APD90