Abstract
BACKGROUND:
Calcium (Ca) sparks are elementary units of subcellular Ca release in cardiomyocytes and other cells. Accordingly, Ca spark imaging is an essential tool for understanding the physiology and pathophysiology of Ca handling and is used to identify new drugs targeting Ca-related cellular dysfunction (eg, cardiac arrhythmias). The large volumes of imaging data produced during such experiments require accurate and high-throughput analysis.
METHODS:
We developed a new software tool SparkMaster 2 (SM2) for the analysis of Ca sparks imaged by confocal line-scan microscopy, combining high accuracy, flexibility, and user-friendliness. SM2 is distributed as a stand-alone application requiring no installation. It can be controlled using a simple-to-use graphical user interface, or using Python scripting.
RESULTS:
SM2 is shown to have the following strengths: (1) high accuracy at identifying Ca release events, clearly outperforming previous highly successful software SparkMaster; (2) multiple types of Ca release events can be identified using SM2: Ca sparks, waves, miniwaves, and long sparks; (3) SM2 can accurately split and analyze individual sparks within spark clusters, a capability not handled adequately by prior tools. We demonstrate the practical utility of SM2 in two case studies, investigating how Ca levels affect spontaneous Ca release, and how large-scale release events may promote release refractoriness. SM2 is also useful in atrial and smooth muscle myocytes, across different imaging conditions.
CONCLUSIONS:
SparkMaster 2 is a new, much-improved user-friendly software for accurate high-throughput analysis of line-scan Ca spark imaging data. It is free, easy to use, and provides valuable built-in features to facilitate visualization, analysis, and interpretation of Ca spark data. It should enhance the quality and throughput of Ca spark and wave analysis across cell types, particularly in the study of arrhythmogenic Ca release events in cardiomyocytes.
Keywords: arrhythmias; calcium signaling; myocytes, cardiac; software
Novelty and Significance.
What Is known?
Calcium is a central mediator of muscle contraction, and of many subcellular signaling pathways.
Calcium handling dysfunction contributes to arrhythmias and other disease phenotypes, and can be an attractive target for treatment.
Imaging of unitary calcium release events (calcium sparks and waves) via confocal or microscopy is a crucial research technique, but generates large data sets that require quantitative software analysis.
What New Information Does This Article Contribute?
We developed a new software tool SparkMaster 2 for analysis of calcium sparks and other calcium release events in cardiomyocytes and other muscle cells.
Key strengths of SparkMaster 2 include high accuracy of spark detection, the ability to handle and separate distinct types of calcium release events, and user-friendliness.
The software is open source and freely available for all major operating systems.
Dysfunctional calcium handling can cause numerous diseases of the heart and other cell tissues. We can measure and characterize the state of calcium handling in muscle cells using fluorescent imaging techniques. However, these often produce datasets including thousands of calcium release events, requiring automated analysis. To aid the research using such data, we produced SparkMaster 2, a new user-friendly and freely available software tool, which is much more accurate and flexible than previously available tools. SparkMaster 2 can be used across many different cell types and experimental conditions. SparkMaster 2 is also suitable for high-throughput applications, such as small molecule screening, due to its high data processing speed.
In This Issue, see p 447
Meet the First Author, see p 448
Calcium ions (Ca) are essential regulators of a multitude of biological functions in virtually all cell types, including oocyte fertilization,1 neurotransmitter release,2 muscle contraction,3 and generation of the cardiac action potential and contraction.4 Intracellular [Ca] ([Ca]i) is tightly regulated both spatially and temporally, and dynamical [Ca]i changes come in many forms. The Ca spark is a brief, spatially localized form of Ca release from intracellular Ca stores, initiated by the transient opening of a cluster of ryanodine receptors (RyR) Ca release channels in cardiac myocytes sarcoplasmic reticulum (SR).5 It is considered to be a unitary form of stochastic Ca release and has been studied in several different cell types, but especially cardiac myocytes,6–8 human induced pluripotent stem cells,9 skeletal muscle,10,11 smooth muscle,12,13 and neurons.14,15
In the cardiac myocyte, Ca is central in excitation-contraction coupling, where Ca ions entering via L-type Ca channels bind to and activate RyRs to provide a large and spatially synchronized SR Ca release that causes contraction.4 Ca sparks are typically observed in the resting myocyte or during the diastolic phase between normal periodic beats. Ca sparks tend to be larger and more frequent when either SR Ca load or local [Ca]i is raised, and when RyRs become sensitized and leaky in pathological states.16 At low Ca spark frequency and amplitude, sparks are usually isolated within the neighborhood of a single RyR cluster or Ca release unit (≈1 µm3). However, as Ca spark frequency and amplitude increase, they can activate neighboring RyR clusters and form propagating Ca waves via diffusive Ca-induced Ca release, which in the heart can be highly arrhythmogenic, causing delayed afterdepolarizations. This pathological consequence of SR Ca leak has promoted high-throughput screening efforts to identify small molecule compounds targeting leaky RyRs to mitigate pathological SR Ca leak.17–20 Therefore, there is a vital and clinically relevant need to rapidly and accurately quantify Ca sparks and waves over a broad range of Ca release behaviors.
Ca sparks are typically recorded with Ca-sensitive fluorescent indicators in longitudinal or transverse line-scan modes with a conventional confocal microscope (2–6 ms/line), producing time-dependent pixel intensities indicative of local [Ca]i at each point along the line (x- or y-t data). Two-dimensional imaging (x-y-t) at this time resolution requires higher speed instrumentation but is feasible, and new 2D-Ca spark analysis tools are available.21,22 However, line-scan mode Ca spark imaging remains a key method for spark measurements in the field, offering good signal quality on affordable microscopes at a temporal pixel resolution of ≈500 Hz.
Cheng et al6,23 created an initial IDL-based Ca spark analysis tool that was useful but lacked an easy-to-use graphical user interface (GUI). SparkMaster,24 an ImageJ plugin that provides an accessible and practical GUI, was developed afterward and became a standard tool in the field, complemented by other recent approaches.25,26 While SparkMaster remains remarkably capable, it has several limitations, which can limit its utility and often warrant extensive manual post-processing. For example, it cannot easily distinguish larger Ca release events such as waves or miniwaves, which have required workarounds when Ca sparks and waves appear in the same records. SparkMaster also has limitations in spark detection accuracy and options for customization, which is critical when applied to imaging data collected using different microscopes and with different imaging conditions in labs across the world.
Here, we present SparkMaster 2 (SM2), a new open-source tool for analysis of line-scan Ca spark data that brings multiple crucial advancements over its predecessor, while remaining easy to use. SM2 is freely available as an open-source stand-alone application with a robust GUI, as well as a Python module, enabling its further use in a script-based analysis environment. It achieves a much greater accuracy of spark detection through a new spark-detection algorithm and offers a broader range of features compared with SparkMaster. While the software is more complex than the original SparkMaster, it analyzes data at a faster speed, with further speedup being possible by parallelization, making it ideally suited for relatively high-throughput studies.
Below, we (1) present the main functionality of SM2, (2) demonstrate its applicability to real-world Ca spark/wave analysis problems, using 2 case studies, (3) show that SM2 outperforms not only SparkMaster but also human annotators in terms of spark detection accuracy, using computer-generated synthetic spark data with known ground truth, and (4) demonstrate that SM2 can be used to detect and analyze Ca sparks in multiple cell types and across different imaging conditions.
METHODS
Data Availability
Please visit https://github.com/jtmff/SparkMaster2 to download the SM2 software app (for Windows, Mac, or Linux), sample test images, and a User guide, or to find the source code.
SM2 is implemented in Python and is distributed freely as an open-source, stand-alone, runnable GUI software application.
We selected Python as the programming language for this task for the following reasons: (1) it does not require ownership of expensive software (in contrast with, for example, Matlab); (2) it is commonly used for image processing tasks and any further development of SM2 does not require nonstandard framework knowledge (in contrast with ImageJ plugins, which are Java-based and require an understanding of a complex underlying framework); (3) it natively supports script-based analyses, including follow-up visualizations and statistical analyses, which are readily available as different Python libraries; (4) it is sufficiently fast to enable high-throughput analyses to be carried out; (5) it makes it possible to produce a stand-alone runnable application.
We did our best to make SM2 an easy-to-use and robust tool. However, we emphasize that we are happy to answer any questions and offer additional support via the e-mails provided for the corresponding authors.
We confirm the first author had full access to all the data in the study and takes responsibility for its integrity and the data analysis.
SM2 Detection of Calcium Release Events
The general approach to detection of sparks and other release events is as follows: (1) source images are preprocessed to reduce spatiotemporal background variations and denoising procedures are applied; (2) candidate release events are detected based on brightness (in a way similar to the original SparkMaster, but much more sensitive); (3) candidate objects are scored based on their size and brightness and are classified as sparks, long-lasting sparks, waves, or miniwaves. Objects with low overall scores are rejected as noise artifacts. (4) Splitting procedures are applied to make sure that clusters of release events are appropriately split into unitary events. (5) Finally, visualizations of object bounding boxes are shown. Visualizations of various intermediate results and variables may be toggled on to give insight into SM2’s decision process. In addition, density maps such as in Figure 4 may also be shown.
A detailed graphical overview of SM2 segmentation process is given in Supplemental Methods, where each step is reviewed visually, demonstrating the work carried out there and discussing the rationale for the chosen approach where relevant. The graphical overview also lists which parameters are used in which step exactly, helping the user understand each parameter’s interpretation.
SM2 Analysis of Spark Properties
For each detected object, several features are extracted, including all typically reported spark properties such as amplitude, full duration, and width (both at full- and half-amplitude), tau of decay, number of sparks, and other events in a recording, spark frequency (per 100 µm per s). The outputs are saved as a comma-separated values (CSV) spreadsheet, facilitating further statistical analysis. A summary spreadsheet is also produced (with a single line per file analyzed), giving median and interquartile range for each feature.
To obtain the trace of a spark fluorescence over time, the subimage containing the spark is averaged over space, ignoring pixels belonging to other release events (edges of which may be present in the processed subimage).
Synthetic Data Generation
We aimed to generate reasonably plausible data with appropriately shaped sparks, which show certain patterns that were relatively common in our real-world data, such as background variation, couples of adjacent sparks, or repetitive sparks, where an image column contains a repetition of a relatively similar spark, which is present at the same spatial location. No larger release events than single sparks were generated to keep the analysis of the synthetic data focused on spark detection, which will be the main task of SM2. Examples of produced data are in Figure 5. The procedure overview is given below (the Matlab code is uploaded to the project’s Github). Most parameters are randomized within preselected bounds, and a large number of images can be created rapidly. The parameter bounds were set so that the sparks produced are consistent with spark properties in the real recordings (ie, unrealistically small or large sparks are not possible). We note that the range of brightness levels of added sparks was chosen to make the dimmest sparks difficult or impossible to see, as this enables a comparison of the differential sensitivity of various tools. If the data contained only clearly visible sparks, these would be all detected by reasonably capable detection systems, not allowing measurement of differences in the rate of false negatives.
A library of multiple reference spark shapes was built using real spark recordings. When a spark is added to the recording, it is randomly picked from this library.
Background image is created, initially as a blank slate with random intensity within a certain range. To this are added a number of dark or bright bands (random shift in brightness versus background), mimicking the background variation in real data. Finally, each column is multiplied by a random number close to 1 to add further spatial variation.
Zero to 2 repetitive spark bands are added (these are columns with a—not necessarily periodically—repeating spark). Before being repeated and embedded in the background, a random reference spark is rescaled randomly in both dimensions, and its intensity is randomly varied.
Multiple spark couplets are added. These are pairs of sparks (with random scaling and randomized brightness) that are adjacent or near-adjacent. One spark is placed first, with the second one being placed at a random angle to it and at a random distance (within a relatively tight interval, ensuring the spark adjacency).
A large number of sparks (with randomized scaling and brightness) are added to the data, so that they are not too close to any other spark (to prevent unrealistic overlapping).
Gaussian noise is added (with SD randomly selected within a given range) to the whole image.
Images are stored, as well as reference masks containing segmentation of true spark locations, useful for later analysis.
Comparison of SM2 With SparkMaster and Human Annotators on Synthetic Data
To compare the accuracy of spark detection of SM2 versus SparkMaster and human annotators, we designed the following evaluation:
1. Thirty synthetic images with Ca sparks (of various numbers, typically between 30 and 100 per image), created as described in the previous section, including the ground truth annotation of where the sparks are located. A total of 1561 sparks were present in this dataset.
2. Each of these images is annotated using SM2 and SparkMaster, generating a segmentation mask of predicted spark locations. SparkMaster produces only bounding boxes of predicted release events, so to produce a similar shape of segmented objects as SM2 or humans, an ellipse inscribed into the bounding box rectangle was used.
3. Six human annotators annotated the 30 images in a way that every image was annotated by exactly 2 humans, enabling the calculation of inter-annotator agreement.
-
4. For each system (SM2, SparkMaster, and humans), the predicted spark locations were compared with the ground truth, using a graph-based approach to count true positive, false positive, and false negative spark detections in the following way:
-
a.
A bipartite graph was constructed with the partite vertices corresponding to the ground truth and predicted objects respectively. An edge is placed between 2 vertices when the Dice coefficient between the corresponding ground truth and predicted object is at least 0.15. The Dice coefficient is defined as where is the number of pixels of the ground truth object, is the number of pixels of the predicted object, and is the number of pixels that the ground truth and predicted object share. ie, for a full overlap between true and predicted object, the Dice coefficient is 1, and when the 2 objects do not overlap, it is zero. In this way, the edges in the graph correspond to a reasonable overlap between the ground truth and prediction.
-
b.A maximum bipartite matching is found and:
-
i.Ground truth vertices with no outgoing edge correspond to false negatives (a true object that was not found).
-
ii.Predicted vertices with no outgoing edge correspond to false positives (a predicted object not overlapping with a true object).
- An advantage of this approach is that it enables detecting errors due to over-segmentation and under-segmentation of spark clusters, which cannot be resolved merely by looking at whether a predicted object has an overlap with a true one and vice versa. For example, 2 nearby true sparks that are segmented as a single predicted object containing both will yield the scenario when 2 ground-truth-partite vertices are connected by an edge to one predicted-partite vertex. In the maximum bipartite matching, one of the edges is selected, leaving one unmatched ground-truth partite vertex, contributing a single false negative error.
-
i.
-
a.
-
5.
False positives and false negatives are counted and compared across the 3 systems.
SM2 performance was compared with that of SparkMaster, given its gold standard status in the field. In addition, it was not possible for us to analyze the data using other tools, due to their lack of documentation and crashes.
Experimental Conditions
Mouse Ventricular Myocyte Isolation and Ca Spark Imaging Data
This dataset was collected during the course of a previous study 27 and is used in Figures 1–5. There, ventricular myocytes were enzymatically isolated (300 U/mL collagenase Type II, Worthington; ≥9.8 U/mL protease Type XIV, Sigma) by retrograde Langendorff perfusion (37 °C) from male C57Bl/6J mice (6–8 weeks old). All procedures complied with the policies of the Animal Research Committee of the University of California, Los Angeles. Spontaneous Ca activity (from sparks to waves) were evoked in saponin-permeabilized myocytes (0.005% w/v, 30–60 s) by varying free [Ca] in mock internal solution composed of (in mmol/L) 100 potassium aspartate, 20 KCl, 5 KH2PO4, 5 MgATP, 10 phosphocreatine, 5 U/mL creatine phosphokinase, 10 HEPES, 0.25 to 1 EGTA, 1 MgCl2 (free), 0.03 Fluo-4 (Invitrogen), 50 to 500 nmol/L CaCl2 (free; calculated by MaxChelator), and 8% w/v dextran,28 pH 7.2 (KOH). Ca fluorescence was recorded (Ex: 488 nm; Em: >510 nm) using a Zeiss PASCAL 5 laser scanning confocal system (Carl Zeiss) on a Zeiss Axiovert 100 LSM inverted microscope fitted with a 63× objective (Zeiss C-Apochromat 63/1.2 W Corr) in the line-scan mode (1.92 ms/line, 2604 lines/recording) along the longitudinal axis and digitized into 1024×2604-pixel (12-bit) images with nominal pixel width of 0.08 to 0.13 µm.
Rabbit Atrial Myocyte Isolation and Ca2+ Sparks Recordings
Atrial myocytes were isolated from New Zealand White rabbits (male, 3- to 4-month old, Charles River Laboratories) using a standardized enzymatic technique as previously described29 and approved by the University of California, Davis Institutional Animal Care and Use Committee. Briefly, animals were injected with heparin (400 U/kg body weight) and subjected to general anesthesia induced via intravenous injection of 10 mg/kg body weight propofol (Rapanofal, Ivaoes Animal Health, Miami, FL) followed by 2% to 5% isoflurane inhalation in 100% oxygen throughout the procedure. Deep surgical anesthesia was confirmed by abolished pain reflexes. All animals were euthanized by surgical excision of the heart while in deep anesthesia. Immediately after excision, the heart was rinsed in cold nominally Ca2+-free modified Tyrode’s solution composed of (in mmol/L): NaCl 135, KCl 5.31, MgCl2 1, HEPES free acid 10, Na-HEPES 10, NaH2PO4 0.33, Na pyruvate 2, glucose 5.5; pH 7.4. The aorta was cannulated and retrogradely perfused on a constant flow Langendorff apparatus at 37 °C with modified Tyrode’s solution with (in mmol/L) 0.02 CaCl2 and taurine 8, and gassed with 100% O2. Collagenase Type II (Worthington Biochemical Co Lakewood, NJ) and Protease Type XIV (Sigma-Aldrich) were used for enzymatic digestion. Atrial myocytes were mechanically dissociated, filtered through a nylon mesh, and allowed to sediment for 10 minutes. Sedimentation was repeated 3× with modified Tyrode solution in which [Ca2+] was incrementally increased from 0.01 to 0.025 mmol/L and BSA was decreased incrementally from 2% to 0%. Atrial myocytes were kept at room temperature until use. All animal handling and laboratory procedures were in accordance with approved protocols (No. 23175) of the Institutional Animal Care and Use Committee at University of California, Davis conforming to the National Institutes of Health Guide for the Care and Use of Laboratory Animals (8th edition, 2011).
To measure [Ca]i, isolated myocytes were incubated with the Ca-sensitive fluorescent indicator, Fluo-4 AM (10 μmol/L, Invitrogen) with Pluronic F-127 (0.02%, Invitrogen) in modified Tyrode’s solution ([Ca]=0.025 mmol/L) for 30 minutes at room temperature followed by 3 washes and de-esterification for 30 minutes using Normal Tyrode’s solution composed of (in mmol/L): NaCl, 140; CaCl2, 1.8; MgCl2, 1; KCl, 4; Na-HEPES, 5; HEPES free acid, 5; glucose, 5.5; pH, 7.4. Ca fluorescence was recorded (Ex: 488 nm; Em: 500–550 nm) using a Nikon Eclipse Ti laser scanning confocal system (40× objective [water correction]) in the line-scan mode (2 ms/line) along the longitudinal axis and digitized into 512×7500 pixel images (12-bit) with nominal spatial resolution of 0.223 µm/pixel, respectively. Intact myocytes were paced at 1 Hz by field stimulation in Normal Tyrode’s solution ([Ca]=3.6 mmol/L).
Vascular Smooth Muscle Cell Isolation and Ca Spark Recording
Vascular smooth muscle cells were obtained from mesenteric arteries of male C57Bl/6J mice and cerebral arteries of male GCaMP2 mice (Jackson Labs). Mice were euthanized by intraperitoneal injection of sodium pentobarbital (250 mg/kg), as approved by the University of California, Davis Institutional Animal Care and Use Committee. Cerebral and mesenteric arteries were dissected in ice-cold dissection buffer composed of (in mM): 140 NaCl, 5 KCl, 2 MgCl2 2, 10 D-glucose, and 10 HEPES, pH 7.4 with NaOH. Following dissection, arteries were cut into small pieces and digested in dissection buffer supplemented with papain (26 U/mL) and dithiothreitol (1 mg/mL) at 37 °C for 7 minutes for cerebral arteries and 9 minutes for mesenteric arteries. Following this, arteries were incubated in a dissection buffer containing 0.3 mg/ml collagenase type H and 0.7 mg/mL collagenase type F for 7 minutes at 37 °C for cerebral arteries, and 1.77 mg/mL of collagenase type H, 0.5 mg/mL elastase and 1 mg/mL trypsin for 9 minutes at 37 °C for mesenteric arteries. After digestion, arteries were washed 3× in ice-cold dissection buffer followed by 2 additional washes in a buffer containing (in mM): 125 NaCl, 5.4 KCl, 15.4 NaHCO3, 0.33 Na2HPO4, 0.44 KH2PO4, 3 Sucrose, 10 D-Glucose and 11 HEPES, pH 7.4 with NaOH and supplemented with 50 nmol/L CaCl2. Vascular smooth muscle cells were placed in a 200 μL recording chamber for imaging.
Cells were bathed with an experimental solution containing (in mM): 140 NaCl, 5 KCl, 1 MgCl2, 2 CaCl2, 10 D-Glucose, 10 HEPES, pH 7.4 with NaOH. Ca sparks were imaged in vascular smooth muscle loaded with the Ca-sensitive fluorescent indicator Cal 520-AM (5 μmol/L), Fluo 4-AM (5 μmol/L), or from the GCaMP2 expressing mouse using an Andor spinning disk confocal microscopy system coupled to an Olympus iX81 inverted microscope equipped with a 60× water immersion lens. Images were acquired at 90 to 110 Hz using the Andor IQ software.
Generation of Pseudo-Line Scans From 2D Spark Imaging Data
The steps below can be used to generate line scans from videos of Ca sparks in vascular smooth muscle cells, using Fiji30:
A tif stack with the recording is loaded in Fiji.
Denoising is applied using Process/Filters/Gaussian blur. We used the value of 1 for the sigma parameter, subsequently confirming the filtering is to be applied to all frames.
Additional smoothing is carried out by Process/Smooth.
The line tool is selected (on the main Fiji panel, below the menus); right-clicking the button enables the user to select whether a straight or segmented line will be drawn. For smooth muscle myocytes that are typically curved, the segmented line helps to create a pseudo-line scan that is analogous to longitudinal line scans in the more orthogonally shaped ventricular myocytes.
Background subtraction is performed by Process/Subtract Background, using a rolling ball radius of 25 pixels, making sure that the checkbox Light background is not checked.
With the line drawn, a line-scan can be generated via Image/Stacks/Reslice (using the default parameters).
A line-scan image is opened and can be saved via File/Save as.
We note that using the segmented line has the advantage of being able to capture more cellular locations within the generated line-scan, and obtain more sparks in the recording than when using a straight line. However, care must be taken to not have segments that pass a single spark or wave (overrepresenting that event), and be consistent in segmenting among cells that are to be compared (full cell length, active zone(s), similar number of linear segments), to minimize biasing interpretations.
RESULTS
Demonstration of Main Functionality of SM2
Detection and segmentation of Ca release events in experimental data using SM2 has a number of novel features that set it apart from previous approaches such as SparkMaster. Figure 1A compares analysis of a complex record using SM2 versus SparkMaster. SM2 robustly detects Ca sparks but can now also accurately detect and identify other Ca release events, such as waves and miniwaves (that are indicated in blue and cyan boxes). In the case of these larger release events, SparkMaster would over-segment them into pseudo-sparks, potentially mis-estimating the spark count and perturbing summary statistics of single-spark properties. Capturing characteristics of these larger events provides an opportunity to use them toward an integrated SR Ca leak rate in records containing multiple event types.
Second, SM2 is substantially more accurate than SparkMaster in detecting Ca sparks, attributed to our new spark detection algorithm (discussed in detail in the last section of Results). SM2’s algorithm utilizes both brightness and size of detected objects to identify release events, unlike SparkMaster, which uses only the brightness. In particular, relatively dim sparks can be detected by SM2, whereas such sparks would be either missed by SparkMaster, or would require such a low fluorescence detection threshold that their detection would lead to a substantial number of false positive sparks.
Third, SM2 contains dedicated functionality for splitting clusters of Ca sparks, identifying underlying isolated sparks. In contrast, SparkMaster often labels spark clusters as one object, or splits them incorrectly. Finally, in certain experimental conditions, so-called long sparks may emerge,24 lasting for hundreds of milliseconds. Both SM2 and SparkMaster can identify the long sparks (Figure 1B) but enabling the detection of long sparks (by a toggle) is highly computationally demanding in SparkMaster (increasing analysis time to several minutes per single image); conversely, it makes SM2 analysis only marginally more time-consuming (less than a second of additional runtime per image).
SM2 can be primarily controlled using a GUI (Figure 2A) and is distributed as a stand-alone application, not requiring specialist knowledge or installation to run. The GUI allows setting of basic analysis parameters (Figure 2A1), which are mostly identical to those of SparkMaster, facilitating the transition from SparkMaster to SM2. At the same time, advanced parameters may be tweaked by advanced users to allow additional control over the detection of release events and their analysis (Figure 2A2). This includes the possibility to visualize intermediate results of the analysis, giving insight into how exactly the software works during the analysis and which parameters are to be changed to alter its behavior to the operator’s preference. Offering such intermediate visualization partly overcomes the black box perception of some analysis tools, allowing improved ability to diagnose and remedy any unexpected results from the software.
The analysis in the GUI is carried out by loading an image to be analyzed, carrying out the automated analysis, with the results being stored as CSV spreadsheets (Figure 2A3). Analysis outputs contain many features for each event, such as spatiotemporal dimensions of the release events, tau of [Ca]i decay, and all the other measured features in the original SparkMaster, as well as summary statistics of the features across the recording. Such automated analysis is easily complemented by visual inspection of the spark segmentation (shown, for example, in Figure 1), which is an important step in quality control, and is displayed by the software by default.
Other functionality accessible through the GUI includes batch file analysis, saving/loading parameter sets, or parameter autofitting (Figure 2A4). The autofitting provides ways of searching through the parameter space so that the segmentation of Ca release events best corresponds to user-provided reference annotations. In this way, the behavior of SM2 can be optimized not only for maximum accuracy, but, for example, also for searching only for very clear and large release events, depending on how the user-provided reference annotation is created.
In addition to the GUI control of SM2, it can also be controlled via Python scripting (Figure 2B), using SM2 as a module. This enables an even greater degree of automation than the batch analysis provided in the GUI, also facilitating the integration of SM2 into other analysis pipelines as an intermediate analysis tool. Finally, script-based control makes it easy to follow an image analysis with a subsequent statistical analysis and visualization in the same environment, which is beneficial for research reproducibility and tractability.
Case Study 1: Calcium Release Events Change With Increasing [Ca]
A typical use case of SM2 will be to understand how exposure to different conditions affects the pattern of Ca release events and their properties. As a proof of concept, we analyzed data acquired in permeabilized murine ventricular myocytes exposed to multiple known [Ca]i, with the permeabilization allowing direct control over the steady state [Ca]i in the intracellular space. The resulting spontaneous Ca release events were recorded using the fluorescent Ca indicator Fluo-4 (Figure 3A). It can be seen that Ca spark frequency peaks at 300 nmol/L [Ca]i, whereas the frequency of Ca miniwaves and waves increases monotonically with the [Ca]i (Figure 3B). Taken together, the data may be interpreted in the following way: (1) increasing [Ca]i promotes spontaneous Ca release, as evidenced by the increase in spark frequency between 100 and 300 nmol/L. (2) However, increasing the [Ca]i further leads to such a degree of Ca release enhancement that the sparks start organizing into increasingly more synchronized Ca release patterns, from macro-sparks (that may involve only 2–4 release sites) to more miniwaves and waves, but resulting in a reduced frequency of detected Ca sparks.
Beyond comparing recording-wide properties such as spark frequency, SM2 outputs may be used to compare single-spark properties across different experimental conditions. For example, Figure 3C shows the comparison of Ca spark tau (time constant of decay) across the 5 tested [Ca]i. This indicates that the higher the [Ca]i is, the longer is the decay time of Ca sparks, which is consistent with the overall facilitation of Ca release by elevated [Ca]i (which can depend on both the local cytosolic [Ca]i as well as the luminal SR [Ca].16
Case Study 2: Using SM2 Outputs to Observe Refractoriness of SR Ca Release
In addition to comparing properties of recordings taken in different conditions, SM2 can be used also to analyze differential properties of Ca release events within recordings. For example, we used it to test the hypothesis that large Ca release events (eg, waves) could delay the appearance of additional Ca sparks, corresponding to either local RyR refractoriness or reduced local luminal [Ca] inside the SR (Figure 4A and 4B), both of which may temporarily reduce RyR open probability and Ca spark frequency. Indeed, we see that the Ca spark frequency in the time window of 150 ms following a wave or mini-wave is markedly lower than in a random region in the same recording not preceded by waves (P≈0.00001, paired t test). Importantly, this behavior was consistent across waves in different areas of the cells, meaning that the difference does not reflect the blue boxes merely being located in zones with a priori low spark rate (which would be furthermore hard to reconcile with the emergence of waves).
SM2 also contains functionality for a visual illustration of spark density, such as shown in Figure 4C, where the distance of each pixel from a preceding release event is shown for the image in Figure 4A. The warm-color regions of the image correspond to areas that are late after a preceding release event. In this case, the warm-color areas are present following the Ca wave but not typically following sparks, illustrating the SR release refractoriness (or depletion) following a large release event. We anticipate that in the future, analyses such as this may be also performed in the setting of comparing multiple types of experimental recordings, for example quantifying the rate of recovery from refractoriness in different experimental conditions.
SM2 Outperforms SparkMaster and Human Annotators on Synthetic Spark Data
To assess the spark detection performance of SM2, we built a dataset of synthetic line-scan images of Ca sparks. Using synthetic data has the intrinsic advantage that the ground truth is known, and this enables accurate quantification of detection errors. The spark data produced (example in Figure 5A) were based on existing spark morphologies and included phenomena such as uneven background intensity, couplets of very near sparks, or occasional presence of a repeated spark in a single spatial location (details provided in Methods). In addition to SM2, we also measured the spark detection accuracy of SparkMaster, as well as of 6 human volunteers. Thirty images were used for this study, with each human annotating 10 images in total; the files were distributed to annotators in a way where each image has been annotated by 2 different persons. In the case of software tools, 2 different spark detection thresholds were investigated, corresponding to more and less-sensitive detection.
Strikingly, the default spark detection using SM2 (more sensitive) is not only markedly more accurate than the original SparkMaster (even at its more sensitive setting), but it also surpasses the average of human annotators, yielding both fewer false positives and false negatives (Figure 5B, examples in Supplemental Material S1). The less-sensitive parametrization of SM2 leads to only marginally more false negatives compared with humans, but at the same time, it yields far fewer false positives. While these highly encouraging results may not be universal across all types of real-world data, they nevertheless indicate a very strong spark detection performance of SM2. We carried out an additional analysis of the relatively weak performance of SparkMaster (Supplemental Material S2), observing that the central problem is the poor segmentation of dim Ca sparks by SparkMaster. This issue can manifest both as false positive and false negative detection (discussed in Methods), and while it is not a problem when estimating relative spark rate using SparkMaster, it is likely to substantially perturb the estimation of spark features.
Finally, we calculated the inter-annotator agreement among the human annotators. For each person, we calculated the total number of true positives, false positives, and false negatives, using the other persons’ annotations as ground truth references. Subsequently, the agreement of an annotator with other annotators was defined as . The average of this score across annotators was 0.896 with the SD of 0.023, indicating an overall strong agreement.
Demonstration of SM2 Generality
Prior sections demonstrated the utility of SM2 in analyzing Ca sparks in mouse ventricular myocytes. However, SM2 is broadly applicable for Ca spark and wave analysis. Figure 6A demonstrates spark detection in intact-paced rabbit atrial myocytes (nonpermeabilized). Analyzing sparks within paced recordings is something that the original SparkMaster does not handle adequately (Supplemental Material S3), but SM2 performs well. SM2 can also be also used to detect and analyze sparks in intact mouse vascular smooth muscle cells (Figure 6B through 6D), which are typically nonlinear in morphology and smaller when compared with cardiomyocytes.
Data in Figure 6B through 6D were collected using a spinning disk microscope, which records a video of a cell, rather than a line scan (ie, recording a x-y plane repeatedly in time, rather than a line). While such data cannot be directly processed by SM2, they can be easily converted into line scans using the free tool Fiji30 along user-defined lines (see Methods), with resultant line scans subsequently loaded into SM2. Sparks in thus-generated line scans can readily be detected by SM2, demonstrating utility beyond cardiac research. Moreover, recordings in Figure 6B through 6D were collected using 2 small molecule Ca indicators (Cal-520 and Fluo-4), or a genetically encoded Ca sensor (GCaMP2), showing utility across fluorophores. In summary, SM2 can be used to analyze Ca sparks across cell types and imaging conditions and sensors.
DISCUSSION
The Ca spark is a RyR-mediated subcellular Ca release event, which continues to serve as an important functional indicator of intracellular Ca activity in numerous physiological systems. There is also a growing interest in the study of Ca sparks in high-throughput screening strategies to identify small molecule compounds that target RyRs to therapeutically mitigate pathological SR Ca release.17–20 The ability to quickly and accurately detect, analyze, and quantify Ca sparks, therefore, remains essential for gaining mechanistic insights into Ca-mediated biological processes. Recent novel findings and key unresolved questions in the field of Ca-related studies have highlighted the need for advancements in analytical tools and approaches.
Here, we present SparkMaster 2 (SM2) as a next-generation all-in-one software-based tool for high-throughput analysis of Ca spark data acquired in the line-scan mode. Its key strengths are the following: (1) much-improved accuracy of identification of Ca sparks, resulting from a more sophisticated detection algorithm, more extensive image preprocessing, and a custom algorithm to separate spark clusters into single sparks; (2) the capability to identify more complex Ca release events, such as Ca waves or miniwaves, which makes possible the robust analysis of recordings exhibiting a complex and dynamic mix of distinct types of release events; (3) it reports all commonly reported properties of Ca sparks, as well as novel features, such as spark latency, enabling the investigation of local Ca release refractoriness; (4) it can be controlled either via a convenient GUI (distributed as a stand-alone application) or in a Python script-based analysis environment.
The practical utility of SM2 is demonstrated in this article using case studies based on real-world data, also showing broad applicability to the analysis of Ca sparks in multiple cell types imaged in distinct conditions. The accuracy of SM2 spark detection is more formally demonstrated using synthetically generated spark data (Figure 5), where SM2 outperforms the original SparkMaster software and, notably, human annotators as well. This means, together with other advantages of SM2, that the software can be used with much less post-processing and human correction than its predecessor. Taken together, our results indicate that SM2 is mature enough to enable automated analysis of Ca spark properties in high-throughput screening studies, as well as new studies in basic cellular cardiology.
Importantly, SM2 was designed with the user experience and versatility of use in mind. Accordingly, the input parameters in the GUI have remained largely consistent with that of the original SparkMaster software to maintain familiarity. In addition, while the default Ca spark detection parameters perform well in common line-scan image acquisition conditions, they can be easily customized to accommodate more specialized conditions. To aid this process, the software can visualize intermediate calculation steps graphically, giving insight into its decision-making, and highlighting which parameters need to be changed and how. To further aid users in understanding how SM2 works and how to adapt its behavior, we present the main underlying methodology graphically (Supplemental Methods), rather than relying purely on text or pseudocode. In this way, readers interested in how SM2 works may immediately see what happens in which processing step, rather than having to imagine and infer this.
In recent years, machine learning and artificial intelligence–based strategies have been implemented into many image processing software algorithms as a way to overcome technical difficulties inherent in traditional methods of object detection and to meet or surpass the accuracy of human performance on a high-throughput scale. These strategies were considered for implementation in SM2, and, in fact, the earliest iterations of SM2 were built almost entirely on machine learning strategies. Ultimately, we opted to forego this direction of development for the time being, due to a number of significant limitations. The main one is the lack of large volumes of training data, even for fine-tuning a pretrained network such as Detection Transformer31 that we attempted, and the high human-hour cost of generating them. Second, generating training data implies an inherent performance ceiling determined by the method of annotation (such as by human, or by SparkMaster). Third, there is a high risk that a machine learning approach based on a training dataset acquired in particular conditions might work poorly on different data and conditions from other laboratories, limiting the generality of such an approach. Finally, we were concerned by peculiar errors made by the development versions of the neural network. While these did not perform disastrously, they sometimes failed to detect completely obvious Ca sparks that no human operator would miss. While machine learning strategies still hold great promise for eventually advancing image processing performance beyond what is currently possible, the version of SM2 that we present here performed far superiorly to that of our machine learning-based prototype designs.
In conclusion, we anticipate that SM2 will prove to be a valuable tool and will help to resolve fundamental and emerging questions in studies involving Ca sparks and a wider range of complex intracellular Ca activity.
ARTICLE INFORMATION
Acknowledgments
The authors are grateful to Dr Victor Alejandro Flores (Navedo lab, UC Davis), Dr Almudena Val-Blasco (laboratory of Dr Ana Gómez, University of Paris-Saclay), Dr Juliana Mira Hernandez and Dr Kim Hellgren (Bers lab, UC Davis), and Dr Parisa Asghari (University of British Columbia) for testing SM2 and their valuable feedback during development. The authors thank our colleagues at UC Davis who performed manual analysis of synthetic spark data, which enabled us to compare SM2 to the spark detection performance of human annotators: Mr Adam Wilder, Ms Daria Smoliarchuk, Dr Juliana Mira Hernandez, Dr Samantha Lee Kovacs, Ms. Sonya Baidar, and Mr Victor Alencar Almeida. The authors also thank Ms. Anastasia Krajnovic and Ms. Emily Spencer for the isolation of rabbit atrial myocytes. The authors thank the creators of the following drawings/images used in the graphical abstract: microscope (https://commons.wikimedia.org/wiki/File:Confocal_laser_scanning_microscopy.png), myocyte (https://smart.servier.com/smart_image/cardiomyocyte-7/), and computer (https://www.flaticon.com/free-icon/computer_3067260#, adapted).
Sources of Funding
The project was funded by the NIH grants R01-HL142282, R01-HL092097, P01-HL141084 (Bers), R01-HL121059, and R01-HL161872 (Navedo). J. Tomek is supported by the Sir Henry Wellcome Fellowship (222781/Z/21/Z). This research was funded in whole, or in part, by the Wellcome Trust (222781/Z/21/Z). For the purpose of Open Access, the author has applied a CC BY public copyright license to any Author Accepted Manuscript version arising from this submission.
Disclosures
None.
Supplementary Material
Nonstandard Abbreviations and Acronyms
- EGTA
- ethylene glycol-bis (β-aminoethyl ether)-N,N,N′,N′-tetraacetic acid
- GUI
- graphical user interface
- HEPES
- 4-(2-hydroxyethyl)-1-piperazineethanesulfonic acid
- RyR
- ryanodine receptor
- SM2
- SparkMaster 2
- SR
- sarcoplasmic reticulum
Jakub Tomek, Christopher Y. Ko and Donald M. Bers contributed equally as co-corresponding authors to this manuscript.
For Sources of Funding and Disclosures, see page 462.
Supplemental Material is available at https://www.ahajournals.org/doi/suppl/10.1161/CIRCRESAHA.123.322847.
REFERENCES
- 1.Jaffe LF. The Role of Calcium Explosions, Waves, and Pulses in Activating Eggs. In: Biology of Fertilization. 1985 [Google Scholar]
- 2.Katz B, Miledi R. Ionic requirements of synaptic transmitter release. Nature. 1967;215:651. doi: 10.1038/215651a0 [DOI] [PubMed] [Google Scholar]
- 3.Bers DM. Excitation-Contraction Coupling and Cardiac Contractile Force. 2nd ed. Dordrecht: Kluwer Academic Publishers; 2001. [Google Scholar]
- 4.Bers DM. Cardiac excitation-contraction coupling. Nature. 2002;415:198–205. doi: 10.1038/415198a [DOI] [PubMed] [Google Scholar]
- 5.Cheng H, Lederer MR, Lederer WJ, Cannell MB. Calcium sparks and [Ca2+]i waves in cardiac myocytes. Am J Physiol Cell Physiol. 1996;270:C148–C159. doi: 10.1152/ajpcell.1996.270.1.c148 [DOI] [PubMed] [Google Scholar]
- 6.Cheng H, Lederer WJ, Cannell MB. Calcium sparks: elementary events underlying excitation-contraction coupling in heart muscle. Science. 1993;262:740–744. doi: 10.1126/science.8235594 [DOI] [PubMed] [Google Scholar]
- 7.Fowler ED, Wang N, Hezzell M, Chanoit G, Hancox JC, Cannell MB. Arrhythmogenic late Ca2+ sparks in failing heart cells and their control by action potential configuration. Proc Natl Acad Sci U S A. 2020;117:2687–2692. doi: 10.1073/pnas.1918649117 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 8.Hu YF, Lee AS, Chang SL, Lin SF, Weng CH, Lo HY, Chou PC, Tsai YN, Sung YL, Chen CC, et al. Biomaterial-induced conversion of quiescent cardiomyocytes into pacemaker cells in rats. Nat Biomed Eng. 2022;6:421–434. doi: 10.1038/s41551-021-00812-y [DOI] [PubMed] [Google Scholar]
- 9.Parikh SS, Blackwell DJ, Gomez-Hurtado N, Frisk M, Wang L, Kim K, Dahl CP, Fiane A, Tønnessen T, Kryshtal DO, et al. Thyroid and glucocorticoid hormones promote functional T-tubule development in human-induced pluripotent stem cell-derived cardiomyocytes. Circ Res. 2017;121:1323–1330. doi: 10.1161/CIRCRESAHA.117.311920 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 10.Tsugorka A, Ríos E, Blatter LA. Imaging elementary events of calcium release in skeletal muscle cells. Science. 1995;269:1723–1726. doi: 10.1126/science.7569901 [DOI] [PubMed] [Google Scholar]
- 11.Park KH, Weisleder N, Zhou J, Gumpper K, Zhou X, Duann P, Ma J, Lin PH. Assessment of calcium sparks in intact skeletal muscle fibers. J Vis Exp. 2014;24:e50898. doi: 10.3791/50898 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 12.Nelson MT, Cheng H, Rubart M, Santana LF, Bonev AD, Knot HJ, Lederer WJ. Relaxation of arterial smooth muscle by calcium sparks. Science. 1995;270:633–637. doi: 10.1126/science.270.5236.633 [DOI] [PubMed] [Google Scholar]
- 13.Rueda A, Fernández-Velasco M, Benitah JP, Gómez AM. Abnormal Ca2+ Spark/STOC coupling in cerebral artery smooth muscle cells of obese type 2 diabetic mice. PLoS One. 2013;8:e53321. doi: 10.1371/journal.pone.0053321 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 14.Koizumi S, Bootman MD, Bobanović LK, Schell MJ, Berridge MJ, Lipp P. Characterization of elementary Ca2+ release signals in NGF- differentiated PC12 cells and hippocampal neurons. Neuron. 1999;22:125–137. doi: 10.1016/s0896-6273(00)80684-4 [DOI] [PubMed] [Google Scholar]
- 15.Ross WN. Understanding calcium waves and sparks in central neurons. Nat Rev Neurosci. 2012;13:157–168. doi: 10.1038/nrn3168 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 16.Bers DM. Cardiac sarcoplasmic reticulum calcium leak: basis and roles in cardiac dysfunction. Annu Rev Physiol. 2014;76:107–127. doi: 10.1146/annurev-physiol-020911-153308 [DOI] [PubMed] [Google Scholar]
- 17.Rebbeck RT, Singh DP, Janicek KA, Bers DM, Thomas DD, Launikonis BS, Cornea RL. RyR1-targeted drug discovery pipeline integrating FRET-based high-throughput screening and human myofiber dynamic Ca2+ assays. Sci Rep. 2020;10:1791. doi: 10.1038/s41598-020-58461-1 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 18.Rebbeck RT, Essawy MM, Nitu FR, Grant BD, Gillispie GD, Thomas DD, Bers DM, Cornea RL. High-throughput screens to discover small-molecule modulators of ryanodine receptor calcium release channels. SLAS Discov. 2017;22:176–186. doi: 10.1177/1087057116674312 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 19.Rebbeck RT, Ginsburg KS, Ko CY, Fasoli A, Rusch K, Cai GF, Dong X, Thomas DD, Bers DM, Cornea RL. Synergistic FRET assays for drug discovery targeting RyR2 channels. J Mol Cell Cardiol. 2022;168:13–23. doi: 10.1016/j.yjmcc.2022.04.002 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 20.Vincent F, Nueda A, Lee J, Schenone M, Prunotto M, Mercola M. Phenotypic drug discovery: recent successes, lessons learned and new directions. Nat Rev Drug Discov. 2022;21:899–914. doi: 10.1038/s41573-022-00472-w [DOI] [PMC free article] [PubMed] [Google Scholar]
- 21.Bray MA, Geisse NA, Parker KK. Multidimensional detection and analysis of Ca2+ sparks in cardiac myocytes. Biophys J. 2007;92:4433–4443. doi: 10.1529/biophysj.106.089359 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 22.Tian Q, Schröder L, Schwarz Y, Flockerzi A, Kaestner L, Zeug A, Bruns D, Lipp P. Large scale, unbiased analysis of elementary calcium signaling events in cardiac myocytes. J Mol Cell Cardiol. 2019;135:79–89. doi: 10.1016/j.yjmcc.2019.08.004 [DOI] [PubMed] [Google Scholar]
- 23.Cheng H, Song L, Shirokova N, González A, Lakatta E, Ríos E, Stern M. Amplitude distribution of calcium sparks in confocal images: theory and studies with an automatic detection method. Biophys J. 1999;76:606–617. doi: 10.1016/S0006-3495(99)77229-2 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 24.Picht E, Zima AV, Blatter LA, Bers DM. SparkMaster: automated calcium spark analysis with ImageJ. Am J Physiol Cell Physiol. 2007;293:C1073–C1081. doi: 10.1152/ajpcell.00586.2006 [DOI] [PubMed] [Google Scholar]
- 25.Illaste A, Wullschleger M, Fernandez-Tenorio M, Niggli E, Egger M. Automatic detection and classification of Ca2+ release events in line- and frame-scan images. Biophys J. 2019;116:383–394. doi: 10.1016/j.bpj.2018.12.013 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 26.Yang S, Li R, Chen J, Li Z, Huang Z, Xie W. Calcium spark detection and event-based classification of single cardiomyocyte using deep learning. Front Physiol. 2021;12:770051. doi: 10.3389/fphys.2021.770051 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 27.Nivala M, Ko CY, Nivala M, Weiss JN, Qu Z. Criticality in intracellular calcium signaling in cardiac myocytes. Biophys J. 2012;102:2433–2442. doi: 10.1016/j.bpj.2012.05.001 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 28.Lukyanenko V, Györke S. Ca2+ sparks and Ca2+ waves in saponin-permeabilized rat ventricular myocytes. J Physiol. 1999;521 Pt 3:575–585. doi: 10.1111/j.1469-7793.1999.00575.x [DOI] [PMC free article] [PubMed] [Google Scholar]
- 29.Hegyi B, Ko CY, Bossuyt J, Bers DM. Two-hit mechanism of cardiac arrhythmias in diabetic hyperglycaemia: reduced repolarization reserve, neurohormonal stimulation, and heart failure exacerbate susceptibility. Cardiovasc Res. 2021;117:2781–2793. doi: 10.1093/cvr/cvab006 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 30.Schindelin J, Arganda-Carreras I, Frise E, Kaynig V, Longair M, Pietzsch T, Preibisch S, Rueden C, Saalfeld S, Schmid B, et al. Fiji: an open-source platform for biological-image analysis. Nat Methods. 2012;9:676–682. doi: 10.1038/nmeth.2019 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 31.Carion N, Massa F, Synnaeve G, Usunier N, Kirillov A, Zagoruyko S. End-to-End Object Detection with Transformers. In: Lecture Notes in Computer Science; 2020:213–229. [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.
Data Availability Statement
Please visit https://github.com/jtmff/SparkMaster2 to download the SM2 software app (for Windows, Mac, or Linux), sample test images, and a User guide, or to find the source code.
SM2 is implemented in Python and is distributed freely as an open-source, stand-alone, runnable GUI software application.
We selected Python as the programming language for this task for the following reasons: (1) it does not require ownership of expensive software (in contrast with, for example, Matlab); (2) it is commonly used for image processing tasks and any further development of SM2 does not require nonstandard framework knowledge (in contrast with ImageJ plugins, which are Java-based and require an understanding of a complex underlying framework); (3) it natively supports script-based analyses, including follow-up visualizations and statistical analyses, which are readily available as different Python libraries; (4) it is sufficiently fast to enable high-throughput analyses to be carried out; (5) it makes it possible to produce a stand-alone runnable application.
We did our best to make SM2 an easy-to-use and robust tool. However, we emphasize that we are happy to answer any questions and offer additional support via the e-mails provided for the corresponding authors.
We confirm the first author had full access to all the data in the study and takes responsibility for its integrity and the data analysis.