Reproducibility of the computational model of induced pluripotent stem-cell derived cardiomyocytes

About this model

Original publication:
 Kernik et al. (2019): "A computational model of induced pluripotent stem-cell derived cardiomyocytes incorporating experimental variability from multiple data sources" J Physiol. 2019 Sep 1; 597(17): 4533-4564.
DOI:https://dx.doi.org/10.1113%2FJP277724

Model status

The current CellML model implementation runs OpenCOR. The simulation setting saved in SED-ML file. SED-ML file then loaded into Python script in order for the code to go through the loop and capture the results for different initial conditions and inputs. Each Python script under the Navigation menu reproduces a given result from Kernik et al (2019). Each of the scripts is documented to describe the CellML model(s) used and the results obtained.

Model overview

This workspace holds a CellML and Python encoding of the Kernik et al. (2019) model. The original model developed a whole cell model of induced pluripotent stem cell-derived cardiomyocytes (iPSC-CMs) composed of simple model components comprising ion channel models with single exponential voltage-dependent gating variable rate constants. The model were parameterized to fit experimental iPSC-CM data from multiple laboratories for all major ionic currents. The resulting population of cellular models predicts robust inter-subject variability in iPSC-CMs. This approach links molecular mechanisms to known cellular-level iPSC-CM phenotypes, as shown by comparing immature and mature subpopulations of models to analyse the contributing factors underlying each phenotype.

Schematics of the model

A diagrammatic representation of the Kernik et al. (2019) model. (Image from Fig 1 in the original paper)

Modular description

CellML can build a model in a modular way which divides the model into distinct modules, which can be re-used. The main CellML files:

  • Main file that put all the other required files together: Channels

    this file is the main CellML file which is the top model in the hierarchical modular presentation and rest of the files need to be imported here in order to run the simulation.

  • These files have the formulation for calculating each channel's current (for instance: Current_Ik1): Current_Ik1

  • Probability of channels gates being open or close: (for instance: gating_Ik1): gating_Ik1

    these files has the fomulation for calculating the probability of channels gates being open or close and also the activation/inactivation time constants. gating files need to be imported into their associated current files in order to run the simulation and calculate the Voltage-dependent activation/inactivation gating variables (Xact and Xinact).

  • General file for required parameters: parameter

    This file is a general file, specific parameters for calculating the probability of each channel's gate being open or close are presented in associated python script.

  • some of the channels have their own parameters which are collected in specific file (for instance: parameter_Ik1): parameter_Ik1

  • All the required units for this simulation: unit

The model run the simulation for each channel in the primary paper by using the python scripts in order to reproduce the figures. In each section in the navigation panel, simulation calculates the probability of that channel being open or close, Voltage-dependent activation and inactivation gating variables, Time constants of activation/inactivation gates. Each figure includes one python script which can load the SED-ML file and provide the simulation results. In each figure, parameters for voltage-dependent activation and inactivation gates were optimized to iPSC-CM experimental data from various laboratories. baseline model calculate all the current through different channels and needs its own python script in order to plot the action potential of developed model. Calcium analysis needs the python script for the baseline model as well as other function saved in different script in order to show the calcium analysis.

This workspace has nine sets of python scripts and corresponding simulation results, we just provided the simulation results here in order to check the reproducibility of figures (3-11) in the primary paper:

  1. INa : Sodium current model optimization
  2. ICaL : Calcium current model optimization
  3. IKr : Rapid delayed rectifier potassium current model optimization
  4. Ito : Transient outward potassium current model optimization
  5. IKs : Slow delayed rectifier potassium current model optimization
  6. If : Pacemaker/funny current model optimization
  7. IK1 : Inward rectifier potassium current model optimization
  8. Calcium Analysis : Optimization of calcium handling in the iPSC-CM baseline model
  9. baseline model AP: Action potential in the iPSC-CM baseline model

Simulation settings

Simulation settings (solver, duration of the simulation, etc) are stored in SED-ML files. The Python scripts contains the required parameters and conditions for each channel to run simulation and then plot the results with Matplotlib library to reproduce the figures in the original paper. The name of each scripts presents the Figure number in the primary paper. For example, fig2.py is used to generate the simulation and reproduces the graph shown in Figure 3 in the original study. In order to reproduce this figure, once all the files are downloaded to the same folder, execute the following script from the command line (command prompt):

cd [PathToThisFile]

[PathToOpenCOR]/pythonshell fig2.py

Model History

The original model of induced pluripotent stem-cell derived cardiomyocytes incorporating experimental variability from multiple data sources was built in MATLAB which can be downloaded from GitHub.