Machine learning enables pulse and base calling for sequencing devices
Through the deep learning model to process the optical emission data during the incident of nucleic acid incidents, the problem of automatic identification of the automatic nucleotide of the nucleotide in the existing technology has been solved, and the sequencing process of high accuracy and automation is achieved.
Patent Information
- Application Number
- CN201980022928.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-01-26
- Filing Date
- 2019-01-25
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2039-01-25
AI Technical Summary
The prior art is difficult to automatically and accurately identify nucleotides in nucleic acids, especially in complex data on nucleotide incorporation events, requiring human intervention for feature engineering.
Using deep learning models, especially the neural network models that are fitted by the Connection Nervousing Network (CNN) and the sequence classification (CTC), combined with computer hardware processors and non -temporary computer readable storage medium, processing Light transmission data to automatically identify nucleotide in nucleic acids.
The automatic identification of nucleotide nucleotide is realized, the accuracy and efficiency of the sequencing process are improved, and the demand for human intervention is reduced.
Smart Images

Figure CN111971748B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority under 35 U.S.C. §119 to U.S. Provisional Application No. 62 / 622,754, filed on January 26, 2018, entitled “MACHINELEARNING ENABLED PULSE AND BASE CALLING FOR SEQUENCING DEVICES,” the entire contents of which are incorporated herein by reference. Background Art
[0003] The present disclosure relates generally to automated pulse and base calling methods for biological sequencing, and more particularly to machine learning enabled pulse and base calling for sequencing devices.
[0004] The sequencing of nucleic acids (e.g., deoxyribonucleic acid (DNA), ribonucleic acid (RNA)) involves identifying individual nucleotides in a target nucleic acid. Some nucleic acid sequencing methods involve identifying individual nucleotides as they are incorporated into a nucleic acid strand that is complementary to the target nucleic acid. The series of nucleotides of the complementary strand identified during the sequencing process can then allow the nucleotide sequence of the target nucleic acid strand to be identified. Summary of the invention
[0005] According to one aspect, a method for identifying a nucleotide of a nucleic acid is provided. The method includes: using at least one computer hardware processor to perform the following operations: accessing data obtained from light emission of a luminescent tag associated with a nucleotide detected during a nucleotide incorporation event of the nucleic acid; and providing the data as input to a trained deep learning model to obtain an output identifying the nucleotide of the nucleic acid.
[0006] According to one embodiment, the deep learning model includes a convolutional neural network. According to one embodiment, the deep learning model includes a connectionist temporal classification (CTC) fitted neural network model.
[0007] According to one embodiment, the output for identifying a nucleotide of the nucleic acid includes a corresponding time series value for each of a plurality of nucleotides indicating a probability of the nucleotide being incorporated into the nucleic acid. According to one embodiment, the output for identifying a nucleotide of the nucleic acid includes a probability for each of a plurality of nucleotides indicating a probability of the nucleotide being incorporated into the nucleic acid; and the method further includes identifying a first nucleotide of a plurality of nucleotides in the nucleic acid when the probability of the first nucleotide being incorporated into the nucleic acid exceeds a threshold probability.
[0008] According to one embodiment, providing the data as input to a trained deep learning model includes: organizing the data into a plurality of time periods; and providing the data for each of the plurality of time periods as input to the trained deep learning model to obtain a corresponding output indicating at least one nucleotide of the nucleic acid. According to one embodiment, for each of a plurality of nucleotides, the output corresponding to the respective time period provided as input to the trained deep learning model indicates a value indicating a probability of the nucleotide being incorporated into the nucleic acid during the time period.
[0009] According to one embodiment, providing the data as input to the trained deep learning model includes: identifying multiple portions of the data, each portion corresponding to a respective one of the nucleotide incorporation events; and providing each of the multiple portions of the data as input to the trained deep learning model to obtain an output corresponding to the portion of the data.
[0010] According to one embodiment, the method also includes: accessing training data obtained from detected light emissions from luminescent tags associated with nucleotides during nucleotide incorporation events in multiple nucleic acids; and training a deep learning model using the training data and information specifying at least some of the nucleotides in the multiple nucleic acids to obtain the trained deep learning model.
[0011] According to one embodiment, the light emission is in response to a series of light pulses and, for each of at least some of the light pulses, the data comprises a respective number of photons detected in each of a plurality of intervals of a time period following the light pulse.
[0012] According to another aspect, a system for identifying nucleotides of a nucleic acid. The system includes: at least one computer hardware processor; and at least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform the following operations: access data obtained from light emission detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid; and provide the data as input to a trained deep learning model to obtain an output identifying the nucleotide of the nucleic acid.
[0013] According to another aspect, at least one non-transitory computer-readable storage medium stores instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform the following operations: access data obtained from light emission detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid; and provide the data as input to a trained deep learning model to obtain an output identifying a nucleotide of the nucleic acid.
[0014] According to another aspect, a method for training a deep learning model to identify nucleotides of nucleic acids includes: using at least one computer hardware processor to perform the following operations: accessing data obtained from light emissions detected from luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids; and training the deep learning model using the data and information specifying at least some of the nucleotides in the plurality of nucleic acids.
[0015] According to one embodiment, training the deep learning model using the data and information specifying at least some of the nucleotides of the multiple nucleic acids includes: providing at least a portion of the data as input to the deep learning model to obtain an output for identifying the nucleotides of at least one of the multiple nucleic acids; and training the deep learning model based on the difference between the nucleotides of at least one nucleic acid identified by the output and the nucleotides of at least one nucleic acid specified by the information.
[0016] According to one embodiment, the method further includes: retraining the deep learning model to obtain an updated deep learning model; and propagating the update of the deep learning model to one or more sequencing devices.
[0017] According to one embodiment, the deep learning model comprises a convolutional neural network. According to one embodiment, the deep learning model comprises a connectionist temporal classification (CTC)-fitted neural network model.
[0018] According to one embodiment, the information specifying at least some of the nucleotides in the multiple nucleic acids includes the nucleotide sequence of at least one of the multiple nucleic acids, and the data includes data corresponding to nucleotide incorporation events of the at least one nucleic acid, and training the deep learning model includes: reversing the nucleotide sequence of the at least one nucleic acid; and training the deep learning model using the data corresponding to the incorporation events of the at least one nucleic acid and the inverted nucleotide sequence of the at least one nucleic acid.
[0019] According to one embodiment, the method further comprises: accessing data obtained from light emission detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid; and providing the data as input to the trained deep learning model to obtain an output identifying the nucleotide of the nucleic acid.
[0020] According to one embodiment, the method further comprises retraining the deep learning model using data obtained from light emission detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid and an output identifying the nucleotide of the nucleic acid.
[0021] According to one embodiment, accessing the data comprises obtaining data collected by a plurality of photodetectors. According to one embodiment, the light emission is in response to a series of light pulses, and for each of at least some of the light pulses, the data comprises a corresponding number of photons detected in each of a plurality of intervals of a time period following the light pulse.
[0022] According to another aspect, a system for training a deep learning model to identify nucleotides of nucleic acids is provided. The system includes: at least one computer hardware processor; and at least one non-transitory computer-readable storage medium, wherein the at least one non-transitory computer-readable storage medium stores instructions, wherein the instructions, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform the following operations: access data obtained from light emission of luminescent tags associated with nucleotides detected during nucleotide incorporation events of a plurality of nucleic acids; and train the deep learning model using the data and information specifying at least some of the nucleotides in the plurality of nucleic acids.
[0023] According to another aspect, at least one non-transitory computer-readable storage medium is provided. The at least one non-transitory computer-readable storage medium stores instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform the following operations: access data obtained from light emission detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid; and provide the data as input to a trained deep learning model to obtain an output identifying a nucleotide of the nucleic acid.
[0024] According to another aspect, a method for identifying nucleotides of a nucleic acid is provided, the method comprising: using at least one hardware processor to perform the following operations: accessing data obtained from detected light emissions of a luminescent tag associated with the nucleotide, the light emissions being responsive to a series of light pulses, the data including, for each of at least some of the light pulses, a corresponding number of photons detected in each of a plurality of intervals in a time period following the light pulse; and providing the data as input to a trained machine learning model to obtain an output identifying the nucleotides of the nucleic acid.
[0025] According to one embodiment, the data includes data indicating a respective number of photons in each of a first time interval and a second time interval within a first time period after a first light pulse in the series of light pulses. According to one embodiment, the data also includes a respective number of photons in each of a first time interval and a second time interval within a second time period after a second light pulse in the series of light pulses.
[0026] According to one embodiment, providing the data as input to a trained machine learning model includes arranging the data into a data structure having columns, wherein a first column holds a number of photons in each of a first time interval and a second time interval within a first time period after a first light pulse in the series of light pulses, and a second column holds a number of photons in each of a first time interval and a second time interval within a second time period after a second light pulse in the series of light pulses. According to one embodiment, providing the data as input to a trained machine learning model includes arranging the data into an image, wherein each pixel of the image specifies a number of photons detected in an interval of a time period after at least one of the pulses. According to one embodiment, providing the data as input to a trained machine learning model includes arranging the data into a data structure having rows, wherein each of the rows holds a number of photons in a respective interval corresponding to at least some of the light pulses.
[0027] According to one embodiment, providing the data as input to a trained machine learning model includes: identifying multiple portions of the data, each portion corresponding to a corresponding nucleotide of the nucleic acid; and providing each of the multiple portions of the data as input to the trained machine learning model to obtain an output corresponding to the portion of the data. According to one embodiment, identifying that a portion of the data corresponds to a corresponding nucleotide of the nucleic acid includes: comparing the number of photons in a first interval of a plurality of intervals in the portion of the data to the number of photons in at least one of a plurality of intervals in the portion of the data separated from the first interval.
[0028] According to one embodiment, the machine learning model comprises a deep learning model. According to one embodiment, the deep learning model comprises a convolutional neural network. According to one embodiment, the machine learning model comprises a connectionist temporal classification (CTC)-fitted neural network model.
[0029] According to one embodiment, the method further includes: accessing training data obtained from light emissions detected from luminescent tags associated with nucleotides during nucleotide incorporation events in a plurality of nucleic acids; and training a machine learning model using the training data and information specifying at least some of the nucleotides in the plurality of nucleic acids to obtain the trained machine learning model.
[0030] According to another aspect, a system for identifying nucleotides of a nucleic acid is provided, the system comprising: at least one computer hardware processor; and at least one non-transitory computer-readable storage medium storing instructions which, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform the following operations: access data obtained from detected light emissions of a luminescent tag associated with the nucleotide, the light emissions being responsive to a series of light pulses, the data including, for each of at least some of the light pulses, a corresponding number of photons detected in each of a plurality of intervals in a time period following the light pulse; and provide the data as input to a trained machine learning model to obtain an output identifying the nucleotides of the nucleic acid.
[0031] According to another aspect, at least one non-transitory computer-readable storage medium is provided, storing instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform the following operations: access data obtained from detected light emissions of a luminescent tag associated with a nucleotide, the light emissions being responsive to a series of light pulses, the data including, for each of at least some of the light pulses, a corresponding number of photons detected in each of a plurality of intervals in a time period following the light pulse; and provide the data as input to a trained machine learning model to obtain an output identifying the nucleotides of the nucleic acid.
[0032] According to another aspect, a method includes: obtaining, with a processing device, raw data detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event; and applying a machine learning technique to automatically identify one or more individual nucleotides based on the raw data.
[0033] According to another aspect, a method includes: obtaining raw data detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event from one or more sequencing devices; and processing the raw data using a computing device to perform a comparison of base calls generated by a learning-enabled automatic base call module of the one or more sequencing devices and actual values associated with the raw data, wherein the base calls identify one or more individual nucleotides based on the raw data; based on the comparison, forming an update of the learning-enabled automatic base call module using at least some of the obtained raw data; and making the update available to the one or more sequencing devices. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Various aspects and embodiments of the present application will be described with reference to the following figures. It should be understood that the figures are not necessarily drawn to scale. Items appearing in multiple figures are indicated by the same reference numerals in all figures in which they appear.
[0035] Figure 1 is a schematic diagram of an exemplary ecosystem in which a sequencing device that enables base calling using learning may be employed according to some embodiments of the technology described herein.
[0036] Figure 2 is a high-level flow chart illustrating some embodiments of the techniques described herein. Figure 1 An exemplary process for implementing a virtuous cycle within an exemplary ecosystem.
[0037] Figure 3 is a schematic diagram of an exemplary sequencing system according to some embodiments of the technology described herein, which can be used in conjunction with method embodiments of implementing a machine learning enabled base caller.
[0038] Figure 4 According to some embodiments of the technology described herein, Figure 3 A more detailed schematic of an exemplary sequencing system is shown.
[0039] Figure 5A and Figure 5B is a cross-sectional view of an integrated device illustrating in further detail an exemplary sequencing machine according to some embodiments of the technology described herein.
[0040] Figure 6 is a graph of the probability of photon emission following excitation, and in some embodiments the number of photons in a time bin detected by a photodetector distributed over time, according to some embodiments of the techniques described herein.
[0041] Figure 7 is a graph of light intensity detected by a photodetector over time during sequencing of nucleic acids according to some embodiments of the technology described herein.
[0042] Figure 8 is a graph of intensity versus time binning, a temporal parameter of nucleotide incorporation events showing clusters of points for different nucleotides, according to some embodiments of the technology described herein.
[0043] Fig. 9 is a diagram illustrating some embodiments of the technology described herein. Figure 8 A diagram of the cluster boundaries and centroid locations shown.
[0044] Fig.10 is a graph of an intensity versus time parameter showing the distances of points corresponding to nucleotide incorporation events relative to the centroid positions of different nucleotides according to some embodiments of the technology described herein.
[0045] Fig.11 is a flow chart of a method of implementing a learning-enabled base caller according to an embodiment of the techniques described herein.
[0046] Fig.12 According to some embodiments of the technology described herein, Fig.11 Example data traces of the input to the method.
[0047] Fig.13 According to some embodiments of the technology described herein, Fig.12 A two-dimensional scatter plot of the pulse data in .
[0048] Fig.14 is a diagram illustrating layers of an exemplary convolutional neural network configured to analyze an image, according to some embodiments of the techniques described herein.
[0049] Fig.15 is a flow chart illustrating a method for implementing a learning-enabled base caller in accordance with some embodiments of the techniques described herein.
[0050] FIG. 16A to FIG. 16D Four different example normalized 2D matrix representations of pulse trajectory data for each of the four base types are shown, respectively, according to some embodiments of the techniques described herein.
[0051] FIG. 17A to FIG. 17D Shown are series of normalized time bin 1 and time bin 2 photon counts for each of the base signatures, according to some embodiments of the techniques described herein.
[0052] Fig.18 is a flow chart illustrating a method for implementing a learning-enabled base caller in accordance with some embodiments of the techniques described herein.
[0053] Fig.19 is a diagram illustrating some embodiments of the technology described herein. Fig.18 Graph of examples of raw trajectories of photon counts for time bin 1 and time bin 2 using the method.
[0054] FIG. 20A to FIG. 20C is a diagram illustrating some embodiments of the technology described herein by Fig.19 A graph of running base count probabilities generated by inputting the raw trajectory data of into a convolutional neural network applied to windows of different sizes.
[0055] Fig.21 Shown are a spectrogram and a normalized magnitude plot of the spectrogram according to some embodiments of the techniques described herein.
[0056] Fig. 22 is a flow chart illustrating a method for implementing a learning-enabled base caller in accordance with some embodiments of the techniques described herein.
[0057] Fig.23 A pair of single photon avalanche diode (SPAD) input data segments with associated base labels are shown in accordance with some embodiments of the techniques described herein.
[0058] Fig.24 Shown is a pair of simulated input data segments with associated base labels in accordance with some embodiments of the techniques described herein.
[0059] Fig.25 is a 400 frame segment of a real data trace compared to a simulated data trace according to some embodiments of the techniques described herein.
[0060] Fig.26 is the fitted distribution of background-subtracted temporal binning ratios obtained from real data according to some embodiments of the techniques described herein.
[0061] Fig. 27 is a fitted distribution of base intensities as a proportion above a baseline obtained from real data according to some embodiments of the technology described herein.
[0062] Fig.28 According to some embodiments of the technology described herein Fig.26 and Fig. 27 The crossover of the distribution.
[0063] Fig.29 is an exemplary graph of system noise over a 400 frame segment according to some embodiments of the techniques described herein.
[0064] Fig.30is an exemplary graph of simulated temporal binning ratios over a 400 frame trajectory length according to some embodiments of the techniques described herein.
[0065] Fig.31 According to some embodiments of the technology described herein, Fig.29 and Fig.30 The graph in is an exemplary graph that separates system noise into bin 1 and bin 2 components.
[0066] Fig.32 is an exemplary graph of clean base incorporation signals randomly placed on a 400 frame trace according to some embodiments of the technology described herein.
[0067] Fig.33 According to some embodiments of the technology described herein, Fig.32 The random clean signal trace is added to Fig.31 An example plot of simulated traces generated from a baseline noise plot of .
[0068] Fig.34 is an exemplary graph of a simulated trajectory in which artifacts are applied to exaggerated levels in accordance with some embodiments of the techniques described herein.
[0069] Fig.35 is a graph showing an example of raw traces depicting time bin 1 and time bin 2 photon counts for a fused pulse according to some embodiments of the techniques described herein.
[0070] Fig.36 According to some embodiments of the technology described herein, Fig. 22 The CTC-based model is directly based on Fig.35 The probability distribution of the bases determined by the data.
[0071] Fig.37 is a block diagram illustrating a computing device that may be used in implementing some embodiments of the techniques described herein.
[0072] Fig.38A Shown are exemplary data that may be obtained from nucleotide incorporation events of a nucleic acid according to some embodiments of the technology described herein.
[0073] Fig.38B According to some embodiments of the technology described herein, Fig.38A An example data structure for data.
[0074] Fig.39A is an exemplary process for training a deep learning model to identify nucleotides of a nucleic acid according to some embodiments of the technology described herein.
[0075] Fig.39B is an exemplary process for identifying nucleotides of a nucleic acid using a trained deep learning model according to some embodiments of the technology described herein.
[0076] Fig.40 is the structure of an exemplary convolutional neural network (CNN) for identifying nucleotides of a nucleic acid according to some embodiments of the technology described herein.
[0077] Fig.41 is a block diagram of an exemplary ligation temporal classification (CTC)-fitting model for identifying nucleotides of a nucleic acid according to some embodiments of the technology described herein. DETAILED DESCRIPTION
[0078] Embodiments described herein generally relate to sequencing of nucleic acids (such as DNA and RNA), and particularly to techniques for automatically identifying nucleotides based on data obtained from sensors. Nucleic acid sequencing allows the order and position of nucleotides in a target nucleic acid to be determined. Some nucleic acid sequencing methods are based on sequencing by synthesis, wherein the consistency of nucleotides is determined when nucleotides are incorporated into a newly synthesized nucleic acid chain complementary to the target nucleic acid. During sequencing, a polymerase (e.g., a DNA polymerase) may be coupled (e.g., attached) to the priming position of a target nucleic acid molecule, and nucleotides are added or incorporated into a primer via the action of a polymerase, which is commonly referred to as a primer extension reaction.
[0079] The inventors have developed novel techniques for identifying nucleotides of nucleic acids (e.g., DNA and / or RNA) using machine learning models. Traditional techniques for identifying nucleotides of nucleic acids using machine learning models may require human (e.g., domain experts) involvement in identifying "useful information" features to extract from data collected about nucleotide incorporation into nucleic acids. The inventors recognized that it is difficult to identify a set of features that a machine learning model uses to reliably identify nucleotides of nucleic acids because doing so involves what is commonly referred to as "feature engineering," i.e., repeated trial and error of candidate feature sets. Ultimately, this "feature engineering" may fail to determine the best features for identifying nucleotides, resulting in suboptimal identification performance.
[0080] The inventors have developed machine learning techniques for identifying nucleotides of nucleic acids that do not require manually determining individual features for identifying nucleotides. Instead, in some embodiments, deep learning techniques are used to automatically learn which information in the collected data is useful for the nucleotide identification task by following the steps of: training a deep learning model to process sensor data directly (or with slight preprocessing); and using the trained deep learning model to identify nucleotides based on the detected light emission of a luminescent tag during a nucleotide incorporation event.
[0081] Accordingly, some embodiments provide a method for identifying nucleotides (e.g., adenosine, thymine, guanine, and / or cytosine) of a nucleic acid. The method includes: (1) accessing data obtained from light emission (e.g., in response to a light pulse) detected from a luminescent tag associated with the nucleotide during a nucleotide incorporation event of the nucleic acid; and (2) providing the data as input to a trained deep learning model (e.g., a recurrent neural network, a convolutional neural network, and / or a neural network model for connectionist temporal classification fitting) to obtain an output for identifying the nucleotide of the nucleic acid.
[0082] In some embodiments, the output for identifying a nucleotide of a nucleic acid includes a corresponding time series value for each of a plurality of nucleotides, the value indicating a probability of the nucleotide being incorporated into the nucleic acid. In some embodiments, the output for identifying a nucleotide of a nucleic acid includes a probability for each of a plurality of nucleotides, which is a probability of the nucleotide being incorporated into the nucleic acid; and the method further includes identifying the first nucleotide when the probability of the first nucleotide of the plurality of nucleotides of the nucleic acid being incorporated into the nucleic acid exceeds a threshold probability.
[0083] In some embodiments, the computer hardware processor can provide the data as input to the trained deep learning model by the following steps: grouping the data into time periods; and providing the data for each time period as input to the trained deep learning model to obtain a corresponding output for indicating at least one nucleotide of the nucleic acid. In some embodiments, for each of a plurality of nucleotides, the output corresponding to the data for each time period provided as input to the trained deep learning model indicates the probability of the nucleotide being incorporated into the nucleic acid during the time period.
[0084] In some embodiments, providing the data as input to the trained deep learning model includes: identifying multiple portions of the data, each portion corresponding to a respective one of a plurality of nucleotide incorporation events; and providing each of the multiple portions of the data as input to the trained deep learning model to obtain a corresponding output corresponding to the portion of the data. In some embodiments, the output corresponding to the portion of the data identifies a nucleotide that is incorporated into the nucleic acid.
[0085] In some embodiments, a method for identifying nucleotides (e.g., adenosine, thymine, guanine, and / or cytosine) of a nucleic acid is provided. The method includes using at least one hardware processor to perform the following operations: accessing data obtained from light emission detected from a luminescent tag associated with the nucleotide (e.g., adenosine, thymine, guanine, and / or cytosine), the light emission being in response to a series of light pulses, and for each of at least some of the light pulses, the data includes the corresponding number of photons detected in each of a plurality of intervals in a time period after the light pulse; and providing the data as input to a trained machine learning model (e.g., a convolutional neural network and / or a neural network model of connection temporal classification fitting) to obtain an output for identifying the nucleotides of the nucleic acid.
[0086] In some embodiments, the data includes data indicating a corresponding number of photons in each of a first time interval and a second time interval in a first time period after a first light pulse in the series of light pulses. In some embodiments, the data further includes a corresponding number of photons in each of a first time interval and a second time interval in a second time period after a second light pulse in the series of light pulses. In some embodiments, providing the data as input to the trained machine learning model includes arranging the data into a data structure (e.g., a matrix) having columns, wherein: a first column holds a number of photons in each of a first time interval and a second time interval in a first time period after a first light pulse in the series of light pulses, and a second column holds a number of photons in each of a first time interval and a second time interval in a second time period after a second light pulse in the series of light pulses. In some embodiments, providing the data as input to the trained machine learning model includes arranging the data into a data structure (e.g., a matrix) having rows, wherein each of the rows holds a number of photons in a respective interval corresponding to at least some of the light pulses. In some embodiments, providing the data as input to the trained machine learning model includes arranging the data into an image, wherein each pixel of the image specifies a number of photons detected in an interval of a time period after at least some of the pulses.
[0087] In some embodiments, providing the data as input to a trained machine learning model includes: identifying multiple portions of the data, each portion corresponding to a corresponding nucleotide of the nucleic acid; and providing each of the multiple portions of the data as input to the trained machine learning model to obtain an output corresponding to the portion of the data. In some embodiments, identifying the portion of the data as corresponding to a corresponding nucleotide of the nucleic acid includes: comparing the number of photons in a first interval of a plurality of intervals in the portion of the data and the number of photons in at least one of a plurality of intervals separated from the first interval in the portion of the data.
[0088] In some embodiments, a method for training a deep learning model (e.g., a convolutional neural network and / or a neural network connected temporal classification fit) to identify nucleotides (e.g., adenosine, thymine, guanine, and / or cytosine) of a nucleic acid is provided. The method includes: using a computer hardware processor to perform: accessing data obtained from light emissions of luminescent tags associated with nucleotides detected during nucleotide incorporation events of a plurality of nucleic acids; and training a deep learning model using the data and information specifying at least some of the nucleotides in the plurality of nucleic acids.
[0089] In some embodiments, training a deep learning model using data and information specifying at least some nucleotides in a plurality of nucleic acids includes: providing at least a portion of the data as input to the deep learning model to obtain an output for identifying at least one nucleotide of a plurality of nucleic acids; and training the deep learning model based on the differences between the nucleotides of at least one nucleic acid identified by the output and the nucleotides of at least one nucleic acid specified by the information.
[0090] In some embodiments, the method further comprises: retraining the deep learning model to obtain an updated deep learning model; and propagating the update of the deep learning model to one or more sequencing devices. In some embodiments, the information specifying at least some of the nucleotides in the plurality of nucleic acids comprises a nucleotide sequence of at least one of the plurality of nucleic acids, and the data comprises data corresponding to nucleotide incorporation events of the at least one nucleic acid, and training the deep learning model comprises: reversing the nucleotide sequence of the at least one nucleic acid; and training the deep learning model using the data corresponding to the incorporation events of the at least one nucleic acid and the reversed nucleotide sequence of the at least one nucleic acid.
[0091] The technology described herein integrates a deep learning model into a sequencing device to improve the sequencing of nucleic acids (e.g., DNA and / or RNA). This technology trains a deep learning model to identify features (e.g., light emission of a detected luminescent tag) from sequencing data obtained by incorporating nucleotides into nucleic acids (e.g., by a photodetector). The trained deep learning model can then be integrated into a sequencing device and used to identify nucleotides of nucleic acids during nucleic acid synthesis. The integration of a trained deep learning model improves the accuracy of nucleotides that identify nucleic acids, and thus improves the reliability and accuracy of sequencing nucleic acids by a sequencing device.
[0092] Each nucleotide can be associated with a luminescent molecule (e.g., a fluorophore) that emits light in response to excitation, and the luminescent molecule is used to label the various types of nucleotides to distinguish between different types of nucleotides. For example, a set of four tags can be used to label the nucleobases present in DNA, such that each tag of the set is associated with a different nucleobase, for example, a first tag is associated with adenine (A), a second tag is associated with cytosine (C), a third tag is associated with guanine (G), and a fourth tag is associated with thymine (T). Tags can be coupled to nucleotides by binding the tags to the nucleotides directly or indirectly via a linker molecule.
[0093] As the primer extension reaction occurs, the nucleotides and their respective luminescent labels are retained by the polymerase during the incorporation of the nucleotides into the synthetic complementary nucleic acid. The luminescent label can be excited by a light pulse during the period when the nucleotides are incorporated into the synthetic nucleic acid, and the light characteristics of the emission label. In certain embodiments, the label is directly or indirectly attached to the terminal phosphate of the nucleotide through a connecting molecule, so that the label is separated from or released (for example, phosphate bond rupture) from the nucleotide via the action of the polymerase during the incorporation of the nucleotide. The light emitted by the sensing and analysis luminescent label in response to the excitation can allow the identification of the incorporated nucleotides. As the primer extension reaction occurs, excitation, sensing and analysis are performed for each nucleotide subsequently added to the synthetic nucleic acid. The sequence of the target nucleic acid can be determined according to the complementary sequence of the synthetic nucleic acid.
[0094] The light emitted by the luminescent label may have several characteristics that can be used to distinguish the label from other labels, thereby identifying nucleotides. The characteristic includes intensity (e.g., probability of emitting light), time characteristics (e.g., decay rate of photon emission probability after excitation, incorporation of pulse duration and / or incorporation before and / or after pulse duration), spectral characteristics (e.g., wavelength of emitted light) or any combination thereof. The light emitted by the luminescent label can be detected by a photodetector, and the photodetector can detect one or more such characteristics. An example of a suitable photodetector is described in U.S. Patent Application No. 14 / 821,656, filed on August 7, 2015 and incorporated by reference in its entirety. As described in the U.S. Patent Application, a photodetector may have the ability to detect the arrival time of photons, which allows the time characteristics of the light emitted by the label to be determined. Detecting the time characteristics of the emitted light can then allow the labels of light emitting different time characteristics to be distinguished. An example of a time characteristic is the luminescence lifetime. A luminescent molecule (such as a fluorophore) can emit a photon in response to excitation. After excitation occurs, the probability of the luminescent molecule emitting a photon decreases over time. The decay rate of the probability can be exponential. "Lifetime" is a characteristic of the speed at which the probability decays over time. Fast decay is considered to have a short lifespan, while slow decay is considered to have a long lifespan. Detecting the temporal characteristics of the light emitted by the luminescent molecule can allow luminescent molecules with different lifespans to be distinguished. Labeling different nucleotides with luminescent molecules with different lifespans can allow the nucleotides to be distinguished based on the temporal characteristics of the detected light.
[0095] The photodetector described in the aforementioned U.S. Patent Application No. 14 / 821,656 can detect the arrival time of photons with nanosecond or picosecond resolution, and can time bin the arrival of incident photons. Since the emission of photons is probabilistic, a tag can be excited multiple times and any resulting photon emission can be time binned. Performing this measurement multiple times allows a histogram of the time of arrival of photons after the excitation event to be filled in. This information can be analyzed to calculate the temporal characteristics of the emitted light, which in turn can allow the tag to be distinguished from another tag based on the temporal characteristics.
[0096] Embodiments of the systems, devices, and methods described herein provide an ecosystem of a sequencer that can analyze data from a photodetector to sequence nucleic acids based on the characteristics of the detected light. In some embodiments, the technology can be implemented to analyze the data stream from the photodetector, which can allow the nucleic acids to be sequenced in real time while the photodetector collects data. In some embodiments, the technology can be implemented to analyze the data from the photodetector at a later time point after acquisition. For example, the technology can be implemented by a learning-enabled "pulse determiner" and / or a learning-enabled "base determiner", which can be a software and / or hardware module of a sequencer or other device. Additional details about pulse and base determination are described in further detail hereinafter. However, in general, the "pulse determiner" analyzes the raw sensor data to identify the time period when the luminescent pulse from the label appears, which indicates that the dye-conjugated nucleotide is incorporated into the oligonucleotide chain by the polymerase. The "base determiner" analyzes the characteristics of the light detected during the time period identified by the pulse determiner to determine or "determine (call)" the identity of the nucleotide. As more data is acquired by a deployed sequencing instrument during use, one or more data processing techniques may be employed in order to analyze the performance of the learning-enabled pulse / base callers and, accordingly, update or replace the architecture with an improved version thereof (which may also be subject to continued analysis and retraining). Known techniques for analyzing data may involve using models based on first principles calculations of the expected physics and chemistry of the system. In contrast, the machine learning techniques of some embodiments of the technology described herein may allow updates in the model based on observed system behavior, including observed system behavior derived from acquired data, which may be different from the assumptions used to generate the static model.
[0097] The techniques described herein may allow analysis of data involving identification of bases directly from raw intensity traces, which may eliminate or reduce the need to include a pulse calling step.
[0098] First reference Figure 1 , Figure 1A schematic diagram of an exemplary ecosystem 100 is depicted, in which a sequencing device using base determination enabled by learning can be employed. More details about an example learning architecture that can be used by a sequencing device are described in further detail hereinafter. In any case, a sequencing instrument / device ("sequencer") 102 can be deployed at one or more locations, and depending on the location and physical resource conditions, the sequencing device can be connected to a network 104 by wire or wireless means. The sequencing data obtained from the sequencing device 102 can be uploaded and stored in one or more databases 106 via one or more networks 104 in real time or at a time point after acquisition. In some embodiments, the sequencing data can be uploaded as the original time intensity trajectory of each time bin. For example, the data may include a time intensity trajectory of a first bin of a photodetector (having the number of photons detected by the first bin over time) and a time intensity trajectory of a second bin of a photodetector (having the number of photons detected by the second bin over time). In some embodiments, the original time intensity trajectory can be calculated by a function for reducing the size of the data. This function can extract features from the temporal intensity track so that the extracted features identify the content information of the temporal intensity track and are included in the obtained representation. The representation can have a format that allows subsequent implementation of base calling software. This technique can be applied before uploading data, and reducing the data size can improve the upload process.
[0099] The sequencing data may be accessed by one or more workstations 108 for analysis, annotation, and training to improve, for example, the accuracy of one or more learning-enabled base calling methods utilized by the sequencing device 102. Advantageously, periodic updates of the base calling algorithm may be made available to the sequencing device 102, for example, by downloading via one or more networks 104. It should be understood that other computing devices (e.g., a single computing device, multiple computing devices located at the same physical location or at multiple physical locations remote from each other, one or more computing device portions of a cloud computing system, etc.) may perform some or all aspects of the base calling algorithm, as the technical aspects described herein are not limited in this respect. In these embodiments, the other computing devices may receive periodic updates of the base calling algorithm. Although Figure 1 The use of multiple workstations 108 to perform various functions such as data review 110, base call feedback 112, and AI training 114 is shown, but it should be understood that a single workstation 108 may perform one, a few, or all of these functions. Figure 1 The particular depiction in is useful for representing a virtuous cycle in the ecosystem 100 , wherein the device 102 improves performance over time as more and more data is collected, which is in turn used to train and improve the artificial intelligence used by the device 102 .
[0100] Reference Figure 2 , Figure 2A high-level flow chart is shown which describes the process for implementing Figure 1 As indicated at operation 202, raw trajectory data (e.g., the number of photons in the first time bin and the number of photons in the second time bin) and a reference sequence of expected base calls provided by a user (when such information is available) are obtained from the deployed sequencing device and transmitted to a central repository (e.g., Figure 1 Here, the user may be, for example, a customer who agrees to transmit anonymous sequencing data or a research and development technician who performs sequencing runs for any of a variety of diagnostic purposes. Figure 1 The workstation 108 in the system can view and download the raw data.
[0101] Then, as shown at operation 204, the raw data from the deployed sequencing device can be processed into a form suitable for learning. For example, this may require feature calculation (in the case of a model that requires pre-calculated features) and label assignment. In the context, "label" refers to the true value of the base determination corresponding to each photon intensity trajectory. In one embodiment, the label can be discretized into a one-to-one mapping of each base to a time pulse event derived from a previous iteration (learning enabled or otherwise) of the pulse / base determination model. Alternatively, the label can be derived by applying the pulse / base determination of the previous model and aligning the sequence with a given reference genome, so that the pulse or trajectory segment can be associated with one or more reference bases. In another method, an unsupervised method can be used, in which only the reference sequence is saved, and no attempt is made to coordinate with a specific area of the trajectory during processing, but instead a cost function based on edit distance (e.g., a neural hash function) is used during model training. It is conceivable that, for example, the raw data can be processed as a one-time task or on a schedule for newly deposited data to generate processed data.
[0102] At operation 206, the pulse / base caller currently generated and enabled for learning can be compared with the incoming data to track its performance over time. Using this comparison information, the learning algorithm can be updated as indicated at operation 208. This update can be implemented, for example, by retraining the existing architecture on the new data; or introducing a new architecture, training the new architecture on some or all of the latest available data. Model training can be queued by selecting the processed data and model architecture, thereby generating a trained model with stored weights. Retraining and supplementary training of the existing architecture on the new data can be automatically performed as data is acquired, and as indicated at operation 210, performance is tracked to determine whether and / or when a new version of the model with updated hyperparameters and / or weights should be released, and the new version of the model is uploaded to the customer sequencing device or the cloud to handle distributed analysis of customer data. Here, model evaluation can be queued by selecting the trained model and processed data, thereby generating predictions and / or benchmarks. The benchmarks may be viewed in order and / or ranked, for example, by accuracy or other metric, and a "leaderboard" may be established for the models (eg, for different instruments / dye sets, etc., using the same test set).
[0103] An auxiliary benefit of creating this system for tracking the progress of base determiners is that the system can be designed as a general framework for supporting any number of learning plans. For example, the system can be applied to any task of expecting to track model performance according to the new data that accumulates continuously. For example, the system can be used to train single nucleotide polymorphism (SNP) determiners, cancer prognosis predictors, etc. that learning enables.
[0104] It will be appreciated that as more data becomes available to train the model to learn these complex patterns, the accuracy of the pulse / base determination algorithm enabled by learning described herein should increase. As described in further detail herein, additional techniques for generating additional data may be employed. For example, a data simulator may be created to generate essentially unlimited amounts of data that mimic some easily observable macroscopic properties of actual sequencing data. Training the model on such simulated data enables some model weights to be preset before applying more in-depth training using real data. After this "pre-training", the model is exposed to a large number of examples of how to determine pulses, which is a major challenge. The model then only needs to fine-tune its ability to determine bases given some finer attributes of real data. In addition (and also as further outlined below), data amplification techniques may be applied to real data, including looking at both the forward and reverse directions of each track (thereby doubling the data) and expanding the data set to include the time translation of each signal window.
[0105] In some embodiments, the pulse / base determiner enabled by learning can be updated iteratively. In some embodiments, a student-teacher training method can be implemented to periodically retrain one or more models used by a sequencer. The model can be retrained using data and labels obtained from a previous version of the model. For example, a training data set can be used to train the model of the sequencer to obtain a first trained model. The first trained model can be referred to as a "teacher model". Then, the teacher model can be used to identify the nucleotides of the nucleic acid using trajectory data from the incorporation events of one or more nucleic acids. Then, one or more outputs of the model for identifying the nucleotides of the nucleic acid and corresponding trajectory data can be used as training data to retrain the model to obtain a second trained model. The second trained model can be referred to as a "student model" of the teacher model. The student model can identify nucleic acids more accurately than the teacher model. This process can be performed periodically to update the model of the sequencer. This can take into account the changes in the physical properties of the well of the sequencer and iteratively improve the accuracy of the sequencer.
[0106] Reference Figure 3 , which illustrates an exemplary sequencing system 300 (e.g., Figure 1 Schematic diagram of a sequencer 102 of the present invention, wherein the sequencing system 300 can be used in conjunction with the embodiments of the pulse and base determination technology enabled by automated machine learning described later. However, it should be understood that the technology described herein can be implemented in other types of sequencing systems. In general, the exemplary sequencing system 300 includes an instrument 302 configured to interface with an integrated device 304 having multiple sample slots, wherein each sample slot 306 is configured to receive a sample from a sample (not shown) placed on the surface of the integrated device 304. The sample may contain multiple samples, and in some embodiments may contain different types of samples. Multiple sample slots may have a suitable size and shape so that at least some of the sample slots receive a sample from a specimen. In some embodiments, the samples in the sample slots may be distributed in the sample slots so that some sample slots contain one sample, and other sample slots contain zero, two or more samples.
[0107] In some embodiments, the sample may contain multiple single-stranded DNA templates, and the size and shape of each sample groove on the surface of the integrated device may be configured to receive the single-stranded DNA template. The single-stranded DNA template may be distributed in the sample groove of the integrated device so that at least a portion of the sample groove of the integrated device contains the single-stranded DNA template. The sample may also contain a marker deoxyribonucleoside triphosphate (dNTP), which then enters the sample groove and may allow the nucleotide to be identified when the nucleotide is incorporated into a DNA strand complementary to the single-stranded DNA template in the sample groove. In this example, "sample" may refer to both the single-stranded DNA and the marker dNTP currently incorporated by the polymerase. In some embodiments, the sample may contain a single-stranded DNA template and then introduce the marker dNTPS into the sample groove when the nucleotide is incorporated into the complementary DNA strand in the sample groove. In this way, by controlling when the marker dNTP is introduced into the sample groove of the integrated device, the timing of incorporating nucleotides can be controlled.
[0108] Excitation energy is provided from an excitation source 308 of an instrument 302 that is separate from the pixel array of the integrated device. The excitation energy is directed, at least in part, toward one or more pixels ( Figure 1 306) to illuminate an illumination area within the sample well 306. Then, when the tag is within the illumination area, it can emit emission energy in response to being illuminated by the excitation energy. In some embodiments, one or more excitation sources 308 are part of an instrument of the system, wherein the components of the instrument 302 and the integrated device 304 are configured to direct the excitation energy toward one or more pixels.
[0109] Then, the emission energy emitted by the sample can be detected by one or more sensors 310 within the pixels of the integrated device 304. The characteristics of the detected emission energy can provide an indication for identifying a tag associated with the emission energy. The characteristics can include any suitable type of characteristics, including the arrival time of the photons detected by the sensor, the amount of photons detected by the sensor accumulated over time, and / or the distribution of photons on two or more sensors. In some embodiments, the sensor 310 may have a configuration that allows detection of one or more timing characteristics (e.g., fluorescence lifetime) associated with the emission energy of the sample. The sensor 310 can detect the photon arrival time distribution after the pulse of excitation energy propagates through the integrated device, and the arrival time distribution can provide an indication of the timing characteristics of the emission energy of the sample (e.g., a proxy for the fluorescence lifetime). In some embodiments, one or more sensors provide an indication of the probability of the emission energy emitted by the tag (e.g., fluorescence intensity). In some embodiments, the size of multiple sensors can be determined and arranged to capture the spatial distribution of emission energy. Then, the output signal from the one or more sensors can be used to distinguish the tag from the multiple tags, wherein the multiple tags can be used to identify the sample in the sample.
[0110] To further explain, Figure 4 yes Figure 3 304. Further, system 300 includes an integrated device 304 that interfaces with instrument 302. In some embodiments, instrument 302 may include one or more excitation sources 308 that are integrated as part of instrument 302. In some embodiments, excitation source 308 may be external to both instrument 302 and integrated device 304, such that instrument 302 may be configured to receive excitation energy from excitation source 308 and direct the excitation energy to integrated device 304. Integrated device 304 may interface with instrument 302 using any suitable socket for receiving integrated device 304 and maintaining precise optical alignment with excitation source 308. Excitation source 308 may also be located within the instrument and configured to provide excitation energy to integrated device 304. Similarly, Figure 4 As schematically shown in FIG. 3 , the integrated device 304 has a plurality of independent pixels, at least some of which 312 can perform independent analysis of a sample. These pixels 312 can be referred to as "passive pixels" because the pixels receive excitation energy from a source 308 separate from the pixel, wherein the source excites the plurality of pixels. The pixel 312 has a sample slot 306 configured to receive a sample, and a sensor 310 for detecting emission energy emitted by the sample in response to irradiating the sample with excitation energy provided by the excitation source 308. The sample slot 306 can hold the sample close to the surface of the integrated device 304 to facilitate the transfer of excitation energy to the sample and the detection of emission energy from the sample.
[0111] Both the integrated device 304 and the instrument 302 may include optical components for directing excitation energy from the excitation source 308 and coupling to the sample well 306 of the integrated device 304. Such source-to-well components may include, for example, one or more grating couplers located on the integrated device 304 for coupling excitation energy to the integrated device 304 and waveguides for transmitting excitation energy from the instrument 302 to the sample well 306 in the pixel 312. In some embodiments, components located on the integrated device 304 may be used to direct emission energy from the sample well 306 toward the sensor 310. The sample well 306, portions of the excitation source-to-well optics, and the sample well-to-sensor optics are located on the integrated device 304. The excitation source 308 and portions of the source-to-well components are located in the instrument 302. In some embodiments, a single component may be used to couple excitation energy to the sample well 306 and transmit emission energy from the sample well 306 to the sensor 310. Examples of suitable components for inclusion in an integrated device for coupling excitation energy to a sample reservoir and / or directing emission energy to a sensor are described in the following patent applications: (1) U.S. patent application serial number 14 / 821,688, filed on August 7, 2015, entitled “INTEGRATED DEVICE FOR PROBING, DETECTING AND ANALYZING MOLECULES”; and (2) U.S. patent application serial number 14 / 543,865, filed on November 17, 2014, entitled “INTEGRATED DEVICE WITH EXTERNAL LIGHT SOURCE FOR PROBING, DETECTING, AND ANALYZING MOLECULES”, the entire contents of both applications being incorporated herein by reference.
[0112] about Figure 4 In an embodiment of the present invention, a plurality of pixels 312 are provided, with a single pixel 312 being associated with its own individual sample slot 306 and at least one sensor 310. The plurality of pixels 312 may be arranged in an array, and any suitable number of pixels may be present in the array. The number of pixels in the integrated device 304 may be in the range of approximately 10,000 to 1,000,000 pixels or any value or range of values therein. In some embodiments, the pixels may be arranged in an array of 512 pixels by 512 pixels. The integrated device 304 and the instrument 302 may include a multi-channel, high-speed communication link (not shown) for handling data associated with large pixel arrays (e.g., greater than 10,000 pixels).
[0113] like Figure 4As further shown in FIG. 3 , the instrument 302 interfaces with the integrated device 304 through an integrated device interface 314. The integrated device interface 314 may include, for example, components for positioning the integrated device 304 and / or aligning it with the instrument 302 to facilitate or improve the coupling of the excitation energy from the excitation source 308 to the integrated device 304. The excitation source 308 may be any suitable light source for transmitting the excitation energy to at least one sample slot. Examples of suitable excitation sources are described in the aforementioned U.S. patent application with serial number 14 / 821,688. In some embodiments, the excitation source 308 includes a plurality of excitation sources that are combined to transmit the excitation energy to the integrated device 304. The plurality of excitation sources may be configured to generate a plurality of excitation energies or wavelengths. The integrated device interface 314 may receive a readout signal from the sensor 310 in the pixel 312 of the integrated device 304. The integrated device interface 314 may be designed so that the integrated device 304 is attached to the instrument 302 by fixing the integrated device 304 to the integrated device interface 314.
[0114] Still refer to Figure 4, the instrument 302 further includes a user interface 316 for controlling the operation of the instrument 302. The user interface 316 is configured to allow the user to input information into the instrument, such as commands and / or settings for controlling the operation of the instrument. In some embodiments, the user interface 316 may include buttons, switches, dials, and microphones for voice commands. In addition, the user interface 316 may allow the user to receive feedback on the performance of the instrument and / or integrated device, such as proper alignment and / or information obtained by reading signals from sensors on the integrated device. In some embodiments, the user interface 316 may provide feedback using a speaker for providing auditory feedback and an indicator light and / or display screen for providing visual feedback. In some embodiments, the instrument 302 includes a computer interface 318 for connecting to an external computing device 320. Any suitable computer interface 318 and computing device 320 may be used. For example, the computer interface 318 may be a USB interface or a FireWire interface. The computing device 320 may be any general-purpose computer, such as a laptop or a desktop computer. The computer interface 318 facilitates information communication between the instrument 302 and the computing device 320. Input information for controlling and / or configuring the instrument 302 may be provided by the computing device 320 in communication with the computer interface 318 of the instrument 302. In addition, the computing device 320 may receive output information through the computer interface 318. The output information may include, for example, feedback on the performance of the instrument 302 and / or the integrated device 312 and information of the readout signal from the sensor 310. The instrument 302 may also include a processing device 322 for analyzing data received from the sensor 310 and / or sending control signals to the excitation source 308. In some embodiments, the processing device 322 may include a general-purpose processor, a special-purpose processor (e.g., a central processing unit (CPU), such as one or more microprocessor or microcontroller cores, a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a custom integrated circuit, a digital signal processor (DSP), or a combination thereof). In some embodiments, the processing of the data from the sensor 310 may be performed by both the processing device 322 and the external computing device 320. In other embodiments, the computing device 320 may be omitted and the processing of the data from the sensor 310 may be performed entirely by the processing device 322.
[0115] Reference Figure 5A , Figure 5AA cross-sectional schematic diagram of an integrated device 304 is shown, showing a column of pixels 312. Each pixel 312 includes a sample well 306 and a corresponding sensor 310. The sensor 310 can be aligned with and positioned within the sample well 306 so that the sensor 310 can receive emission energy emitted by a sample (not shown) within the sample well 312. The aforementioned U.S. patent application Ser. No. 14 / 821,656 describes an example of a suitable sensor.
[0116] As previously described, the excitation source 308 coupled to the integrated device 304 can provide excitation energy to one or more pixels of the integrated device 304. To further illustrate, Figure 5B 304 to provide excitation energy 324 (the path of which is shown in dashed lines) to the sample slot 306 of the integrated device 304. Components (not shown) located outside the integrated device 304 can be used to position and align the excitation source 308 to the integrated device. Such components can include, for example, optical components such as lenses, mirrors, prisms, apertures, attenuators and / or optical fibers. Additional mechanical components can also be included in the instrument 302 to allow control of one or more alignment components. Such mechanical components can include, for example, actuators, stepper motors and / or knobs.
[0117] Integrated device 304 includes components for directing excitation energy 324 toward pixels 312 within integrated device 304. More specifically, within each pixel 312, the excitation energy is coupled to sample well 306 associated with that pixel. Figure 5B The excitation energy is shown coupled to each sample well 306 in a column of pixels 312, but in some embodiments, the excitation energy may not be coupled to all pixels 312 in a given column. In some embodiments, the excitation energy may be coupled to a portion of the pixels 312 or sample wells 306 in a column of pixels 312 of the integrated device 304. The excitation energy 324 may illuminate the sample located in the sample well 306. In response to being illuminated by the excitation energy, the sample may reach an excited state. When the sample is in the excited state, the sample may emit emission energy 326 (e.g., Figure 5B ), and then the emission energy 326 can be detected by the sensor 310. In some embodiments, the sensor 310 can include multiple sub-sensors.
[0118] The sample to be analyzed can be introduced into the sample slot 306 of the pixel 312. The sample can be a biological sample or any other suitable sample, such as a chemical sample. In addition, the sample can contain multiple molecules and the sample slot 306 can be configured to isolate a single molecule. In some cases, the size of the sample slot 306 can be used to confine a single molecule within the sample slot, thereby allowing measurements to be performed on a single molecule. The excitation source 308 can be configured to transmit excitation energy to the sample slot 306 so as to excite the sample or at least one luminescent tag attached to or otherwise associated with the sample when the sample is within the illumination area within the sample slot 306.
[0119] When the excitation source transmits excitation energy to the sample well, at least one sample in the well may emit light, and the resulting emission may be detected by the sensor 310. As used herein, the phrase "a sample may emit light" or "a sample may emit radiation" or "emission from a sample" means that a luminescent marker, indicia or reporter, the sample itself, or a reaction product associated with the sample may generate emitted radiation.
[0120] One or more components of the integrated device 304 may direct the transmitted energy toward the sensor 310. The transmitted energy may be detected by the sensor 310 and converted into at least one electrical signal. The electrical signal may be transmitted along a wire in the circuit system of the integrated device 304 connected to the instrument 302 through the integrated device interface 314, such as a device that has been incorporated with the sensor 310. Figure 4 Subsequently, the data may be processed by a suitable computing device (such as Figure 4 The computing device 320 and / or processing device 322) shown processes and / or analyzes the electrical signal.
[0121] In operation, parallel analysis of samples in the sample slots is performed by exciting the samples in the sample slots using an excitation source and detecting signals emitted from the samples using sensors. The emission energy from the samples can be detected by the corresponding sensors and converted into at least one electrical signal. In some embodiments, the resulting signal can be processed on an integrated device or transmitted to an instrument for processing by a processing device and / or a computing device. The signal from the sample slot can be received and processed independently of the signals associated with other pixels.
[0122] In some embodiments, samples may be labeled with one or more markers, and emissions associated with the markers may be discerned by the instrument. For example, the sensor may be configured to convert photons from the emission energy into electrons to form an electrical signal that may be used to discern lifetimes, where the lifetime depends on the emission energy from a particular marker. By labeling samples with markers having different lifetimes, a particular sample may be identified based on the resulting electrical signal detected by the sensor.
[0123] The sample may contain multiple types of molecules and different luminescent markers may be uniquely associated with one type of molecule. During or after excitation, the luminescent marker may emit emission energy. One or more properties of the emission energy may be used to identify one or more molecules in the sample. The emission energy properties used to distinguish the types of molecules may include fluorescence lifetime values, intensity, and / or emission wavelengths. The sensor may detect photons (including photons of emission energy) and provide an electrical signal indicating one or more such properties. In some embodiments, the electrical signal from the sensor may provide information about the distribution of photon arrival times in one or more time intervals. The photon arrival time distribution may correspond to the time when the photon is detected after the excitation source emits a pulse of excitation energy. The value of the time interval may correspond to the number of photons detected during the time interval. Relative values across multiple time intervals may provide an indication of the temporal characteristics of the emission energy (e.g., lifetime). Analyzing the sample may include: distinguishing the markers by comparing the values of two or more different time intervals within the distribution. In some embodiments, an indication of intensity may be provided by determining the number of photons across all time bins in the distribution.
[0124] As used herein, the term "nucleic acid" generally refers to a molecule comprising one or more nucleic acid subunits. A nucleic acid may comprise one or more subunits selected from adenosine (A), cytosine (C), guanine (G), thymine (T), and uracil (U), or variants thereof. In some examples, the nucleic acid is deoxyribonucleic acid (DNA) or ribonucleic acid (RNA), or a derivative thereof. Nucleic acids may be single-stranded or double-stranded. Nucleic acids may be circular.
[0125] As used herein, the term "nucleotide" generally refers to a nucleic acid subunit, which may comprise A, C, G, T, or U, or variants or mimetics thereof. A nucleotide may comprise any subunit that may be incorporated into a growing nucleic acid chain. The subunit may be A, C, G, T, or U, or any other subunit that is unique to one or more complementary A, C, G, T, or U, or any other subunit that is complementary to a purine (i.e., A or G, or variants or mimetics thereof) or a pyrimidine (i.e., C, T, or U, or variants or mimetics thereof).
[0126] Nucleotides generally comprise nucleosides and at least 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or more than 10 phosphate (PO3) groups. Nucleotides may comprise a nucleobase, a pentose (ribose or deoxyribose) and one or more phosphate groups. Ribonucleotides are nucleotides in which the sugar is ribose. Deoxyribonucleotides are nucleotides in which the sugar is deoxyribose. Nucleotides may be nucleoside monophosphates or nucleoside polyphosphates. Nucleotides may be deoxynucleoside polyphosphates, such as, for example, deoxynucleoside triphosphates, which may be selected from deoxyadenosine triphosphate (dATP), deoxycytidine triphosphate (dCTP), deoxyguanosine triphosphate (dGTP), deoxyuridine triphosphate (dUTP) and deoxythymidine triphosphate (dTTP), which may comprise a detectable label (e.g., a fluorophore).
[0127] With respect to the sensor 310, in response to the tag being exposed to the excitation source 308 (e.g., by a laser pulse), the photodetector may time bin the arrival of incident photons from the tag. The tag may be repeatedly excited and the arrival of incident photons from the tag may be time binned. As an example, within a 10 ms measurement period, a laser excitation pulse may be emitted at a frequency of 100 MHz to excite the tag. The tag may emit photons with a low probability (e.g., 1 photon emission per 10,000 excitations). If the tag is excited several times (e.g., one million times) within a 10 ms period, approximately 100 photons may be received. In some cases, the tag does not become excited after exposure to the excitation source and does not emit photons after the excitation event, which contributes to the low emission probability. As discussed above, the arrival time of the incident photons relative to the excitation may be time binned. Thus, the photodetector may provide a signal representing the number of photons in each time bin.
[0128] To further illustrate, Figure 6 is a graph showing an example in which a photodetector bins the arrival time of incident photons into eight time bins. Since the probability of photon emission decays over time, earlier time bins have more photons than later time bins. By repeatedly stimulating the tag and detecting the timing of emitted photons, a histogram that approximates the decay of the probability of photon emission over time can be drawn, such as Figure 6 shown.
[0129] The intensity of the light received within a measurement period (e.g., 10 ms) can be calculated via a pulse determinator by adding the values representing the number of photons received in each time bin. Figure 6As shown, if the photodetector bins the arrival of incident photons into eight time bins, the number of photons received in the eight time bins is added to determine the intensity. However, any number of time bins may be used. If the photodetector has two time bins, the values representing the number of photons received in the two time bins are added to determine the intensity. For example, if the first time bin has 100 photons and the second time bin has 50 photons, the values are added to determine the intensity of 150 photons. Alternatively, there may be a single time bin to measure the total photon intensity.
[0130] In subsequent measurement cycles in the data stream from the photodetector, a determination of the intensity of the received light may be performed. For example, if the photodetector performs measurements in 10 ms cycles, the intensity of each measurement cycle may be determined by adding the time bins in each 10 ms cycle. Thus, data representing the intensity of the light received over time may be determined.
[0131] Before discussing methods and embodiments of a learning-enabled pulse / base calling architecture, it may be useful to consider in context a non-learning-enabled automated method to identify nucleotides from raw sensor data obtained as above. Figure 7 Several minutes of example traces representing the intensity of received light as a function of time are shown. Identifying pulses corresponding to incorporation events can be challenging due to the presence of significant baselines and variances in the traces and the low signal-to-noise ratios that true pulses tend to have. Therefore, one possible method for determining nucleotides is to run a pulse-finding algorithm on the intensity-over-time data to identify the time of the emitted light burst corresponding to the incorporation event.
[0132] More specifically, one possible approach is to run a change point algorithm on the trajectory data, which is used to determine when the mean and variance of the signal shift, for example, when it changes from background (i.e., between pulses) to signal (i.e., pulses), and vice versa. After identifying each change point, a threshold separates the inter-pulse region (the region between pulses) from the pulse region based on the change point level (e.g., intensity). The threshold can be manually determined using a histogram, kernel density estimation, or k-means clustering. Another possible approach is to analyze the mean / median and variance of the trajectory, and then define a pulse as an increase in a specific number of standard deviations or above the mean / median. Yet another possible approach is to use a state machine, in which the state machine is in a pulse or inter-pulse state and is determined to alternate between the two. The threshold defines the transition between the two states. In some embodiments, additional filtering of determined pulses may occur, such as removing pulses that do not meet the minimum or maximum duration threshold (this is because very short pulses and very long pulses are often false positives). The latter two methods have the additional benefit that they can operate on the data as it is acquired, while the change point algorithm may require all the data in order to operate.
[0133] In addition to identifying pulses corresponding to nucleotide incorporation events based on the intensity of the emitted light, other characteristics of the emitted light (characteristics other than intensity or as a substitute for intensity) can also be used to identify pulses. For example, as a substitute for intensity or in addition to using intensity, pulses can be identified based on the temporal characteristics of the emitted light. Different nucleotides can be labeled with molecules that emit light with different temporal characteristics, and the temporal characteristics can be analyzed to determine when the incorporation event begins and ends. As a specific example, different luminescent labels can have different "lifetimes" or different rates (that is, the rate at which the probability of photon emission in response to excitation decays over time). The change in the measured lifespan can indicate the beginning or end of the incorporation event.
[0134] In another method, both intensity and time characteristics can be used to identify the time when an incorporation event occurs. As an example, the change of time characteristics can be used to refine the pulse identification based on intensity. First, light intensity can be obtained for each incorporation event, and as mentioned above, light intensity can be calculated by adding the time bins concentrated in each time bin. However, intensity does not need to be obtained by adding the time bins, but can be measured and / or determined in different ways. Then, the pulse search algorithm can be run to the data of intensity about time to identify the time of the emission light burst corresponding to the incorporation event. Then, the time parameter of the light emitted during the incorporation event is determined. The identified pulse can be evaluated and possibly refined based on the time parameter. For example, if a long pulse (for example, having a length greater than a threshold amount) is identified, the time parameter of the light emitted during the pulse can be evaluated. If the time parameter is significantly offset during the pulse (for example, the change is greater than the threshold amount, or the amount that can indicate different nucleotides is changed), the initial pulse can be corrected to determine to identify two separate pulses rather than a long pulse. The time when the time parameter is offset can correspond to the time boundary between two pulses. If the time parameter does not shift significantly during the pulse (eg, does not change or changes by a relatively small amount), the initial pulse determination may remain unchanged. Accordingly, the time parameter may be used to evaluate and / or refine the results of the initial intensity-based pulse determination.
[0135] In yet another method, initial pulse determination can be performed using a time parameter, and the pulse can be refined using intensity information. Regardless of which type of pulse finding algorithm is implemented, a pulse determiner identifies the time at which a pulse corresponding to an incorporation event occurs. For each pulse, the pulse determiner can identify a start time and an end time, a start time and a duration, or an end time and a duration. The times at which these pulses occur can be analyzed to identify the luminescent label and therefore the nucleotides associated therewith.
[0136] After pulse determination is performed on the data stream from the photodetector, one or more characteristics of the light of each incorporation event can then be analyzed using a base determiner algorithm. In one method, the pulse determiner can pass the time of pulse occurrence to the base determiner. Alternatively, the pulse determiner can pass additional information to the base determiner, such as information about the number of photons received in each time bin, the intensity calculated in each measurement cycle, or any other suitable information. Then, intensity can be obtained for each incorporation event, for example, such as as described above, by adding the time bins concentrated in each time bin. Alternatively, the base determiner can directly receive intensity from the pulse determiner.
[0137] The intensity can be normalized over the duration of the incorporation event identified by the pulse determiner. For example, if the incorporation event lasts twice as long as the measurement interval, the intensity can be calculated by adding the time bins of the two measurement intervals and dividing by 2. For example, if the incorporation event lasts 20 ms, the measurement period is 10 ms and the photons are grouped into two time bins, the intensity can be calculated by adding the photons collected in the two time bins of the first measurement and the photons collected in the two time bins of the second measurement and then dividing by 2. This calculation can also be viewed as calculating the average intensity over the 20 ms incorporation event.
[0138] In addition, a time parameter may be determined for each incorporation event. The time parameter may represent the decay of the probability of photon emission of the tag over time after excitation. Any suitable time parameter may be used. For example, the brightness lifetime may be calculated by fitting an exponential to the time bins (e.g., Figure 6As shown), and the brightness lifetime can be used as a time parameter. The number of photons (or values representing the number of photons) in different time bins can be compared to determine a time parameter representing the decay of the probability of photon emission over time. For example, if the arrival of the incident photons is divided into two time bins, the ratio of the number of photons in the two bins can be calculated, and the ratio can be used as the time parameter. In one sense, the ratio of the bins can be a proxy for calculating the brightness lifetime. The ratio can be calculated in any suitable way. For example, if two time bins are used, the number of photons in the time bin closest to the excitation event in time can be divided by the number of photons in the second time bin to produce the ratio. The number of photons in the time bins or the value representing the number of photons can be normalized (for example, by the added intensity within the time bin set), and the normalized value can be used to determine the time parameter. Alternatively, the time bin with the maximum number of photons can be used as the time parameter. In order to determine the time bin with the maximum number of photons, the number of photons in the time bins can be compared with each other. As an example with two time bins, the number of photons in the first time bin can be compared with the number of photons in the second time bin. The bin with the higher photon number can be selected as a time parameter and can be used to distinguish between luminescent molecules. For example, one luminescent molecule may have a relatively short lifetime, which results in a first time bin with the largest photon number (closest in time to the excitation event), and another luminescent molecule may have a relatively long lifetime, which results in another time bin with the largest photon number (farther in time from the excitation event).
[0139] To further illustrate, Figure 8 is a graph that plots the intensity and time parameters of each incorporation event (plotted as points in a two-dimensional space), with the intensity and time parameters on separate axes. In this example, the time parameter is plotted on the horizontal (x) axis and the intensity is plotted on the vertical (y) axis. Four different labels can be used for different nucleotides that can be distinguished from each other based on intensity, time parameter, or both. Figure 8 Note that plotting the measured intensity and time parameters for each incorporation event produces four clusters of points corresponding to the four nucleotides A, C, G, and T.
[0140] In one method, a clustering algorithm can be run on the points to assign the points of each incorporation event to one of four clusters. For example, a clustering algorithm can perform k-means clustering of pulses in n-dimensional space, where k is 4 (A, C, G, T), and n is the number of metrics for base determination. Alternatively, more than four clusters of points can be assigned, that is, clustering with k greater than 4 can be performed. This may be desirable when it is recognized that clustering may not be fully resolved in some cases, and it is advantageous to group the points into more than four clusters of points. In this case, more than one cluster of points can be assigned to the same nucleotide. In addition, filtering can be performed to eliminate points that are outliers. For example, if a certain point has a time parameter and / or intensity outside the expected range, it can be excluded from the clustering algorithm and / or not assigned to any nucleotide group.
[0141] Any suitable number of points may be provided to the clustering algorithm, such as greater than 50, greater than 100, greater than 500, etc. The result of the clustering algorithm is to group each point into one of four (or more) point clusters. Figure 8 In the example of , n=2, because two metrics are used (i.e., intensity and time parameters). Figure 8 A two-dimensional example with intensity and time bin ratio as time parameters is plotted in FIG. However, it should be appreciated that other metrics may be used.
[0142] Another two-dimensional example involves obtaining both a temporal parameter and a spectral parameter, where, instead of intensity, the spectral parameter is Figure 8 The vertical (y) axis of the incorporation event is plotted. In this example, spectral information about the light emitted for each incorporation event is obtained and used to distinguish nucleotides. It should also be understood that any number of metrics can be used, not limited to two. For example, in addition to obtaining intensity and time parameters, spectral information of the incorporation event is also obtained, which can be plotted as points in a three-dimensional space with intensity, time parameters, and spectral information on their respective axes.
[0143] After grouping the points, it may be beneficial to further refine the groups, perhaps with more metrics than were used in the initial grouping step. For this purpose, a support vector machine (SVM) or other supervised classifier may be used, and the cluster labels may be used as initial training data. The process may be repeated, using the results from the most recent iteration of the classifier as training for the next iteration, until it converges. Although a clustering algorithm may be used to assign points to clusters of points, points may be assigned to groups without using a clustering algorithm. The boundaries between groups of points may also be determined without running a clustering algorithm.
[0144] After clustering, the clusters of points can be assigned to nucleotides. This assignment can be performed based on known properties of the tags. For example, Figure 8In a graph of , it may be known that the label for T has high intensity and lowest lifetime, the label for A has low intensity and medium lifetime, the label for G has high intensity and medium lifetime, and the label for C has highest lifetime and high intensity. The clusters of points can be assigned to bases using their positions relative to each other. For example, the cluster with the lowest lifetime can be assigned to T, the cluster with the highest lifetime can be assigned to C, the cluster with the lowest intensity can be assigned to A, and the remaining clusters can be assigned to G. The points in each cluster can be assigned the nucleotide of its cluster. By storing information about the time of each measurement of the intensity and time characteristics, a nucleotide chain can be sequenced.
[0145] In some embodiments, the method described above may also be applied to instrument calibration. In some embodiments, after performing the initial calibration, it may not be necessary to run a clustering algorithm to assign all points to nucleotides. Instead, a calibration standard may be determined to assign points to nucleotide types. For example, the clustering centroids identified by performing a clustering algorithm (e.g., k-means) during calibration may be used to identify the nucleotides of a nucleic acid. In some embodiments, a sequencer (e.g., a sequencing device) may be calibrated by performing clustering using data associated with known nucleotides of a nucleic acid. For example, a computer system may use trajectory data associated with nucleotides of one or more known DNA or RNA sequences. The system may be configured to perform a clustering algorithm using the data to obtain a clustering centroid that can be used to identify a nucleotide. By performing a clustering algorithm using data points associated with known nucleotides, the system may obtain clustering centroids that more accurately distinguish different nucleotides. The clustering centroids obtained from the calibration may be used to identify unknown nucleotides. For example, the system may determine the distance (e.g., Euclidean distance) between a data point and each centroid determined according to the calibration, and identify the nucleotides of the data point based on the determined distance. For example, a nucleotide may be identified as being associated with a centroid close to a data point.
[0146] As an example, after clustering or assigning of nucleotides, the boundaries between different types of nucleotides can be determined. The boundaries can be defined as Fig. 9 The axis of the phase space may include the intensity, time parameters, emission wavelength and / or excitation wavelength of the excitation laser pulse. As an example, a line segment or curve in a two-dimensional space that delimits the boundaries 900 between different nucleotides may be selected, such as Fig. 9As shown. In a higher dimensional space, the boundary can be a surface or a higher dimensional object (called a "hyperplane"). Once the boundary 900 is determined, the points can be assigned to nucleotides by evaluating the position of the points relative to the boundary without performing clustering. Therefore, in some embodiments, the sequencing instrument can be calibrated to delineate the boundary 900. The calibration process can be performed using the same set of labels as during the sequencing of nucleic acids. As another example of performing calibration, the centroid of the cluster of points can be determined, which allows the points to be assigned to nucleotides based on which centroid of the cluster of points is closest to each point. Regardless of the type of calibration standard determined, the calibration standard is then stored (e.g., in the memory of the instrument) for subsequent use.
[0147] In some embodiments, calibration of the sequencer may be performed for each groove. The computer system may be configured to perform a clustering algorithm (e.g., k-means) for the groove using data obtained from the nucleotide incorporation in each groove. This may provide a model fine-tuned according to each groove of the sequencer to the sequencer. In some embodiments, calibration of the sequencer may be performed for multiple grooves. The system may be configured to perform a clustering algorithm using data obtained from the incorporation of nucleotides in multiple grooves of the sequencer. In some embodiments, the system may be configured to obtain a universal model that can be used for multiple grooves. In some embodiments, the system may be configured to refine the universal model of each groove. For example, the system may modify the clustering centroid of the universal model of the groove based on the data obtained from the nucleotide incorporation in each groove. A single model for calibrating multiple grooves may have the advantage of requiring less data from each groove, and therefore may require less running time to collect data for calibration compared to training a separate model for each groove. Another advantage of using a universal model is that less memory may be required to store a single model compared to the memory required for storing the independent models of each groove of the sequencer.
[0148] Calibration can be performed at any suitable time. For example, it may be desirable to calibrate before the first use of the instrument, when a new set of labels is used, when the environmental conditions of the instrument use change, or when the instrument components are aged after a period of use. Calibration can also be performed in response to a request from a user (such as by pressing a button on the instrument or sending a calibration command to the instrument from another device), or automatically based on a schedule, or on demand in response to the instrument software determining that performance is suboptimal. Once a calibration standard is obtained, sequencing can be performed more quickly by evaluating the detection points against the calibration standard.
[0149] More specifically, the base determiner can use an algorithm to identify nucleotides based on one or more calibration standards. Similar to the base determination described above, the parameters of light (e.g., intensity and time parameters) are determined so that the nucleotides can be identified by evaluating the measured parameters of light (e.g., intensity and time parameters) using the stored calibration information. For example, if the stored calibration information contains one or more boundaries between nucleotide clusters, the points can be assigned to the nucleotides by comparing the points with the boundaries, which is more computationally efficient than performing clustering. As another example, the points can be assigned to the nucleotides by the following steps: the distance between the point and each of the four centroids of the nucleotide clusters is calculated, and then the point is assigned to the nucleotide with the closest centroid. Fig.10 This technique is illustrated where points 1000 representing measured intensity and time parameters are shown. Fig.10 Also shown in FIG. 1 are the centroids of the labels corresponding to the four nucleotides. To determine which centroid is closest, the distance from point 1000 to each of the four centroids can be calculated, and the nucleotides can be assigned based on which centroid is at the shortest distance from point 1000. Fig.10 As shown in the example of , point 1000 is closest to the centroid of the label corresponding to nucleotide "A". Therefore, it is determined that point 1000 corresponds to nucleotide "A".
[0150] Identifying nucleotides in this manner may include performing clustering on a first portion of spots associated with incorporation events and performing base calling on a second portion of spots using a calibration standard.The first portion may include any suitable number of spots to provide a desired level of accuracy in the calibration standard.
[0151] In addition, the confidence level that a point corresponds to a particular type of nucleotide can be determined. As an example, the centroid of the point and the region (such as Fig. 9 The confidence level of a point can be determined by the distance of the distance between the point and the centroid (shown in Figure 1). The point with a small distance from the centroid can have a high confidence level, which indicates that the point is likely to be correctly identified as corresponding to a nucleotide, and the point with a larger distance from the centroid or a point that is almost not close to the centroid compared with another centroid is unlikely to be correctly identified. In this example, the confidence level can be quantified based on the distance between the point and the centroid or based on the distance between the point and the centroid and the distance between the point and one or more other centroids. As another example, if the calibration standard comprises one or more boundaries between the clusters, the confidence level can be quantified by determining the distance between the point and the one or more boundaries. The point closer to the boundary can be given a lower confidence level. In certain embodiments, except storing the nucleotide identification itself, the confidence level of each nucleotide identification can also be stored.
[0152] The confidence level may also depend on the calibration standard and the degree to which the calibration standard fits the calibration data. The more accurately the calibration standard fits the calibration data, the higher the confidence level may be for different points. Specifically, the confidence level may depend on the duration of the incorporation event associated with the point, because the confidence level may depend on the signal-to-noise ratio of the pulse identified by the pulse determiner. As an example, a long duration may indicate that the pulse determiner cannot identify two subsequent incorporation events, such as incorporation events of the same nucleotide type. In some embodiments, the base determiner may communicate with the pulse determiner to request the pulse determiner to re-evaluate the duration of the incorporation event.
[0153] In some cases, the previously derived boundaries (e.g., SVM models) can be applied to new pulse determinations to determine the appropriate nucleotides incorporated in each pulse determination event. First, the pulse determination metric is scaled, and then the previously derived boundaries can be applied to classify the incorporation event. In order to derive the generalized boundaries across the pulse determination data from multiple pixels, it may be necessary to scale (or normalize) each pulse determination data set from each pixel in the array before it is included in the calibration data set. By scaling the intensity metric, by only clustering the intensity and using one or more of these clusters as the mean or median of the intensity, the intensity metric of all incoming pulse determinations can be normalized. This scaling or normalization is applied during the calibration phase and the base determination phase using the stored calibration data. Such a benefit is that there is no need to generate boundaries for each pixel in the array (this is a performance improvement), and it can be enlarged to a very large array, where all data cannot be fitted to RAM at one time usually. A further benefit is to reduce the running time, because a smaller number of pulses need to be separated by intensity and scaled or normalized to the calibration data set. This approach also allows fewer pulses to be stored and grouped before scaling or normalization factors are established, thus allowing base calls to be output in near real time as data is acquired from the pixel array.
[0154] Thus far, various examples of pulse and base calling techniques based on non-learning enabled algorithms have been described, and additional information about these examples can be found in the following application: co-pending U.S. patent application entitled "PULSE CALLER AND BASE CALLER" and serial number 15 / 611,573, filed on June 1, 2017, the entire contents of which are incorporated herein by reference. It is now further understood that the process can benefit from and can be improved by various machine learning and / or deep learning techniques.
[0155] Thus, embodiments of a learning-enabled base caller are also disclosed herein, wherein, among other things, a model is trained using previous runs to perform base calls in future runs. This in turn enables improved performance of the deployed device over time, since the device so deployed benefits from the data generated each time it is used. Furthermore, the embodiments described herein improve base call accuracy, which also makes standard bioinformatics applications better.
[0156] Reference Fig.11 , which shows a flow chart of a method 1100 for implementing a learning-enabled base caller according to an embodiment. Fig.11 As shown, method 1100 begins at operation 1102, where raw intensity trajectory data is acquired from a sensor. Then, using the raw intensity trajectory data, pulses are identified as areas of the total intensity trajectory that are above a background noise level, as shown in operation 1104. This initial pulse determination operation can be performed in a manner similar to the techniques described above, and as shown, for example, Fig.12 The trajectory is shown. Fig.12 Two such regions are indicated at 1202 and 1204 in FIG, but it will be appreciated that this is not necessarily a complete annotation of all pulse regions present therein.
[0157] The pulse data can then be used to calculate or determine properties of the pulse data to enable base calling. As described above, one method of processing the pulse data in an unsupervised algorithmic manner is to calculate intensity and lifetime values and plot the resulting points in a two-dimensional scatter plot (e.g., Fig.13 ), and divides the graph into four clusters to assign bases. However, in this embodiment, other attributes besides strength and life span may also be used. Fig.11 At operation 1106, method 1100 determines several attributes of the identified pulse (e.g., intensity, lifespan, distance to each of the 4 centroids in the clustering results, signal-to-background ratio, and z-normalized intensity and lifespan). In addition, instead of algorithmically clustering these attribute data, method 1100 then proceeds to operation 1108 to associate reference bases (which have been aligned with the inventory base calls) with each pulse. Then, as shown at operation 1110, a trained machine learning algorithm is used to predict the base based on the determined attributes (features). It will be appreciated that the results achieved by the trained machine learning algorithm depend on the correctness of the reference base alignment. Advantageously, as the algorithm is trained on more data, base calls should become better.
[0158] Such as combining Fig.11A noteworthy property of the described feature-based machine learning trained base caller is that it depends on knowing which features to extract from each pulse. Even where the most important features are known (e.g., intensity and lifetime), there are multiple ways to calculate or quantitatively determine the features (e.g., minimum, maximum, average, etc. within a pulse length). Other aspects of the pulse trajectory can be summarized in a way that may help the machine learning training algorithm, but it is conceivable that this summary is only a "guess work" as to which information will actually be helpful to the algorithm. Accordingly, it may be advantageous to simply introduce the raw pulse trajectory values and let the algorithm determine how best to extract the relevant features.
[0159] This approach can be implemented, for example, using convolutional neural networks. For example, in the field of image identification (e.g., automatic face tagging on Facebook or obstacle detection for Tesla Autopilot), several filters with a defined pixel height and width are scanned on the image, and calculations are performed to summarize the contents of each window. The use of these convolutional filters allows features to be calculated using proximal areas of the picture. A common application is panel identification, which shows how deep neural networks can perform their own feature extraction. When training the network to distinguish objects, the original image is provided. A common example of this is distinguishing between cats and dogs. The convolutional neural network runs its filter on each individual image, and from this it can infer features common to cats that distinguish them from dogs (e.g., eye shape, whiskers, etc.), although humans will generally not be able to understand the intermediate network representation. Although these methods are discussed in conjunction with image analysis, it should be understood that these techniques can be applied to other types of data, including data represented as an array of values corresponding to the values of the pulse trajectory generated by the photodetector. In such an embodiment, a convolutional neural network can be trained using sequencing data and features can be extracted from the sequencing data for identifying individual nucleotides, and the trained convolutional neural network can apply the extracted features to identify nucleotides in sequencing data, such as sequencing data acquired later.
[0160] Fig.38A An example of data 3800 that can be obtained from the light emission of a luminescent tag associated with a nucleotide incorporation event of a nucleic acid according to some embodiments of the technology described herein is shown. Figure 3 The sensor 310 of the sequencing system 300 obtains data 3800 .
[0161] Data 3800 indicates the number of photons detected in each of a plurality of time intervals following a light pulse. The number of photons may also be referred to herein as a "photon count." Fig.38AIn the example shown, data 3800 includes the number of photons detected during a time interval after three light pulses (e.g., by sensor 310 of sequencing system 300). Time intervals may be referred to herein as "bins" or "time bins." Fig.38A In the example shown, data 3800 includes: (1) the number of photons detected in the first time interval 3802A, the second time interval 3802B, and the third time interval 3802C of the time period 3802 after the first pulse; (2) the number of photons detected in the first time interval 3804A, the second time interval 3804B, and the third time interval 3804C of the time period 3804 after the second pulse; (3) the number of photons detected in the first time interval 3806A, the second time interval 3806B, and the third time interval 3806C of the time period 3806 after the third pulse.
[0162] In some embodiments, each of the time intervals within the time period following the light pulse may have equal or substantially equal durations. In some embodiments, the time intervals within the time period following the light pulse may have varying durations. In some embodiments, the data may include the number of photons detected within a fixed number of time intervals following each light pulse. Although the data includes three time intervals within each time period following the light pulse, the data may be attributed to any suitable number of time intervals, as aspects of the technology described herein are not limited in this respect. Furthermore, although the data may include three time intervals within each time period following the light pulse, the data may be attributed to any suitable number of time intervals, as aspects of the technology described herein are not limited in this respect. Fig.38A The example of 3800 shows data for three time periods after three light pulses, but data 3800 may include data collected during any suitable number of time periods after light pulses, as aspects of the technology described herein are not limited in this respect. Fig.38A The example of shows that the intervals of time periods are disjoint, but in some embodiments the intervals may overlap.
[0163] Fig.38B 1 shows a schematic diagram of some embodiments of the techniques described herein. Fig.38A An example arrangement of data 3800 of can be provided as input to a machine learning model. For example, data structure 3810 can be generated as input to a deep learning model (e.g., a neural network) to obtain an output for identifying nucleotides of a nucleic acid.
[0164] like Fig.38BAs shown, the number of photons from data 3800 can be arranged into a data structure 3810 containing a plurality of series of values. In some embodiments, data structure 3810 can be a two-dimensional data structure for encoding a matrix (e.g., an array, a linked list, etc.). Each of the series of values can form a column or a row of the matrix. It can be appreciated that data structure 3810 can be viewed as storing the values of an image, where each "pixel" of the image corresponds to a corresponding time interval within a specific time period after a corresponding light pulse, and the value of the pixel indicates the number of photons detected during the time interval.
[0165] exist Fig.38B In the example shown, data structure 3810 includes multiple series of data in columns. Each column may also be referred to as a "frame" in this article. Data structure 3810 includes: (1) a first frame, which specifies the number of photons N detected in time intervals 3802A-3802C of time period 3802 after the first light pulse 11 、N 12 、N 13 (2) A second frame, which specifies the number of photons N detected in the time interval 3804A to 3804C of the time period 3804 after the second light pulse 21 、N 22 、N 23 and (3) a third frame, which specifies the number of photons N detected in the time interval 3806A to 3806C of the time period 3806 after the third light pulse. 31 、N 32 、N 33 .although Fig.38B The illustrated example shows three frames, but data structure 3810 may hold data from any suitable number of frames, as aspects of the techniques described herein are not limited in this respect.
[0166] exist Fig.38B In the example shown, data structure 3810 includes multiple series of data in rows. Each row specifies the number of photons detected in a particular bin of each light pulse. Data structure 3810 includes a first series of values, which includes: (1) the number of photons (N) in a first interval 3802A in a time period 3802 after a first light pulse; 11 ); (2) the number of photons in the first interval 3804A in the time period 3804 after the second light pulse (N 21 ); and (3) the number of photons in the first interval 3806A in the time period 3806 after the third light pulse (N 31 ). Data structure 3810 includes a second series of values, the second series of values including: (1) the number of photons (N) in a second interval 3802B in time period 3802 after the first light pulse; 12); (2) the number of photons in the second interval 3804B in the time period 3804 after the second light pulse (N 22 ); and (3) the number of photons in the second interval 3806B in the time period 3806 after the third light pulse (N 32 ). Data structure 3810 includes a third series of values, the third series of values including: (1) the number of photons (N) in a third interval 3802C in time period 3802 after the first light pulse; 13 ); (2) the number of photons in the third interval 3804C in the time period 3804 after the second light pulse (N 23 ); and (3) the number of photons in the third interval 3806C in the time period 3806 after the third light pulse (N 33 ).
[0167] Fig.39A An example process 3900 for training a deep learning model to identify nucleotides of a nucleic acid according to some embodiments of the technology described herein is shown. Process 3900 can be performed by any suitable computer system. For example, the process 3900 can be performed by the above reference Figure 1 The workstation 108 performs process 3900. Process 3900 can be performed to train the deep learning model described herein. For example, process 3900 can be performed to train the following reference Fig.40 As another example, process 3900 may be performed to train the following reference Fig.41 The neural network model 4100 of the connection temporal classification (CTC) fitting.
[0168] In some embodiments, the deep learning model may be a neural network. For example, the deep learning model may be a convolutional neural network (CNN) that generates an output for identifying nucleotides of a data set provided as input to the CNN. In some embodiments, portions of the neural network may be trained separately. For example, the deep learning model may have a first portion that encodes input data with the value of one or more features. The deep learning model may include a second portion that receives the value of a feature as input to generate an output for identifying one or more nucleotides of a nucleic acid.
[0169] Process 3900 begins at block 3902, where a system for performing process 3900 accesses training data obtained from light emission from a luminescent tag during a nucleotide incorporation event into a nucleic acid. In some embodiments, data may be collected by one or more sensors (e.g., photodetectors) during the incorporation of nucleotides into nucleic acids by one or more sequencers. In some embodiments, the light emission may be in response to a series of light pulses. The data may include the number of photons detected in a plurality of time intervals of a time period following each light pulse. In some embodiments, the system may be configured to arrange the data into one or more data structures, such as those described above with reference to FIG. Fig.38B The data structure 3810 described.
[0170] Then, process 3900 proceeds to box 3904, where the system trains a deep learning model using the following data: (1) the data accessed at box 3902; and (2) information specifying one or more nucleotides of a nucleic acid. Example deep learning models are discussed herein. In some embodiments, the information specifying one or more nucleotides of a nucleic acid may include a predetermined nucleotide sequence for each nucleic acid. In some embodiments, the system may be configured to train the deep learning model by the following steps: (1) providing the data accessed at box 3902 as input to the deep learning model to obtain an output for identifying the nucleotides of the nucleic acid; and (2) training the deep learning model based on the difference between the nucleotides identified by the output and the predetermined nucleotides of the nucleic acid. For example, the system may be configured to update one or more parameters of the deep learning model based on the determined difference.
[0171] In some embodiments, the system may be configured to train a deep learning model based on the indicated training data using supervised learning. For example, the information specifying one or more nucleic acids may be a label for the data obtained at box 3902. In some embodiments, a portion of the data obtained at box 3902 may be provided as an input to the deep learning model, and the output of the deep learning model corresponding to the data portion is compared with the label of the data portion. Subsequently, one or more parameters of the deep learning model may be updated based on the difference between the output of the deep learning model and the label of the data portion provided as input to the deep learning model. The difference may provide a measure of the appropriateness of the deep learning model to perform the reproduction label when configured with the current parameter set. For example, the parameters of the deep learning model may be updated using stochastic gradient descent and / or any other iterative optimization technique suitable for training a neural network.
[0172] After training the deep learning model at block 3904, process 3900 proceeds to block 3906, where the system stores the trained deep learning model. The system can store values of one or more trained parameters of the deep learning model. For example, the deep learning model can include one or more neural networks. The system can store values of trained weights of the neural network. The system can be configured to store the trained deep learning model for identifying nucleotides of a nucleic acid.
[0173] In some embodiments, the system can be configured to obtain new data to retrain the deep learning model. For example, the system can receive new training data (e.g., nucleic acid sequences and associated data), which the system can use to update the parameters of the neural network. In some embodiments, the system can be configured to retrain the deep learning model using one or more outputs generated by a trained deep learning model. For example, the outputs generated by the model and the corresponding input data can be used as training data. In some embodiments, the system can be configured to use the data and the outputs of the nucleotides identifying the nucleic acid (e.g., from performing the following reference Fig.39B The process 3910 described obtains) iteratively updates the trained deep learning model. For example, the system can be configured to provide input data to a first trained deep learning model (e.g., a teacher model) and obtain an output that identifies one or more nucleotides of one or more nucleic acids. The system can then retrain the deep learning model using the input data and the output to obtain a second trained deep learning model (e.g., a student model).
[0174] In some embodiments, the system may be configured to train a separate deep learning model for each slot of a sequencer (e.g., sequencer 304). The deep learning model for the slot may be trained using data obtained from the corresponding slot. The deep learning model may be tuned for the characteristics of the slot. In some embodiments, the system may be configured to train a general deep learning model that will be used to identify nucleic acids in multiple slots of a sequencer. The general deep learning model may be trained using data aggregated from multiple slots.
[0175] Fig.39B An example process 3910 is shown for identifying nucleotides of a nucleic acid using a trained deep learning model obtained from process 3900 according to some embodiments of the technology described herein. Process 3910 can be performed by any suitable computer system. For example, the process 3910 can be performed by the computer system described above with reference to Figure 1 The workstation 108 described herein performs process 3910. Process 3910 may be performed using one or more trained deep learning models described herein. For example, the following reference Fig.40The convolutional neural network (CNN) 4000 performs process 3910. As another example, the following reference Fig.41 The CTC fitted neural network model 4100 executes process 3900.
[0176] Process 3910 begins at box 3912, where the system accesses data obtained from light emission from a luminescent tag during a nucleotide incorporation event into a nucleic acid. In some embodiments, the data may be obtained from data collected by one or more sensors (e.g., photodetectors) during the incorporation of nucleotides into nucleic acids by a sequencer. In some embodiments, the light emission may be in response to a series of light pulses. The data may include the number of photons detected in multiple time intervals of a time period following each light pulse. For example, the data may be the data described above with reference to Fig.38A The data 3800 described above. In some embodiments, the system can be configured to arrange the data into the above reference Fig.38B The data structure 3810 described.
[0177] Next, process 3900 proceeds to box 3912, where the system provides the data accessed at box 3906 as input to the trained deep learning model. In some embodiments, the system may be configured to divide the data into multiple time periods and provide the data of each time period as a series of inputs to the trained deep learning model to obtain the corresponding output of each input. For example, the system may provide each portion of the data as input to CNN 4000, and obtain an output of nucleotides for identifying that portion of the data. In some embodiments, the system may be configured to provide data as input without dividing it into time periods, and obtain an output of nucleotides for identifying nucleic acids. For example, the system may provide the data obtained at box 3912 as input to the neural network model 4100 of CTC fitting, and obtain an output of a nucleotide sequence for identifying nucleic acids.
[0178] Then, process 3900 proceeds to frame 3916, and at frame 3916, the system obtains the output for the nucleotide of the identification nucleic acid. In some embodiments, the system may be configured to obtain the output of each of the multiple time periods. The output may indicate the nucleotides mixed into the nucleic acid during the time period. For example, the output may be a value for indicating the probability of various nucleotides mixed into the nucleic acid during the time period. In some embodiments, the system may be configured to obtain a single output for the nucleotide of the identification nucleic acid. For example, the system may receive a sequence of letters for the nucleotide of the identification nucleic acid. As another example, the system may receive a series probability of each nucleotide. The system may be configured to use these probabilities to identify the nucleotide of the nucleic acid.
[0179] After obtaining an output for identifying nucleotides of a nucleic acid from the trained deep learning model at box 3910, process 3900 returns to box 3912, where the system begins executing process 3910 again to identify nucleotides of another nucleic acid.
[0180] To further explain, Fig.14 1 is a schematic diagram showing the layers of an exemplary convolutional neural network 1400 for analyzing an image 1402. As shown in the figure, the convolutional neural network includes an input layer 1404 for receiving the image 1402, an output layer 1406 for providing an output, and a plurality of hidden layers 1408 connected between the input layer 1404 and the output layer 1406. The plurality of hidden layers 1408 include convolutional layers and pooling layers 1410 and dense layers 1412.
[0181] The input layer 1404 may receive an input to the convolutional neural network 1400, which may be an image 1402. The image 1402 may have a matrix of values, such as a 2xN matrix of photon counts from two bins. In addition, the input layer 1404 may be followed by one or more convolutional layers and pooling layers 1410. The convolutional layer may include a set of filters that are spatially smaller than the input to the convolutional layer (e.g., image 1402) (e.g., having a smaller width and / or height). Each filter may be convolved with the input of the convolutional layer to generate an activation map (e.g., a 2-dimensional activation map) indicating the response of the filter at each spatial location. The convolutional layer may be followed by a pooling layer, which downsamples the output of the convolutional layer to reduce the size.
[0182] The convolutional and pooling layers 1410 may be followed by a dense layer 1412. The dense layer 1412 may include one or more layers, each layer having one or more neurons that receive input from a previous layer (e.g., a convolutional layer or a pooling layer) and provide output to a subsequent layer (e.g., an output layer 1406). The dense layer 1412 may be described as "dense" because each neuron in a given layer may receive input from each neuron in a previous layer and provide output to each neuron in a subsequent layer. The dense layer 1412 may be followed by an output layer 1406, which provides the output of the convolutional neural network. The output may be, for example, an indication of which category (e.g., a nucleotide type) of a set of categories (e.g., different nucleotides) the image 1402 (or any portion of the image 1402) belongs to. In the context of nucleic acid sequencing, the category may correspond to a particular type of nucleotide (e.g., A, G, T, C).
[0183] It should be understood that Fig.14 The convolutional neural network 1400 shown is only one example implementation, and other implementations may be used. For example, Fig.14The convolutional neural network shown in the figure adds or removes one or more layers. Other example layers that can be added to the convolutional neural network include: linear rectification (ReLU) layers, padding layers, connection layers, and upsampling (upscale) layers. The upsampling layer can be configured to upsample the input of the layer. The ReLU layer can be configured to apply a rectifier (sometimes called a ramp function) to the input as a transfer function. The padding layer can be configured to change the size of the input of the layer by padding one or more dimensions of the input. The connection layer can be configured to combine multiple inputs (e.g., combining inputs from multiple layers) into a single output.
[0184] Regarding base determination, Fig.15 1 is a flow chart illustrating a method 1500 for implementing a learning-enabled base caller according to another embodiment. Instead of determining and / or calculating specific attributes of the pulse trajectory data, the data is analyzed and processed in a similar manner to images and fed into a convolutional neural network (e.g., a neural network) that uses four categories of lower dimensional data (A, T, C, G) (i.e., photon counts in a first time bin and a second time bin within a time length). Fig.14 The network 1400 in FIG. Fig.15 As shown, method 1500 begins at operation 1502, where raw intensity trajectory data is acquired from a sensor. Using the raw intensity trajectory data, pulses can then be identified as areas of the overall intensity trajectory that are above a background noise level, as shown in operation 1504. It should be noted that operations 1502 and 1504 can be respectively Fig.11 The operations 1102 and 1104 are similar. In addition, the initial pulse determination operation can be performed in a similar manner to the above-described techniques, and is, for example, Fig.12 The trajectory shown.
[0185] In operation 1506, the pulse trajectory data is normalized to generate a normalized 2D matrix representation of the input signal for application to a convolutional neural network (e.g., Fig.14 1400 in the network 1400) to perform base calls as shown in operation 1508. With respect to normalization of the input signal, it is contemplated that several methods may be used to convert the raw trajectory to a normalized range. For example, normalization may be performed linearly between 0 and 1, between -1 and 1 by counting the number of standard deviations from the mean of all measurements in the trajectory (z-score), or any combination of these strategies (e.g., by first converting via z-score and then scaling to a range of -1 to 1). To further illustrate, Figures 16A to 16D is an example of four types of low-dimensional data (A, T, C, G respectively), each using the first photon count and the second photon count within a time length (time bin 1, time bin 2). More specifically, Fig.16AFour examples of normalized 2D matrix representations of pulse trajectory data (similar to images) characteristics of base signal A are shown; Fig. 16B Four examples of normalized 2D matrix representations of pulse trajectory data characteristics of base signal T are shown; Fig. 16C Four examples of normalized 2D matrix representations of pulse trajectory data characteristics of base signal C are shown; and Fig.16D Four examples of normalized 2D matrix representations of pulse trajectory data characteristics of base signal G are shown. The 2D matrix representation of pulse trajectory data can be viewed as a stack of vectors, where each vector corresponds to a different time bin of a photodetector and the value of the vector corresponds to the photon count over time. Applying a convolution filter of a neural network to the 2D matrix representation may include passing one or more convolution filters along the time dimension (such as for each time bin) and / or across different vectors (such as for values of different time bins corresponding to the same time). In embodiments involving normalized 2D matrix representations, normalization may include scaling the vector based on the minimum and / or maximum values in the vector, which may take into account different parameters used when obtaining sequencing data (e.g., laser powers used across different sequencing runs) so that the resulting normalized data is within a range of values.
[0186] Reference Figures 17A to 17D , which shows a series of normalized time bin 1 and time bin 2 photon counts for each base signal, where Fig.17A shows the normalized photon count distribution of base signal A; Fig. 17B shows the normalized photon count distribution of the base signal T; Fig. 17C shows the normalized photon count distribution of the base signal C; and Fig.17D The normalized photon count distribution of the base signal G is shown. Fig.17A , Fig. 17B , Fig. 17C and Fig.17D A summary of the photon counts of all trajectories for each of the different nucleotides is shown, and it is derived from the Figures 16A to 16D Data derivation of the data shown. It will be noted that the distributions of normalized time bin 1 and time bin 2 photon counts reflect distinguishable base signals. Although there is overlap between bins in these distributions calculated across multiple apertures, it will be noted that Figures 17A to 17D The values of the individual pulse traces of are generally well spaced, with the values moving up and down consistently in absolute photon counts. Therefore, the pulse traces may be a signal that can be learned by a convolutional neural network, especially if the trend is fairly easy to observe with the human eye (which in turn is a good indicator that the DL algorithm will perform properly).
[0187] about Fig.11In the learning-enabled base calling embodiment of , the convolutional neural network "image" approach may have a higher performance ceiling and will benefit more from a large amount of raw data. That is, more data may be needed to train the convolutional model because the algorithm must not only learn how to predict labels, but also learn representations of the features themselves. In feature-based models, the trainer can feed the model features that are known to be beneficial, so only the labels need to be learned, thus using less data. On the other hand, given enough data, convolution-based DL models are able to learn "better" features than what a human trainer can pre-compute.
[0188] In summary, a deep learning base calling algorithm with a convolutional neural network can be used to perform a task somewhat similar to face identification techniques to identify bases in a two-photon temporal bin space. This approach can be applied to raw pulse data by preprocessing the trajectory to extract pulse events and feeding static snapshots of each pulse cropped from the trajectory to an "image processing" neural network.
[0189] To this point, each of the automated pulse and base calling methods described above, including those employing deep learning techniques and convolutional neural networks, have incorporated some form of pulse calling or pulse identification from the raw sensor data prior to base calling. Therefore, further methods described herein provide embodiments for performing pulse and base calling in one step. For example, this can allow a neural network to learn how to call pulses based on information about what a pulse from each base (A, C, T, G) "looks like". This approach can further help eliminate any false flashes that exceed a given intensity threshold but are not characteristic of a base.
[0190] Reference Fig.18 , which shows a flow chart of a method 1800 for implementing a base caller enabled by learning according to another embodiment. Typically, a base call convolutional neural network is directly applied to a longer trajectory. Similar to the previous embodiment, method 1800 begins at operation 1802, in which raw intensity trajectory data is acquired from a sensor. Because the neural network expects a specific "image" shape as input (e.g., the network is trained to identify bases in a specific number of frame blocks), the method proceeds to operation 1804 to first segment the intensity trajectory data into a selected time frame width. In one embodiment, the data can be divided into 50 frame blocks, but it should be understood that a greater or lesser number of frame blocks can be used. Then, within a given frame width, method 1800 applies a convolutional neural network at operation 1806 to convert the data into the running probability of the entire time domain of the base event of each base type.
[0191] Fig.40An example structure of a convolutional neural network (CNN) 4000 is shown according to some embodiments of the technology described herein, where the CNN 4000 is used to identify nucleotides of a nucleic acid. In some embodiments, the above reference Fig.39A The process 3900 described above is used to train the CNN 4000. In some embodiments, the trained CNN 4000 obtained from the process 3900 can be used to perform the above reference Fig.39B The process 3910 described above. In some embodiments, the Fig.18 A convolutional neural network 4000 is used in the described process 1800.
[0192] exist Fig.40 In an example embodiment of CNN 4000, input 4002A is received. In some embodiments, input 4002A may be a set of frames for specifying the number of photons in a time interval for a time period after a light pulse. In some embodiments, input 4002A may be arranged into a data structure, such as the one described above with reference to Fig.38B The data structure 3810. Fig.40 In the example embodiment of , input 4002A contains 50 data frames at two time intervals forming a 2x50 input matrix.
[0193] In some embodiments, CNN 4000 includes one or more convolutional layers 4002, in which input 4002A is convolved with one or more filters. Fig.40 In the example embodiment of , input 4002A is convolved with a first series of 16 2x3 filters in a first convolutional layer. The convolution with 16 filters produces a 16x48 output 4002B. In some embodiments, CNN 4000 may include a pooling layer after the first convolutional layer. For example, CNN 4000 may perform pooling by taking the maximum value in the output window of the first convolutional layer to obtain output 4002B.
[0194] exist Fig.40 In an example embodiment, the output 4002B of the first convolutional layer is then convolved with one or more filters of the second group in the second convolutional layer. The output 4002B is convolved with one or more 1x6 filter groups to obtain output 4002C. In some embodiments, the CNN 4000 may include a pooling layer (e.g., a max pooling layer) after the second convolutional layer.
[0195] exist Fig.40In an example embodiment of , CNN 4000 includes a flattening step 4004 in which the output of convolution 4002 is flattened to generate a flattened output 4006A. In some embodiments, CNN 4000 may be configured to flatten output 4002C by converting the 8x43 output matrix into a one-dimensional vector. Fig.40 In the example embodiment of , the 8x43 output 4002C is converted into a 1x344 vector 4006A. Vector 4006A can be input into a fully connected layer to generate scores for each possible classification. Fig.40 In an example embodiment of , possible classifications are the nucleotides adenosine (A), cytosine (C), guanine (G) and thymine (T), and blank (-). Then, a softmax operation 4006 is performed on the output of the fully connected layer to obtain an output 4010. In some embodiments, the softmax operation 4006 can convert the scores of each classification into respective probabilities. Then, an argmax operation 4008 is performed on the output 4010 to obtain the classification. The argmax operation 4008 can select the classification with the highest probability in the output 4010. For example, the output can identify the nucleotides (e.g., A, C, G, or T) incorporated during the time period represented by the input 4002A. As another example, the output can identify that no nucleotides were incorporated into the nucleic acid during the time period by outputting a blank classification (-).
[0196] To further illustrate, Fig.19 is a graph showing the raw traces of time bin 1 and time bin 2 photon counts (e.g., as obtained from operation 1802). Then, using this data, FIG. 20A to FIG. 20C is a graph showing running base count probabilities generated by inputting raw trajectory data into a convolutional neural network applied to windows of different sizes. In the particular example shown, Fig. 20A The graphs of use a predicted frame width of 50 frames as described above. Fig. 20B Using a prediction frame width of 25 frames, and Fig. 20C A prediction frame width of 5 frames is used. Note from these examples that a smaller window actually produces a clearer probability peak because it is less likely to confuse the data by capturing more than one pulse in a single window. On the other hand, there is a trade-off in needing to capture enough pulses to accurately call a base. FIG. 20A to FIG. 20CAs further shown in , a simple threshold of 50% probability (indicated by the dashed line) is acceptable for base calling purposes because it produces realistically alignable sequences, but the base calling accuracy may be less than that which can be achieved by the previously described technique of pre-segmenting and identifying pulse calling traces from the raw sensor data. Alternatively, the peak calling parameters in the probability space can be tuned with the tradeoff of adding an extra step to the process (similar to the two-step pulse calling and base calling method). Another advantage of utilizing convolution to perform pulse calling is that it allows both the time bin 1 value and the time bin 2 value to be used separately (rather than the additional intensities of the two bins) to predict where the pulse occurs, which may result in more accurate pulse calls in addition to base calling.
[0197] Another possible approach for implementing a learning-enabled base caller to call bases directly from the trajectory (without pre-segmented pulses) utilizes a speech labeling model. Speech labeling is similar to base calling in many ways. For example, a connectionist temporal classification (CTC) model takes speech segments (multidimensional waveforms of undetermined length) as input and labels as lists of undetermined letters or phonemes. A dedicated cost function allows the model output to be aligned / optimized to these labels of unknown length. To illustrate this concept, Fig.21 A pair of graphs are shown, where the lower graph is the frequency spectrum of the spoken sentence "She left your black suit in greasy wash water for a whole year" and the upper graph shows the normalized amplitude of the frequency spectrum.
[0198] This is an excellent simulation of the base calling problem, where the network is expected to learn a variable number of symbols (base calls) from a waveform of any length. Furthermore, the ability to feed the algorithm this type of data for training can alleviate some of the problems of pre-aligning the data to assign exact labels pulse by pulse, instead it assigns labels window by window where there is reasonable certainty that an "anchor point" has been established, meaning that the base alignment to the reference sequence is good.
[0199] Regarding this, Fig. 22 2200 for implementing a learning-enabled base caller according to another embodiment. Similar to the previous embodiment, the method 2200 begins at operation 2202, where raw intensity trajectory data is acquired from a sensor. Then, in operation 2204, the intensity trajectory data is normalized without pre-segmentation. The normalization process applied in operation 2204 may include normalizing the intensity trajectory data so that the values in the data are within a range to account for variations between sequence runs and parameters used to obtain different sequence runs. Then, a connection timing classification model is applied to the normalized intensity trajectory data to identify base calls from waveforms of varying lengths, as shown in operation 2206.
[0200] The inventors successfully trained the base calling model by feeding it with segmented, single photon avalanche diode (SPAD) input data. Fig.23 Two such segments of SPAD input data with associated base labels are shown. Additionally, because CTC models can be very complex, simplified data can also be simulated that, while not similar to actual sequencing data, still matches all the properties required to obtain a preliminary solution using CTCs. Here, Fig.24 A pair of exemplary simulated data segments are shown in . It will be noted that each base is simply assigned an intensity with no difference between time bin 1 and time bin 2.
[0201] Fig.41 An example of a neural network model 4100 for connection temporal classification (CTC) fitting according to some embodiments of the technology described herein is shown, where CTC 4100 is used to identify nucleotides of nucleic acids. In some embodiments, the neural network model 4100 may be used to identify nucleotides of nucleic acids by performing the above-referenced Fig.39A The process 3900 is used to train the CTC-fitted neural network model 4100. In some embodiments, the trained CTC-fitted neural network model 4100 obtained from the process 3900 can be used to perform the above-referenced Fig.39B The process 3910 described above. In some embodiments, the Fig. 22 The process 2200 uses a neural network model 4100 fitted by CTC.
[0202] exist Fig.41 In the example embodiment of FIG. 41 , the model 4100 is configured to receive data from a nucleic acid sequencer 4120. For example, the sequencer 4120 may be the nucleic acid sequencer 4120 described above. Figure 3 The sequencing system 300 described above. In some embodiments, the model 4100 can be configured to receive data generated by the sequencer 4120. The data can be accessed from the light emission detected from the luminescent label associated with the nucleotide during the nucleotide incorporation of the nucleic acid. In some embodiments, the data can be arranged as described above with reference to Fig.38B In some embodiments, a portion of the data obtained from the sequencer 4120 may be provided as a series of inputs to the model 4100. For example, the model 4100 may be configured to receive a first 2x400 input that specifies the number of photons detected in two time intervals following each of the 400 light pulses.
[0203] exist Fig.41In an example embodiment of , model 4100 includes a feature extractor 4104. In some embodiments, the feature extractor can be an encoder of a trained autoencoder. The autoencoder can be trained, and a decoder from the autoencoder can be implemented as feature extractor 4104. The encoder can be configured to encode the input into values 4106 of one or more features.
[0204] exist Fig.41 In the example embodiment, the feature values 4106 determined by the feature extractor 4104 are input to the predictor 4108. The predictor 4108 outputs a probability matrix 4110 indicating a series of probability values for each possible classification. Fig.41 In an example embodiment of , these categories include nucleotides that can be incorporated into nucleic acids (e.g., adenine (A), cytosine (C), guanine (G), and thymine (T), and blank (-)). As an example, the predictor 4108 can output a 5x50 matrix indicating a series of 50 probability values for each category. The probability matrix 4110 can be used to generate an output 4130 that is used to identify a nucleotide sequence corresponding to data received from the nucleic acid sequencer 4120. In some embodiments, the nucleotide sequence can be determined based on the probability matrix 4110. For example, a beam search can be performed to obtain the output 4130 of nucleotides.
[0205] In some embodiments, feature extractor 4104 may be trained independently from predictor 4108. For example, feature extractor 4104 may be obtained by training an autoencoder. The encoder from the autoencoder may then be used as feature extractor 4104. In some embodiments, predictor 4108 may be trained independently using CTC loss function 4112. CTC loss function 4112 may train predictor 4108 to generate an output that may be used to generate output 4130.
[0206] In some embodiments, multiple probability matrices can be combined. A second input can be accessed from the data obtained from the sequencer 4120. The second input can be the second part of the data obtained from the sequencer 4120. In some embodiments, the second input can be obtained by shifting the data obtained from the sequencer 4120 by several points. For example, the second input can be a second 400x2 input matrix obtained by shifting the data obtained from the sequencer 4120 by 8 points. The probability matrix corresponding to the second input can be obtained from the predictor 4108 and combined with the first probability matrix corresponding to the first input. For example, the second probability matrix can be added to the first probability matrix. As another example, the second probability matrix can be shifted and added to the first probability matrix. Then the probability matrix of the combination can be used to obtain the output 4130 of the nucleotide sequence for identifying the nucleic acid.
[0207] In some embodiments, the feature extractor 4104 may be a neural network. In some embodiments, the neural network may be a convolutional neural network (CNN). In some embodiments, the CNN may include one or more convolutional layers and one or more pooling layers. The CNN may include a first convolutional layer, in which the input from the sequencer 4120 is convolved with a set of filters. For example, the input may be convolved with a set of 16 10x2 filters using a 1x1 step size to generate a 16x400x2 output. An activation function may be applied to the output of the first convolutional layer. For example, a ReLU activation function may be applied to the output of the first convolutional layer. In some embodiments, the CNN may include a first pooling layer after the first convolutional layer. In some embodiments, the CNN may apply a maximum pooling operation to the output of the first convolutional layer. For example, a 2x2 filter with a 1x1 step size may be applied to the 16x400x2 output to obtain a 200x1 output.
[0208] In some embodiments, the CNN may include a second convolutional layer. The second convolutional layer may receive the output of the first pooling layer as input. For example, the second convolutional layer may receive the 200x1 output of the first pooling layer as input. The second convolutional layer may involve convolution with a second set of filters. For example, in the second convolutional layer, the 200x1 input may be convolved with a second set of 16 10x1 filters with a 1x1 step size to generate a 16x200 output. An activation function may be applied to the output of the second convolutional layer. For example, a ReLU activation function may be applied to the output of the second convolutional layer. In some embodiments, the CNN may include a second pooling layer after the second convolutional layer. In some embodiments, the CNN may apply a maxpool operation to the output of the second convolutional layer. For example, a 4x1 filter with a 4x1 step size may be applied to the 16x200 output of the second convolutional layer to obtain a 16x50 output.
[0209] In some embodiments, feature extractor 4104 may be a recurrent neural network (RNN). For example, feature extractor 4104 may be an RNN trained to encode data received from sequencer 4120 into one or more feature values. In some embodiments, feature extractor 4104 may be a long short-term memory (LSTM) network. In some embodiments, feature extractor 4104 may be a gated recurrent unit (GRU) network.
[0210] In some embodiments, predictor 4108 may be a neural network. In some embodiments, the neural network may be a GRU network. In some embodiments, the GRU network may be bidirectional. As an example, the GRU network may receive a 16x50 output provided as an input to the feature extractor 4104 of the GRU network. For example, the GRU network may have 64 hidden layers that generate a 50x128 output. In some embodiments, the GRU network may use a hyperbolic tangent (tanh) activation function. In some embodiments, predictor 4108 may include a fully connected layer. The output of the GRU network may be provided as an input to a fully connected layer that generates a 5x50 output matrix. The 5x50 matrix may include a series of values for each possible output classification. In some embodiments, predictor 4108 may be configured to apply a normalized exponential function (softmax function) to the output of the fully connected layer to obtain a probability matrix 4110.
[0211] There may be several benefits to simulated data sets (whether from real dual-bin SPAD data or integrated chip data simulations), including, for example: (1) by helping to understand error patterns, and generating components of the original data "from scratch"; (2) the potential for unlimited data that can be used to form novel deep learning architectures; (3) the ability to train deep learning models with very simple data at the beginning (e.g., high SNR, no artifacts), and then titrate in simulated sequencing errors and noise to determine how well or poorly the model may be suited to detecting specific types of signal artifacts; and (4) the potential to pre-train some deep learning models on simulated data, and thereafter train real data to fine-tune network weights. However, it should be understood that simulated data is only a tool and a temporary substitute for exploring models and their ability to handle large and error-rich data before large amounts of real data are available.
[0212] Figures 25 to 34 An embodiment for generating a simulation trajectory is shown in further detail. Fig.25 , which shows a 400 frame segment of a real trajectory, where one would expect to be able to produce something with similar character (but not necessarily with the exact base incorporation). To generate simulated data, a distribution describing various signal characteristics may be used, and may be fitted from real SPAD data, for example. Fig.26 and Fig. 27 are examples of fitted distributions for background-subtracted time bin ratios and base intensities (as ratios above baseline), respectively. Fig.28 As can be seen in the graph of , crossing the two distributions provides better discrimination between the four bases. However, given a particular SNR level, there may be some overlap between A and C.
[0213] Using these and other distributions, trajectories can be constructed by stratifying the elements of the signal. Initially, consider the systematic noise (also called Poisson noise), which represents the photons read by the device sensor regardless of whether there is a base incorporation event. Fig.29 An exemplary graph of system noise over a 400 frame segment is shown. Additionally, consider system noise with respect to the time binning ratio. That is, background noise photons are separated into bin 1 and bin 2 by the detection circuit, just as photons from the spiked signal. However, there is no specific dye property that guides the binning of noise photons. Therefore, one approach is to fit the distribution to the time binning ratio (bin 2 / (bin 1 + bin 2)) outside of the pulse event, and randomly draw from this distribution to simulate the time binning ratio over the trajectory length. Fig.30 An exemplary graph showing this temporal binning of system noise over a 400 frame segment is shown. Fig.29 The intensity of the noise in the graph and Fig.30 The system noise can be divided into its bin 1 and bin 2 components by using the time bin ratio in the chart of Fig.31 as shown in the chart.
[0214] In the absence of noise, each base incorporation should ideally produce an essentially square wave signal. For simulated trajectories, random starting points are placed on a given template and base calls are generated. The duration of the pulses and the temporal binning ratios as well as the inter-pulse durations can then be simulated based on the fitted distributions to the real data. Fig.32 An example graph showing a clean base incorporation signal randomly placed on a 400 frame trace. In a real system, there will be both noise and signal, with photons from each adding up in each bin. Thus, a "clean" trace will be a simple addition of the signal and noise traces (with no other artifacts except baseline noise). Fig.33 Shown by Fig.32 The random clear signal trajectory and Fig.31 An example simulation trace generated by adding the baseline noise chart of .
[0215] and Fig.25 Compared with the real data trajectory, Fig.33 The simulated data traces of the sequence can be advantageously compared to the simulated data traces of the sequence, and may be beneficial for model building purposes when clean data is required. On the other hand, it is also desirable to be able to learn in the presence of specific sequencing artifacts. Examples of such artifacts that can be simulated include, but are not necessarily limited to: dark grains (resulting in missing or half-intensity pulses); fused pulses (failure to return to baseline between pulses); flicker pulses (pulses interrupted midway and later restored); baseline jumps (e.g., due to dye sticking); laser drift (baseline increments / decrements). Some of these artifacts may be additive (e.g., baseline jumps), while others may be multiplicative (e.g., laser drift). To further illustrate, Fig.34Another simulation trace is shown where each of the above artifacts is applied to exaggerated levels. However, it may be more practical to add only one or two artifacts at a time to test the model's ability to operate in a region where the artifacts can be predicted.
[0216] As indicated above, one advantage of training a deep learning model optimized using a CTC loss function is the ability to remove the pulse determination step and directly predict bases from the original trajectory. In addition, this paradigm allows the input and output size of the model to vary, which in turn allows algorithm examples of feeding trajectory windows and corresponding base windows. Then, the window of the feeding base improves the marking accuracy. In addition, after the model is exposed to several such examples of trajectory windows and corresponding base windows, the model will learn how to determine pulses and bases by optimizing pulse and base determination at the same time. That is, in addition to considering the properties of the pulse when determining the base, the model can also consider the properties of the base when determining whether to determine the pulse. By trying to combine this method into a single step, the algorithm has the ability to find As, Ts, Cs, and Gs in the signal directly without pulse determination. A type of base property that can be used to determine the determination pulse may include a time bin photon count ratio. For example, if the time-binned photon count ratio of a potential pulse is similar to the time-binned photon count ratio observed for a particular base (e.g., A, C, T, G), the potential pulse can be identified as a particular base by the model. However, if the potential pulse is different from or does not match the time-binned photon count ratio observed for the particular base, the model can reject the potential pulse.
[0217] Another advantage of the integrated pulse / base caller is that the model can more easily distinguish between two-step pulses and cases that are difficult for the base caller to distinguish. Fig.35 shows the raw sensor trace data with the "fused" pulses, while Fig.36 It uses a CTC-based model directly based on Fig.35 The corresponding probability distribution of the data base is determined (where 0 = A, 1 = C, 2 = G, 3 = T, and 4 = no base). Fig.35 Note that the last two pulses 3502, 3504 appear to be fused together, which is a situation that a separate pulse caller would have difficulty handling (e.g., it could call the entire event as a single pulse). However, because the two separate pulses 3502, 3504 that appear to be fused pulses have completely different time bin 1 and time bin 2 characteristics (time bin 1 is low in the first pulse 3502 and high in the second pulse 3504), the integrated pulse / base caller can distinguish them as two separate pulses (e.g., Fig.36 Therefore, the model uses base properties to determine pulses.
[0218] In some embodiments, one or more computing devices may be used to implement the techniques described herein. However, the embodiments are not limited to operating using any particular type of computing device. For further illustration, Fig.37 3700. The computing device 3700 may include one or more processors 3702 and one or more tangible, non-transitory computer-readable storage media (e.g., memory 3704). The memory 3704 may store computer program instructions in a tangible, non-transitory computer-recordable storage medium, and the computer program instructions implement any of the functions described above when executed. The processor 3702 may be coupled to the memory 3704 and may execute the computer program instructions to implement and perform the functions.
[0219] The computing device 3700 may also include a network input / output (I / O) interface 3706 via which the computing device may communicate with other computing devices (e.g., over a network), and may also include one or more user I / O interfaces 3708 via which the computing device may provide output to a user and receive input from a user. The user I / O interfaces may include devices such as a keyboard, a mouse, a microphone, a display device (e.g., a monitor or a touch screen), a speaker, a camera, and / or various other types of I / O devices.
[0220] The embodiments described above can be implemented in any of numerous ways. For example, the embodiments can be implemented using hardware, software, or a combination thereof. When implemented in software, the software program code can be executed on any suitable processor (e.g., a microprocessor) or set of processors provided in a single computing device or distributed among multiple computing devices. It should be understood that any component or set of components that perform the functions described above can generally be regarded as one or more controllers that control the functions discussed above. One or more controllers can be implemented in numerous ways (such as using dedicated hardware, or using general-purpose hardware (e.g., one or more processors) that is programmed using microcode or software to perform the functions described above).
[0221] In this regard, it should be understood that one implementation of the embodiments described herein includes at least one computer-readable storage medium (e.g., RAM, ROM, EEPROM, flash memory or other storage technology, CD-ROM, digital versatile disc (DVD) or other optical disk storage device, cassette, tape, disk storage or other magnetic storage device, or other tangible, non-transitory computer-readable storage medium) encoded with a computer program (i.e., a plurality of executable instructions) that performs the functions discussed above for one or more embodiments when executed on one or more processors. The computer-readable medium may be portable so that the program stored thereon can be loaded onto any computing device to implement aspects of the techniques discussed herein. In addition, it should be understood that reference to a computer program that performs any of the functions discussed above when executed is not limited to an application program running on a host computer. Instead, the terms computer program and software are used herein in a general sense to refer to any type of computer program code (e.g., application software, firmware, microcode, or any other form of computer instructions) that can be used to program one or more processors to implement aspects of the techniques discussed herein.
[0222] The various aspects described herein may be used individually, in combination, or in various configurations not explicitly discussed in the embodiments described hereinabove and therefore their application is not limited to the details and configurations of the components stated in the foregoing description or shown in the figures. For example, the aspects described in one embodiment may be combined in any manner with the aspects described in other embodiments.
[0223] Furthermore, the technology described herein can be implemented as a method, examples of which have been provided as described above (including reference Figure 2 , Fig.11 , Fig.15 , Fig.18 , Fig. 22 and FIG. 39A to FIG. 39B ). The actions performed as part of the method may be ordered in any suitable manner. Accordingly, embodiments may be constructed in which the actions are performed in an order different from that shown, which may include performing some actions simultaneously, even though they are shown as sequential actions in the illustrated embodiments.
[0224] Ordinal terms such as "first", "second", "third", etc. used in the claims to modify the claimed components themselves do not imply any priority, precedence or order of one claimed component over another or the temporal order of the actions of the method of performing the claimed components, but are merely used as labels to distinguish one claimed component with a specific name from another component with the same name (but using ordinal terms) to distinguish the claimed components.
[0225] Furthermore, the phrases and terms used herein are for descriptive purposes and should not be considered as limiting. The use of "comprises," "includes," or "has," "contains," "involves," and variations thereof herein is intended to encompass the items listed thereafter and their equivalents as well as additional items.
[0226] In the claims and the above description, all transitional phrases (such as "includes," "comprising," "carrying," "having," "containing," "involving," "maintaining," "consisting of," and the like) should be understood as open-ended, i.e., meaning including but not limited to. Only the transitional phrases "consisting of" and "consisting essentially of" should be closed or semi-closed transitional phrases, respectively.
Claims
1. A method for labeling nucleotides of a nucleic acid, the method comprising: Use at least one computer hardware processor to perform the following operations: accessing data obtained from light emission detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid, the light emission being responsive to a series of light pulses, the data comprising a number of photons detected in each of a plurality of time intervals following each of at least some of the light pulses; Arranging the data into a matrix or an image, each value in the matrix representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses, and each pixel in the image representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses; providing the arranged data as input to a trained deep learning model; extracting one or more features from the arranged data; Based on the one or more features, determining, for each feature, at least one probability value for a possible classification, the possible classification comprising a nucleotide; and A nucleotide sequence of the nucleic acid is output based on the at least one probability value.
2. The method according to claim 1, wherein: The deep learning model includes a convolutional neural network.
3. The method according to claim 1, wherein: The deep learning model includes a connectionist temporal classification (CTC)-fitted neural network model.
4. The method according to any one of claims 1 to 3, wherein: The output for identifying nucleotides of the nucleic acid includes, for each of a plurality of nucleotides, a respective time series of values indicating a probability of that nucleotide being incorporated into the nucleic acid.
5. The method according to any one of claims 1 to 3, wherein: The output for identifying a nucleotide of the nucleic acid includes a probability for each of a plurality of nucleotides, the probability indicating a probability of the nucleotide being incorporated into the nucleic acid; and The method also includes identifying a first nucleotide of a plurality of nucleotides in the nucleic acid when a probability of the first nucleotide being incorporated into the nucleic acid exceeds a threshold probability.
6. The method according to claim 4, wherein: The output for identifying a nucleotide of the nucleic acid includes a probability for each of a plurality of nucleotides, the probability indicating a probability of the nucleotide being incorporated into the nucleic acid; and The method also includes identifying a first nucleotide of a plurality of nucleotides in the nucleic acid when a probability of the first nucleotide being incorporated into the nucleic acid exceeds a threshold probability.
7. The method according to any one of claims 1 to 3, wherein: Providing the data as input to a trained deep learning model involves: organizing the data into a plurality of time periods; and The data for each of the multiple time periods is provided as input to the trained deep learning model to obtain a corresponding output indicating at least one nucleotide of the nucleic acid.
8. The method according to claim 4, wherein: Providing the data as input to a trained deep learning model involves: organizing the data into a plurality of time periods; and The data for each of the multiple time periods is provided as input to the trained deep learning model to obtain a corresponding output indicating at least one nucleotide of the nucleic acid.
9. The method according to claim 5, wherein: Providing the data as input to a trained deep learning model involves: organizing the data into a plurality of time periods; and The data for each of the multiple time periods is provided as input to the trained deep learning model to obtain a corresponding output indicating at least one nucleotide of the nucleic acid.
10. The method according to claim 7, wherein: The nucleotide sequence of the nucleic acid includes a value indicating the probability of the nucleotide being incorporated into the nucleic acid within the time period.
11. The method according to any one of claims 1 to 3, wherein: Providing the data as input to the trained deep learning model includes: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide incorporation event; and Each of the multiple portions of the data is provided as input to the trained deep learning model to obtain an output corresponding to the portion of the data.
12. The method according to claim 4, wherein: Providing the data as input to the trained deep learning model includes: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide incorporation event; and Each of the multiple portions of the data is provided as input to the trained deep learning model to obtain an output corresponding to the portion of the data.
13. The method according to claim 5, wherein: Providing the data as input to the trained deep learning model includes: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide incorporation event; and Each of the multiple portions of the data is provided as input to the trained deep learning model to obtain an output corresponding to the portion of the data.
14. The method according to claim 7, wherein: Providing the data as input to the trained deep learning model includes: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide incorporation event; and Each of the multiple portions of the data is provided as input to the trained deep learning model to obtain an output corresponding to the portion of the data.
15. The method according to claim 10, wherein: Providing the data as input to the trained deep learning model includes: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide incorporation event; and Each of the multiple portions of the data is provided as input to the trained deep learning model to obtain an output corresponding to the portion of the data.
16. The method according to claim 11, wherein: The output corresponding to the portion of the data identifies the nucleotide that is incorporated into the nucleic acid.
17. The method according to any one of claims 1 to 3, further comprising: accessing training data obtained from detected light emissions of luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids; as well as A deep learning model is trained using the training data and information specifying at least some of the nucleotides in the plurality of nucleic acids to obtain the trained deep learning model.
18. The method according to claim 4, further comprising: accessing training data obtained from detected light emissions of luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids; as well as A deep learning model is trained using the training data and information specifying at least some of the nucleotides in the plurality of nucleic acids to obtain the trained deep learning model.
19. A system for labeling nucleotides of a nucleic acid, the system comprising: at least one computer hardware processor; as well as At least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to: accessing data obtained from detected light emission from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid, the light emission being responsive to a series of light pulses, the data comprising a number of photons detected in each of a plurality of time intervals following each of at least some of the light pulses; Arranging the data into a matrix or an image, each value in the matrix representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses, and each pixel in the image representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses; providing the arranged data as input to a trained deep learning model; extracting one or more features from the arranged data; Based on the one or more features, determining, for each feature, at least one probability value for a possible classification, the possible classification comprising a nucleotide; and A nucleotide sequence of the nucleic acid is output based on the at least one probability value.
20. At least one non-transitory computer-readable storage medium storing instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform the following operations: accessing data obtained from detected light emission from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid, the light emission being responsive to a series of light pulses, the data comprising a number of photons detected in each of a plurality of time intervals following each of at least some of the light pulses; Arranging the data into a matrix or an image, each value in the matrix representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses, and each pixel in the image representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses; providing the arranged data as input to a trained deep learning model; extracting one or more features from the arranged data; Based on the one or more features, determining, for each feature, at least one probability value for a possible classification, the possible classification comprising a nucleotide; and A nucleotide sequence of the nucleic acid is output based on the at least one probability value.
21. A method for training a deep learning model to identify nucleotides of a nucleic acid, the method comprising: Use at least one computer hardware processor to perform the following operations: accessing data obtained from detected light emissions from luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids, the light emissions being responsive to the series of light pulses, the data comprising a number of photons detected in each of a plurality of time intervals following each of at least some of the light pulses; Arranging the data into a matrix or an image, each value in the matrix representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses, and each pixel in the image representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses; extracting one or more features from the arranged data; Based on the one or more features, determining, for each feature, at least one probability value for a possible classification, the possible classification comprising a nucleotide; and outputting a nucleotide sequence of the nucleic acid based on the at least one probability value; The deep learning model is trained using the data and information specifying at least some of the nucleotides in the plurality of nucleic acids.
22. The method according to claim 21, wherein: Training the deep learning model using the data and information specifying at least some of the nucleotides of the plurality of nucleic acids comprises: providing at least a portion of the data as input to the deep learning model to obtain an output identifying a nucleotide of at least one of the plurality of nucleic acids; and The deep learning model is trained based on differences between nucleotides of at least one nucleic acid identified by the output and nucleotides of at least one nucleic acid specified by the information.
23. The method according to claim 21, further comprising: Retraining the deep learning model to obtain an updated deep learning model; as well as Updates to the deep learning model are propagated to one or more sequencing devices.
24. The method of claim 22, further comprising: Retraining the deep learning model to obtain an updated deep learning model; as well as Updates to the deep learning model are propagated to one or more sequencing devices.
25. The method according to claim 21, wherein: The deep learning model includes a convolutional neural network.
26. The method of claim 22, wherein: The deep learning model includes a convolutional neural network.
27. The method according to claim 23, wherein: The deep learning model includes a convolutional neural network.
28. The method of claim 21, wherein: The deep learning model includes a connectionist temporal classification (CTC)-fitted neural network model.
29. The method of claim 22, wherein: The deep learning model includes a connectionist temporal classification (CTC)-fitted neural network model.
30. The method of claim 23, wherein: The deep learning model includes a connectionist temporal classification (CTC)-fitted neural network model.
31. The method of claim 25, wherein: The deep learning model includes a connectionist temporal classification (CTC)-fitted neural network model.
32. The method according to any one of claims 21 to 31, wherein: The information specifying at least some of the nucleotides in the plurality of nucleic acids includes a nucleotide sequence of at least one of the plurality of nucleic acids, and the data includes data corresponding to nucleotide incorporation events of the at least one nucleic acid, and training the deep learning model includes: inverting the nucleotide sequence of the at least one nucleic acid; and The deep learning model is trained using data corresponding to incorporation events of the at least one nucleic acid and an inverted nucleotide sequence of the at least one nucleic acid.
33. The method according to any one of claims 21 to 31, further comprising: accessing data obtained from light emission detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid; as well as The data is provided as input to the trained deep learning model to obtain an output identifying the nucleotides of the nucleic acid.
34. The method of claim 32, further comprising: accessing data obtained from light emission detected from a luminescent tag associated with a nucleotide during a nucleotide incorporation event of the nucleic acid; as well as The data is provided as input to the trained deep learning model to obtain an output identifying the nucleotides of the nucleic acid.
35. The method of claim 33, further comprising: The deep learning model is retrained using data obtained from light emissions detected from luminescent tags associated with nucleotides during nucleotide incorporation events of the nucleic acid and outputs identifying nucleotides of the nucleic acid.
36. The method according to any one of claims 21 to 31, wherein: Accessing the data includes obtaining data collected by a plurality of photodetectors.
37. The method of claim 32, wherein: Accessing the data includes obtaining data collected by a plurality of photodetectors.
38. The method of claim 33, wherein: Accessing the data includes obtaining data collected by a plurality of photodetectors.
39. The method of claim 35, wherein: Accessing the data includes obtaining data collected by a plurality of photodetectors.
40. A system for training a deep learning model to identify nucleotides of a nucleic acid, the system comprising: at least one computer hardware processor; as well as At least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to: accessing data obtained from detected light emissions from luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids, the light emissions being responsive to the series of light pulses, the data comprising a number of photons detected in each of a plurality of time intervals following each of at least some of the light pulses; Arranging the data into a matrix or an image, each value in the matrix representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses, and each pixel in the image representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses; extracting one or more features from the arranged data; Based on the one or more features, determining, for each feature, at least one probability value for a possible classification, the possible classification comprising a nucleotide; and outputting a nucleotide sequence of the nucleic acid based on the at least one probability value; The deep learning model is trained using the data and information specifying at least some of the nucleotides in the plurality of nucleic acids.
41. At least one non-transitory computer-readable storage medium storing instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform the following operations: accessing data obtained from detected light emissions from luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids, the light emissions being responsive to the series of light pulses, the data comprising a number of photons detected in each of a plurality of time intervals following each of at least some of the light pulses; Arranging the data into a matrix or an image, each value in the matrix representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses, and each pixel in the image representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses; extracting one or more features from the arranged data; Based on the one or more features, for each feature, determining at least one probability value for a possible classification, the possible classification comprising a nucleotide; outputting a nucleotide sequence of the nucleic acid based on the at least one probability value; as well as A deep learning model is trained using the data and information specifying at least some of the nucleotides in the plurality of nucleic acids.
42. A method for labeling nucleotides of a nucleic acid, the method comprising: Use at least one hardware processor to perform the following operations: accessing data obtained from detected light emission of a luminescent tag associated with a nucleotide, the light emission being responsive to a series of light pulses, the data comprising, for each of at least some of the light pulses, a corresponding number of photons detected in each of a plurality of time intervals in a time period following the light pulse; Arranging the data into a matrix or an image, each value in the matrix representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses, and each pixel in the image representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses; providing the arranged data as input to a trained machine learning model; extracting one or more features from the arranged data; Based on the one or more features, determining, for each feature, at least one probability value for a possible classification, the possible classification comprising a nucleotide; and A nucleotide sequence of the nucleic acid is output based on the at least one probability value.
43. The method of claim 42, wherein: The data includes data indicative of a respective number of photons in each of a first time interval and a second time interval within a first time period following a first light pulse in the series of light pulses.
44. The method of claim 43, wherein: The data also includes a corresponding number of photons in each of the first and second time intervals within a second time period following a second light pulse in the series of light pulses.
45. The method of claim 42, wherein: Arranging the data into the matrix includes arranging the data into a data structure having rows, wherein each of the rows holds a number of photons in a respective time interval corresponding to at least some of the light pulses.
46. The method of claim 43, wherein: Arranging the data into the matrix includes arranging the data into a data structure having rows, wherein each of the rows holds a number of photons in a respective time interval corresponding to at least some of the light pulses.
47. The method of claim 44, wherein: Arranging the data into the matrix includes arranging the data into a data structure having rows, wherein each of the rows holds a number of photons in a respective time interval corresponding to at least some of the light pulses.
48. The method of claim 42, wherein: Providing the data as input to a trained machine learning model involves: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide of the nucleic acid; and Each of the multiple portions of the data is provided as input to the trained machine learning model to obtain an output corresponding to the portion of the data.
49. The method of claim 43, wherein: Providing the data as input to a trained machine learning model involves: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide of the nucleic acid; and Each of the multiple portions of the data is provided as input to the trained machine learning model to obtain an output corresponding to the portion of the data.
50. The method of claim 44, wherein: Providing the data as input to a trained machine learning model involves: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide of the nucleic acid; and Each of the multiple portions of the data is provided as input to the trained machine learning model to obtain an output corresponding to the portion of the data.
51. The method of claim 45, wherein: Providing the data as input to a trained machine learning model involves: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide of the nucleic acid; and Each of the multiple portions of the data is provided as input to the trained machine learning model to obtain an output corresponding to the portion of the data.
52. The method of claim 46, wherein: Providing the data as input to a trained machine learning model involves: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide of the nucleic acid; and Each of the multiple portions of the data is provided as input to the trained machine learning model to obtain an output corresponding to the portion of the data.
53. The method of claim 47, wherein: Providing the data as input to a trained machine learning model involves: identifying a plurality of portions of the data, each portion corresponding to a respective nucleotide of the nucleic acid; and Each of the multiple portions of the data is provided as input to the trained machine learning model to obtain an output corresponding to the portion of the data.
54. A method according to any one of claims 48 to 53, wherein: Identifying that a portion of the data corresponds to a corresponding nucleotide of the nucleic acid comprises: A number of photons in a first time interval of the plurality of time intervals in the portion of data is compared to a number of photons in at least one of a plurality of time intervals in the portion of data separated from the first time interval.
55. The method according to any one of claims 42 to 53, wherein: The machine learning model includes a deep learning model.
56. The method of claim 54, wherein: The machine learning model includes a deep learning model.
57. The method of claim 55, wherein: The deep learning model includes a convolutional neural network.
58. The method of claim 57, wherein: The machine learning model includes a connectionist temporal classification (CTC)-fitted neural network model.
59. The method according to any one of claims 42 to 53, further comprising: accessing training data obtained from detected light emissions of luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids; as well as The machine learning model is trained using the training data and information specifying at least some of the nucleotides in the plurality of nucleic acids to obtain the trained machine learning model.
60. The method of claim 54, further comprising: accessing training data obtained from detected light emissions of luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids; as well as The machine learning model is trained using the training data and information specifying at least some of the nucleotides in the plurality of nucleic acids to obtain the trained machine learning model.
61. The method of claim 55, further comprising: accessing training data obtained from detected light emissions of luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids; as well as The machine learning model is trained using the training data and information specifying at least some of the nucleotides in the plurality of nucleic acids to obtain the trained machine learning model.
62. The method of claim 57, further comprising: accessing training data obtained from detected light emissions of luminescent tags associated with nucleotides during nucleotide incorporation events of a plurality of nucleic acids; as well as The machine learning model is trained using the training data and information specifying at least some of the nucleotides in the plurality of nucleic acids to obtain the trained machine learning model.
63. A system for labeling nucleotides of a nucleic acid, the system comprising: at least one computer hardware processor; as well as At least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to: accessing data obtained from detected light emission of a luminescent tag associated with a nucleotide, the light emission being responsive to a series of light pulses, the data comprising, for each of at least some of the light pulses, a corresponding number of photons detected in each of a plurality of time intervals in a time period following the light pulse; Arranging the data into a matrix or an image, each value in the matrix representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses, and each pixel in the image representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses; providing the arranged data as input to a trained machine learning model; extracting one or more features from the arranged data; Based on the one or more features, determining, for each feature, at least one probability value for a possible classification, the possible classification comprising a nucleotide; and A nucleotide sequence of the nucleic acid is output based on the at least one probability value.
64. At least one non-transitory computer-readable storage medium storing instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to: accessing data obtained from detected light emission of a luminescent tag associated with a nucleotide, the light emission being responsive to a series of light pulses, the data comprising, for each of at least some of the light pulses, a corresponding number of photons detected in each of a plurality of time intervals in a time period following the light pulse; Arranging the data into a matrix or an image, each value in the matrix representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses, and each pixel in the image representing the number of photons detected in one of the plurality of time intervals after one of the at least some of the light pulses; providing the arranged data as input to a trained machine learning model; Extracting one or more features from the arranged data; Based on the one or more features, determining, for each feature, at least one probability value for a possible classification, the possible classification comprising a nucleotide; and A nucleotide sequence of the nucleic acid is output based on the at least one probability value.
Citation Information
Patent Citations
Integrated device with external light source for probing detecting and analyzing molecules
US20150141267A1
Integrated device for temporal binning of received photons
US20160133668A1
Integrated device with external light source for probing detecting and analyzing molecules
US9885657B2
Basecaller for DNA sequencing using machine learning
CN105980578A
Pulse caller and base caller
US20170349944A1