Methods for clustering melting curves to identify genotypes
The method for clustering melting curves addresses the limitations of conventional genotyping by processing curves to create difference matrices and filter clusters, enabling automated and accurate genotyping of diverse genotypes with quality metrics.
Patent Information
- Application Number
- JP2024538399
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-22
- Filing Date
- 2022-12-22
- Publication Date
- 2024-12-10
AI Technical Summary
Conventional methods for genotyping using melting curve analysis are limited in effectiveness when dealing with diverse genotypes, especially in assays with a large number of genotypes or inconsistent quality of melting curves, necessitating the need for automated methods.
A method for clustering melting curves involves processing the curves to calculate the negative first derivative, creating difference matrices, filtering the clusters based on specific criteria, and identifying genotypes through clustering techniques like k-means, fuzzy C-means, or Gaussian mixture models, ensuring each curve is assigned to a single filtered cluster.
This approach allows for accurate and automated genotyping of multiple melting curves without prior knowledge of the number of genotypes, providing a dense and reliable grouping of curves with quality metrics, reducing manual labor and improving accuracy.
Smart Images

Figure 2024545714000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD OF THE DISCLOSURE
[0001] This disclosure relates to methods for genotyping melt curves, and in particular to methods for automatically clustering melt curves to improve melt curve genotyping. [Background technology]
[0002] Polymerase chain reaction (PCR) has become a ubiquitous tool in biomedical research, disease monitoring, and diagnosis. Melting curve analysis has likewise become a common tool for identifying DNA genotypes, and is often performed after PCR. Melting curve analysis evaluates the dissociation characteristics of double-stranded DNA during heating. In particular, fluorescent dyes bound to double-stranded DNA typically lose fluorescence as the temperature increases, with a concomitant decrease in fluorescence upon effective dissociation of DNA. Different genotypes dissociate at different temperatures, and therefore have melting curves with different profiles. The temperature at which this effective dissociation occurs is often ascertained by identifying a peak that forms in the negative first derivative of the melting curve. Thus, negative first derivatives with similar features (such as peaks) may be indicative of curves belonging to the same genotype. Thus, analysis of melting curves (especially their negative first derivatives) can be used to genotype assays by grouping similar curves.
[0003]
[0003] Although methods exist for such genotyping based on melting curve analysis, existing methods have limitations.For example, existing methods have limited effectiveness when dealing with a variety of genotypes, such as assays with a large number of genotypes or inconsistent melting curve quality.Therefore, there is a need for an automated method for genotyping melting curves in assays with a large number of genotypes or inconsistent melting curve quality. Summary of the Invention
[0004]
[0004] The present disclosure provides a novel method for clustering melting curves to improve melting curve genotyping. The method is performed by processing melting curves, comparing the curves to create a difference matrix, creating a cluster matrix based on the difference matrix, filtering the cluster matrix, and identifying genotypes based on the filtered cluster matrix.
[0005]
[0005] In one aspect, an automated method for genotyping a plurality of melting curves is provided. The melting curves can include fluorescence measurements over a temperature range. The method includes generating a plurality of processed melting curves by calculating the negative first derivative of each of the plurality of melting curves over a temperature range. The method further includes creating a first difference matrix based on the processed melting curves by calculating, for each of the processed melting curves, a sum of absolute differences between a given processed melting curve and each of the other processed melting curves over a temperature range. The method further includes creating a second difference matrix based on the first difference matrix by summing, for each column of the first difference matrix, each row vector over a temperature range. The method further includes creating an initial cluster matrix based on the second difference matrix, where each row of the initial cluster matrix identifies an initial cluster in the set of initial clusters. The method includes filtering the initial cluster matrix into a filtered initial cluster matrix including a set of filtered initial clusters, where each of the processed melting curves is assigned to a single filtered initial cluster. The method further includes calculating a number of peaks and an average melting temperature for each peak in each filtered initial cluster of the filtered initial cluster matrix. The method further includes combining filtered initial clusters having the same number of peaks and average melting temperatures within a specified temperature threshold to create a final cluster matrix, and identifying a genotype for each of the plurality of melting curves based on the final cluster matrix.
[0006] In some embodiments, the initial cluster matrix is created by performing k-means.For example, each row of the initial cluster matrix can include a first column that identifies a first processed melt curve, a second column that identifies a second processed melt curve that is at a minimum non-zero distance from the first processed melt curve in the first column, and a subsequent column that identifies additional processed melt curves in a cluster that has the first processed melt curve in the first column.The minimum non-zero distance can be determined based on the second difference matrix, and the cluster can be identified based on the distance between the centroid of the cluster and the first processed melt curve.
[0007]
[0007] In some embodiments, filtering the initial cluster matrix includes removing overlapping rows from the initial cluster matrix. In some embodiments, filtering the initial cluster matrix further includes combining intersecting clusters that include a common processed melt curve. For example, combining intersecting clusters can include: (a) in a first pass, identifying initial clusters in the set of initial clusters that include a common processed melt curve; (b) combining each of the clusters identified in step (a); (c) in a second pass, identifying remaining clusters that include a common processed melt curve and combining the remaining clusters; and (d) removing initial clusters that include a common processed melt curve such that none of the processed melt curves are present in more than one filtered initial cluster. In some embodiments, filtering the initial cluster matrix includes identifying clusters whose processed melt curves overlap and removing the overlaps.
[0008] In some embodiments, filtering the initial cluster matrix comprises: (i) identifying negative clusters based on comparing the maximum signal of the cluster with a cluster threshold; and (ii) merging the negative clusters identified in step (i).For example, identifying negative clusters may comprise determining the ratio of the maximum fluorescence value in a given cluster to the maximum fluorescence in the cluster with the highest fluorescence, and comparing the ratio determined in step (aa) with a cluster threshold.For example, the cluster threshold is 0.1.
[0009]
[0009] In some embodiments, filtering the initial cluster matrix may further include identifying clusters containing peaks that are smaller than each of the peaks of the other clusters, comparing the processed melting curves in the clusters identified in step (iii) with a cluster threshold, and setting the processed melting curves that are smaller than the cluster threshold as negative processed melting curves and removing the negative processed melting curves from the cluster.
[0010] In some embodiments, the specified temperature threshold is 1°C.
[0011] In some embodiments, a quality metric can be determined. For example, the method can further include determining a quality metric associated with each of the identified genotypes according to the following formula:
number
number
[0012]
[0012] In some embodiments, the initial cluster matrix is created using a clustering technique. For example, the initial cluster matrix can be created by performing at least one of hierarchical clustering, fuzzy C-means clustering, mean-shift clustering, density-based spatial clustering, and a Gaussian mixture model.
[0013]
[0013] In another aspect, a system for automated genotyping of melting curves is provided. The system may include at least one data processor. The system may further include instructions stored in at least one memory that, when executed by the at least one data processor, cause an operation including: generating a plurality of processed melting curves by calculating the negative first derivative of each of the plurality of melting curves over a temperature range; and creating a first difference matrix based on the processed melting curves by calculating, for each of the processed melting curves, a sum of absolute differences between the given processed melting curve and each of the other processed melting curves over a temperature range. The operation may further include creating a second difference matrix based on the first difference matrix by summing, for each column of the first difference matrix, each row vector over a temperature range. The operation may further include creating an initial cluster matrix based on the second difference matrix, and each row of the initial cluster matrix identifies an initial cluster in the set of initial clusters. The operations may further include filtering the initial cluster matrix into a filtered initial cluster matrix including a set of filtered initial clusters, and each of the processed melt curves is assigned to a single filtered initial cluster. The operations may further include calculating the number of peaks and the average melting temperature of each peak in each filtered initial cluster of the filtered initial cluster matrix. The operations may further include combining the filtered initial clusters having the same number of peaks and average melting temperatures within a specified temperature threshold to create a final cluster matrix, and identifying the genotype of each of the plurality of melt curves based on the final cluster matrix. [Brief description of the drawings]
[0014] [Figure 1] 1 is a graphical representation of a raw melting curve to be genotyped according to an embodiment of the present disclosure. [Diagram 2]2 is a graphical representation of the processed raw melting curves of FIG. 1 to be genotyped according to an embodiment of the present disclosure. [Diagram 3] 3 is a graphical representation of the processed raw melting curves of FIG. 2 after being genotyped in accordance with an embodiment of the present disclosure. [Figure 4] 1 shows a method for automated genotyping of melting curves according to an embodiment of the present disclosure. [Diagram 5] 5 is a diagrammatic representation of the creation of a difference matrix used in the method of FIG. 4, according to an embodiment of the present disclosure. [Figure 6] 5 is a diagrammatic representation of the creation of a difference matrix used in the method of FIG. 4, according to an embodiment of the present disclosure. [Figure 7] 5 is a diagrammatic representation of the creation of a cluster matrix used in the method of FIG. 4, according to an embodiment of the present disclosure. [Figure 8] 1 is a graphical representation of genotyped processed raw melting curves according to an embodiment of the present disclosure. [Figure 9] 1 is a graphical representation of genotyped processed raw melting curves according to an embodiment of the present disclosure. [Figure 10] 1 is a graphical representation of genotyped processed raw melting curves according to an embodiment of the present disclosure. [Figure 11] 1 is a graphical representation of genotyped processed raw melting curves according to an embodiment of the present disclosure. [Figure 12] 1 is a graphical representation of genotyped processed raw melting curves according to an embodiment of the present disclosure. [Figure 13] FIG. 1 illustrates an example of a genotyping platform according to an embodiment of the present disclosure. [Figure 14] FIG. 1 is a block diagram of a computing system according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015]
[0028] In the context of in vitro diagnostic (IVD) assays, it is desirable to determine different genotypes. To that end, as described above, a post-PCR melting step is used to determine different genotypes of a given assay. Since fluorescent dyes bound to double-stranded DNA lose fluorescence as the temperature increases, depending on their properties, different genotypes of a given assay show different fluorescence signal profiles. To determine genotypes using melting curves, the raw melting curve, i.e. the fluorescence measured over a temperature range during the melting step, is usually processed by taking its negative first derivative. As a result, a curve with a series of peaks is obtained. The peaks are usually Gaussian peaks, but may also be peaks of other shapes, for example Lorentzian, Voigt, Pearson, Compton Edge, or any other type of peak. Curves with peaks similar to each other in shape and frequency, as well as curves with similar melting temperatures, can be grouped into a single genotype. Although existing methods may be able to identify genotypes from a limited number of genotypes, there is still a need for an automated method for determining genotypes when there is an unknown number of genotypes and / or a relatively large number of genotypes for a given assay.For example, a given assay may have 1 to 12 different genotypes, and existing methods are insufficient to automatically determine genotypes from melting curves when the genotypes are unknown.
[0016]
[0029] 1-3 show an example of automated genotyping of melting curves according to an embodiment of the present disclosure. Specifically, FIG. 1 is a graphical representation of a raw melting curve according to the present disclosure. As seen in FIG. 1, the raw melting curve represents the fluorescence measured over a range of temperatures during the post-PCR melting step. In this example, the assay includes eight genotypes and a negative result.
[0017]
[0030] According to an embodiment of the present disclosure, the raw melting curves of FIG. 1 may be processed to accurately genotype the assay. Specifically, the raw melting curves of FIG. 1 may be processed by taking the negative derivative of each curve in FIG. 1. FIG. 2 is a graphical representation of the processed raw melting curves of FIG. 1 resulting from taking the negative derivative of each curve shown in FIG. 1. As can be seen in FIG. 2, many of the resulting processed curves contain Gaussian peaks, and there are groups of similar curves with similar peak heights, frequencies, and locations within the temperature range. While this can be seen visually, genotyping these curves without knowing the actual number of genotypes in the assay would be burdensome and require extensive manual input, especially since there may be a relatively large number of genotypes in the assay (8 in this case).
[0018]
[0031] Embodiments of the present disclosure provide a method for automatically genotyping the processed melting curves without prior knowledge of the number of genotypes. Specifically, as described in more detail below, the processed melting curves can be used to automatically create a set of difference matrices, which can then be used to automatically cluster the curves of a single genotype.
[0019]
[0032] Figure 3 is a graphical representation of the processed raw melting curves of Figure 2 after genotyping according to an embodiment of the present disclosure. As can be seen in Figure 3, each of the eight different genotypes (genotype 301 corresponding to GT1, genotype 302 corresponding to GT2, genotype 303 corresponding to GT3, etc.) have been identified along with several negative results of the assay (309 corresponding to NEG).
[0020]
[0033] In addition to identifying genotypes, in some embodiments, a quality metric associated with the genotypes may be determined. For example, a metric ranging from 0 to 100 may be determined that indicates the "denseness" of the grouped curves for a given genotype. The closer the metric is to 100, the "denser" the given cluster is. The quality metric determined for each genotype identified in FIG. 3 is listed alongside each genotype, and in this example, it can be seen that the metric ranges from 94 to 98 for each of the eight genotypes identified, which represents a relatively "dense" fit within each group.
[0021]
[0034] FIG. 4 illustrates a method 400 for automated genotyping of melting curves according to an embodiment of the present disclosure. In step 402, the raw melting curves may be processed to generate a processed melting curve. In some embodiments, the negative derivative of each of a plurality of raw melting curves may be calculated to generate the processed melting curve. The raw melting curves may be processed in any suitable manner to calculate the negative derivative. Although described herein as calculating the negative derivative, it will be appreciated that the raw melting curves may be processed in any suitable manner to aid in ascertaining curve features (such as melting temperature) that are useful for genotyping the melting curve.
[0022]
[0035] In step 404, a first difference matrix may be created based on the processed melt curves. In some embodiments, the first difference matrix may be created by determining the absolute difference in fluorescence values at each temperature between a given processed melt curve and each other processed melt curve. For example, the first difference matrix may have dimensions including a row corresponding to each temperature unit at which fluorescence values were measured over the temperature range during the post-PCR melting step, and a column corresponding to the number of melt curves.
[0023]
[0036] 5 is a diagrammatic representation of the creation of a first difference matrix 500 according to an embodiment of the present disclosure. As seen in FIG. 5, the difference matrix can have a width 502, which corresponds to the number of curves in a given assay, and a height 504, which corresponds to the discrete temperature units at which the fluorescence measurements were made. Each column 506 of the matrix 500 can be calculated by determining the absolute difference between each curve and every other curve at each discrete temperature.
[0024]
[0037] In step 406, a second difference matrix may be created based on the contents of the first difference matrix created in step 404. In some embodiments, the second difference matrix may be created by summing the row vectors of the first difference matrix over all temperature units for each column of the first difference matrix. In some embodiments, the components of the second difference matrix that correspond to the difference of a curve from itself are set to Not a Number (NaN). The resulting second difference matrix provides a measure of the similarity of each curve to each other curve, which is used in a subsequent step to cluster the curves to identify genotypes. In some embodiments, the second difference matrix may be a vector with essentially no temperature dimension, since it contains, for each curve, the sum of the absolute distances from each other curve.
[0025]
[0038] 6 is a diagrammatic representation of the creation of a second difference matrix according to an embodiment of the present disclosure. As can be seen, the second difference matrix 600 does not have a temperature dimension, in contrast to, for example, the first difference matrix 500. Rather, the difference matrix 600 has a width 602 (similar to the width 502 of the first difference matrix 500) that corresponds to the total number of curves in a given assay. The difference matrix 600 is created by summing the row vectors of the first difference matrix over all temperature units to include, for each curve, the sum of the absolute distances from each of the other curves. Thus, the difference matrix 600 can be a vector that includes the sum of the absolute distances over all temperature units.
[0026]
[0039] In step 408, an initial cluster matrix is created based on the second difference matrix created in step 406. The initial cluster matrix can be created by clustering the group of processed melt curves based on the second difference matrix. For example, the initial cluster matrix can be created by creating a matrix of dimensions including a row corresponding to the total number of melt curves and a column corresponding to one more than the total number of melt curves. A first column of the initial cluster matrix can include a given curve number, and a second column of the initial cluster can include a curve number corresponding to a minimum non-zero distance sum for the given curve number, which can be determined from the second difference matrix created in step 406. Subsequent columns of the initial cluster matrix can include additional curve numbers associated with the curves in the first column that are within a minimum distance.
[0027]
[0040] In some embodiments, the initial cluster matrix may be created using a clustering technique. For example, the initial cluster matrix may be created using a conventional k-means technique. For example, the k-means technique may take as input the temperature sum of the sum of absolute differences between a given curve and all other curves as reflected in the second difference matrix, and an input initial number of clusters. The k-means technique may then identify clusters by identifying the centroids (i.e., centers of gravity) of the clusters and identifying which curves belong to a given cluster based on their distance to the centroid. In some embodiments, the number of initial clusters may be a parameter that determines the maximum number of clusters that will be identified by the k-means technique (or other clustering technique used). It will be appreciated that this parameter may be predetermined, set by user input, or dictated (either automatically or by user input) by the context of a given assay. In some embodiments, the number of initial clusters is set to a number between 2 and 25. For example, it may be preferable to set the initial number of clusters to 15. In other embodiments, it may be preferable to expand the initial number of clusters to 25. Using k-means, an initial cluster matrix can be created by, for each row, identifying a given curve number in the first column, followed by the curve number in the cluster whose centroid is the smallest distance from the curve in the first column, where the cluster is determined by k-means or other suitable clustering technique.
[0028]
[0041] 7 is a diagrammatic representation of the creation of a cluster matrix according to an embodiment of the present disclosure. As seen in FIG. 7, the initial cluster matrix 700 can have a width 702 corresponding to the number of curves+1 and a height 704 corresponding to the number of curves. The first column of each row contains a given curve number (706, 706a, 706b), the next column contains the curve number (708, 708a, 708b) that is the smallest distance from the curve identified in the first column, and the subsequent columns (710, 710a, 710b) can contain the remaining curve numbers in the cluster whose centroid is the smallest distance from the curve in the first column. As mentioned above, the matrix 700 can be created using k-means or other clustering techniques as described below.
[0029]
[0042] Although k-means has been described above, other methods can be used to cluster the curves based on the difference matrix. For example, hierarchical clustering, fuzzy C-means clustering, mean-shift clustering, density-based spatial clustering, and Gaussian mixture models can be used to cluster the curves using the first and second difference matrices described above.
[0030]
[0043] In step 410, the initial cluster matrix created in step 408 is filtered to generate a filtered initial cluster matrix having filtered initial clusters. Filtering the initial cluster matrix may include removing overlapping clusters, combining intersecting clusters, removing overlapping curves within clusters, designating negative clusters, and combining negative clusters if they exist, as described in more detail below.
[0031]
[0044] In some embodiments, the initial filtering step may include removing duplicate clusters. In some embodiments, duplicate clusters may be removed by creating a new matrix with the non-zero elements of the initial cluster matrix. If two or more rows of the new matrix are completely duplicated (i.e., contain the exact same list of curves), the duplicate rows are removed from the new matrix.
[0032]
[0045] In some embodiments, the subsequent filtering step can include combining intersecting clusters such that a given curve does not exist in more than one cluster. For example, combining intersecting clusters can include two passes through the cluster matrix. In the first pass, clusters that share a given curve are combined, but the original cluster is not removed, so that all intersecting clusters are evaluated. In the second pass, the remaining intersecting clusters are combined, but in this case the remaining clusters are removed. This two-pass technique ensures that no curve exists in two different clusters, since each potential cluster with an intersecting curve is evaluated.
[0033]
[0046] In some embodiments, a subsequent filtering step includes removing duplicate curves within the clusters. For example, each cluster is evaluated to ensure that there are no duplicate curve numbers therein. If a duplicate curve number is found, it is removed from the cluster.
[0034]
[0047] In some embodiments, the subsequent filtering step includes designating a negative cluster. In some embodiments, a cluster is designated as negative based on the ratio of the maximum fluorescence of the cluster to the maximum fluorescence of the cluster with the highest maximum fluorescence. For example, the ratio of the maximum fluorescence of the cluster to the maximum fluorescence of the cluster with the highest maximum fluorescence can be compared to a cluster threshold. If the ratio is less than the cluster threshold, the cluster is designated as a negative cluster. The cluster threshold can be determined experimentally to be a number that allows clusters with essentially flat melting curves to be designated as negative clusters. In some embodiments, the cluster threshold is 0.1 (i.e., 10%). In some embodiments, the cluster threshold is 0.05 (i.e., 5%). Once a negative cluster has been designated, a subsequent step can be performed to combine multiple negative clusters. Furthermore, a further step can be performed to check whether there is any negative curve in the remaining cluster. For example, the cluster with the lowest peaks (once a negative cluster has been designated) can be evaluated to determine whether any of its curves are less than the cluster threshold. If any curves are smaller than the cluster threshold (i.e., the ratio of the peak of that curve to the peak of the cluster with the highest maximum fluorescence is smaller than the cluster threshold), they are set as negative and removed from the cluster.
[0035]
[0048] In step 412, the average melting temperature of each peak and the number of peaks in each remaining cluster are determined. In step 414, clusters containing the same number of peaks and average melting temperatures within a threshold range can be combined. For example, clusters that (1) have the same number of peaks and (2) have average melting temperatures within ±1°C of each other can be combined. The resulting cluster matrix can be the final cluster matrix used for genotyping.
[0036]
[0049] In step 416, the genotypes of the melting curves are identified based on the final cluster matrix created in step 414. Genotyping can result in an output list of the identified genotypes in a visual manner. For example, the curves can be visually displayed with colors that distinguish between the same genotypes, as in FIG. 3 (and / or FIGS. 8-12, described below).
[0037]
[0050] In some embodiments, a quality metric may be determined for each identified genotype group and output for reference. Specifically, the quality metric for a group may be calculated using the following formula:
number
[0038]
[0051] In some embodiments, a quality metric may be determined for each curve in a given genotype group. The quality metric for a given curve in a group may be calculated using the following formula:
number
[0039]
[0052] 13 is a diagram illustrating an example of a genotyping platform 1300 according to an embodiment of the present disclosure. The genotyping platform 1300 can include various engines that work together to cluster and genotype melting curves of an assay, as described above with reference to FIGS. 1-4.
[0040]
[0053] The genotyping platform 1300 may include a melting curve processing engine 1310, a matrix creation engine 1320, a clustering engine 1330, a cluster filtering engine 1340, and a cluster output engine 1350. In some embodiments, one or more aspects, features, and / or operations of the engines 1310, 1320, 1330, 1340, and 1350 may be combined in various combinations.
[0041]
[0054] The melting curve processing engine 1310 can receive as input a raw melting curve to be genotyped as described herein. The melting curve processing engine 1310 can be configured to process the raw melting curve as described above with reference to step 402 of method 400. For example, the melting curve processing engine 1310 can be configured to calculate the negative first derivative of the raw melting curve.
[0042]
[0055] The matrix creation engine 1320 can receive the processed raw melt curves to be genotyped from the melt curve processing engine 1310. The matrix creation engine 1320 can be configured to create a difference matrix as described above with reference to steps 404 and 406 of the method 400. For example, the matrix creation engine 1320 can be configured to create a first difference matrix 500 as described in FIG. 5 based on the processed raw melt curves, and then create a second difference matrix 600 as described in FIG. 6 based on the first difference matrix.
[0043]
[0056] The clustering engine 1330 can receive the difference matrices from the matrix creation engine and use them to cluster the processed raw melt curves as described above. For example, the clustering engine 1330 can be configured to identify clusters based on the second difference matrix using k-means. The clustering engine 1330 can alternatively cluster the curves using the first and second difference matrices described above using other clustering techniques as described above, including hierarchical clustering, fuzzy C-means clustering, mean-shift clustering, density-based spatial clustering, and Gaussian mixture models.
[0044]
[0057] The matrix creation engine 1320 may receive the set of clusters identified by the clustering engine 1330 and create an initial cluster matrix as described above in step 408 of method 400. For example, the matrix creation engine 1320 may be configured to create an initial cluster matrix, such as matrix 700 described in FIG.
[0045]
[0058] The cluster filtering engine 1340 may receive the initial cluster matrix from the matrix creation engine 1320. The cluster filtering engine 1340 may be configured to filter the initial cluster matrix as described above in steps 410-414 of method 400. For example, the cluster filtering engine 1340 may be configured to remove overlapping clusters, combine intersecting clusters, remove overlapping curves within clusters, designate negative clusters, and combine negative clusters, if present, from the initial cluster matrix, as described above with reference to step 414 of method 400, resulting in a filtered cluster matrix. The cluster filtering engine 1340 may also be configured to combine clusters based on the number of peaks and an evaluation of melting temperature to create a final cluster matrix, as described above with reference to step 414 of method 400.
[0046]
[0059] The cluster output engine 1350 may receive the final cluster matrix from the cluster filtering engine 1340. The cluster output engine 1350 may be configured to genotype the melting curves based on the final cluster matrix and output the results. The cluster output engine 1350 may also be configured to calculate quality metrics for each genotype and / or each curve, as described above. For example, the cluster output engine 1350 may output a graphical display (such as those shown in Figures 3 and 8-12) showing the genotypes of each curve in a given assay under consideration.
[0047]
[0060] 14 is a block diagram illustrating an example of a computing system 1400 according to some exemplary embodiments. With reference to FIGS. 1-4 and 13-14, the computing system 1400 may be used to implement the genotyping platform 1300, the method 400, and / or any components therein.
[0048]
[0061] As shown in FIG. 14, the computing system 1400 may include a processor 1410, a memory 1420, a storage device 1430, and an input / output device 1440. The processor 1410, the memory 1420, the storage device 1430, and the input / output device 1440 may be interconnected via a system bus 1450. The processor 1410 may process instructions for execution within the computing system 1400. Such executing instructions may, for example, implement one or more components of the genotyping platform 100, the method 400, and / or any components therein. In some exemplary embodiments, the processor 1410 may be a single-threaded processor. Alternatively, the processor 1410 may be a multi-threaded processor. The processor 1410 may process instructions stored in the memory 1420 and / or the storage device 1430 to display graphical information of a user interface provided via the input / output device 1440.
[0049]
[0062] Memory 1420 is a computer-readable medium, such as volatile or non-volatile, that stores information within computing system 1400. Memory 1420 may store, for example, data structures representing a configuration object database. Storage device 1430 may provide persistent storage for computing system 1400. Storage device 1430 may be a floppy disk drive, hard disk drive, optical disk drive, tape drive, or other suitable persistent storage means. Input / output device 1440 provides input / output operations for computing system 1400. In some exemplary embodiments, input / output device 1440 includes a keyboard and / or a pointing device. In various implementations, input / output device 1440 includes a display device for displaying a graphical user interface.
[0050]
[0063] According to some demonstrative embodiments, I / O devices 1440 may provide input / output operations for network devices. For example, I / O devices 1440 may include an Ethernet port or other network port for communicating with one or more wired and / or wireless networks (e.g., a local area network (LAN), a wide area network (WAN), the Internet).
[0051]
[0064] In some exemplary embodiments, computing system 1400 can be used to execute various interactive computer software applications that can be used to organize, analyze, and / or store various forms of data. Alternatively, computing system 1400 can be used to execute any type of software application. These applications can be used to perform various functions, such as planning functions (e.g., creating, managing, editing spreadsheet documents, word processing documents, and / or other objects, etc.), computing functions, communication functions, etc. Applications can include various add-in functions or can be stand-alone computing products and / or functions. When launched within an application, these functions can be used to generate a user interface that is provided via input / output devices 1440. The user interface can be generated by computing system 1400 and presented to a user (e.g., on a computer screen monitor, etc.).
[0052]
[0065] One or more aspects or features of the subject matter described herein may be implemented in digital electronic circuitry, integrated circuits, specially designed application specific integrated circuits (ASICs), field programmable gate array (FPGA) hardware, firmware, software, and / or combinations thereof. These various aspects or features may include implementation in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, which may be special purpose or general purpose, coupled to receive data and instructions from a storage system, at least one input device, and at least one output device, and to transmit data and instructions to the storage system, at least one input device, and at least one output device. The programmable system or computing system may include clients and servers. The clients and servers are generally remote from each other and typically interact through a communications network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0053]
[0066] These computer programs, which may also be referred to as programs, software, software applications, applications, components, or codes, contain machine instructions for a programmable processor and may be implemented in a high-level procedural and / or object-oriented programming language and / or assembly / machine language. As used herein, the term "machine-readable medium" refers to any computer program product, apparatus, and / or device used to provide machine instructions and / or data to a programmable processor, such as, for example, magnetic disks, optical disks, memories, and programmable logic devices (PLDs), including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor. A machine-readable medium may store such machine instructions non-transiently, such as, for example, a non-transient solid-state memory, a magnetic hard drive, or any equivalent storage medium. A machine-readable medium may alternatively or additionally store such machine instructions temporarily, such as, for example, a processor cache or other random access memory associated with one or more physical processor cores.
[0054]
[0067] To provide for user interaction, one or more aspects or features of the subject matter described herein can be implemented on a computer having a display device, such as, for example, a cathode ray tube (CRT) or liquid crystal display (LCD) or light emitting diode (LED) monitor, for displaying information to a user, and a keyboard and a pointing device, such as, for example, a mouse or trackball, by which the user can provide input to the computer. Other types of devices can also be used to provide for user interaction. For example, feedback provided to the user can be any form of sensory feedback, such as, for example, visual feedback, auditory feedback, tactile feedback, and input from the user can be received in any form, including acoustic input, voice input, tactile input. Other possible input devices include touch screens or other touch-sensitive devices such as single or multi-point resistive or capacitive trackpads, voice recognition hardware and software, optical scanners, optical pointers, digital image capture devices and associated interpretation software, and the like.
[0055]
[0068] Embodiments of the present invention are further described in the following examples, which do not limit the scope of the invention as claimed. EXAMPLES
[0056] Example 1
[0069] 8 is a graphical representation of genotyped processed raw melting curves according to an embodiment of the present disclosure. In particular, the genotyped assay was a BCR-ABL mutation assay, which is often used to diagnose or rule out a type of acute lymphoblastic leukemia (ALL) called chronic myeloid leukemia or Ph-positive ALL. As can be seen in FIG. 8, two genotypes, 801 (GT1) and 802 (GT2), were identified with quality metrics of 72 and 53, respectively.
[0057] Example 2
[0070] 9 is a graphical representation of genotyped processed raw melting curves according to an embodiment of the present disclosure. In particular, the genotyped assay was directed to apolipoprotein (apo) E. Apo E alleles can be used to identify risk of coronary heart disease, Alzheimer's disease, and the like. As seen in FIG. 9, three genotypes 901 (GT1), 902 (GT2), and 903 (GT3) were identified with quality metrics of 69, 67, and 27, respectively.
[0058] Example 3
[0071] Figure 10 is a graphical representation of genotyped processed raw melting curves according to an embodiment of the present disclosure. In particular, the genotyped assay was directed to the hemochromatosis gene (HFE). As seen in Figure 10, six genotypes 1001 (GT1), 1002 (GT2), 1003 (GT3), 1004 (GT4), 1005 (GT5), and 1006 (GT6) were identified, with quality metrics of 100, 91, 90, 90, 87, and 83, respectively.
[0059] Example 4
[0072] Figure 11 is a graphical representation of genotyped processed raw melting curves according to an embodiment of the present disclosure. In particular, the assay targeted the Factor V Leiden (FV), prothrombin (FII), and methylenetetrahydrofolate reductase (MTHFR) genes, which are commonly investigated genetic risk factors for the development of venous thromboembolism (VTE). As seen in Figure 11, six genotypes 1101 (GT1), 1102 (GT2), 1103 (GT3), 1104 (GT4), 1105 (GT5), and 1106 (GT6) were identified with quality metrics of 92, 84, 80, 75, 61, and 55, respectively.
[0060] Example 5
[0073] Figure 12 is a graphical representation of the genotyped processed raw melting curves according to an embodiment of the present disclosure. In particular, the assay was aimed at targets related to lactose intolerance. As seen in Figure 12, three genotypes 1201 (GT1), 1202 (GT2) and 1203 (GT3) were identified, with quality metrics of 84, 82 and 73, respectively.
[0061]
[0074] In the above description and claims, phrases such as "at least one of" or "one or more of" may be preceded by a conjunctive list of elements or features. The term "and / or" may also be used with a list of two or more elements or features. Unless otherwise stated, implicitly or explicitly by the context of use, such phrases are intended to mean any of the listed elements or features individually, or any of the listed elements or features in combination with any of the other listed elements or features. For example, the phrases "at least one of A and B," "one or more of A and B," and "A and / or B" are each intended to mean "A only, B only, or A and B together." A similar interpretation is intended for lists containing more than two items. For example, the phrases "at least one of A, B, C," "one or more of A, B, C," and "A, B, and / or C" are each intended to mean "A only, B only, C only, A and B together, A and C together, B and C together, or A, B and C together." Use of the term "based on" above and in the claims means "based at least in part on" and means that unrecited features or elements are permitted.
[0062]
[0075] The subject matter described herein may be embodied in systems, devices, methods, and / or articles, depending on the desired configuration. The embodiments described in the foregoing description do not represent all embodiments consistent with the subject matter described herein. Instead, they are merely some examples consistent with aspects related to the subject matter described. Although some variations have been detailed above, other modifications and additions are possible. In particular, further features and / or variations may be provided in addition to those described herein. For example, the embodiments described above may be directed to various combinations and subcombinations of the disclosed features, and / or combinations and subcombinations of some further features disclosed above. Furthermore, the logic flow depicted in the accompanying figures and / or described herein does not necessarily require the particular order shown, or sequential order, to achieve desirable results. Other embodiments may be within the scope of the following claims.
Claims
1. 1. An automated method for genotyping multiple melting curves comprising fluorescence measurements over a range of temperatures, comprising: generating a plurality of processed melting curves by calculating the negative first derivative of each of the plurality of melting curves over the temperature range; creating a first difference matrix based on the processed melting curves by calculating, for each of the processed melting curves, a sum of absolute differences between a given processed melting curve and each of the other processed melting curves over the temperature range; creating a second difference matrix based on the first difference matrix by summing each row vector over the temperature range for each column of the first difference matrix; creating an initial cluster matrix based on the second difference matrix, each row of the initial cluster matrix identifying an initial cluster in a set of initial clusters; filtering the initial cluster matrix into a filtered initial cluster matrix comprising a set of filtered initial clusters, wherein each of the processed melting curves is assigned to a single filtered initial cluster; calculating the number of peaks and the average melting temperature of each peak in each filtered initial cluster of said filtered initial cluster matrix; Combining the filtered initial clusters that have the same number of peaks and average melting temperatures within a specified temperature threshold to create a final cluster matrix; identifying a genotype for each of the plurality of melting curves based on the final cluster matrix; and The method includes:
2. The method of claim 1 , wherein the initial cluster matrix is created by performing a k-means method.
3. Each row of the initial cluster matrix is a first column identifying a first processed melting curve; a second column identifying a second processed melt curve that is a minimum non-zero distance from the first processed melt curve in the first column, the minimum non-zero distance being determined based on the second difference matrix; and a subsequent column identifying additional processed melt curves within a cluster that includes the first processed melt curve of the first column, the cluster being identified based on a distance between the centroid of the cluster and the first processed melt curve; The method of claim 2 , comprising:
4. The method of claim 2 , wherein the k-means algorithm is performed based on an input initial number of clusters.
5. The method of claim 1 , wherein filtering the initial cluster matrix comprises removing duplicate rows from the initial cluster matrix.
6. The method of claim 5 , wherein filtering the initial cluster matrix further comprises combining intersecting clusters that contain common processed melting curves.
7. Combining intersecting clusters is (a) in a first pass, identifying initial clusters within said set of initial clusters that include a common processed melting curve; (b) combining each of the clusters identified in step (a); and (c) in a second pass, identifying remaining clusters that contain common processed melting curves and merging the remaining clusters; (d) removing said initial clusters that contain common processed melting curves such that none of said processed melting curves are present in more than one filtered initial cluster; The method of claim 6, comprising:
8. 6. The method of claim 5, wherein filtering the initial cluster matrix further comprises identifying clusters that contain overlapping processed melting curves and removing said overlaps.
9. Filtering the initial cluster matrix comprises: (i) identifying a negative cluster based on a comparison of a maximum signal of the cluster to a cluster threshold; (ii) merging the negative clusters identified in step (i); The method of claim 5 further comprising:
10. Identifying negative clusters is (aa) determining the ratio of the maximum fluorescence value in a given cluster to the maximum fluorescence in the cluster having the highest fluorescence; (bb) comparing the ratio determined in step (aa) to a cluster threshold; 10. The method of claim 9, comprising:
11. The method of claim 10 , wherein the cluster threshold is 0.
1.
12. Filtering the initial cluster matrix comprises: (iii) identifying clusters that contain peaks that are smaller than the peaks of each of the other clusters; (iv) comparing the processed melting curves within the clusters identified in step (iii) to the cluster threshold; (v) setting the processed melt curves that are smaller than the cluster threshold as negative processed melt curves and removing the negative processed melt curves from the cluster; The method of claim 9 further comprising:
13. The method of claim 1 , wherein the specified temperature threshold is 1° C.
14. determining a quality metric associated with each of the identified genotypes according to the formula: [0010] 2. The method of claim 1 , wherein "grp_curves" comprises a group of melting curves within a given cluster.
15. determining a quality metric associated with each processed melting curve in the cluster according to the following formula: [0025] 2. The method of claim 1 , wherein "f" represents a given processed melting curve.
16. The method of claim 1 , wherein the initial cluster matrix is created by performing at least one of hierarchical clustering, fuzzy C-means clustering, mean-shift clustering, density-based spatial clustering, and a Gaussian mixture model.
