Patent Description:
A large percentage of drugs fail in clinical studies due to cardiac or neural toxicity. To reduce the incidence of these failures, sensitive in vitro assays are needed to reliably evaluate adverse effects of compounds on cardiac and neural cells before clinical studies begin. These in vitro assays could accelerate and streamline drug development.

Culture systems for cardiomyocytes and neurons have been developed in which these cells exhibit spontaneous, synchronized ion fluxes, such as calcium oscillations. The calcium oscillations can be detected by labeling the cells with a fluorescent calcium indicator.

Imaging systems including analysis software also have been developed to record and analyze oscillatory fluorescence representing calcium oscillations in cells. The imaging systems have been utilized to measure the impact of pharmacologic compounds on calcium oscillations of cardiomyocytes and neurons in culture. Significantly, these calcium oscillations are perturbed in vitro by pharmacologic compounds having known cardiotoxic or neurotoxic effects. Accordingly, this methodology shows promise for safety testing of drugs and other chemicals, and for predicting efficacy and dosing of drug candidates prior to clinical studies.

The oscillation patterns produced when calcium oscillations are perturbed by drugs and other compounds can be very complex. Better methods and systems are needed for detecting biologically-relevant features of these complex oscillation patterns, and extracting values for the most informative readouts.

"<NPL>) discloses techniques for measuring the impact of pharmacologic compounds on the beating rate of cardiomyocytes with ImageXpress Micro and FLIPR Tetra systems. The assays employ calcium-sensitive dyes to monitor changes in Ca2+ fluxes synchronous with cell beating, which allows monitoring of the beat rate, amplitude, and other parameters.

<CIT> discloses instrumentation and methods based on imaging and measuring single cell dose response by fluorescent ion imaging that records live cell responses to drug doses. Dose response curves and other pharmacological parameters can be computed by imaging and measuring oscillation changes for each drug dose and each cell.

<CIT> discloses an electrochemical sensor in which a peak is detected by grouping data points in windows and detecting two or three windows between which the slope of the data changes sign. The peak can be more precisely detected by detecting the highest data point in the two or three windows.

The present disclosure provides methods and systems for recording and analyzing oscillatory fluorescence representing an oscillatory ion flux associated with one or more biological cells. An illustrative method of analysis may comprise detecting fluorescence from one or more biological cells to produce a series of data points describing an oscillation pattern. A series of slopes may be calculated for the oscillation pattern. A sliding window may be used to define subsets of the series of data points from which the series of slopes are calculated. Peaks of the oscillation pattern may be identified using the series of slopes. A method of analysis comprises detecting fluorescence from one or more biological cells to produce a series of data points describing an oscillation pattern. Primary peaks and secondary peaks, if any, in the oscillation pattern are identified. An aspect of the secondary peaks is determined.

The present disclosure provides methods and systems for recording and analyzing oscillatory fluorescence representing an oscillatory ion flux associated with one or more biological cells. An illustrative method of analysis may comprise detecting fluorescence from one or more biological cells to produce a series of data points describing an oscillation pattern (interchangeably called an oscillation trace or fluorescence trace). A series of slopes may be calculated for the oscillation pattern. For example, a sliding window may be used to define subsets of the series of data points from which the series of slopes are calculated. Peaks of the oscillation pattern may be identified using the series of slopes. Another illustrative method of analysis may comprise detecting fluorescence from one or more biological cells to produce a series of data points describing an oscillation pattern. Primary peaks and secondary peaks, if any, in the oscillation pattern may be identified. An aspect of the secondary peaks may be determined.

The methods and systems of the present disclosure may utilize a complex event analysis (CEA) algorithm designed to analyze oscillatory fluorescence having several components of interest. These components may include multiple shapes of peaks, clustering of peaks, secondary peaks, regular or irregular anomalous events, irregular amplitudes or frequencies, migrating threshold levels, etc. The CEA algorithm has the ability to report multiple measurements for both primary and secondary peaks, either averaged or individual values, including many additional readouts.

The objective of the CEA algorithm is to digitally "visualize" the general shape of biological events in order to detect and measure various parameters, such as peak amplitude, rise and decay times, event duration, frequency, etc. To visualize the biological events, spurious, non-biological transitions (noise) need to be rejected. Many "point-by-point" detection methods lose accuracy because of prior filtering, which compromises data integrity, or due to a failure to distinguish biologically relevant transitions from noise. By the nature of its design, the CEA algorithm significantly reduces the influence of noise, without prior filtering, by calculating slopes from subsets of data points describing an oscillation pattern. The slopes enable detection of peaks and troughs, while ignoring lower amplitude and/or rapid transitions (i.e., invalid peaks) generated by noise.

Further aspects of the present disclosure are described in the following sections: (I) definitions, (II) method and system overview, and (III) examples.

Technical terms used in this disclosure have meanings that are commonly recognized by those skilled in the art. However, the following terms may be further defined as follows.

Event - a single oscillation of an oscillation pattern. An event may begin and end at a predefined amplitude(s) from a baseline and/or within a predefined amplitude range(s) from the baseline, among others.

Light - ultraviolet, visible, and/or infrared radiation.

Maximum - a point of an actual/conceptual graph (and/or of a series of points) having a greater value than points around it, and/or being farther from a reference line (e.g., a bottom or top baseline) than points around it. The plural of "maximum" is "maxima.

Minimum - a point of an actual/conceptual graph (and/or of a series of points) having a lesser value than points around it, and/or being closer to a reference line (e.g., a bottom or top baseline) than points around it. The plural of "minimum" is "minima.

Peak - a sequence of points of an actual/conceptual graph (and/or of a series of points) including a maximum and points around the maximum, and optionally bounded by a pair of minima. A peak may be characterized according to the temporal position and the amplitude of the peak's maximum, which collectively may define a "peak position," while the amplitude of the maximum defines a "peak value" or "peak amplitude. " When maxima are defined with respect to a reference line (e.g., a bottom or top baseline), maxima above the reference line form positive peaks, while maxima below the reference line form negative peaks.

Primary peak - the leading/only peak (or valid peak) of an event.

Secondary peak - any peak (or valid peak) following the primary peak within an event.

Trough - a sequence of points of an actual/conceptual graph (and/or of a series of points) including a minimum and points around the minimum. The trough may be characterized according to the temporal position and the amplitude of the trough's minimum, which may collectively define a "trough position," while the amplitude of the minimum defines a "trough value" or "trough amplitude. " When minima are defined with respect to a reference line (such as a baseline), minima above the reference line form positive troughs, which minima below the reference line form negative troughs.

Valid peak - any peak meeting predefined criteria for validity.

Window - an algorithm that selects a given number of data points from a data set for processing. For example, a window having a width of five selects five points, such as five successive points of the data set, for processing. A "sliding window" moves across a data set, such as point-by-point, to select subsets of data points for processing. For example, a sliding window having a width of five points may process points <NUM>-<NUM>, and then move point-by-point, to process points <NUM>-<NUM>, <NUM>-<NUM>, etc..

This section provides an overview of exemplary methods and systems of the present disclosure, see <FIG> and <FIG>.

<FIG> shows a flowchart <NUM> of steps that may be performed in an illustrative method of analyzing oscillatory fluorescence from one or more biological cells (also called "cells"). The steps may be performed in any suitable order and combination.

The cells may include any cell type that exhibits oscillatory ion flux in culture. Accordingly, the cells may include muscle cells (i.e., cardiac muscle cells (cardiomyocytes), skeletal muscle cells, or smooth muscle cells) or nerve cells (neurons). The oscillatory ion flux may occur in a synchronized fashion, optionally spontaneously, for a set of the cells cultured in close association with one another, such that the cells can communicate. The set of cells may by associated with one another in a three-dimensional aggregate, such as a cell spheroid, or may be arranged as a substantial monolayer, among others. A single set of cells may be analyzed in a vessel, or isolated replicate sets of cells may be exposed to different treatments in separate vessels before/during analysis, as explained further below. Exemplary vessels include petri dishes, wells of a microplate(s), flasks, or the like.

The cells may be obtained from any suitable source(s) by any suitable procedures. The cells may be differentiated in vitro from stem cells. The stem cells may be embryonic stem cells, adult stem cells, or induced pluripotent stem cells (iPSC), among others. In other examples, the cells may be primary cells, such as primary cardiomyocytes or primary neurons obtained from an animal.

The oscillatory ion flux may be an ion-specific flux or a collective ion flux. An exemplary ion-specific flux is an oscillatory calcium flux that produces calcium oscillations. The flux may represent movement of ions across the plasma membrane (i.e., into and/or out of cells), and/or within cells (e.g., across the membrane of the sarcoplasmic reticulum (SR) (i.e., into or out of the cytoplasm from the SR), or the like.

Each set of cells may be labeled and/or treated, indicated at <NUM>. Labeling may be performed with a fluorescent indicator having a fluorescence that is sensitive to an oscillatory ion flux occurring with respect to the cells. The fluorescent indicator may, for example, be a fluorescent calcium indicator that is sensitive to the intracellular calcium concentration and emits more light (or less light) as the intracellular calcium concentration increases. Exemplary fluorescent calcium indicators are chemical indicators, such as FLIPR® Calcium <NUM>, FLIPR® Calcium <NUM>-QF, Calcium Green-<NUM>, Fluo-<NUM>, Fluo-<NUM>, Fura-<NUM>, Indo-<NUM>, Oregon Green <NUM>, Bapta-<NUM>, Fura-4F, Fura-5F, Calcium Crimson, X-rhod-<NUM>, and the like. The cells may be labeled with a chemical indicator by contact via the medium in which the cells are disposed. Other exemplary fluorescent calcium indicators are genetically-encoded and expressed in the cells, after introduction of a coding sequence into the cells (such as via transfection, infection, or the like). Suitable genetically-encoded calcium indicators may include Cameleons, Pericams, GCaMP, TN-L15, TN-humTnC, TN-XL, TN-XXL, Twitches, or the like. In other examples, the fluorescent indicator may be a membrane potential indicator (e.g., FluoVolt® Membrane Potential Dye, Di-<NUM>-ANEPPDHQ, Di-<NUM>-ANEPPDHQ, etc.), a potassium indicator, a sodium indicator, a magnesium indicator, a zinc indicator, a pH indicator, or the like.

Each set of cells is treated with at least one substance of interest at a selected concentration, to test the substance/concentration for an effect, if any, on an oscillatory fluorescence of the cells detected from the fluorescent indicator. The substance may be a compound, such as a small molecule (e.g., a drug or drug candidate), having a molecular weight of less than <NUM>, <NUM>, <NUM>, or <NUM> kilodaltons, among others), a protein, an RNA or DNA molecule, etc. Different compounds and/or different concentrations of the same compound may be tested on respective sets of the cells to screen compounds and/or determine dose-response curves for a given compound. Each set of cells may be treated with a substance for any suitable length of time, such as at least <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, or <NUM> minutes, or <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, or <NUM> hours, or <NUM>-<NUM> hours, among others. Treatment and labeling may be performed in parallel, serially, or at overlapping times with a temporal offset.

Fluorescence may be detected from at least one cell of each set of biological cells, indicated at <NUM>. This fluorescence detection samples a fluorescence signal from the at least one cell, such as the signal's intensity, with respect to time to produce a series of data points (also called time points) describing an oscillation pattern for the fluorescence signal. Accordingly, the oscillation pattern may be graphed as the detected fluorescence intensity as a function of time. The fluorescence signal may be sampled at any suitable rate, generally a constant rate of greater than <NUM>, such as a rate of <NUM>-<NUM>, among others, and for any suitable sampling duration, such as at least <NUM>, <NUM>, or <NUM> seconds, or at least <NUM>, <NUM>, or <NUM> minutes. Fluorescence detection may be performed with an image sensor, an optical point sensor, or the like.

A baseline for the oscillation pattern may be established, indicated at <NUM>. The baseline may be set automatically using software, for example, as described below in Example <NUM>, and/or may be set by a user via a graphical user interface. The baseline may be positioned at the bottom or the top of the oscillation pattern, either by default or in response to an input from a user (e.g., see Examples <NUM> and <NUM>). In some embodiments, a temporary reference line may be set at the top (or bottom) of the oscillation pattern, opposite the prospective location of the baseline to be established. Peaks with respect to the reference line may be identified, and linear regression of peak or trough positions may find a line that serves as the baseline during subsequent identification of peaks and troughs.

A noise level of the oscillation pattern may be estimated, indicated at <NUM>. The noise level may be estimated based on signal fluctuation near the top or the bottom of the oscillation pattern (see Examples <NUM> and <NUM>). For example, a mean of the successive differences between peak values (i.e., maxima) (or trough values (i.e., minima)) near the baseline of the oscillation pattern may be used to determine an estimate of the noise level.

A series of slopes may be calculated from the series of data points of the oscillation pattern, indicated at <NUM>. For example, a sliding window that slides along the time axis of the oscillation pattern may be utilized to select successive subsets of the data points for calculation of the series of slopes by fitting a line to each subset by linear regression (e.g., see Example <NUM>). In other words, the sliding window may slide along the time axis of the oscillation pattern by one point (or two or more points) for calculation of each successive slope. The sliding window has a constant size that encompasses a fixed number of three or more points while the series of slopes are calculated for a given data set (e.g., from a given well). The size of the sliding window may be selected automatically by software (e.g., based on the noise level of the data set and/or the sampling rate of the data points), or may be selected by a user. The size of the sliding window may be changed between different data sets (e.g., with each data set collected from a different well), which allows the size to be optimized for each data set.

Peaks (and troughs) of each oscillation pattern may be identified using the slopes, indicated at <NUM>. To wit, a series of maxima and minima may be identified based on changes in the sign of the slope along the series of slopes (i.e., with respect to time). Each maximum above a baseline can be closely approximated by a change within the series of slopes from positive to negative (or from negative to positive for a baseline at the top of the oscillation pattern). Similarly, each minimum above a baseline can be closely approximated by a change within the series of slopes from negative to positive (or from positive to negative for a baseline at the top of the oscillation pattern). The maxima and minima identified using the series of slopes may be refined if needed, by local analysis of points and/or interpolation, among others. The maxima and/or the minima (and the corresponding peaks and troughs) also may be filtered (i.e., restricted) according to one or more other predefined criteria, to reject maxima (and peaks) and/or minima (and troughs) that do not meet the predefined criteria. The predefined criteria may relate to at least one amplitude and/or duration of each corresponding peak/trough, and/or of each event containing at least one of the peaks (e.g., see Examples <NUM> and <NUM>). The predefined criteria may be auto-assigned based on the noise level of the fluorescence signal, and/or may be assigned by a user subjectively.

Values of one or more peak-related parameters of each oscillation pattern may be determined, indicated at <NUM>. The parameters and their values interchangeably may be called readouts or descriptors. The values may be determined using the peaks identified at <NUM>. The values may be mean values for the oscillation pattern measurements (or at least for a plurality of events thereof), or values for individual events/peaks. Exemplary values are for primary peaks only, secondary peaks only, or primary and secondary peaks collectively. The values may include individual/mean primary/secondary peak amplitude(s), mean primary/secondary peak frequency, mean intra-event frequency of secondary peaks, event area, primary/secondary peak spacing, rise slope, decay slope, rise time, decay time, etc. Further examples of peak-related parameters are described in Examples <NUM>, <NUM>, and <NUM>.

An effect, if any, of each treatment is assessed based on at least one of the values determined from the corresponding oscillation pattern, indicated at <NUM>. The effect is assessed based on an aspect of the secondary peaks in the oscillation pattern, such as a number, frequency, and/or period of the secondary peaks.

Any combination of the steps of <FIG>, or other methods disclosed herein, may be embodied as a computer method, computer system, or computer program product. Accordingly, aspects of the analysis method may take the form of an entirely hardware example, an entirely software example (including firmware, resident software, micro-code, and the like), or an example combining software and hardware aspects, all of which may generally be referred to herein as a "circuit," "module," or "system. " Furthermore, aspects of the analysis method may take the form of a computer program product embodied in a computer-readable medium (or media) having computer-readable program code/instructions embodied thereon.

Any combination of computer-readable media may be utilized. Computer-readable media can be a computer-readable signal medium and/or a computer-readable storage medium. A computer-readable storage medium may include an electronic, magnetic, optical, electromagnetic, infrared, and/or semiconductor system, apparatus, or device, or any suitable combination of these. More specific examples of a computer-readable storage medium may include the following: a portable computer diskette, a hard disk, a random-access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, any suitable combination of these, and/or the like. In the context of this disclosure, a computer-readable storage medium may include any suitable nontransitory, tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signal with computer-readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electromagnetic, optical, and/or any suitable combination thereof. A computer-readable signal medium may include any computer-readable medium that is not a computer-readable storage medium and that is capable of communicating, propagating, or transporting a program for use by or in connection with an instruction execution system, apparatus, or device.

Program code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, and/or any suitable combination of these, among others.

Computer program code for carrying out operations for aspects of the methods disclosed herein may be written in one or any combination of programming languages, including an object-oriented programming language such as Java, Smalltalk, C++, and/or the like, and conventional procedural programming languages, such as C. Mobile apps may be developed using any suitable language, including those previously mentioned, as well as Objective-C, Swift, C#, HTML5, and the like. The program code may execute entirely on a user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), and/or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of the methods disclosed herein are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus, systems, and/or computer program products. Each block and/or combination of blocks in a flowchart and/or block diagram may be implemented by computer program instructions. The computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, implement the functions/acts specified in the flowchart and/or block diagram block(s). In some examples, machine-readable instructions may be programmed onto a programmable logic device, such as a field programmable gate array (FPGA).

The computer program instructions can also be stored in a computer-readable medium that can direct a computer to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the flowchart and/or block diagram block(s).

The computer program instructions can also be loaded onto a computer to cause a series of operational steps to be performed on the device to produce a computer-implemented process such that the instructions which execute on the computer provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block(s).

Any flowchart and/or block diagram in the drawings is intended to illustrate the architecture, functionality, and/or operation of possible implementations of systems, methods, and computer program products according to aspects of the methods disclosed herein. In this regard, each block may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). In some implementations, the functions noted in the block may occur out of the order noted in the drawings. Each block and/or combination of blocks may be implemented by special purpose hardware-based systems (or combinations of special purpose hardware and computer instructions) that perform the specified functions or acts.

<FIG> shows an illustrative system <NUM> for detecting and analyzing oscillatory fluorescence from biological cells <NUM> held by a sample holder <NUM>. Sample holder <NUM> is depicted here as a microplate <NUM> having a plurality of wells <NUM> each containing a replicate set of cells <NUM>. System <NUM> may include a stage <NUM> to support the sample holder, and a drive mechanism <NUM> to move stage <NUM> and sample holder <NUM> relative to one another to place each well <NUM> on the optical axis of system <NUM>.

System <NUM> also may comprise an objective <NUM>, a light source <NUM>, and an optical sensor <NUM> (e.g., an image sensor). Light source <NUM> may generate light <NUM> to irradiate each set of cells <NUM>, to induce fluorescence from the cells. The light for cell irradiation may propagate to the cells via a beam-splitter <NUM> and objective <NUM>, in the epi-illumination configuration shown in <FIG>. Fluorescence <NUM> induced by the light may be collected by objective <NUM> for propagation through objective <NUM>, beam-splitter <NUM>, and an optional tube lens <NUM>, for detection by optical sensor <NUM>, to create a time-dependent fluorescence signal.

A computer <NUM> is in communication with optical sensor <NUM>, and processes the fluorescence signal received from optical sensor <NUM>. Computer <NUM> may include a processor <NUM> to process instructions, memory <NUM> to store the instructions, and a user interface <NUM> for communication between computer <NUM> and a user. The user interface may include a user input device, such as a keyboard, mouse, or touchscreen, and a display device, such as a monitor.

This section describes further examples and aspects of the analysis methods and systems of the present disclosure. These examples and aspects are intended for illustration only and should not limit the entire scope of the invention.

This example describes exemplary calculation of slopes for an oscillation pattern using a sliding window, and use of the slopes to identify peaks and troughs in the oscillation pattern; see <FIG>.

<FIG> shows a graph of an oscillation pattern <NUM> produced by a fluorescence signal <NUM> detected from biological cells undergoing a simple oscillatory flux of calcium. Fluorescence is detected from a fluorescent calcium indicator that labels the cells. The fluorescence intensity is detected at discrete times, to produce a series of data points, and the data points are plotted as a function of time using a point-connecting line trace.

Oscillation pattern <NUM> is composed of a series of oscillations <NUM> (also called events) of increased fluorescence from a baseline <NUM>. Each oscillation <NUM> has only one peak <NUM>, as shown here, or has a primary peak and one or more secondary peaks, as described below. In other examples, baseline <NUM> may be positioned at the top of oscillation pattern <NUM>, and each event may be characterized by the fluorescence signal <NUM> traveling below the baseline.

<FIG> shows a graph of a sub-series of data points <NUM> from oscillation pattern <NUM> of <FIG> for a single oscillation <NUM> of the fluorescence signal. The point-connecting line trace of <FIG> is omitted. A sliding window <NUM> may be used to select subsets of data points <NUM> from which a series of best-fit lines and a corresponding series of slopes, optionally centered at each data point, may be computed. The size of sliding window <NUM> represents a width thereof measured parallel to the time axis. The sliding window <NUM> is shown schematically on the left in solid outline, and in dashed outline in two other illustrative positions, after conceptually sliding along the time axis, indicated by motion arrows at <NUM>. Sliding window <NUM> "stops" at a plurality of incremental positions along the time axis, and selects a subset <NUM> of data points <NUM> centered at each position from which a slope is calculated. Here, the sliding window <NUM> has a width that selects five data points <NUM> at each incremental position, but any suitable number of three or more data points <NUM> may be selected. The size (i.e., the duration) of the sliding window may remain constant, to select the same number of data points <NUM> for calculation of each slope, while a series of slopes is calculated for a given oscillation pattern <NUM> (i.e., data set of data points). A slope may be calculated for each point. The size of the sliding window may be changed to re-calculate a new series of slopes for the same oscillation pattern, or to calculate a series of slopes for a different oscillation pattern. The series of slopes calculated for an oscillation pattern may represent a corresponding series of incrementally offset positions of sliding window <NUM>. In other words, sliding window <NUM> may be successively offset incrementally by a fixed, integral number of data points, such as one or two data points, among others, and/or by a fixed time increment, to select subsets <NUM> of data points <NUM>. Subsets <NUM> of data points <NUM> may overlap one another, if the size of sliding window <NUM> is greater than the incremental offset of the sliding window for successive subsets.

In some embodiments, a slope is calculated at each data point, and the "sliding window" at which the slope is computed moves one point at a time. In these embodiments, the subsets of data points selected by the window invariably overlap one another. The "direction" of the slope at each point is evaluated to assess the overall curvature of the event as implied by changes in the direction of the slopes. The slope calculated at each point is both forward-looking and backward-looking because one or more points temporally ahead of the point and one or more points temporally behind the point contribute to the slope.

A slope for each subset <NUM> may be calculated by fitting a straight line to points <NUM> of the subset <NUM> by linear regression, and then taking the slope of the line. <FIG> shows three vectors <NUM> that are parallel to the respective lines fitted to three illustrative subsets <NUM>. The orientation of each vector <NUM> matches the slope of the corresponding fitted line. Each vector <NUM> may be centered on the middle point(s) <NUM> of the corresponding subset <NUM> and may have a time-component that matches the size (i.e., the width) of sliding window <NUM>. Accordingly, a series of vectors <NUM> can be generated with sliding window <NUM> to associate the size of the sliding window with a series of slopes having a corresponding series of data points <NUM> or positions (time and amplitude).

The series of slopes of vectors <NUM> enables examining the shape of the data, and particularly the direction of data excursion. For a baseline located at the bottom of the oscillation pattern, a positive slope reflects a rising phase while a negative slope is associated with a decay phase. Because each slope is calculated from a subset <NUM> having three or more points <NUM>, noise within the subset <NUM> does not significantly affect the accuracy of the slope, if the noise level is low relative to the size of the sliding window. In this manner, noise is inherently rejected. Changes in the direction of successive vectors <NUM> reflect corresponding directional changes of transitions within an oscillation pattern. Thus, when the slope of successive vectors <NUM> changes from positive to negative (for a baseline at the bottom of the oscillation pattern), it is an indication that a maximum of a peak has been traversed. Similarly, with the same baseline, when the slope changes from negative to positive, it is an indication that a minimum of a trough has been traversed. Further examination of the data points within each transition region then may be performed to more precisely determine the position (time and amplitude) of each maximum and minimum of the oscillation pattern.

The size of sliding window <NUM> can be optimized for particular data sets in accordance with the noise level. Since the sliding window spans a range of data points, the window acts as a natural "damper" that reduces the contribution of random noise. Moreover, the slopes do not affect the integrity of the associated data points, and thus do not alter amplitude values or the detection and measurement of valid secondary peaks. Accordingly, use of slopes calculated from subsets of data points selected with a sliding window enables accurate detection and measurement of various parameters of the data without the data corruption that occurs with conventional filtering.

<FIG> shows a graph of a single oscillation <NUM> (an "event" <NUM>) of a more complex oscillation pattern <NUM> detected as in <FIG>. Baseline <NUM> is positioned at the bottom of oscillation pattern <NUM>. This figure illustrates how vectors <NUM> having slopes calculated as in <FIG> can be used to search for larger peaks and troughs, while ignoring smaller "spurious" fluctuations in the fluorescence signal that may result from noise instead of biologically relevant activity. (Vectors <NUM> are shown here with a constant overall length, not a constant time-component, to simplify the illustration.

One or more predefined criteria may be used to identify valid events <NUM> within oscillation pattern <NUM>. Each of the criteria is satisfied by a valid event. The criteria may include at least one amplitude threshold <NUM> and/or at least one duration threshold to distinguish valid events from other excursions of the fluorescence signal. For example, amplitude threshold <NUM> may a single point of a trigger level <NUM> (a line) that is crossed by the fluorescence signal, where an event is characterized by the fluorescence signal crossing the trigger level in both directions. Trigger level <NUM> may be set at a percentage of the full amplitude span of the oscillation pattern, such as <NUM>%, <NUM>%, <NUM>% of the span from baseline <NUM>. The trigger level may be set automatically and/or by a user, and may be constant or may vary along the time axis (e.g., along a trigger line defining the trigger level). In some cases, a second amplitude threshold may be set to reject each event and/or each peak therein having a maximum with less than a predefined amplitude offset from the baseline (or trigger level <NUM>). The second amplitude threshold may be set at a percentage of the full amplitude span (e.g., <NUM>%, <NUM>%, <NUM>%, <NUM>%, <NUM>%, etc.) or as an absolute value in relative fluorescence units, among others.

During a search along oscillation pattern <NUM>, the beginning of an event <NUM> is detected when the fluorescence signal crosses trigger level <NUM> in a direction away from baseline <NUM>. This crossing initiates peak detection. Event <NUM> is deemed to end when trigger level <NUM> is crossed in a direction toward baseline <NUM>. However, the left and right troughs around event <NUM> may be marked below trigger level <NUM> as explained below.

The slope of vector <NUM> at each point <NUM> may be evaluated during the search to determine the direction of transitions. (Exemplary points 130a-<NUM> are shown here. ) A positive slope at point 130a is associated with a rising phase <NUM> of the fluorescence signal and a negative slope at point 130b is associated with a decay phase <NUM> of the fluorescence signal. The vicinity of the maximum for each peak is detected when the slope of successive vectors <NUM> changes from positive to negative (with baseline <NUM> at the bottom). For example, points 130c, 130d, and 130e of vectors <NUM> are at least very close to the respective maxima for a primary peak <NUM> and secondary peaks 150a, 150b of the same event <NUM>. The vicinity of the minimum for each trough is detected when the slope of successive vectors <NUM> changes from negative to positive (with baseline <NUM> at the bottom). For example, points 130f, <NUM> of vectors <NUM> are at least very close to the respective minima for a left trough 152a and a right trough 152b that bound event <NUM>. (Troughs between peaks <NUM>, 150a, and 150b are not expressly identified here to simplify the illustration.

The size of the sliding window used to create vectors <NUM> determines the magnitude of low amplitude transitions that will be bypassed by the search. For example, transitions <NUM> around point <NUM> are not identified as peaks or troughs in the search because the slopes in this region do not undergo a change in sign (i.e., they remain negative). The greater the size of the window (and thus the length of vectors <NUM>), the larger the transition amplitudes that will be bypassed. Accordingly, vectors <NUM> collectively act as a filter that does not corrupt the fluorescence signal.

Noise analysis within a narrow region around each transition point can be applied optionally to further improve the detection accuracy of each peak/trough position by rejecting very brief events or "low amplitude" events that might be proximal to a better peak position a few points away.

<FIG> shows a graph of only a portion of single oscillation <NUM> (and event <NUM>) of <FIG> taken around secondary peak 150a. Peaks may be filtered for validity according to one or more criteria, which may be related to a peak maximum <NUM> and at least one adjacent left or right trough minimum 158a, 158b. For example, the predefined criteria may relate to exceeding a threshold for a local amplitude <NUM> of each peak (measured between maximum <NUM> and left minimum 158a and/or right minimum 158b) and/or exceeding a threshold for a duration <NUM> of the peak, measured at a predefined amplitude (e.g., at left minimum 158a). The thresholds for local amplitude <NUM> and/or duration <NUM> may be user-specified or generated automatically from the noise level of the oscillation pattern and/or the sampling interval (i.e., the inverse of the sampling rate) of the oscillation pattern.

This example describes exemplary approaches to automatically setting a baseline for an oscillation pattern, and to estimating a noise level of the oscillation pattern from negative peaks identified while setting the baseline; see <FIG> and <FIG>.

The algorithm disclosed herein can estimate a baseline automatically for each data set by measuring the amplitudes of fluctuations that fall within <NUM>% of the data amplitude span, removing outliers by means of interquartile range analysis, and finally fitting a line to the resultant amplitudes with linear regression. The resultant regression line may be suggested or used as the baseline.

<FIG> and <FIG> illustrate an exemplary approach to establishing a baseline <NUM> for a data set. A temporary reference line <NUM> (e.g., a top baseline) may be set. For example, reference line <NUM> may be defined by a pair of points <NUM>, <NUM> respectively representing a maximum amplitude for a leading section <NUM> and a trailing section <NUM> of the data set. Each section <NUM>, <NUM> may represent any suitable fraction of the data set, such as <NUM>, <NUM>, <NUM>, <NUM>, or <NUM>%, among others. Points near the leading end and the trailing end of the oscillation pattern may be excluded, as the ends often include artifacts. The position of reference line <NUM> may be changed at either or both ends by allowing a user to move handles 180a, 180b via a graphical user interface. Also or alternatively, the user may adjust the time range of the data set deemed to be valid for analysis at either or both ends by moving respective handles 182a, 182b along the time axis via the graphical user interface.

An amplitude span of the data set may be computed. A global amplitude maximum (Ymax) and a global amplitude minimum (Ymin) may be found with a search. The amplitude span is defined as follows: Ymax - Ymin.

A threshold line <NUM> may be set toward the bottom of the amplitude span opposite reference line <NUM>, such as at <NUM>, <NUM>, <NUM> or <NUM>% of the amplitude span from reference line <NUM>. For example, a position for threshold line <NUM> at <NUM>% of the amplitude span from reference line <NUM> may be calculated as follows: Ymin + <NUM> x (amplitude span). The user may adjust threshold line <NUM> at either or both ends by moving respective handles 184a, 184b along the amplitude axis via the graphical user interface.

A search for peaks with respect to reference line <NUM> may be performed (see <FIG> and <FIG>). In the present example, the search finds negative peaks by identifying local maximum excursions away from (below) reference line <NUM> that also are located below threshold line <NUM>. (In other words, this peak search is the inverse of that described above for <FIG>. ) The search may be performed using a series of slopes as described above for <FIG> and <FIG>, with the slopes obtained using a relatively small size for the sliding window (e.g., a width of <NUM>, <NUM>, or <NUM> data points). A small sliding window provides a high sensitivity for peak detection, with minimal elimination of noise. Accordingly, the noise level for the data set also may be estimated from amplitude values of the peaks found in the search.

Primary peaks <NUM> and secondary peaks <NUM> may be identified. Here and in examples to follow, circles mark the maxima of primary peaks <NUM>, and diamonds mark the maxima of secondary peaks <NUM> (see <FIG>). These two types of peaks <NUM>, <NUM> also may be marked distinguishably when the oscillation pattern is graphed and displayed to the user (e.g., via a graphical user interface). However, for setting the baseline, all detected peaks may be recorded and treated equivalently, that is, without any distinction between primary and secondary peaks.

Using linear regression, a straight line may be fitted through the detected peak amplitudes. This line may be taken as the initial approximation of baseline <NUM>. The trigger level <NUM> initially may be set at <NUM>% of the data span above the baseline. These automatically assigned levels can subsequently be adjusted by the user via a graphical interface or by explicitly setting values.

Prior to linear regression, the data points at the maxima of peaks <NUM>, <NUM> may or may not be filtered. For example, before choosing a baseline, outliers may be removed, such as using interquartile range analysis. Points more than <NUM> interquartile ranges below the first quartile or above the third quartile may be rejected.

A noise level may be estimated from peaks <NUM>, <NUM> (see <FIG>). For example, a noise estimate may be calculated as the mean of successive differences between the amplitudes of peaks <NUM>, <NUM> (considered as a group). The noise estimate may be used directly as the noise level or may be used to calculate a noise level. This noise level, alone or in conjunction with the sampling interval, may enable automatic selection of a suitable size for the sliding window (see Example <NUM>) for a given data set. An exemplary algorithm for this size selection is heuristic: [<NUM> / sampling interval (in seconds)], added to a "noise factor" of [noise level / <NUM>]. The algorithm may select a window size from a range of permitted sizes. The range may include only odd numbers of data points (e.g., <NUM>, <NUM>, <NUM>, etc.), only even numbers of data points (e.g., <NUM>, <NUM>, <NUM>, etc.), or odd and even numbers (e.g., <NUM>, <NUM>, <NUM>, <NUM>, etc.). The noise level also may be utilized to compute an automatically generated value for a suitable threshold for local amplitude <NUM>, to reject smaller peaks as invalid (also see Examples <NUM> and <NUM>). The data sampling rate may be used to automatically generate a suitable threshold for duration <NUM>, to reject very short-lived peaks as invalid.

This example describes exemplary parameters of interest that can be measured from an oscillation pattern using the algorithms described herein; see <FIG>.

Three events <NUM> of the oscillation pattern are shown. A starting point <NUM> and an ending point <NUM> are marked for each event <NUM>, where the fluorescence signal crosses trigger level <NUM> in opposite directions.

Any of the parameters described herein may be reported for individual peaks/events or may be averaged over a series of peaks/events of a given oscillation pattern. Each primary peak <NUM> of an event <NUM> has a primary peak amplitude <NUM>. The primary peak amplitude can be measured as the amplitude difference between the maximum of primary peak <NUM> and baseline <NUM>. A linear decay slope <NUM> may be defined by a straight line extending between the maximum of primary peak <NUM> and ending point <NUM> for the event <NUM>.

A primary peak interval <NUM> (also called a primary peak period) is defined between maxima of adjacent primary peaks <NUM>. A series of events <NUM> define a succession of primary peak intervals <NUM>, which may be converted to a primary peak rate for the series of events, expressed as primary peaks per unit time, such as peaks per minute (PpM).

A secondary peak period <NUM> is defined between maxima of adjacent secondary peaks <NUM> within or between events. The secondary peak period <NUM> for the oscillation pattern may be converted to a secondary peak rate, expressed as secondary peaks per unit time, such as peaks per minute (PpM). Each secondary peak <NUM> has a secondary peak amplitude <NUM>, which may be measured between the maximum of the secondary peak and baseline <NUM>.

A rise slope <NUM> and a decay slope <NUM> may be calculated for each event <NUM>. Each of these slopes may be defined between percentages of the maximum value of the event, such as between <NUM>-<NUM>% or <NUM>-<NUM>% of the maximum value.

A duration <NUM> of each event <NUM> may be calculated at a specified percentage from the maximum amplitude of the event, such as at <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, or <NUM>%, among others, from the maximum amplitude. Alternatively, or in addition, a duration from peak <NUM> may be measured for each event starting at the maximum of the primary peak <NUM> of the event. The duration from peak may be measured at a specified percentage from the maximum value of the event, such as <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, or <NUM>%, among others, from the maximum value.

This example describes the effect of changing the window size on the sensitivity of peak detection; see <FIG>.

The performance of a peak-finding algorithm based on slopes calculated as in Example <NUM> was tested on fluorescence intensity data collected from beating cardiomyocytes. The cardiomyocytes were labeled in vitro with a florescent calcium indicator and treated with a cardiotoxic compound to perturb the regular calcium oscillations present in control cardiomyocytes (e.g., see Example <NUM>). The same data are graphed in <FIG> and produce a complex oscillation pattern <NUM>. The pattern is composed of a series of oscillations <NUM> each exhibiting a more prolonged, erratic decay phase relative to the oscillations of control cells. The decay phase is characterized by early afterdepolarization (EAD)-like peaks (i.e., secondary peaks).

A peak search was performed on the data with an automatically-determined sliding window size of eleven points (<FIG>), or a user-selected window size of three points (<FIG>). A primary peak <NUM> of each oscillation is marked with a circle, and secondary peaks <NUM> are marked with diamonds. In <FIG>, with a larger window size, low amplitude transitions are ignored. In <FIG>, with a smaller window size, low amplitude transitions are detected as peaks. Accordingly, the sensitivity of peak detection can be controlled by judicious selection of the window size, optionally in conjunction with noise rejection to deem detected peaks that are too small/transient as invalid (e.g., see Examples <NUM> and <NUM>).

This example describes an exemplary dialog box displayed by a graphical user interface to facilitate user input to the analysis software; see <FIG>, <FIG>, <FIG>, and <FIG> (also see <FIG>).

<FIG>, <FIG>, <FIG>, and <FIG> show screenshots of the dialog box, which controls analysis optimization and the list of readouts (i.e., descriptors) of peak analysis. The dialog box contains two tabs. The "Options" tab provides access to the analysis settings and the data range. The "Measurements" tab contains the properties of an event that can be selected for display in an output sheet. Exemplary aspects and features of these tabs are described below.

Event polarity. Two buttons, Positive and Negative, are available to choose the event polarity (see <FIG>). Positive events involve an increase in fluorescence above a bottom baseline, and negative events involve a decrease in fluorescence below a top baseline.

Select vector length. The search vector length (i.e., the size of the sliding window) may be the most important variable for good peak detection (see <FIG>; also see <FIG> and <FIG>). Search vectors are generated from a series of subsets of the data points of a data set, where the subsets are selected by incrementally moving the sliding window along the time axis. A search vector is generated at each point. Vectors are computed using both forward-looking and backward-looking data points, centered about the window width and ranging from -((Window Width) -<NUM>)/<NUM> to +((Window Width) -<NUM>)/<NUM>. Slopes near the opposite ends of the data set are computed using appropriately declining numbers of data points. A linear regression is performed for each subset of data points to generate the series of search vectors. In other words, the sliding window slides along the data set, to check the slope at each data point, and determines the presence of transitions (maxima/peaks and minima/troughs) by noting a change in direction of the slope (i.e., a sign change of the slope from positive to negative or negative to positive). The length of the search vector relative to the sampling rate determines the sensitivity of detecting transitions. Longer vector lengths will automatically filter out noise (i.e., events/peaks of lower amplitude and/or shorter duration), while shorter vector lengths will detect transitions of lower amplitude and shorter duration.

Three buttons are available for choosing how the vector length is assigned: "Auto-assigned length," "Same length for all wells," and "Well-by-well" (see <FIG>). The software uses the sampling rate and an estimate of the noise amplitude to automatically compute a vector length when "Auto-assigned length" is chosen. Automatically-generated vector lengths are generally a good starting point for data analysis. The user can select a different vector length for each well (i.e., for each set of data points describing each different oscillation pattern), if the "Well-by-well" button is chosen.

Dynamic threshold. This option sets a lower limit for valid peaks (see <FIG>). All detected peaks having a peak amplitude below this threshold will be deemed invalid and ignored. The value of this limit is given as relative fluorescence units (RFU) above baseline in the present example. Two boxes are available for entering different threshold amplitude values above baseline for the left end and the right end of a line defining the dynamic threshold. In other examples, the dynamic threshold may be set as a percentage of the amplitude span of the data set. For example, if the data points for a given well span a range of <NUM>,<NUM> relative fluorescent units (RFU), a setting of <NUM>% will specify a cutoff limit of <NUM>,<NUM> RFU.

Trigger level. This level is defined by a trigger line extending along the time axis and determines when an event is deemed to start and finish (see <FIG>). An "event" is defined by the fluorescence signal crossing the trigger line in both directions. The amplitude of the event, however, is measured relative to the baseline. The detection of the left and right troughs of the event is not limited by the trigger level; these measurements can extend as far as the baseline. The event duration can be measured as the temporal distance between the two flanking trough positions, or by the temporal distance between the two crossing points for the event on the trigger line, among others. The trigger level is set by default at <NUM>% above the baseline (relative to the data range). This level can be set and changed individually for each dataset (well data).

Baseline level. The baseline level defines the lower end of the detection range and the position of the baseline. All amplitudes are measured relative to the baseline level and not a trough value.

The level names (Dynamic threshold, Trigger level, and Baseline level) are color-coded in the dialog box to match the color of corresponding lines in the graph window. Each of these levels can be defined by a respective line having a left end and a right end. The ends can be moved separately by grabbing handles at the ends with the left mouse button and moving up or down. The entire level line can be moved up or down by grabbing the line anywhere away from the handles with the left mouse button and moving up or down. The level line positions also can be set by changing the values in the respective L (left) or R (right) edit boxes, either by means of the spinner or entering a value directly. The "Lock" feature will cause the line ends to move in unison upon adjustment of either the right or left edge values. This feature applies only to the dialog box and does not affect the positioning by mouse.

Set Default Levels. Pressing this button will reset the baseline and trigger levels to their default positions (see <FIG>).

Process all wells (see <FIG>). If this item is checked, then all selected well data will be processed. If unchecked, only the currently selected well will be processed.

The Data Group (see <FIG>):
Well. Analysis will be applied only to the wells that are selected and that appear in the "Detail" graph window. Only the selected well appears in the graph at any given time. The well data to display can be specified by selecting the respective data series in the "Well" combo box.

The Event Rejection Group (see <FIG>):
Min amplitude. This item specifies the minimum amplitude, as measured from the baseline, that will be accepted as valid. Excursions forming primary/secondary peaks having maxima below the minimum amplitude value will be rejected. The minimum amplitude is substantially the same as the "Dynamic threshold" (see <FIG>), except that the minimum amplitude is a single value instead of being defined by values along a line having left and right ends that are independently adjustable.

Min duration. This item specifies the minimum duration of an event that will be accepted as valid (see <FIG>). The event duration may be measured between the left and right trough values, or between the beginning and the end of the event, as defined by crossing the trigger level. Excursions with durations shorter than the minimum duration value will be rejected.

Apply to all wells. If this item is checked, the amplitude and duration values that appear in the edit boxes will apply to the data from all wells. If unchecked, the value specified for each individual well will be used.

This tab is used to specify those measurements that are to be reported in the statistics page. This page displays the results for each well (group), the mean of events that are detected in the well, and the individual values for each event, where applicable.

Select All. This button selects all of the events for display (see <FIG>).

Select None. This button clears the event display selection.

Mean peak amplitude. The mean peak amplitude is the average amplitude of the maxima of valid primary peaks of the events detected for a given well, expressed in relative fluorescence units (RFU). Each peak amplitude for calculating the average is measured between the maximum of the peak and the baseline.

Number of peaks. This descriptor is the total number of valid primary peaks or the total number of valid primary and valid secondary peaks combined for a given well.

Mean peak rate. This descriptor is the number of valid primary peaks per minute (PpM). For cardiac data this is equivalent to "beats per minute" (BPM).

Number of EAD-like peaks per event. This descriptor is the number of valid secondary peaks (EAD-like peaks) in an event or for the data set. This item reports the mean number of valid secondary peaks per event, the standard deviation of the mean, and the total number of valid secondary peaks for the data set.

Mean EAD-like peak rate (PpM). This descriptor is the average rate of the valid secondary peaks (EAD-like peaks) detected in the data set (for a given well) expressed in peaks per minute (PpM).

Number of EAD-like peaks S. The standard deviation of the number of EAD-like peaks per event.

<NUM>-<NUM>% CTD. These descriptors are the duration of an event (e.g., a Calcium Transient Duration) in seconds at the specified level from the maximum of the primary peak of the event to the baseline. For example, CTD10 is the duration of the event measured at an amplitude level that is <NUM>% of the amplitude distance from the maximum to the baseline. CTDs from <NUM>% at the top to <NUM>% at the bottom are measured. At times, troughs are at some distance from the baseline, obviating the measurement of CTDs farthest from the peak.

<NUM>-<NUM>% CTDP. These descriptors are the duration of an event from the temporal position of the maximum of the primary peak to the specified level from the maximum relative to the baseline. (CTDP is Calcium Transient Duration from Peak. ) For example, CTDP10 is the duration of the event from the peak at a level of <NUM>% of the amplitude distance from the maximum of the peak to the baseline. CTDs from <NUM>% to <NUM>% are measured. At times, troughs are at some distance from the baseline, obviating the measurement of CTDPs farthest from the peak.

The area between the oscillation trace and the baseline for a given event, measured from the start to the end of the event, as defined by the left and right troughs for the event. The units for the area are RFU•seconds.

Peak Spacing. This measurement determines the regularity of the spacing of valid primary peaks (in seconds) by comparing the standard deviation and the mean of the spacing. The measurement reports either uniform spacing of peaks (OK), if the standard deviation is less than a threshold percentage (e.g., <NUM>%) of the mean, or irregular spacing (IRREG), if the standard deviation is greater than the threshold percentage.

The percentages to and from the peaks for slope measurement are specified in the associated edit boxes. Typically, slopes are measured between <NUM>-<NUM>% or <NUM>-<NUM>% from the peak values.

This example describes results obtained from testing cardiotoxic compounds on cardiomyocytes for effects on various parameters measured by the software described in Example <NUM>; see <FIG>.

Development of biologically relevant and predictive cell-based assays for compound screening and toxicity assessment is a major challenge in drug discovery. The focus of this study was to establish high-throughput-compatible cardiotoxicity assays using human-induced pluripotent stem cell (iPSC)-derived cardiomyocytes. To assess the utility of human iPSC-derived cardiomyocytes as an in vitro pro-arrhythmia model, the concentration dependence and responses were evaluated for <NUM> drugs linked to low, intermediate, and high torsades de pointes (TdP) risk categories. (The compounds were suggested by the Comprehensive in Vitro Proarrhythmia Assay (CiPA) Initiative. ) The impact of various compounds on the contraction rates and patterns of cardiomyocyte spontaneous activity was monitored by changes in intracellular Ca<NUM>+ oscillations measured by fast kinetic fluorescence with calcium-sensitive dyes. Advanced image analysis methods were implemented to provide multi-parametric characterization of the Ca<NUM>+ oscillation patterns. This assay allows for the characterization of parameters such as beating frequency, amplitude, peak width, and rise and decay times. The results demonstrate the utility of hiPSC cardiomyocytes for detecting drug-induced proarrhythmic effects in vitro.

The iPSC-derived cardiomyocytes generate spontaneous synchronized calcium oscillations. High speed fluorescence imaging with the FLIPR® Penta® System was used to measure the patterns and frequencies of the Ca<NUM>+ oscillations in cardiomyocytes as monitored by changes in intracellular Ca<NUM>+ levels with the EarlyTox™ Cardiotoxicity Kit. A set of <NUM> known cardiotoxic compounds, plus several benchmark compounds and negative controls, were tested in the assay.

iPSC-derived Cardiomyocytes: Cryopreserved human iPSC-derived cells from Cellular Dynamics International (CDI) iCell® Cardiomyocytes2 were used for experiments. Cells were thawed and plated at <NUM>,<NUM>/well (<NUM>-well format) or <NUM>,<NUM>/well into <NUM>-well format plates (Corning) and incubated for <NUM> days in maintenance media. The presence of strong synchronous contractions in the 3D cultures was confirmed visually prior to running experiments. In addition, assay-ready <NUM>-Well plates with cardiomyocytes1 were obtained from Ncardia, Inc. Plates were shipped pre-plated and allowed to recover after arrival for <NUM> days.

Cardiomyocytes were exposed to compounds for <NUM>, <NUM>, <NUM>, or <NUM>, or <NUM> hours. The intracellular Ca<NUM>+ oscillations were assessed using the EarlyTox® Calcium dye (Molecular Devices) according to the regular protocol; cells were loaded with dye for <NUM> hours before measurements.

Measurement of calcium oscillation in iPSC-derived cardiomyocytes is a promising method for toxicity assessment. The present work focuses on evaluation of a set of <NUM> CiPA compounds categorized as High, Medium, or Low risk according to clinical data.

The FLIPR® Penta® System equipped with a new high speed camera allows better resolution of calcium oscillation patterns in cardiomyocytes. The ScreenWorks® Peak Pro™ <NUM> software allows complex event analysis and detailed characterization of patterns using more than <NUM> available pattern descriptors. The assay can be used for testing developing drugs and screening chemicals for potential cardiotoxic hazards.

<FIG> show representative traces of calcium oscillations for control and compound-treated cardiomyocytes recorded for two minutes, starting after treatment for thirty minutes with the indicated compounds and concentrations. Perturbations to the calcium oscillation pattern are described for each of the compounds.

A control trace (DMSO treatment of cardiomyocytes) is shown in <FIG>. Only primary peaks <NUM> (marked with circles) are detectable. The primary peaks have a uniform amplitude and spacing from one another.

<FIG> shows a trace from cardiomyocytes treated with E-<NUM> at a concentration of <NUM>. Primary peaks <NUM> and secondary peaks <NUM> are present. The primary peaks are prolongated.

<FIG> shows a trace from cardiomyocytes treated with ibutilide at a concentration of <NUM>. Primary peaks <NUM> and secondary peaks <NUM> are present. The primary peaks are prolongated.

<FIG> shows a trace from cardiomyocytes treated with dofetilide at a concentration of <NUM>. Only primary peaks <NUM> are detected, but with an irregular spacing from one another.

<FIG> shows a trace from cardiomyocytes treated with quinidine at a concentration of <NUM>. Primary peaks <NUM> and secondary peaks <NUM> are detected. The primary peaks are prolongated and have any irregular spacing from one another.

<FIG> shows a trace from cardiomyocytes treated with sotalol at a concentration of <NUM>. Primary peaks <NUM> and secondary peaks <NUM> are detected. The primary peaks are prolongated and have any irregular spacing from one another.

<FIG> shows a trace from cardiomyocytes treated with astemizole at a concentration of <NUM>. No valid peaks are detected and thus a "stop" oscillations condition is reported.

<FIG> shows a trace from cardiomyocytes treated with nifedipine at a concentration of <NUM>. Only primary peaks <NUM> are detected, but at a significantly higher frequency than control.

<FIG> shows a compilation and comparison of different readouts for the compounds over a range of normalized concentrations, with compounds grouped according to known cardiotoxicity into three groups: high toxicity, medium toxicity, and low toxicity. The readouts include the presence of secondary peaks, peak prolongation, irregularity in the spacing/amplitude of primary peaks, a frequency increase in primary peaks relative to control, a stop condition (no valid peaks), a frequency decrease in primary peaks relative to control, and an amplitude change of primary peaks within the oscillation pattern. The graph demonstrates that the appearance of secondary peaks and peak prolongations at concentrations comparable to Cmax (the maximum clinical concentration in blood) is apparently a strong indicator of (or correlates with) cardiac toxicity, while modifications of other readouts do not necessarily indicate cardiotoxic effects.

This example describes results obtained from testing neurotoxic compounds with neurons in vitro for effects on various parameters measured by analysis software, see <FIG>.

To speed up the development of more effective and safer drugs, there is an increasing need for more complex, biologically relevant, and predictive cell-based assays for drug discovery and toxicology screening. Human iPSC-derived neural 3D co-cultures (StemoniX® microBrain® 3D platform) have been developed as a high-throughput screening platform that more closely resembles the constitution of native human cortical brain tissue. Neural spheroid 3D co-cultures are a physiologically relevant co-culture of iPSC-derived, functionally-active cortical glutamatergic and GABAergic neurons co-differentiated and matured with astrocytes from the same donor. 3D neural spheroids contain a neural network enriched in synapses, creating a highly functional neuronal circuitry and display spontaneous synchronized, readily detectable calcium oscillations.

A new method is disclosed herein for the analysis of complex calcium oscillations. The method allows detection and multi-parametric characterization of oscillation peaks. The multi-parametric characterization may include the oscillation rate (i.e., the frequency of primary peaks), width and amplitude of primary peaks, descriptors of secondary peaks, waveform irregularities, and several other important readouts.

The neuronal cells in the microBrain® 3D spheroids generate spontaneous synchronized calcium oscillations. Fast kinetic fluorescence imaging by the FLIPR® Penta® system was employed to measure the patterns and frequencies of Ca<NUM>+ oscillations of neuro-spheroids, as monitored by changes in intracellular Ca<NUM>+ levels with the FLIPR® Calcium <NUM> Assay Kit. A set of known neuromodulators was tested, including agonists and antagonists of NMDA, GABA and AMPA receptors; kainic acid; and analgesic and anti-epileptic drugs. The fluorescence from each well of an entire <NUM>-well plate was recorded simultaneously at a frequency of <NUM> (<NUM> second sampling interval) by high-speed imaging using the FLIPR® Penta® system.

Advanced analysis methods implemented in the ScreenWorks® Peak Pro™ <NUM> software module provide multi-parametric characterization of Ca<NUM>+ flux oscillation patterns. This phenotypic assay creates readouts such as oscillation frequency, amplitude, peak width, peak rise and decay times, and peak amplitude/spacing irregularity. The effects of modulators of neuronal activity were evaluated by measuring changes in several measurements.

A set of over twenty compounds, including a number of known modulators of neuronal activity, was assayed at different time points and concentrations, and the EC50 values were calculated for compound effects. The time points included <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> minutes, and <NUM> hours. Changes were observed as inhibitions or activations of the peak frequency, or other measurements, corresponding to the expected effect of the corresponding neuromodulator.

<FIG> show representative traces of calcium oscillations for control and compound-treated neural spheroids recorded for ten minutes, starting after <NUM> minutes of treatment with the indicated compounds and concentrations.

A control trace (DMSO treatment of a spheroid) is shown in <FIG>. Only primary peaks <NUM> (marked with circles) are detectable. The primary peaks have a fairly uniform amplitude and spacing from one another.

<FIG> shows a trace from a spheroid treated with MK-<NUM> at a concentration of <NUM>. Primary peaks <NUM> have a variable amplitude (compare with <FIG>). Only one secondary peak <NUM> is detected.

<FIG> shows a trace from a spheroid treated with GABA at a concentration of <NUM>. Only primary peaks <NUM> are detected, but at a significantly lower frequency than control.

<FIG> shows a trace from a spheroid treated with baclofen at a concentration of <NUM>. Only primary peaks <NUM> are detected, but at a significantly lower frequency than control and with an irregular spacing and amplitude.

<FIG> shows a trace from a spheroid treated with <NUM>-aminopyridine at a concentration of <NUM>. Primary peaks <NUM> and secondary peaks <NUM> are detected. The frequency of primary peaks <NUM> is increased relative to control.

<FIG> shows a trace from a spheroid treated with valinomycin at a concentration of (<NUM>). Primary peaks <NUM> and secondary peaks <NUM> are detected. The frequency of primary peaks <NUM> is much less than control, and the amplitude and spacing are much more variable.

<FIG> shows a trace from a spheroid treated with kainic acid at a concentration of <NUM>. Primary peaks <NUM> and numerous secondary peaks <NUM> are detected. The frequency of primary peaks <NUM> is increased relative to control.

<FIG> shows a trace from a spheroid treated with tamoxifen at a concentration of <NUM>. Only primary peaks <NUM> are detected, but at a significantly lower frequency than control and with a variable amplitude.

The assay can be used for testing compound effects and screening for neurotoxic chemicals. The appearance of secondary peaks and low-amplitude primary peaks can indicate compounds with neurotoxic activity. Effects on peak rate and amplitude alone may not be sufficiently predictive of neurotoxicity.

The term "exemplary" as used in the present disclosure, means "illustrative" or "serving as an example. " Similarly, the term "exemplify" means "illustrate by giving an example. " Neither term implies desirability nor superiority.

Claim 1:
A method of analysis, the method comprising:
detecting (<NUM>) fluorescence (<NUM>) representing an oscillating ion flux associated with one or more biological cells (<NUM>), to produce a series of data points (<NUM>) describing an oscillation pattern (<NUM>), wherein the oscillation pattern (<NUM>) comprises a series of events (<NUM>), wherein the oscillation pattern (<NUM>) crosses a predefined trigger level (<NUM>) twice for each event (<NUM>), and wherein the trigger level (<NUM>) is set relative to a baseline (<NUM>) of the oscillation pattern (<NUM>);
identifying (<NUM>) primary peaks (<NUM>) and secondary peaks (150a, 150b) in the oscillation pattern (<NUM>), wherein each event (<NUM>) includes a single primary peak (<NUM>) and wherein each of the secondary peaks (150a, 150b) is included in an event of the series of events (<NUM>), and wherein each secondary peak is any peak following the primary peak within an event; and
determining an aspect of the secondary peaks (150a, 150b);
wherein detecting, identifying, and determining are performed for each separate set of a plurality of separate sets of one or more biological cells (<NUM>), and wherein each separate set is exposed to a different compound or to a different concentration of the same compound;
further comprising determining an effect, if any, of each different compound or concentration on the aspect of the secondary peaks (150a, 150b); and
predicting a degree of cardiotoxicity or neurotoxicity of each compound or concentration based on the aspect of the secondary peaks, and a spacing or amplitude regularity or irregularity of the primary peaks or a number, frequency, or period of primary peaks that are smaller peaks having an amplitude below a predefined threshold.