Abstract
The action potential forms the basis of cardiac pacemaking, conduction, and contraction. Action potentials can be recorded from numerous preparation types, including ventricular or atrial trabecules, Purkinje fibers, isolated cardiac myocytes. Numerous techniques are also available as well, such as the conventional microelectrode and the single-cell current clamp techniques, optical mapping, or in silico modeling. With such a vast array of electrophysiological methods comes an array of available hardware and software solutions. In this work, we present a software with an intuitive graphical user interface, ActionPytential, that enables the analysis of any type of cardiac action potential, regardless of acquisition method or tissue type.
In most available software tools, the analysis of continuous (gap-free) recordings often requires manual user interaction to segment the individual action potentials. We provide an automated solution for this, both for slow-response and for externally paced action potentials. As of now, ActionPytential calculates 34 parameters from each action potential. The most often utilized ones, including amplitude, maximal rate of depolarization, and action potential duration values, were validated on 1200 action potentials from human, dog, rabbit, guinea pig, and rat cardiac preparations. We also provide new parameters that were previously only measurable manually, including the position and the depth of the notch in potentials showing a spike-and-dome morphology. Further notable features include a Butterworth-type low-pass filter, the averaging of multiple potentials, automated corrections for baseline drifting, aided manual analysis, high-quality plots, and batch processing for any number of potentials.
ActionPytential is available for all major platforms (Windows, MacOS, GNU + Linux, BSD).
Keywords: Cardiac, Action potential, Arrhythmia, Segmentation, Automation, Gap-free acquisition, Action potential duration
1. Introduction
The cardiac action potential forms the electrophysiological basis of the cardiac cycle. It is created by the dynamic interplay of the cardiac ion channels, and it is responsible for depolarization, impulse conduction, contraction, as well as repolarization. The cardiac action potential has been measured by electrophysiologists since the middle of the 20th century, and even though numerous equally advantageous methods have emerged, such as the patch clamp technique that also enables the measurement of individual ion channels, or calcium-imaging techniques visualizing calcium transients and depolarization waves on large cardiac surfaces, the action potential still proves to be an effective method to characterize drug effects on cardiac tissues or expose still unexplained mechanisms of cardiac arrhythmia [1].
The electrocardiogram (ECG) is composed by the spatial summation of all action potentials of the heart, and possesses crucial diagnostic significance, as several diseases, genetic disorders, and drugs may alter the kinetics of the ion channels. However, some effects on a specific ion channel may not be manifested on the ECG. Therefore, action potential measurements could provide more specific information than the ECG recordings. This is underpinned by the fact that ECG is often not able to report small changes in ionic currents, because these changes may be limited by the repolarization reserve of cardiac repolarization. The repolarization reserve implies that cardiac ionic currents form a redundant system where the inhibition of a single current may be compensated for increased activation of other ion currents [[2], [3], [4]]. However, if the repolarization reserve is weakened, an additional inhibitory drug effect may not be sufficiently compensated, leading to potentially life-threatening arrhythmias. Furthermore, action potential measurements can report several potential arrhythmia mechanisms such as early and delayed afterdepolarizations, alternans, repolarization dispersion or triangulation which may help to develop adequate pharmacological intervention.
Due to the composite nature of the ECG, analysis of the cardiac action potential has a crucial role in basic research, under pathological conditions and in drug development to appropriately predict the potential effect of a novel compound, and to possibly predict changes in ECG morphology.
The morphology of cardiac action potentials is considerably versatile. Significant diversity can be observed between the same tissue and preparation types among various species (c. f., human, rabbit, guinea pig, rat, and canine action potentials in Fig. 1Ai–iv and 1Bi). Furthermore, within different anatomical regions of the heart as well (c. f., dog sinus node, dog atrium, and dog Purkinje fiber in Fig. 1Bii, 1Biv, and 1Biii). Therefore, the classical categorization of action potential sections, such as depolarization, plateau and repolarization cannot be applied to all kind of action potentials. In addition, certain tissue types are also characterized by different action potential phases (see Fig. 1Ai and 1Biii).
Fig. 1.
Representative ventricular action potentials from various species (Ai – human, Aii – rabbit, Aii – guinea pig, Aiv – rat, Bi – dog) and from other cardiac tissue types (Bii – dog Purkinje fiber, Bii – dog sinoatrial node, Biv – dog atrium). The phases of the cardiac ventricular action potential are denoted as red numbers in Ai: phase 0, rapid depolarization; phase 1, early rapid repolarization; phase 2, plateau; phase 3, late repolarization; phase 4, resting membrane potential. The phases of the sinoatrial node action potential are denoted as blue numbers in Bii: 4, early diastolic depolarization; 0, rapid depolarization; 1–3, repolarization.
With such a vast array of action potential waveforms and electrophysiological methods comes an array of available hardware and software solutions. In many cases, the differences in these solutions may limit the ability to directly compare action potential recordings originating from different techniques, therefore also limiting the effectiveness of collaboration between research teams involved in cardiac electrophysiology.
In many cases, the action potentials are measured in a “gap-free” configuration, where the potentials are recorded in one file on a continuous time scale without explicit separation of the action potentials. In this case, the analysis often requires a time consuming manual analysis by positioning of cursors. ActionPytential provides a fast and automated solution for gap-free analysis of any kind of cardiac action potential, independent of the pacing frequency.
2. Background
Numerous systems for action potential acquisition and analysis have been published in the literature over the course of the last decades of the 20th century [[5], [6], [7], [8], [9]]. The descriptions of such systems provide valuable insight regarding parameters that should be focused on when analyzing action potentials, as most of the important variables have seen little to no change since the early days of cardiac electrophysiology.
Tools that focus specifically on cardiac action potential analysis are already available. ParamAP [10] is an implementation utilizing the computational benefits of the numpy [11] and scipy [12] libraries. It enables the automated calculation of numerous variables, but its graphical interface is limited to the generated plots, which might make it more difficult to interact with for some users. Spiky [13] is implemented as an extension for ImageJ, providing automated peak finding and automated calculation of a multitude cardiac signal variables for individual files. Our implementation focuses on ease of use by providing a graphical user interface with batch processing abilities, in a standalone package. In addition, to the best of our knowledge, the automated detection and quantification of the action potential notch has not been focused on in previous efforts.
Shrivastav and Iaizzo have developed a tool for annotating recordings containing monophasic action potentials, focusing on the upstroke, plateau and end of each individual potential [14]. This tool can be especially useful for automated analysis of frequency and level of depolarization in preparations containing internal pacemaking cells, such as the sinoatrial node or Purkinje fibers. Similarly, spontaneous cardiac activity can also analyzed also by PyBioS, a freeware tool developed in the Python language [15]. PyBioS offers powerful filtering and corrections with a strong noise resistance, as well as analysis of numerous sources of biological data (such as ECG, arterial pressure signals, or EEG). These implementations were taken as examples of user-friendly graphical interfaces.
Software solutions specifically aimed at the analysis of repolarization are also available. Meo et al. defined a novel approach for analyzing repolarization with a continuous approach instead of the conventional definition of discrete levels repolarization [16].
CalTrak [17] offers automated high-throughput analysis of fluorescent calcium transients with a number of relevant automated corrections. Another tool with a focus on optical mapping analysis is ElectroMap [18]. Both of these tools require the proprietary MATLAB environment, but are open source. KairoSight [19], on the other hand, is written in Python, and provides similar functionality, concentrating on the multi-species analysis of calcium transients.
The aspect of cardiac muscle contraction is also important to note here. MUSCLEMOTION [20] enables the automated movement analysis of one-, two-, and three-dimensional cardiac models from isolated cardiac myocytes to engineered heart tissues. The algorithm of this tool is based on the processing of video frames, but it may indirectly provide information on the underlying action potential as well.
In summary, numerous high quality software tools aid the work of researchers in the field of cardiac electrophysiology, especially in cardiac calcium transient analysis. However, we could not identify any currently developed, maintained, and user-modifiable solution that is directly aimed at the automated analysis and plotting of cardiac action potentials. Therefore, in this work we present our open source (licensed under the GNU General Public License) and expandable software solution that lets users analyze action potential data regardless of acquisition type (measured or simulated) or their choice of operating system, with a focus on ease of use.
3. Design considerations
The main considerations for this project were simplicity and interoperability. A straightforward graphical user interface was needed to make the software accessible to users with no background in software development. The final package should also be useable on all major operating systems.
To achieve a high level of interoperability, supported file types both in importing and in exporting data need to be human-readable and compatible with other applications, with a focus on spreadsheet editors (Microsoft Office Excel and LibreOffice Calc), plotting applications (Veusz, Origin, Sigmaplot), and advanced statistical tools (R). The possible sources of action potential data include measurements from multicellular preparations or single myocardial cells, Ca2+ transients, or most of the commonly utilized modeling applications (such as LongQT [21] or MyoKit [22]).
The planned functionality includes the computation of a high number of commonly applied variables of the cardiac action potentials, the segmentation of continuous recordings, and the creation of high-quality figures both for previewing measurements and possibly even for publication purposes. All the preceding goals should be achieved with a relatively low computational overhead, without any limitations on the number of files or number of action potentials processed.
The project is also intended to be open for the scientific community to study and improve.
4. Measurement techniques
The source of the action potential data requires special considerations. Although any form of action potential data can technically be handled by ActionPytential, special considerations were taken to accommodate different acquisition techniques and data types. For a historical overview on cardiac electrophysiological techniques, please, see the review by Edward Carmeliet [1].
4.1. Conventional microelectrode technique
Action potentials can be recorded from macroscopic heart preparations, including but not limited to trabecular muscles from the atria and the ventricles, papillary muscles, Purkinje fibers, and midmyocardial and epicardial clippings. These preparations are paced using a pacing electrode made from platinum, and action potentials are measured using a sharp glass microelectrode.
The pacing artifact is separated from the potential by the physical distance between the two electrodes, therefore the artifact can be excluded from the evaluation based on its time gap from the action potential.
4.2. Single-cell current clamp technique
Individual myocytes can also be isolated from the heart, and can be used to measure not only individual ion currents (voltage clamp mode), but also action potentials (current clamp mode) using the patch clamp technique. In this technique, a single glass microelectrode is used both for pacing and for measurement. Therefore, the pacing artifact may distort the phase 0 depolarization, and this should be accounted for during evaluation.
4.3. Voltage-sensitive fluorescent dyes
Voltage-sensitive dyes can be used to measure action potentials from individual myocytes. In ActionPytential, the evaluation of these action potentials is similar to the evaluation of other potential types: all available variables are calculated in the same manner as in the case of the potentials recorded with the conventional microelectrode technique or with the current clamp technique. Instead of evaluating the change in voltage [mV], the change in fluorescence [AU] is evaluated over time [ms].
4.4. Calcium transient
Similarly to voltage-sensitive fluorescent dyes, Ca2+-sensitive fluorescent dyes can be utilized to measure calcium transients in individual cardiac myocytes. These measurements could also be analyzed using ActionPytential, but instead of evaluating the changes in voltage [mV], the change in intracellular calcium concentration is evaluated [mM] over time [ms].
4.5. Simulations
Action potentials generated via simulation are treated the same as any other potential, no special considerations required. Action potential data from LongQt [21] and MyoKit [22] were tested successfully.
4.6. Gap-free acquisition
Depending on the acquisition software in use, on the type of the tissue, or on the goal of the given experiment, the action potentials can be measured either as individual potentials (episodic acquisition), or as a continuous stream of multiple potentials (gap-free acquisition). Evaluating gap-free measurements often requires manual analysis, because most standalone, software solutions with a graphical user interface do not offer automated segmentation of potentials at the time of writing. Spiky, an ImageJ extension does offer this functionality without batch processing, while ParamAP enables both batch processing and segmentation with a more limited graphical interface.
Our intention with ActionPytential was to solve some of the limitations of other tools and enable more seamless segmentation and evaluation of gap-free action potential recordings.
5. Description of the system
5.1. Project overview
ActionPytential is written in Python 3. Python 3 is supported across multiple platforms including Windows 7 and higher, GNU + Linux, MacOS, and BSD.
Binary releases are built using the pyinstaller package.
A minimal set of dependencies are required.
5.2. Graphical user interface
The main user interface of ActionPytential consist of a single window, written using PySimpleGUI (Fig. 2). Choosing the working directory is done by typing in a path or browsing to one. The files contained in the given directory are listed in the panel on the left. Files chosen for processing are listed in the panel on the left side. Files from the working directory can also be chosen by filtering based on regular expressions. When pressing the Start button, all chosen files are processed. Calculated values are shown in a table in the middle of the window, and the figure is shown on the right. Each action potential is represented by a row in the table, and if a file contained multiple potentials, they are processed and shown in their original order. When the table is populated with data, highlighting the lines in the table selects the corresponding potentials for further processing, either to plot only the selected potentials by pressing Start again, or to average them by pressing Average. The type of the drawn figure can be chosen with radio buttons. By default, no corrections are made, but there are options to correct for resting potential (RP) or amplitude (AMP). Further options for viewing the figures includes the built-in plot viewing pop-up of matplotlib that enables zooming in, reading individual absolute values of the datapoints enhanced with mouse-driven cursors, and exporting the created images. Aided Manual analysis is also available when pressing the corresponding button. Inspecting the calculated values is possible by choosing the value of interest in the drop-down menu: on the next plot, the chosen value will be plotted on the action potentials as a circular marker. The standard output is rerouted into a console shown in the main window (top right corner), providing tips and feedback on the state of the application.
Fig. 2.
The ActionPytential user interface.
5.3. Implementation
5.3.1. Supported file formats
Data can be imported in common text–CSV format with comma, space, tabulator, or semicolon separation. Decimal comma and decimal point are both supported. The first column is expected to be the time axis for all potentials in the given file, while all subsequent columns are treated as voltage columns. The rationale behind this definition is that most solutions for action potential acquisition enable exporting the recordings in a similar format. Therefore, files created using any acquisition or modeling software can be supported. Furthermore, expanding the compatibility either by conversion from other file formats or by adding support in ActionPytential itself can be achieved with relative ease.
In order to take advantage of all features of ActionPytential, a specific text-based format has also been defined, but remains completely optional (Supplementary Table 1). In this format, the name of the file (“ACQ”), the name of the applied pacing protocol (“TRAIN”) and the basic cycle length (“BCL”) are stored in the corresponding columns of the second line of the header. The third line stores the cycle length (“Cycle”) for each recorded potential. The fourth line stores the category of each column, “TIME” corresponding to the column with the common time axis for each potential, and the numbers correspond to the ordinal number of each action potential.
5.3.2. Extraction of action potentials
All files are checked for compatibility by attempting to read the first 20 lines in the first 2 rows as action potential data. In this attempt, all supported delimiters and decimal signs are tested, and on success, the function returns the delimiter and decimal sign for each file. Files found incompatible are not processed any further.
Then, the list of compatible files is processed. Each voltage column is paired with its corresponding time column, forming pairs of time and voltage axes representing each action potential (Fig. 3).
Fig. 3.
– A flowchart presenting an overview of the data flow in ActionPytential.
5.3.3. Filtering
A fifth-order low-pass Butterworth filter is available for noise reduction. The threshold frequency can be set by the user, and the sampling rate is automatically determined from the time axis. The filter is applied after the extraction of the potentials, but both the filtered and unfiltered data are kept for further processing.
5.3.4. Separation of continuous recording into individual potentials
Based on the first derivative of each column and other voltage-related variables, separation of multiple action potentials is attempted: the highest values of the voltage and the voltage derivative axes are found, and other local maxima reaching 80% of these highest values are considered as the beginning or the peak of an action potential upstroke.
Based on user choice, the potentials are either separated at the lowest values between upstrokes (slow response type action potentials), or 10 ms before the beginning of each upstroke (all other potentials).
If separation is possible, the function returns a list of the separated action potentials with a normalized time axis, starting at 0 ms. The starting point of each potential is also kept, and can be used to create a continuous sweep of separated potentials for plotting. If separation was not possible or not applicable, only the unseparated data is returned.
The potentials separated from gap-free recordings can be viewed both with a continuous time axis with individual identified potentials shown in a different color (Fig. 4A) or with a common time axis starting from 0 ms, stacked on top of each other (Fig. 4B).
Fig. 4.
Separated sinoatrial action potentials from a gap-free recording shown in continuous (A) and in stacked (B) views.
5.3.5. Calculation of parameters
Action potentials are analyzed individually. If the filter is applied, values are determined from the filtered data except for the voltage derivative values that are always calculated from the raw data. The method of defining each variable is based on the manual analysis steps followed to find the given value, which might be computationally intensive in some cases, but provide high precision even for relatively complex variables. The function responsible for parameter calculation, action_potential_parameters(), is designed to be useable outside of ActionPytential with a minimal set of arguments, possibly even as part of a different graphical implementation or paired with a command line interface. Each potential is evaluated individually, and the function returns all of the calculated values in the form of a dictionary.
The starting point and the ending point of the action potential are determined by the timeframe set by the user; this enables the exclusion of unwanted noise or artifacts from the analysis, the most common one being the stimulation artifact in the case of action potentials measured in tissue preparations.
5.3.5.1. Resting potential
By default, the mean of the voltage values from the last 20 ms at the end of the recording is considered as the resting potential (RP, Fig. 5). This time period was chosen based on the practical observation that the most common source of noise is the electrical grid, and 20 ms time covers exactly one cycle of a 50 Hz electrical grid. Other options for RP calculation include the first voltage value at the beginning of the chosen timeframe, or the average of the two values from the beginning and the end of the action timeframe. It should be noted that the frame should be set more precisely if the beginning of the action potential is also included in the RP calculation.
Fig. 5.
Definitions of the resting membrane potential, the action potential amplitude and the conduction time on a rat ventricular muscle action potential. The box on the left shows the first 8 ms of the same recording; SA – stimulation artifact.
5.3.5.2. Amplitude and conduction time
First, the highest voltage in the timeframe is determined, and the difference between this value and the RP is considered the amplitude (AMP, Fig. 5) of the action potential [mV]. The conduction time (CT) is defined as the point in the time axis where the potential reaches half of the AMP voltage: the midpoint of the 0th phase of the action potential [ms]. The midpoint of the 0th phase was an arbitrary choice, it could also be substituted with the time where the maximal voltage is reached. Although, this would add the whole 0th phase to the conduction time. Furthermore, the point where depolarization velocity reaches its peak may change more easily, therefore a point based on voltage only seems more appropriate for the purpose. This value can primarily be interpreted in tissue-level experiments, representing the time it takes for the depolarization wave starting from the stimulating electrode to reach the measuring electrode in tissue these preparations (e. g., papillary muscles) measured using the conventional microelectrode technique. It should be noted that this value does not reflect tissue-level conduction velocity on its own, at least not without knowing the distance between the electrodes. However, certain drug effects that decrease the rate of depolarization can be identified by the increase in CT, if both the stimulating electrode and the measuring electrode remain in the same position for the duration of the experiment.
5.3.5.3. Maximal rate of depolarization and repolarization
The maximal rate of depolarization (dVmax) and repolarization (dVmin) are taken from the first derivative of the voltage axis, with the consideration that dVmin must come after dVmax in the selected timeframe [V/s]. If the action potential data contains parts with higher and lower sampling frequencies, dVmax is taken from the high frequency part of the recording, and dVmin is taken from the lower frequency part. This enables the detection of the otherwise relatively undersampled fast repolarization at the end of the action potential. The value of dVmax represents the number of activated sodium channels during the 0th phase of the action potential, while dVmin represents the overall quickest part of the whole repolarization (phases 1–3), therefore the timing of dVmin is also determined.
5.3.5.4. Action potential duration
The action potential duration values (APD10–APD90) represent the dynamics of repolarization, as each value corresponds to the time at which the given percentage of repolarization is reached, therefore APD90 represents the action potential duration at 90% of repolarization, and it is considered as the complete duration of the action potential [ms], although some sources consider APD95 as the duration of the action potential (Fig. 6).
Fig. 6.
Definitions of the action potential duration at a given percent of repolarization on an action potential from dog ventricular muscle.
It should be noted that the APD values are calculated from the beginning of the repolarization, starting from the maximal level of depolarization. Therefore, in the case of measurements featuring the spike and dome (notched) morphology, where APD10 and even APD25 might occur twice: once before and once after the notch. In our implementation, the first occurrence of these values is taken into consideration, representing the pace of the repolarization more closely when compared to the approach of determining APD values starting from the end of the repolarization. In this latter case the second occurrence of these values would be taken into account, possibly misrepresenting the early phase of repolarization.
5.3.5.5. Characteristics of the notch
Next, the characteristics of the action potential notch are calculated (Fig. 7). The presence of a notch is determined by finding the best fitting high-degree (1–30) polynomial function on the first third of the repolarization phase, and the first derivative of this function is inspected. If a positive trend is found in the derivative, the lowest voltage of the notch is determined from the raw data and the voltage value of this lowest point is saved as the voltage of the notch, expressed as mV and in percentage of AMP (AMP%) as well, while the corresponding time value is stored as the time of the notch. If the notch consists of a multipoint isoelectric segment, the midpoint of this segment is considered as the notch point.
Fig. 7.
Definitions of the notch-related parameters on a dog Purkinje fiber action potential.
The accuracy of this method in correctly identifying notched potentials was found to be 94.5%. 1.6% of notched potentials were missed when compared to manual inspection of a validation set of potentials (n = 1200). We consider the notch one of the most noise-sensitive variables even for manual analysis. Therefore, this variable was chosen to showcase the resiliency of the software to noise, as other variables are much less affected. Correct detection of the notch requires low-noise recordings, but the built-in Butterworth filter may markedly improve the accuracy. As a demonstration, noise was introduced to a dog ventricular action potential recording at +1, +2, +4, and +8 SD using the numpy. random.normal()) function. The notch time (NT) was not correctly detected from the unfiltered data with noise (Fig. 8A). On the other hand, NT was correctly detected up to +2 SD noise after applying the Butterworth filter (Fig. 8B). It should be noted that with the additional noise, manual analysis could not precisely identify the notch either.
Fig. 8.
The timepoint where the notch occurs (NT) was not detected correctly in unfiltered cardiac action potential data with additional noise (A). After applying Butterworth filtering (120 Hz), the notch was correctly detected at up to 2 SD additional noise (B). Tickmarks in the legend represent correct detection. Colored arrowheads on the time axis represent the NT detected for the corresponding sweep. On the right, the arrowheads for No noise, 1 SD and 2 SD overlap.
Polynomial interpolation (order 1–5) of the rodent repolarization has been previously described [16], but we found that notched potentials from dog, rabbit or human hearts were underfitted by lower-degree polynomial functions.
The repolarization of the same early phase is also characterized by the velocity of the depolarization, even if no notch is identified [V/s].
In most mammalian species, the notch is thought to be elicited by the transient outward rectifying potassium current, therefore drug effects on this channel may be represented in these notch-related values.
5.3.5.6. Characteristics of the plateau
The plateau phase is the 2nd phase of the cardiac action potential. It represents the part of the action potential where the calcium channels are activated and counter the repolarization facilitated by the potassium channels. The part where the overshoot ends, and the membrane potential returns to values under 0 mV may be considered as the end of the plateau phase [ms]. The voltage values at 20%, 50% and 90% of the APD90 value are expressed in [mV] and [AMP%] (Fig. 9). In action potentials longer than ∼120 ms, the change of the membrane potential value between the points 50 ms before and after the midpoint of the APD is considered the mid-plateau slope expressed in [V/100 ms], but it could also be expressed as [V/s]. Triangulation can be defined a) as the difference between the APD90 and APD25 values [ms], b) as the difference between the APD90 and APD50 values [ms] or c) as the ratio of APD90 and APD50 values. Higher values represent a more rapid late repolarization phase.
Fig. 9.
Definitions of the plateau-related parameters on a human ventricular muscle action potential. PV50: plateau voltage at the midpoint of the action potential duration, where the midpoint is calculated by halving the APD90 value.
5.3.6. Single-cell current clamp measurements
Action potentials measured using the single-cell current clamp technique require special considerations regarding their phase 0 depolarization. In these measurements, a single electrode is used both to activate the myocyte and to measure the potential, therefore, a prominent stimulation artifact can be present in phase 0. In such measurements, the RP is defined at the end of the timeframe, and the dVmax value is only considered after the stimulation artifact.
5.3.7. Slow-response action potentials
Cardiac pacemaking tissues are characterized by spontaneous depolarization due to their slightly different ion channel composition and different calcium handling. These tissues are responsible for maintaining the physiological cardiac frequency. The most common preparation featuring such a slow-response type action potential is the sinoatrial node, but Purkinje fibers can also be used. Due to the fact that these preparations are not paced externally during the measurement, episodic acquisition is rather challenging. Therefore, gap-free acquisition is preferred, which makes automated segmentation particularly beneficial in these preparations, While regular, externally paced, action potentials are segmented at the isoelectric segments between each potential, preferably right before each stimulation artifact, slow-response potentials are segmented at the lowest voltages between each upstroke (Fig. 4). Thus, the first and the last voltage values can be considered the maximum diastolic potentials (MDPs) before and after each potential.
Slow response action potentials are also analyzed as regular potentials with the same parameters assigned to them, but, based on the definitions from Bucchi et al. [23], specific parameters are also calculated for sinoatrial node preparations/cells: the take-off potential (TOP) and the corresponding time value (TOT) are taken at the point where the voltage derivative exceeds 0.5 V/s. The slope of the early diastolic depolarization (EDD) is also calculated based on the change in voltage from the MDP preceding the potential to the TOP. The APD of these potentials corresponds to the time from the TOP to the subsequent MDP. The cycle length [ms] is calculated based on the distance between peak of the given potential and the previous one. a.
5.3.8. Action potential alternans
Beat-to-beat alternans of the action potential duration and in calcium transients amplitude have long been associated with arrhythmic risk [26,27]. Measuring these oscillations can be a complex task, because numerous action potentials must be evaluated to identify them. Pearman [28] has introduced an Excel-based implementation available for spectral-based evaluation of action potential alternans, but this tool requires the potentials to be matched over the time axis. Manual creation of such a matched dataset from a gap-free recording manually would also be a tedious endeavor.
ActionPytential offers automated segmentation for these recordings: all of the action potentials from each recording are automatically segmented, time-matched, and analyzed, so that the researcher only needs to find the oscillation in the given variable. Furthermore, if these segmented potentials are exported, they could also be further analyzed using the aforementioned implementation in Excel [28].
5.4. Plotting
All action potentials are drawn as scatter plots with lines inside the main window of the application. In order to achieve this, the time and voltage axes of individual potential are converted into a list of time axes and a list of voltage axes to be processed by matplotlib.
Additional plotting functions include the following: correction for RMP: all of the action potentials are shifted in voltage to have a matching common RMP, without changing their AMP; correction for AMP: the AMP of all potentials is matched and these matched potentials are then shifted to a common RMP; viewing the calculated first derivatives; or viewing only a single action potential chosen by the user. These visual corrections are made available in order to help the user find changes in the action potentials that might be masked by technical difficulties, such as an unstable impalement or unwanted drifting of the measured RMP. The corrections are limited to the visual representation of the potentials, they are never taken into account during parameter calculation.
5.5. Averaging of sweeps
In some cases, noise is inevitable during experimentation. To overcome this issue, averaging of action potentials is available. If potentials are selected for manual averaging, all of the selected potentials are averaged regardless of their source file or cycle length.
If automatic averaging is chosen, further checks are in place to provide a proper output: averaging is limited to individual files and to potentials having the same cycle length, if cycle lengths were provided. First, all of the potentials within the given file are used to create a “raw” average, then, each potential within the file is checked against the raw average: potentials that show no data points more than 8 mV different from the raw average are marked to form the final average. Therefore, if a few potentials contain any artifacts, be it electrical noise or movement artifacts, these potentials are discarded, while the rest form an average that is characterized by markedly reduced random noise. When the averaging is done, a preview of the outcome is shown in the main window, and a pop-up lets the user choose to export and save the averaged potential, review it in a matplotlib window, or cancel the operation.
On export, the averaged potentials are saved to the location of their input files, with an “A” appended to their name. As each file/recording is expected to have a single ideal averaged version, only one copy is kept of the averaged files, thus each newly generated averaged file replaces the previous one.
5.6. Manual analysis
Even though ActionPytential aims to provide a completely automated experience of action potential analysis, in some cases manual analysis might still be required. Therefore, an assisted manual analysis tool is available on an individual potential basis (Fig. 10). The user is presented with a matplotlib pop-up that contains the selected potential, as well as a window with textboxes corresponding to action potential parameters.
Fig. 10.
The manual analysis window.
When the user moves the cursor inside the matplotlib window, the time and voltage values corresponding to the position of the cursor are shown at all times in the bottom right corner of the window. On mouse click, the currently selected value is shown for both axes. On a keyboard button press, the selected value is remembered as a reference and all subsequent clicks will show the axis values relative to this selected point. Scrolling the mouse wheel unsets the reference value.
This feature enables the user to determine any time or voltage value from the plotted action potential. Zooming is also possible, further improving precision.
If the mean diastolic potential and the highest point of phase 0 are entered in the manual analysis window, the amplitude (AMP) is automatically calculated. Furthermore, voltages corresponding to the APD90–10 values are also calculated, aiding the user to quickly determine the correct time values.
Since all values presented in the matplotlib window are presented as they were measured, all of the time-related values need to be corrected to the beginning of the action potential on the time axis. This can also be automated, if the conduction time (CT) is entered: the CT value is subtracted from the manually entered values.
Filling all boxes is not mandatory, missing values are replaced with ‘NA’ in the table. Triangulation (TR) is automatically calculated if the APD25 and APD90 values are filled. Derivative values (maximal rate of depolarization and of repolarization) are always taken from the automated analysis.
5.7. Exporting data
All data generated within ActionPytential can be exported for further processing with other software. The contents of the table in the main window can be saved as a CSV, and the data comprising the currently shown plot can be saved as a CSV as well. The suggested filenames can be edited by the user, and no data is overwritten when saving these files. If a conflict occurs, a counting number is appended at the end of the filename that increases for each new file with the same name.
5.8. Test systems overview
Development of the software takes place on a 4-core x86-64 mobile processor from 2020 equipped with solid-state storage, running a GNU + Linux operating system. Performance tests were also performed on a 2-core ×86 desktop processor from 2011, as well as native Windows systems, and virtual MacOS environment. Functionality and reproducibility were not affected by the choice of platform.
6. Status report
6.1. Precision of calculated values
Our previous application, APES, has been thoroughly validated against manual analysis during its development, therefore, we utilized it as the standard to match in calculating the same values. To validate the accuracy of ActionPytential, a dataset consisting of 1200 cardiac action potentials from dog, rabbit, rat, guinea pig and human ventricular preparations was created, and Bland-Altman analysis was performed on this dataset for each calculated variable to compare our current implementation to a well-tested standard. In summary, ActionPytential performed on par with APES, with less than 5% of difference in all variables. The APD10 and APD25 values were calculated to be shorter in ActionPytential in some cases, because the corresponding voltage values may occur twice in potentials with spike and dome (notch) morphology, and ActionPytential takes the first occurrence, which is the more precise approach regarding the pace of repolarization, while APES detected the later occurrence. RP also showed minor differences, because APES always averages the RP values from the beginning and the end of each potential, but ActionPytential only used the end value, because the potentials in the validation dataset did have stable baselines. The latter approach was considered more reliable, but the same averaging approach is also available in ActionPytential.
6.2. Usability
ActionPytential has been in daily use in our laboratory for over a year. The feedback from our colleagues helped shaping the interface, and in its current form, it was considered user friendly.
Files exported in ASCII text format directly from APES, Evokewave 1.49 (Unisip Ltd.), and LongQT [21] were processed as intended in our testing. Including support for further acquisition solutions is also possible.
6.3. Performance
The validation dataset consisting of 1200 potentials was processed under 7 s including figure creation on the development system, if continuous (gap-free) recording separation was skipped (the dataset contains recordings of individual potentials). If separation was attempted, the calculation was finished in 20 s. Attempting the same tests on a 2-core processor from 2011 and a hard disk drive yielded 42 s and 112 s respectively. It should be noted that the application favors higher single-core performance. Should the need arise, the multiprocessing Python library could be used to enable the utilization of multiple threads. Given that the expected day-to-day utilization of ActionPytential involves the processing of 20–100 potentials in each run, the minimal hardware requirements would only include a 2-core processor from the past 15 years, and ∼300 MB of accessible memory. On the other hand, software limitations may occur on such systems, as Python 3 requires Windows 7 or higher, while older systems may also be running older versions of the Windows operating system. On such occasions, booting into a light GNU + Linux live environment may enable support for ActionPytential.
6.4. Limitations
ActionPytential in its current form is intended for action potential analysis, but analysis of data gathered from other modalities in the field of cardiac electrophysiology, such as contraction signals, possibly coupled with the action potential data would be beneficial to widen the possible applications of this software.
7. Mode of availability of software
The source code and all related documentation is hosted on a GitLab repository. When all dependencies are installed, the code can be run using the Python interpreter.
Binary executables are built using the pyinstaller package for Windows and GNU + Linux systems, these are also available for download from the repository. These executables contain all dependencies as well as the Python interpreter, so they can be run on their corresponding operating systems without installing any additional dependencies.
8. Future plans
The original focus of ActionPytential was to enable the segmentation of gap-free recordings and to aid analysis by automating the calculation of parameters that are still often calculated manually. Even though such an open, multi-platform tool with a simple but powerful graphical user interface can be considered as a novelty on its own, further improvements are planned.
In its current form, ActionPytential calculates 34 parameters related specifically to cardiac action potentials. While this is a relatively high number when compared to other solutions, there are still numerous open possibilities that should be thoroughly explored. Ideally, users should also be able to define custom variables.
Furthermore, analysis of multiple channels from the same measurement could widen the applicability of the software. Matching the action potentials with a channel containing the stimulation signal could markedly improve the detection and identification of abnormal events, such as extrasystolic potentials and delayed afterdepolarizations. In a similar manner, parallelized analysis of action potential data and contraction data would also enable a more complex evaulation of cardiac electrophysiologic mechanisms.
Detection and correct interpretation of early and delayed afterdepolarizations is also a crucial point in action potential analysis. Automation of this task would likely require a more complex solution. In its current state, ActionPytential interprets any shape similar to an action potential as an action potential and analyzes it accordingly. It would be beneficial to implement a method to detect these special shapes and apply specific algorithms to their analysis.
The recent developments in the fields of cardiac modeling and machine learning indicate that ActionPytential could become a more powerful tool if the recordings were also compared to reliable models of the same preparation type. This approach could enable faster and more precise detection of drug effects on specific ion channels, letting the researchers focus on the most relevant ion channels first when measuring ionic current effects of drug candidates on cardiac myocytes. Integration with MyoKit [22] or LongQT [21] could potentially enable this type of analysis.
Remarkable advancements have also occurred in ex vivo and in vitro experimental techniques in the past decade where ActionPytential may also be utilized. Brandenburger et al. [29] have developed organotypic slice cultures from human adult ventricular myocardium that showed similar electrophysiological properties to conventional endocardial muscle preparations from human heart tissue. Furthermore, cardiac myocytes have also been induced from human pluripotent stem cells (hiPSCs) [30,31]. Lemoine et al. have already demonstrated repolarization reserve and early afterdepolarizations in hiPSC–derived organoids similar to that of human [32]. With current advancements in the maturation methods of hiPSCs [33], the electrophysiological relevance of such cardiac myocytes can be expected to increase even further. It is important to note that both of these methods markedly increase the quantity of available human cardiac myocytes that can be used to test novel compounds for proarrhythmic or antiarrhythmic effects. We might even expect that automated patch clamp technique will be developed for these cell types, and automated evaluation of the action potential by the software described in this work may increase the throughput of such early pharmacological safety testing. Cardiac tissues derived from hiPSCs are characterized by intrinsic automaticity [30,34,35], and the segmentation of gap-free recordings from such tissues may also prove useful.
Transgenic rabbit models of specific long QT syndromes with reduced repolarization reserve are also emerging, allowing even more nuanced evaluation of proarrhythmic side effects of drug candidates in specific conditions [[36], [37], [38], [39], [40]]. As these advancements become established in drug discovery, software tools for action potential analysis are likely to become more important in the future.
9. Conclusion
The precise analysis of cardiac action potentials is a complex task that often requires manual analysis by trained researchers. Even though this task has been seemingly already automated, the segmentation of gap-free recordings still remained an issue.
ActionPytential can segment gap-free recordings of both slow-response and regular action potentials, and process them efficiently while still following the same steps that a human analyzing each potential would take. This enables quick, reliable analysis and direct comparison of a virtually unlimited number of action potentials from a number of sources, including measurements with conventional microelectrodes and single-cell current clamp, as well as from well-known modeling tools, such as MyoKit [22] and LongQT [21]. This can be particularly beneficial in situations where hundreds or even thousands of potentials need to be evaluated, for example in the detection and analysis of action potential alternans.
The tool is openly available for everyone to experiment with and improve on, and we are looking forward to receiving further comments and ideas from the scientific community. The project is available for download and contribution on GitLab [41].
Acknowledgements
The authors would like to express their gratitude for the action potential recordings provided by Noémi Tóth, MD, PhD. The authors are also thankful for the constructive comments received from Balázs Horváth, MD, PhD, and Norbert Szentandrássy, MD, PhD. The authors would like to thank Péter Boldog, MSc for his support in writing testing scripts for the software. This work was supported by the National Research Development and Innovation Office (FK-142949), by the New National Excellence Program of the Ministry for Innovation and Technology (UNKP-21-3), and by the University of Szeged Open Access Fund (6136).
Footnotes
Supplementary data related to this article can be found at https://doi.org/10.1016/j.heliyon.2023.e14440.
Appendix A. Supplementary data
The following is the supplementary data related to this article:
References
- 1.Carmeliet E. Conduction in cardiac tissue. Historical reflections. Phys. Rep. 2019;7 doi: 10.14814/phy2.13860. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 2.Roden D.M. Taking the “idio” out of “idiosyncratic”: predicting torsades de Pointes. Pacing Clin. Electrophysiol. 1998;21:1029–1034. doi: 10.1111/j.1540-8159.1998.tb00148.x. [DOI] [PubMed] [Google Scholar]
- 3.Roden D.M. Long QT syndrome: reduced repolarization reserve and the genetic link. J. Intern. Med. 2006;259:59–69. doi: 10.1111/j.1365-2796.2005.01589.x. [DOI] [PubMed] [Google Scholar]
- 4.Varró A., Baczkó I. Cardiac ventricular repolarization reserve: a principle for understanding drug-related proarrhythmic risk. Br. J. Pharmacol. 2011;164:14–36. doi: 10.1111/j.1476-5381.2011.01367.x. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 5.Drake-Holland A.J., Noble M.I., Pieterse M., Schouten V.J., Seed W.A., ter Keurs H.E., Wohlfart B. Cardiac action potential duration and contractility in the intact dog heart. J. Physiol. 1983;345:75–85. doi: 10.1113/jphysiol.1983.sp014966. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 6.Gray P., Freeman S. A computerized approach to the collection and analysis of cardiac action potentials. J. Pharmacol. Methods. 1986;15:347–357. doi: 10.1016/0160-5402(86)90013-6. [DOI] [PubMed] [Google Scholar]
- 7.King R., Catlow J., Gwilt M., Higgins A. High resolution on-line analysis of cardiac action potentials using a Motorola 68000 microcomputer. J. Pharmacol. Methods. 1988;20:151–160. doi: 10.1016/0160-5402(88)90075-7. [DOI] [PubMed] [Google Scholar]
- 8.Pulkkinen P., Vornanen M. Computer analysis and plotting of physiologic signals in cardiac muscle research. Comput. Methods Progr. Biomed. 1996;49:49–54. doi: 10.1016/0169-2607(95)01704-6. [DOI] [PubMed] [Google Scholar]
- 9.Dickenson D.R., Davis D.R., Beatch G.N. Development and evaluation of a fully automated monophasic action potential analysis program. Med. Biol. Eng. Comput. 1997;35:653–660. doi: 10.1007/BF02510974. [DOI] [PubMed] [Google Scholar]
- 10.Rickert C., Proenza C. ParamAP: standardized parameterization of sinoatrial node myocyte action potentials. Biophys. J. 2017;113:765–769. doi: 10.1016/j.bpj.2017.07.001. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 11.van der Walt S., Colbert S.C., Varoquaux G. The NumPy array: a structure for efficient numerical computation. Comput. Sci. Eng. 2011;13:22–30. doi: 10.1109/MCSE.2011.37. [DOI] [Google Scholar]
- 12.SciPy, (n.d.). https://scipy.org/(accessed February 12, 2023).
- 13.Pasqualin C., Gannier F., Yu A., Benoist D., Findlay I., Bordy R., Bredeloux P., Maupoil V. Spiky: an ImageJ plugin for data analysis of functional cardiac and cardiomyocyte studies. J Imaging. 2022;8:95. doi: 10.3390/jimaging8040095. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 14.Shrivastav M., Iaizzo P.A. An interactive graphical user interface for comprehensive analysis of human and swine cardiac monophasic action potential. Comput. Biol. Med. 2009;39:1105–1116. doi: 10.1016/j.compbiomed.2009.09.005. [DOI] [PubMed] [Google Scholar]
- 15.Silva L.E.V., Fazan R., Marin-Neto J.A. PyBioS: a freeware computer software for analysis of cardiovascular signals. Comput. Methods Progr. Biomed. 2020;197 doi: 10.1016/j.cmpb.2020.105718. [DOI] [PubMed] [Google Scholar]
- 16.Meo M., Meste O., Signore S., Rota M. Novel methods for high-resolution assessment of cardiac action potential repolarization. Biomed. Signal Process Control. 2019;51:30–41. doi: 10.1016/j.bspc.2019.02.003. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 17.Psaras Y., Margara F., Cicconet M., Sparrow A.J., Repetti G.G., Schmid M., Steeples V., Wilcox J.A.L., Bueno-Orovio A., Redwood C.S., Watkins H.C., Robinson P., Rodriguez B., Seidman J.G., Seidman C.E., Toepfer C.N. CalTrack: high-throughput automated calcium transient analysis in cardiomyocytes. Circ. Res. 2021;129:326–341. doi: 10.1161/CIRCRESAHA.121.318868. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 18.O'Shea C., Holmes A.P., Yu T.Y., Winter J., Wells S.P., Correia J., Boukens B.J., De Groot J.R., Chu G.S., Li X., Ng G.A., Kirchhof P., Fabritz L., Rajpoot K., Pavlovic D. ElectroMap: high-throughput open-source software for analysis and mapping of cardiac electrophysiology. Sci. Rep. 2019;9:1389. doi: 10.1038/s41598-018-38263-2. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 19.Cooper B.L., Gloschat C., Swift L.M., Prudencio T., McCullough D., Jaimes R., Posnack N.G. KairoSight: open-source software for the analysis of cardiac optical data collected from multiple species. Front. Physiol. 2021;12 doi: 10.3389/fphys.2021.752940. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 20.Sala L., van Meer B.J., Tertoolen L.G.J., Bakkers J., Bellin M., Davis R.P., Denning C., Dieben M.A.E., Eschenhagen T., Giacomelli E., Grandela C., Hansen A., Holman E.R., Jongbloed M.R.M., Kamel S.M., Koopman C.D., Lachaud Q., Mannhardt I., Mol M.P.H., Mosqueira D., Orlova V.V., Passier R., Ribeiro M.C., Saleem U., Smith G.L., Burton F.L., Mummery C.L. MUSCLEMOTION: a versatile open software tool to quantify cardiomyocyte and cardiac muscle contraction in vitro and in vivo. Circ. Res. 2018;122 doi: 10.1161/CIRCRESAHA.117.312067. e5–e16. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 21.Onal B., Gratz D., Hund T. LongQt: a cardiac electrophysiology simulation platform. MethodsX. 2016;3:589–599. doi: 10.1016/j.mex.2016.11.002. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 22.Clerx M., Collins P., de Lange E., Volders P.G.A. Myokit: a simple interface to cardiac cellular electrophysiology. Prog. Biophys. Mol. Biol. 2016;120:100–114. doi: 10.1016/j.pbiomolbio.2015.12.008. [DOI] [PubMed] [Google Scholar]
- 23.Bucchi A., Baruscotti M., Robinson R.B., DiFrancesco D. Modulation of rate by autonomic agonists in SAN cells involves changes in diastolic depolarization and the pacemaker current. J. Mol. Cell. Cardiol. 2007;43:39–48. doi: 10.1016/j.yjmcc.2007.04.017. [DOI] [PubMed] [Google Scholar]
- 24.Hunter J.D. Matplotlib: a 2D graphics environment. Comput. Sci. Eng. 2007;9:90–95. doi: 10.1109/MCSE.2007.55. [DOI] [Google Scholar]
- 25.PySimpleGUI, (n.d.). https://www.pysimplegui.org/en/latest/(accessed February 12, 2023).
- 26.Koller M.L., Maier S.K.G., Gelzer A.R., Bauer W.R., Meesmann M., Gilmour R.F. Altered dynamics of action potential restitution and alternans in humans with structural heart disease. Circulation. 2005;112:1542–1548. doi: 10.1161/CIRCULATIONAHA.104.502831. [DOI] [PubMed] [Google Scholar]
- 27.Pueyo E., Corrias A., Virág L., Jost N., Szél T., Varró A., Szentandrássy N., Nánási P.P., Burrage K., Rodríguez B. A multiscale investigation of repolarization variability and its role in cardiac arrhythmogenesis. Biophys. J. 2011;101:2892–2902. doi: 10.1016/j.bpj.2011.09.060. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 28.Pearman C.M. An Excel-based implementation of the spectral method of action potential alternans analysis. Phys. Rep. 2014;2 doi: 10.14814/phy2.12194. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 29.Brandenburger M., Wenzel J., Bogdan R., Richardt D., Nguemo F., Reppel M., Hescheler J., Terlau H., Dendorfer A. Organotypic slice culture from human adult ventricular myocardium. Cardiovasc. Res. 2012;93:50–59. doi: 10.1093/cvr/cvr259. [DOI] [PubMed] [Google Scholar]
- 30.Bell D.C., Fermini B. Use of automated patch clamp in cardiac safety assessment: past, present & future perspectives. J. Pharmacol. Toxicol. Methods. 2021;111 doi: 10.1016/j.vascn.2021.107114. [DOI] [PubMed] [Google Scholar]
- 31.Hoekstra M., Mummery C.L., Wilde A.A.M., Bezzina C.R., Verkerk A.O. Induced pluripotent stem cell derived cardiomyocytes as models for cardiac arrhythmias. Front. Physiol. 2012;3:346. doi: 10.3389/fphys.2012.00346. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 32.Lemoine M.D., Krause T., Koivumäki J.T., Prondzynski M., Schulze M.L., Girdauskas E., Willems S., Hansen A., Eschenhagen T., Christ T. Human induced pluripotent stem cell-derived engineered heart tissue as a sensitive test system for QT prolongation and arrhythmic triggers. Circ Arrhythm Electrophysiol. 2018;11 doi: 10.1161/CIRCEP.117.006035. [DOI] [PubMed] [Google Scholar]
- 33.Feyen D.A.M., McKeithan W.L., Bruyneel A.A.N., Spiering S., Hörmann L., Ulmer B., Zhang H., Briganti F., Schweizer M., Hegyi B., Liao Z., Pölönen R.-P., Ginsburg K.S., Lam C.K., Serrano R., Wahlquist C., Kreymerman A., Vu M., Amatya P.L., Behrens C.S., Ranjbarvaziri S., Maas R.G.C., Greenhaw M., Bernstein D., Wu J.C., Bers D.M., Eschenhagen T., Metallo C.M., Mercola M. Metabolic maturation media improve physiological function of human iPSC-derived cardiomyocytes. Cell Rep. 2020;32 doi: 10.1016/j.celrep.2020.107925. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 34.Li R.A., Keung W., Cashman T.J., Backeris P.C., Johnson B.V., Bardot E.S., Wong A.O.T., Chan P.K.W., Chan C.W.Y., Costa K.D. Bioengineering an electro-mechanically functional miniature ventricular heart chamber from human pluripotent stem cells. Biomaterials. 2018;163:116–127. doi: 10.1016/j.biomaterials.2018.02.024. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 35.Rajamohan D., Kalra S., Duc Hoang M., George V., Staniforth A., Russell H., Yang X., Denning C. Automated electrophysiological and pharmacological evaluation of human pluripotent stem cell-derived cardiomyocytes. Stem Cell. Dev. 2016;25:439–452. doi: 10.1089/scd.2015.0253. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 36.Major P., Baczkó I., Hiripi L., Odening K.E., Juhász V., Kohajda Z., Horváth A., Seprényi G., Kovács M., Virág L., Jost N., Prorok J., Ördög B., Doleschall Z., Nattel S., Varró A., Bősze Z. A novel transgenic rabbit model with reduced repolarization reserve: long QT syndrome caused by a dominant-negative mutation of the KCNE1 gene. Br. J. Pharmacol. 2016;173:2046–2061. doi: 10.1111/bph.13500. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 37.Baczkó I., Hornyik T., Brunner M., Koren G., Odening K.E. Transgenic rabbit models in proarrhythmia research. Front. Pharmacol. 2020;11:853. doi: 10.3389/fphar.2020.00853. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 38.Hornyik T., Castiglione A., Franke G., Perez-Feliz S., Major P., Hiripi L., Koren G., Bősze Z., Varró A., Zehender M., Brunner M., Bode C., Baczkó I., Odening K.E. Transgenic LQT2, LQT5, and LQT2-5 rabbit models with decreased repolarisation reserve for prediction of drug-induced ventricular arrhythmias. Br. J. Pharmacol. 2020;177:3744–3759. doi: 10.1111/bph.15098. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 39.Hornyik T., Rieder M., Castiglione A., Major P., Baczko I., Brunner M., Koren G., Odening K.E. Transgenic rabbit models for cardiac disease research. Br. J. Pharmacol. 2022;179:938–957. doi: 10.1111/bph.15484. [DOI] [PubMed] [Google Scholar]
- 40.Castiglione A., Hornyik T., Wülfers E.M., Giammarino L., Edler I., Jowais J.J., Rieder M., Perez-Feliz S., Koren G., Bősze Z., Varró A., Zehender M., Brunner M., Bode C., Liin S.I., Larsson H.P., Baczkó I., Odening K.E. Docosahexaenoic acid normalizes QT interval in long QT type 2 transgenic rabbit models in a genotype-specific fashion. Europace. 2022;24:511–522. doi: 10.1093/europace/euab228. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 41.Thomas Hastings/ActionPytential · GitLab . 2023. GitLab.https://gitlab.com/ThomasHastings/ActionPytential (accessed February 13, 2023). [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.










