Skip to content

Christini-Lab/rrc-conductance-profile

Repository files navigation

Optimization of a Cardiomyocyte Model Illuminates Role of Increased INaL in Repolarization Reserve

DOI

By: Kristin Fullerton, Alexander P. Clark, Trine Krogh-Madsen, David J. Christini

supercell_ga.py - Python script containing the classes and functions for the developed genetic algorithm.

run_ga.py - A python script to run supercell_ga.py. The current set up runs the GA with 5 individuals and 3 generations as a small example.

important_functions.py - A python script containing functions used in algorithm development, experiments, and analysis. Since these are commonly used, they are kept in this one file and loaded into additional files when needed.

get_data.py - A python script containing functions to generate the sensitivity and rrc data files using multiprocessing.

generate_all_data.ipynb - A python notebook that walks you through how to generate all data used to produce the figures in the manuscript.

reproduce_figures.ipynb - Jupyter notebook file containing all code necissary to reproduce the manuscript's figures.

format_models.ipynb - A step-by-step guide to all changes made to the Grandi et al. and Tomek et al. models.

notes.ipynb - Additional figures and analysis that did not make it into the main manuscript are kept in this file for record-keeping.

run_ga.sh - A bash script to run the run_ga.py file

run_get_data.sh - A bash script to run the get_data.py file.

figures/ - a folder containing all the main and supplimentary figures included in the manuscript. Each figure is saved as both .png and .pdf files.

data/ - A folder where some data for analysis and figure production is kept. This folder contains 11 data files and an additional folder:

  • all_data.csv.bz2 is a compressed dataframe which contains conductance, cost, and RRC data for every individual from all eight GA runs. The GA trial and generation is marked for each and the ToR-ORd model was used for all simulations. The RRC values in this file are off since the stimulus amplitude was set to -10 in line 59 of tor_ord_endo2.mmt. In order to correct for this every RRC was multiplied by the stimulus amplitude in figure production and analysis for both the ToR-ORd and Grandi Models. You will see this reflected in reproduce_figures.py
  • APbounds.csv.bz2 is the upper and lower bound data used to assess action potential morphology point by point after upstroke. This data was taken from "Development, calibration, and validation of a novel human ventricular myocyte model in health, disease, and drug block" by Jakub Tomek et al.
  • baseline_torord_data.csv.bz2 is a dataframe containing time and voltage data to produce the baseline ToR-ORd model used in this study. This could be generated by running the get_baseline_torord_data() function in the get_data.py script.
  • best_data.csv.bz2 is a dataframe containing the same information as all_data.csv.gz but only for the 220 best individuals. Ir also contains action potential and calcium transient data for each individual. These all satisfy physiologic constraints and have a cost lower than 2800.
  • cond_data.pkl - a pickle file produced from the get_cond_data() function in the get_data.py script.
  • fig2_data.csv.bz2 - a compressed dataframe which contains conductance, cost, RRC, feature, action potential, and calcium transient data for all individuals from generations 0, 30, and 99 of all trials. This data is used to produce Figure 2B and 2C.
  • robust_data.pkl - A compressed dataframe which can be used to reproduce Figure 3D and Supplimentary Figure 4. This data was generated using the get_robust_data() function in the get_data.py script.
  • rrc_data.csv.bz2 - a dataframe produced from the get_rrc_data() function in the get_data.py script. This file contains the conductance information for each of the 220 best individuals as well the time, voltage, and deltaAPD90 values at 5 stimuli: 0A/F, 0.05A/F, 0.1A/F, 0.15A/F, and 0.2A/F.
  • sens_baseline.csv.bz2 -A dataframe which can contains local sensitivity analysis data for the baseline ToR-ORd model.
  • sens_grandi.csv.bz2 -A dataframe which can contains local sensitivity analysis data for the baseline Grandi model.
  • sens_opt.csv.bz2 -A dataframe which can contains local sensitivity analysis data for the optimized ToR-ORd model.
  • The additional folder named notes_data/ contains data to compile the notes.ipynb file and includes:
    • grandi_pop.csv.bz2 - a compressed dataframe which contains conductance, cost, RRC, action potential, calcium transient, and feature data for a population of 200 Grandi models. This data was used for a multiparameter sensitivity analysis that did not make it into the manuscrpt but was kept in the notes.ipynb notebook for record keeping.
    • small_torord_pop.csv.bz2 - a compressed dataframe which contains data for a small (10) population of ToR-ORd models.

models/ - a folder containing all models used in algorithm training and analysis. This folder contains 3 files:

  • grandi_flat.mmt is the endocardial version of the Grandi et al model. This model was used to produce the AP and current traces in Figure 7A of the manuscript in addition to GBM1, GBM2, and GBM3 of Figure 8A and 8B.
  • tor_ord_endo2.mmt is the endocardial version of the Tomek et al model. The only change made was the inclusion of the Ibias current. This model was used for all simulations in GA training and much of the analysis.