Artificial intelligence-based base code compression based on knowledge distillation and gradient pruning

Knowledge distillation techniques reduce the resource requirements of deep neural networks for base calling by transferring knowledge from a larger teacher model to a smaller student model, enabling efficient execution on compact platforms.

JP7754822B2Active Publication Date: 2025-10-15ILLUMINA INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022550206
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-02-15
Filing Date
2021-02-17
Publication Date
2025-10-15
Estimated Expiration
2041-02-17

AI Technical Summary

Technical Problem

Existing deep neural networks for base calling on mobile devices are resource-intensive, requiring significant computational power and memory that is not readily available on compact platforms.

Method used

Implementing knowledge distillation to transfer knowledge from a larger, resource-rich teacher model to a smaller, student model by using a combination of discrete-valued and continuously-valued labels, reducing the number of processing modules and parameters.

Benefits of technology

The smaller student model achieves comparable accuracy to the larger teacher model while significantly reducing computational resources and execution time, making it suitable for execution on compact platforms like FPGAs, GPUs, and ASICs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007754822000004
    Figure 0007754822000004
  • Figure 0007754822000005
    Figure 0007754822000005
  • Figure 0007754822000006
    Figure 0007754822000006
Patent Text Reader

Abstract

The disclosed technique compresses a larger teacher-based coder into a smaller student-based coder. The student-based coder has fewer processing modules and parameters than the teacher-based coder. The teacher-based coder is trained using hard labels (e.g., one-hot encoding). The trained teacher-based coder is used to generate soft labels as output probabilities during the inference phase. The soft labels are used to train the student-based coder.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The disclosed technology relates to artificial intelligence-based computers and digital data processing systems, and corresponding data processing methods and products for emulating intelligence (i.e., knowledge-based systems, inference systems, and knowledge acquisition systems), including systems for reasoning with uncertainty (e.g., fuzzy logic systems), adaptive systems, machine learning systems, and systems involving artificial neural networks. Specifically, the disclosed technology relates to using deep neural networks, such as deep convolutional neural networks, to analyze data.

[0002] Priority application This PCT application claims priority to and the benefit of U.S. Provisional Patent Application No. 62 / 979,385, entitled "KNOWLEDGE DISTILLATION-BASED COMPRESSION OF ARTIFICIAL INTELLIGENCE-BASED BASE CALLER," filed February 20, 2020 (Attorney Docket No. ILLM1017-1 / IP-1859-PRV), and U.S. Patent Application No. 17 / 176,151, entitled "KNOWLEDGE DISTILLATION-BASED COMPRESSION OF ARTIFICIAL INTELLIGENCE-BASED BASE CALLER," filed February 15, 2021 (Attorney Docket No. ILLM1017-2 / IP-1859-US), which priority applications are incorporated herein by reference for all purposes as if fully set forth herein.

[0003] Built-in The following are incorporated by reference as if fully set forth herein:

[0004] U.S. Provisional Patent Application No. 62 / 979,384, entitled "ARTIFICIAL INTELLIGENCE-BASED BASE CALLING OF INDEX SEQUENCES," filed February 20, 2020 (Attorney Docket No. ILLM1015-1 / IP-1857-PRV); U.S. Provisional Patent Application No. 62 / 979,414, entitled "ARTIFICIAL INTELLIGENCE-BASED MANY-TO-MANY BASE CALLING," filed February 20, 2020 (Attorney Docket No. ILLM1016-1 / IP-1858-PRV); U.S. Provisional Patent Application No. 63 / 072,032, entitled "DETECTING AND FILTERING CLUSTERS BASED ON ARTIFICIAL INTELLIGENCE-PREDICTED BASE CALLS," filed August 28, 2020 (Attorney Docket No. ILLM1018-1 / IP-1860-PRV); U.S. Provisional Patent Application No. 62 / 979,412, entitled "MULTI-CYCLE CLUSTER BASED REAL TIME ANALYSIS SYSTEM," filed February 20, 2020 (Attorney Docket No. ILLM1020-1 / IP-1866-PRV); U.S. Provisional Patent Application No. 62 / 979,411, entitled "DATA COMPRESSION FOR ARTIFICIAL INTELLIGENCE-BASED BASE CALLING," filed February 20, 2020 (Attorney Docket No. ILLM1029-1 / IP-1964-PRV); U.S. Provisional Patent Application No. 62 / 979,399, entitled "SQUEEZING LAYER FOR ARTIFICIAL INTELLIGENCE-BASED BASE CALLING," filed February 20, 2020 (Attorney Docket No. ILLM1030-1 / IP-1982-PRV); U.S. Patent Application No. 16 / 825,987, entitled "TRAINING DATA GENERATION FOR ARTIFICIAL INTELLIGENCE-BASED SEQUENCING," filed March 20, 2020 (Attorney Docket No. ILLM1008-16 / IP-1693-US); U.S. Patent Application No. 16 / 825,991, entitled "ARTIFICIAL INTELLIGENCE-BASED GENERATION OF SEQUENCING METADATA," filed March 20, 2020 (Attorney Docket No. ILLM 1008-17 / IP-1741-US); U.S. Patent Application No. 16 / 826,126, entitled "ARTIFICIAL INTELLIGENCE-BASED BASE CALLING," filed March 20, 2020 (Attorney Docket No. ILLM1008-18 / IP-1744-US); U.S. Patent Application No. 16 / 826,134, entitled "ARTIFICIAL INTELLIGENCE-BASED QUALITY SCORING," filed March 20, 2020 (Attorney Docket No. ILLM1008-19 / IP-1747-US); and U.S. Patent Application No. 16 / 826,168, entitled "ARTIFICIAL INTELLIGENCE-BASED SEQUENCING," filed March 21, 2020 (Attorney Docket No. ILLM1008-20 / IP-1752-PRV-US). [Background technology]

[0005] The subject matter discussed in this section should not be assumed to be prior art merely as a result of its mention in this section. Similarly, it should not be assumed that the problems mentioned in this section, or problems associated with the subject matter provided as background, have been previously recognized in the prior art. The subject matter in this section merely represents different approaches, which themselves may also correspond to embodiments of the claimed technology.

[0006] To deploy deep neural networks efficiently on mobile devices, academia and industry have proposed several model compression methods. Compression methods can be classified into four categories: parameter sharing, network pruning, low-rank factorization, and knowledge distillation. Knowledge distillation distills knowledge embedded in a complex model, known as a teacher model, to guide the training of a smaller model, called a student model. The student model has a different architecture and fewer parameters, but can achieve comparable performance by mimicking the behavior of the complex model. Other compression methods, such as quantization and low-rank factorization, are complementary to knowledge distillation and can also be used to further reduce the size of the student model.

[0007] Opportunities arise to use knowledge distillation to accelerate artificial intelligence-based base calling.

[0008] In the drawings, like reference characters generally refer to like parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the disclosed technology. In the following description, various embodiments of the disclosed technology are described with reference to the following drawings: Summary of the Invention [Means for solving the problem]

[0009] See paragraphs

[0380] -

[0381] . [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 illustrates various aspects of using the disclosed knowledge distillation for artificial intelligence based base calling. [Figure 2A] FIG. 1 illustrates one embodiment of training a supervised base caller using a first set of cluster images annotated with first ground truth data to identify correct base calls using discrete-value labels (one-hot encoding). [Figure 2B] FIG. 10 illustrates another embodiment in which a first set of cluster images annotated with first ground truth data is used to train a supervised base caller to identify correct base calls using discrete-value labels (softened one-hot encoding). [Figure 3] FIG. 10 illustrates one implementation of applying the trained supervised base call predictions on a second set of cluster images to generate base call predictions represented by continuously valued weights. [Figure 4A] FIG. 1 illustrates one implementation of so-called “hybrid ground truth data” generation using a combination of discrete-valued labels and continuous-valued weights. [Figure 4B] FIG. 1 illustrates one implementation of so-called “hybrid ground truth data” generation using a combination of discrete-valued labels and continuous-valued weights. [Figure 5] FIG. 10 is a diagram of one implementation of training a student base caller using a second set of cluster images annotated with hybrid ground truth data that identifies correct base calls based on discrete-valued labels and continuously-valued weights. [Figure 6] FIG. 10 illustrates one implementation of applying the trained student base call to a third set of cluster images to generate base call predictions. [Figure 7] FIG. 1 illustrates one embodiment of data processing by teacher and student base chores. [Figure 8A] FIG. 1 shows one embodiment of sequencing using Student Base Caller for base calling. [Figure 8B] FIG. 1 shows one embodiment of sequencing using Student Base Caller for base calling. [Figure 8C] FIG. 1 is a simplified block diagram of a system for analysis of sensor data from a sequencing system, such as base call sensor output. [Figure 8D]FIG. 1 is a simplified diagram illustrating aspects of a base call operation, including the functionality of a runtime program executed by a host processor. [Figure 8E] FIG. 8D is a simplified diagram of a configuration of a configurable processor 846 such as the configuration of FIG. 8C. [Figure 9] FIG. 1 is a simplified block diagram of a computer system that can be used to implement the disclosed techniques. [Figure 10A] FIG. 10 illustrates one implementation of training a first base chore through cluster intensity images to generate a first trained base chore. [Figure 10B] FIG. 1 shows one implementation of a first trained base caller that maps cluster intensity images to base call predictions. [Figure 11A] FIG. 1 illustrates various aspects of loops implemented by the disclosed technology to perform computationally efficient base calling. [Figure 11B] FIG. 1 illustrates various aspects of loops implemented by the disclosed technology to perform computationally efficient base calling. [Figure 12] FIG. 10 illustrates one implementation of generating contribution scores for cluster feature maps. [Figure 13] FIG. 1 shows one embodiment of an artificial intelligence-based method for performing computationally efficient base calling. [Figure 14] FIG. 1 shows another embodiment of an artificial intelligence-based method for performing computationally efficient base calling. [Figure 15A] FIG. 1 shows performance results demonstrating that the disclosed techniques perform computationally efficient base calling. [Figure 15B] FIG. 1 shows performance results demonstrating that the disclosed techniques perform computationally efficient base calling. [Figure 15C] FIG. 1 shows performance results demonstrating that the disclosed techniques perform computationally efficient base calling. [Figure 15D] FIG. 1 shows performance results demonstrating that the disclosed techniques perform computationally efficient base calling. [Figure 15E] FIG. 1 shows performance results demonstrating that the disclosed techniques perform computationally efficient base calling. [Figure 15F] FIG. 1 shows performance results demonstrating that the disclosed techniques perform computationally efficient base calling. [Figure 16] This figure shows an implementation of a large-scale supervised-based coder with a total of 251,220 parameters. [Figure 17] FIG. 17 illustrates one implementation of a smaller student-based collaborator with a total of 12,970 parameters distilled from the larger teacher-based collaborator of FIG. 16 using the disclosed techniques. [Figure 18] FIG. 1 shows the base calling performance of a smaller student base caller relative to the base calling performance of a larger teacher base caller. [Figure 19] FIG. 10 shows box and whisker plots for one implementation of the disclosed technology generating pruned convolution weights for distillate-based cola. [Figure 20] FIG. 10 shows a box and whisker plot for one embodiment of the disclosed technology generating pruned convolution bias for distillate-based cola. [Figure 21] FIG. 10 shows box and whisker plots for one implementation of the disclosed technology generating pruned convolution weights for distillate-based cola, where regularization is applied to both the convolution weights and the convolution bias. [Figure 22] FIG. 10 shows box and whisker plots for one implementation of the disclosed technique generating pruned convolutional biases for distillate-based cola, where regularization is applied to both the convolutional weights and the convolutional biases. DETAILED DESCRIPTION OF THE INVENTION

[0011] The following discussion is presented to enable any person skilled in the art to make and use the disclosed technology and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the disclosed technology. Thus, the disclosed technology is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.

[0012] Introduction

[0013] The disclosed technique compresses larger teacher-based choras into smaller, distilled student-based choras. The student-based choras have fewer processing modules and parameters than the teacher-based choras. The larger teacher-based choras can include an ensemble of larger teacher-based choras. The teacher-based choras are trained using hard labels (e.g., one-hot encoding). The trained teacher-based choras are used to generate soft labels as output probabilities during the inference phase. The soft labels are used to train the student-based choras.

[0014] Hard labels are one-hot vectors with all entries set to 0 except for one entry corresponding to the correct class. In contrast, soft labels form a probability distribution over the possible classes. The idea is that a cluster image contains information about more than one class (e.g., a cluster image for base call "A" looks very similar to cluster images for other base call "A"s, but also similar to cluster images for base call "C"s). Soft labels can be used to convey more information about the associated cluster images and are particularly useful for detecting boundaries between clusters within cluster images.

[0015] This application refers to the teacher base caller as the first base caller, the larger engine, and the larger model. This application refers to the student base caller as the second base caller, the smaller engine, and the smaller model. This application refers to hard labels as discrete-valued labels. This application refers to soft labels as continuously-valued weights. The student base caller can be used to perform sequencing operations in an online model where base calls are generated in real time on a cycle-by-cycle basis, such that the student base call processes incoming images for the current sequencing cycle and generates base calls for the current sequencing cycle, processes incoming images for the next sequencing cycle, and generates base calls for the next sequencing cycle, repeating this process.

[0016] Base Cola

[0017] This discussion begins with data processing by teacher base caller 110 and student base caller 124, which are trained to map sequencing images to base calls. In FIG. 7 , for purposes of illustrating data processing, base caller 730 represents both teacher base caller 110 and student base caller 124. However, student base caller 124 has fewer processing modules and parameters than teacher base caller 110. In one embodiment, one of the processing modules is a neural network layer. In one embodiment, one of the parameters is the interconnection between neural network layers. In one embodiment, one of the processing modules is a neural network filter. In one embodiment, one of the processing modules is a neural network kernel. In one embodiment, one of the parameters is a multiplication operation and an addition operation.

[0018] Base calling is the process of determining the nucleotide composition of a sequence. Base calling involves analyzing image data, i.e., sequencing images generated during sequencing reactions performed by sequencing instruments such as Illumina's iSeq, HiSeqX, HiSeq3000, HiSeq4000, HiSeq2500, NovaSeq6000, NextSeq, NextSeqDx, MiSeq, and MiSeqDx. The following discussion outlines how sequencing image data are generated and what they depict, according to one embodiment.

[0019] Base calling involves decoding the raw signal of the sequencing instrument, i.e., the intensity data extracted from the sequencing image, into nucleotide sequences. In one embodiment, the Illumina platform employs cyclic reversible termination (CRT) chemistry for base calling. This process relies on the growing emerging strand, complementary to the template strand, bearing fluorescently labeled nucleotides, while tracking the emission signal of each newly added nucleotide. Fluorescently labeled nucleotides have a 3' removable block that anchors the fluorophore signal of the nucleotide.

[0020] Sequencing is performed in iterative cycles, each of which involves three steps: (a) extending the emerging strand by adding fluorescently labeled nucleotides; (b) exciting the fluorophore with one or more lasers in the sequencing instrument's optics and imaging with different filters to generate a sequencing image; and (c) cleaving the fluorophore and removing the 3' block in preparation for the next sequencing cycle. The incorporation and imaging cycle is repeated for a specified number of sequencing cycles, defining the read length. Using this approach, each cycle interrogates a new position along the template strand.

[0021] The Illumina platform's power stems from its ability to simultaneously run and sense millions or even billions of samples (e.g., clusters) undergoing CRT reactions. Clusters contain approximately 1,000 identical copies of a template strand, but the clusters vary in size and shape. Clusters are grown from template strands by bridge amplification of the input library prior to sequencing. The purpose of amplification and cluster growth is to increase the intensity of the emitted signal, since imaging devices cannot reliably sense the fluorescent signal of a single strand. However, because the physical distance between strands within a cluster is small, imaging devices perceive a cluster of strands as a single spot.

[0022] Sequencing occurs in a flow cell, a small glass slide that holds the input strand. The flow cell is connected to an optical system that includes a microscope imager, excitation laser, and fluorescence filters. The flow cell contains multiple chambers called lanes. The lanes are physically separated from one another and may contain differently tagged sequencing libraries, allowing them to be distinguished without sample cross-contamination. The sequencing instrument's imaging device (e.g., a solid-state imager such as a charge-coupled device (CCD) or complementary metal-oxide-semiconductor (CMOS) sensor) takes snapshots at multiple locations along the lane in a series of non-overlapping regions called tiles. For example, there are 100 tiles per lane on the Illumina Genome Analyzer II and 68 tiles per lane in the Illumina HiSeq 2000. Tiles hold hundreds of thousands to millions of clusters.

[0023] The output of sequencing is a sequencing image showing the intensity emissions of each cluster and their surrounding background. The sequencing image shows the intensity emissions generated as a result of incorporating nucleotides into a sequence during sequencing. The intensity emissions are from the associated analytes and their surrounding background.

[0024] The following discussion is organized as follows: First, the input to base caller 730, according to one embodiment, is described. Then, an example of the structure and configuration of base caller 730 is provided. Finally, the output of base caller 730, according to one embodiment, is described.

[0025] Additional details regarding BaseCola 730 can be found in U.S. Provisional Patent Application No. 62 / 821,766, entitled "ARTIFICIAL INTELLIGENCE-BASED SEQUENCING," filed March 21, 2019 (Attorney Docket No. ILLM 1008-9 / IP-1752-PRV).

[0026] In one embodiment, image patches are extracted from the sequencing image. The extracted image patches are provided to base caller 730 as "input image data" 726 for base calling. The image patches have dimensions w x h, where w (width) and h (height) are any number ranging from 1 to 10,000 (e.g., 3 x 3, 5 x 5, 7 x 7, 10 x 10, 15 x 15, 25 x 25). In some embodiments, w and h are the same. In other embodiments, w and h are different.

[0027] Sequencing generates m images per sequencing cycle for m corresponding imaging channels. In one embodiment, each imaging channel corresponds to one of a plurality of filter wavelength bands. In another embodiment, each imaging channel corresponds to one of a plurality of imaging events in a sequencing cycle. In yet another embodiment, each imaging channel corresponds to a combination of illumination with a specific laser and imaging through a specific optical filter.

[0028] Image patches are extracted from each of the m images to prepare input image data 726 for a particular sequencing cycle. In different embodiments, such as 4-, 2-, and 1-channel chemistries, m is 4 or 2. In other embodiments, m is greater than 1, 3, or 4. The input image data 726 is in the optical pixel domain in some embodiments and in the upsampled sub-pixel domain in other embodiments.

[0029] For example, consider that sequencing uses two different image channels, i.e., a red channel and a green channel. Then, in each sequencing cycle, signal determination generates a red image and a green image. In this way, for a series of k sequencing cycles, a sequence having k pairs of red and green images is generated as output.

[0030] The input image data 726 includes a series of per-cycle image patches generated for a series of k sequencing cycles of the sequencing operation. The per-cycle image patches contain intensity data for associated analytes and their surrounding background in one or more image channels (e.g., red and green channels). In one embodiment, when a single target analyte (e.g., a cluster) is base called, the per-cycle image patch is centered on a central pixel that contains intensity data for the target-associated analyte and non-central pixels, and the non-central pixels in the per-cycle image patch contain intensity data for associated analytes neighboring the target-associated analyte.

[0031] The input image data 726 includes data from multiple sequencing cycles (e.g., a current sequencing cycle, one or more preceding sequencing cycles, and one or more consecutive sequencing cycles). In one embodiment, the input image data 726 includes data from three sequencing cycles, such that the current (time t) sequencing cycle data being base called is accompanied by (i) data from the left flanking / context / previous / preceding / previous (time t-1) sequencing cycle and (ii) data from the right flanking / context / next / consecutive / subsequent (time t+1) sequencing cycle. In other embodiments, the input image data 726 includes data from a single sequencing cycle. In yet other implementations, the input image data 726 includes data from 58, 75, 92, 130, 168, 175, 209, 225, 230, 275, 318, 325, 330, 525, or 625 sequencing cycles.

[0032] In one implementation, base caller 730 is a multilayer perceptron (MLP). In another implementation, base caller 730 is a feedforward neural network. In yet another implementation, base caller 730 is a fully-connected neural network. In a further implementation, base caller 730 is a fully convolutional neural network. In yet a further implementation, base caller 730 is a semantic segmentation neural network. In yet another further implementation, base caller 730 is a generative adversarial network (GAN).

[0033] In one embodiment, base caller 730 is a convolutional neural network (CNN) with multiple convolutional layers. In another embodiment, it is a recurrent neural network (RNN), such as a long short-term memory network (LSTM), a bidirectional LSTM (Bi-LSTM), or a gated recurrent unit (GRU). In yet another embodiment, it includes both a CNN and an RNN.

[0034] In yet other implementations, the base caller 730 can use 1D convolution, 2D convolution, 3D convolution, 4D convolution, 5D convolution, dilated or expanded convolution, transposed convolution, depth-separable convolution, pointwise convolution, 1x1 convolution, group convolution, flattened convolution, spatial and cross-channel convolution, shuffled grouped convolution, spatially separable convolution, and deconvolution. It can use one or more loss functions such as logistic regression / logarithmic loss, multi-class cross-entropy / softmax loss, binary cross-entropy loss, mean squared error loss, L1 loss, L2 loss, smoothed L1 loss, and Huber loss. It can use any parallel, efficient, and compression scheme, such as TFRecords, compression encoding (e.g., PNG), sharpening, parallel calls to map transforms, batching, prefetching, model parallelism, data parallelism, and synchronous / asynchronous stochastic gradient descent (SGD). It can include nonlinear transformation functions, such as upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (e.g., LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, Pejol connections, activation functions (e.g., nonlinear transformation functions such as rectified linear unit (ReLU), leaky ReLU, exponential linear unit (ELU), sigmoid, and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or mean pooling), global mean pooling layers, and attention mechanisms.

[0035] In one embodiment, base caller 730 outputs a base call for a single target analyte in a particular sequencing cycle. In another embodiment, it outputs a base call for each target analyte within a plurality of target analytes in a particular sequencing cycle. In yet another embodiment, it outputs a base call for each target analyte within a plurality of target analytes in each sequencing cycle within a plurality of sequencing cycles, thereby generating a base call sequence for each target analyte.

[0036] In one embodiment, sequencing images 704, 714 from a current (time t) sequencing cycle are accompanied by sequencing images 702, 712 from a preceding (time t-1) sequencing cycle and sequencing images 706, 716 from a subsequent (time t+1) sequencing cycle. Base caller 730, according to one embodiment, processes sequencing images 702, 712, 704, 714, 706, and 716 through its convolutional layers to generate alternative representations. The alternative representations are then used by an output layer (e.g., a softmax layer) to generate base calls for either the current (time t) sequencing cycle alone or each of the sequencing cycles, i.e., the current (time t) sequencing cycle, the preceding (time t-1) sequencing cycle, and the subsequent (time t+1) sequencing cycle. The resulting base calls 732 form a sequencing read.

[0037] In one embodiment, patch extraction process 724 extracts patches from sequencing images 702, 712, 704, 714, 706, and 716 to generate input image data 726. The extracted image patches in input image data 726 are then provided as input to base caller 730.

[0038] The teacher-based collaborators 110 and student-based collaborators 124 are trained using backpropagation-based gradient update techniques. Some types of gradient descent techniques that can be used to train the teacher-based collaborators 110 and student-based collaborators 124 are stochastic gradient descent, batch gradient descent, and mini-batch gradient descent. Some examples of gradient descent optimization algorithms that can be used to train the teacher-based collaborators 110 and student-based collaborators 124 are Momentum, Nestorv accelerated gradient methods, Adagrad, Adadelta, RMSprop, Adam, AdaMax, Nadam, and AMSGrad.

[0039] Knowledge Distillation

[0040] FIG. 1 illustrates various aspects of using the disclosed knowledge distillation for artificial intelligence-based base calling. Train a supervised collaborator on training data using "hard labels". Apply the trained supervised code to the inference data to generate "soft labels." Train the student-based collaborator using training data that uses a "combination" of hard and soft labels, i.e., "hybrid" ground truth data.

[0041] The student-based coder 124 has fewer processing modules and parameters than the teacher-based coder 110. In one embodiment, one of the processing modules is a neural network layer. In one embodiment, one of the parameters is the interconnections between the neural network layers. In one embodiment, one of the processing modules is a neural network filter. In one embodiment, one of the processing modules is a neural network kernel. In one embodiment, one of the parameters is a multiplication operation and an addition operation.

[0042] Train Teacher Base Cola

[0043] During training 102, a teacher-based choreographer 110 is trained with training data including a set of first cluster images 104. The set of first cluster images 104 is annotated with ground truth data using discrete-value labels 108.

[0044] In one embodiment, the cluster images 106 are annotated with discrete-valued labels 108 that are one-hot encoded with a value of 1 for correct bases and a value of zero for incorrect bases. Below is an example of one-hot encoding for four nucleotide bases: [Table 1]

[0045] 2A illustrates one implementation of training 200A, in which a first set of cluster images 104 annotated with first ground truth data 214 is used to train a supervised base caller 110 to identify correct base calls using discrete-valued labels 216 (one-hot encoding 218). During forward propagation 206, the input to the supervised base caller 110 is cluster image 202, which shows the intensities of clusters 204A, 204B, 204C, and 204D and their surrounding background.

[0046] In one embodiment, the cluster image 202 is accompanied by auxiliary data 224, such as a distance channel and a scaling channel. Additional details regarding the auxiliary data 224 can be found in U.S. Provisional Patent Application No. 62 / 821,766, entitled "ARTIFICIAL INTELLIGENCE-BASED SEQUENCING," filed March 21, 2019 (Attorney Docket No. ILLM 1008-9 / IP-1752-PRV).

[0047] In response to processing cluster image 202, supervised base caller 110 generates output 208. Based on output 208, base call prediction 210 is performed that identifies the confidence scores assigned by supervised base caller 110 to each of the bases A, C, T, and G.

[0048] An error 212 is then calculated between the base call prediction 210 and the discrete-valued label 216, for example, in one-hot encoding 218, i.e., [1,0,0,0]. Backpropagation 220 updates the weights and parameters of the teacher base call 110 based on the error 212.

[0049] This process is repeated until the teacher base caller 110 converges to the desired base calling accuracy on the validation dataset. Training is performed by the trainer 222 using a backpropagation-based gradient update technique (such as that described above).

[0050] In another embodiment, referred to herein as "softened one-hot encoding," the cluster images 106 are annotated with discrete-valued labels 108 having values ​​close to one for correct bases and values ​​close to zero for incorrect bases. Below is an example of softened one-hot encoding for four nucleotide bases: [Table 2]

[0051] 2B illustrates another implementation of training 200B, in which a first set of cluster images 104 annotated with first ground truth data 226 is used to train a supervised base caller 110 to identify correct base calls using discrete-valued labels 216 (softened one-hot encoding 228). Here, the error 212 is calculated between the base call predictions 210 and the softened one-hot encoding 228, i.e., [0.95, 0.02, 0.017, 0.013].

[0052] Soft Label Generation

[0053] During inference 112, the trained supervised base caller 110 is applied to inference data including a set of second cluster images 114. The trained supervised base caller 110 processes the set of second cluster images 114 and generates base call predictions as output. The base call predictions are represented by continuously valued weights 118 (soft labels) that identify the predicted base calls. The continuously valued weights 118 are part of the probability distribution of the correct bases, which are adenine (A), cytosine (C), thymine (T), and guanine (G). In one embodiment, the continuously valued weights 118 are softmax scores, i.e., posterior probabilities.

[0054] In one embodiment, cluster image 116 is provided as input to trained teacher-based caller 110. In response, trained teacher-based caller 110 generates exponentially normalized likelihoods of the bases being assembled into the cluster represented by cluster image 116 in the current sequencing cycle, which are A, C, T, and G.

[0055] The following is an example of continuously valued weights 118: [Table 3]

[0056] 3 shows one embodiment of application 300 of trained supervised base caller 110 on a second set of cluster images 114 to generate base call predictions 312 represented by continuously valued weights 310. During forward propagation 306, the input to trained supervised base caller 110 is cluster images 302 showing the intensities of clusters 304A, 304B, 304C, and 304D and their surrounding background. In one embodiment, cluster images 302 are accompanied by auxiliary data 316, such as a distance channel and a scaling channel.

[0057] In response to processing cluster image 302, trained supervised base caller 110 generates output 308. Based on output 308, base call predictions 310 are generated that identify the confidence scores assigned by trained supervised base caller 110 to each of bases A (0.175), C (0.024), T (0.475), and G (0.326). These confidence scores are represented as continuous values, i.e., continuously valued weights 310.

[0058] This process is repeated across multiple images in the second set of cluster images 114, such that a set of continuously valued weights is generated for each evaluated cluster image. The evaluation can be performed (implemented) by a tester 314.

[0059] Generating Hybrid Ground Truth Data

[0060] 4A and 4B are diagrams illustrating one implementation of so-called "hybrid ground truth data" generation 400A and 400B using a combination of discrete-valued labels 216 and continuously-valued weights 310.

[0061] In one embodiment, the discrete-valued labels 216 and the continuously-valued weights 310 are accessed for the same cluster image 302 and combined to generate hybrid ground truth data for the cluster image 302. In some embodiments, the discrete-valued labels 216 are summed 402 with the continuously-valued weights 310. In other embodiments, the discrete-valued labels 216 are multiplied with the continuously-valued weights 310. In some other embodiments, the discrete-valued labels 216 are concatenated with the continuously-valued weights 310.

[0062] In one embodiment, the discrete-valued labels 216 and continuously-valued weights 310 are combined on a class-by-class basis, i.e., the discrete-valued labels for base call A are summed, multiplied, or concatenated with the continuously-valued weight for base call A, the discrete-valued labels for base call C are summed, multiplied, or concatenated with the continuously-valued weight for base call C, the discrete-valued labels for base call T are summed, multiplied, or concatenated with the continuously-valued weight for base call T, and the discrete-valued labels for base call G are summed, multiplied, or concatenated with the continuously-valued weight for base call G.

[0063] In some implementations, before being combined with the discrete-valued labels 216, the continuously-valued weights 310 are modified using a modification parameter (λ) 404. In one implementation, the modification parameter (λ) 404 is iteratively learned based on the performance of the student base chorus 124 via a validation data set. After the modification parameter (λ) 404 is applied to the continuously-valued weights 310, the result is modified continuously-valued weights 406.

[0064] In one implementation, the discrete-valued labels 216 are combined with the modified, continuously-valued weights 406 to generate unnormalized ground truth data 408 for the cluster images 302. The unnormalized ground truth data 408 is then normalized to generate normalized ground truth data 412 for the cluster images 302. In some implementations, an exponential normalizer 410 (e.g., softmax) is used to generate the normalized ground truth data 412.

[0065] In one embodiment, the unnormalized ground truth data 408 is considered to be hybrid ground truth data 414 for the cluster images 302. In another embodiment, the normalized ground truth data 412 is considered to be hybrid ground truth data 416 for the cluster images 302.

[0066] Train Student Base Cola

[0067] During training 120, a student base caller 124 is trained with training data including the second set of cluster images 114. The second set of cluster images 114 is annotated with ground truth data 414 / 416 that identifies the correct base calls based on (i) the discrete-valued labels 122 and (ii) the continuously-valued weights 118.

[0068] 5 is a diagram of one implementation of training a student base caller 124 using a second set of cluster images 114 annotated with hybrid ground truth data 414 / 416 that identifies correct base calls based on discrete-valued labels 216 and continuously-valued weights 310. During forward propagation 506, the input to the student base caller 124 is cluster images 302 showing the intensities of clusters 304A, 304B, 304C, and 304D and their surrounding background. In one implementation, the cluster images 302 are accompanied by auxiliary data 316, such as a distance channel and a scaling channel.

[0069] In response to processing cluster image 302, student base caller 124 generates output 508. Based on output 508, base call prediction 510 is made that identifies the confidence scores assigned by student base caller 124 to each of the bases A, C, T, and G.

[0070] An error 512 is then calculated between the base call predictions 510 and the hybrid ground truth data 414 / 416. Backpropagation 514 updates the weights and parameters of the student base call 124 based on the error 512.

[0071] This process is repeated until the student basecaller 124 converges to the desired basecalling accuracy on the validation dataset. Training is operable (implemented) by the trainer 222 using a backpropagation-based gradient update technique (such as that described above).

[0072] Apply trained student-based collaborators

[0073] During inference 126, trained student base caller 124 is applied to inference data including set of third cluster images 128. Trained student base caller 124 processes set of third cluster images 128 and produces base call predictions 126 as output.

[0074] In one embodiment, cluster image 130 is provided as input to trained student base caller 124. In response, trained student base caller 124 generates exponentially normalized likelihoods of bases incorporated into the cluster represented by cluster image 130 in the current sequencing cycle, which are A, C, T, and G.

[0075] 6 illustrates one embodiment of application 600 of trained student base caller 124 on a third set of cluster images 128 to generate base call predictions 610. During forward propagation 606, the input to trained student base caller 124 is cluster image 602, which shows the intensities of clusters 604A, 604B, and 604C and their surrounding background. In one embodiment, cluster image 602 is accompanied by auxiliary data 612, such as a distance channel and a scaling channel.

[0076] In response to processing cluster image 602, trained student base caller 124 generates output 608. Based on output 608, base call predictions 610 are generated that identify the confidence scores assigned by trained student base caller 124 to each of bases A (0.1), C (0.1), T (0.2), and G (0.6).

[0077] This process is repeated across multiple images in the third set of cluster images 128, such that a base call prediction is generated for each evaluated cluster image. The evaluation can be performed (implemented) by the tester 314.

[0078] Technical Effects / Advantages

[0079] The teacher-student approach to moving highly trained models from resource-rich platforms to compact platforms offers significant technological advantages. The disclosed techniques effectively shrink the model and the execution time and resources required to analyze a particular input.

[0080] The degree of shrinkage is substantial for almost all ratios. Figures 16-17 show a reduction in filter depth from 64 to 14. The reduced model (smaller student-based code) has 21.9 percent fewer filters than the larger model (larger teacher-based code) on a resource-rich platform. The parameter reduction is more dramatic, with a nearly quadratic relationship as filter depth is reduced. Figures 16-17 show a reduction in the number of trainable parameters from 250,060 to only 12,710. The shrunken model has 5.1 percent fewer trainable parameters than the larger model. In terms of execution resources, a 20x reduction in computational resources allows core calculations to be performed simultaneously, and the amount of computation scales nearly linearly with the number of parameters, so a 5.1% reduction in the number of parameters requires 5.1% more computation to process the same input. Memory usage is also reduced.

[0081] The required resources can be reduced, at least when using commercially available computational accelerators, such as Xilinx FPGAs. FPGAs typically have limited on-board memory and programmable footprints. The model in Figure 16 does not run on commercially available FPGA products such as the Xilinx Alveo U200, Xilinx Alveo U250, Xilinx Alveo U280, Intel / Altera Stratix GX2800, Intel / Altera Stratix GX2800, and Intel Stratix GX10M, but the model in Figure 17 does.

[0082] This reduces the required resources and execution time without compromising the accuracy of the results. Figure 18 shows the results achieved by running the reduced model against the larger model. For all models, the error rate increases noticeably as the error accumulates over multiple cycles. After 120 cycles, the error rate for the larger model increases to a maximum of 0.2% (0.002 error rate).

[0083] A new class of compact machines can produce results at a lower cost than machines with sufficient resources to run large models. Results are available in real time, rather than delayed by server-based computation. The technological improvements are clear.

[0084] Figure 16 shows one implementation of a large supervised-based chore with a total number of parameters of 251,220. The larger supervised-based chore has convolutional layers containing 64 filters per convolutional layer.

[0085] Figure 17 illustrates one implementation of a smaller student-based collaborator with a total number of parameters of 12,970, distilled from the larger teacher-based collaborator of Figure 16 using the disclosed techniques. The smaller student-based collaborator has convolutional layers containing 14 filters per convolutional layer.

[0086] As shown in Figure 17, the smaller student-based chorus has approximately 5.1% of the total parameters compared to the larger teacher-based chorus. In another embodiment, when the larger teacher-based chorus includes an ensemble of larger teacher-based chorus, the smaller student-based chorus has approximately 1%-3% of the total parameters as the ensemble of larger teacher-based chorus in the larger teacher-based chorus. This significant reduction in the total number of model parameters makes the smaller student-based chorus well suited for execution on on-chip processors such as FPGAs, GPUs, ASICs, and CGRAs.

[0087] Figure 18 illustrates the base calling performance of a smaller student base chore relative to the base calling performance of a larger teacher base chore. The y-axis represents the base calling error rate (% error), and the x-axis represents the sequencing cycles of the sequencing run. The purple line represents the larger teacher base chore, which includes an ensemble of four larger teacher base chores with 64 convolution filters per convolution layer. The cyan line represents the smaller student base chore, which includes 14 convolution filters per convolution layer. The smaller student base chore (cyan line) is distilled from the larger teacher base chore (purple line) using the disclosed techniques.

[0088] As shown, the smaller student base caller (cyan line) has a base calling error rate close to that of the larger teacher base caller (purple line) with an ensemble of four larger teacher base callers. Thus, the technical advantage and technical effect of the disclosed technology is that the smaller student base caller has a much smaller computational footprint than the larger teacher base caller, yet is comparable / comparable in base calling accuracy. This enables efficient execution of the smaller student base caller during inference on on-chip processors such as FPGAs, GPUs, ASICs, and CGRAs. This also improves base calling speed and reduces latency. This also leads to savings in computational resources.

[0089] More importantly, the student model, which is a distilled version of the teacher model, outperforms another model of the same architecture trained independently, rather than using coefficients derived from the teacher model.

[0090] Sequencing System

[0091] 8A and 8B illustrate one embodiment of a sequencing system 800A. The sequencing system 800A includes a configurable processor 846. The configurable processor 846 implements the base calling techniques disclosed herein. A sequencing system is also referred to as a "sequencer."

[0092] Sequencing system 800A can obtain any information or data related to at least one of biological or chemical substances. In some embodiments, sequencing system 800A is a workstation, which can be similar to a benchtop device or desktop computer. For example, most (or all) of the systems and components for performing the desired reactions can be within a common housing 802.

[0093] In certain embodiments, the sequencing system 800A is a nucleic acid sequencing system configured for various applications, including, but not limited to, de novo sequencing, whole genome or targeted genomic region resequencing, and metagenomics. The sequencer may also be used for DNA or RNA analysis. In some embodiments, the sequencing system 800A may also be configured to generate reaction sites within a biosensor. For example, the sequencing system 800A may be configured to receive a sample and generate surface-bound clusters of clonally amplified nucleic acids from the sample. Each cluster may constitute or be part of a reaction site within a biosensor.

[0094] The exemplary sequencing system 800A may include a system receptacle or interface 810 configured to interact with a biosensor 812 to effect a desired reaction within the biosensor 812. In the following description with respect to FIG. 8A , the biosensor 812 is loaded into the system receptacle 810. However, it is understood that a cartridge containing the biosensor 812 may be inserted into the system receptacle 810, and that in some conditions the cartridge may be temporarily or permanently removed. As discussed above, the cartridge may include, among other things, fluid control and fluid storage components.

[0095] In certain embodiments, the sequencing system 800A is configured to perform multiple parallel reactions within the biosensor 812. The biosensor 812 includes one or more reaction sites where desired reactions can occur. The reaction sites may be immobilized, for example, on a solid surface of the biosensor or on beads (or other movable substrates) located within corresponding reaction chambers of the biosensor. The reaction sites may include, for example, clusters of clonally amplified nucleic acids. The biosensor 812 may include a solid-state imaging device (e.g., a CCD or CMOS imager) and a flow cell attached thereto. The flow cell may include one or more flow paths that receive solutions from the sequencing system 800A and direct the solutions toward the reaction sites. Optionally, the biosensor 812 may be configured to engage a thermal element for transferring thermal energy into and out of the flow paths.

[0096] Sequencing system 800A may include various components, assemblies, and systems (or subsystems) that interact with each other to perform a predetermined method or assay protocol for biological or chemical analysis. For example, sequencing system 800A includes a system controller 806 that may communicate with the various components, assemblies, and subsystems of sequencing system 800A and also includes biosensor 812. For example, in addition to system receptacle 810, sequencing system 800A may also include a fluid control system 808 for controlling fluid flow throughout the fluidic network of sequencing system 800A and biosensor 812, a fluid reservoir system 814 configured to hold any fluids (e.g., fluids, gases, or liquids) that may be used by the bioassay system, a temperature control system 804 that may regulate the temperature of the fluids in the fluidic network, fluid reservoir system 814, and / or biosensor 812, and an illumination system 816 configured to illuminate biosensor 812. As mentioned above, when a cartridge having a biosensor 812 is loaded into the system receptacle 810, the cartridge may also include fluid control and fluid storage components.

[0097] Sequencing system 800A may also include a user interface 818 for interacting with a user. For example, user interface 818 may include a display 820 for displaying or requesting information from a user and a user input device 822 for receiving user input. In some embodiments, display 820 and user input device 822 are the same device. For example, user interface 818 may include a touch-sensitive display configured to detect the presence of an individual touch and identify the location of the touch on the display. However, other user input devices 822, such as a mouse, touchpad, keyboard, keypad, handheld scanner, voice recognition system, motion recognition system, etc., may also be used. As described in more detail below, sequencing system 800A may communicate with various components, including biosensor 812 (e.g., in the form of a cartridge), to perform desired reactions. Sequencing system 800A may also be configured to analyze data obtained from the biosensor to provide desired information to a user.

[0098] The system controller 806 comprises a microcontroller, a reduced instruction set computer (RISC), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a coarse-grained reconfigurable architecture (CGRA), a logic circuit, and any other circuit or processor capable of performing the functions described herein. The above examples are merely illustrative and thus are not intended to limit the definition and / or meaning of the term system controller. In an exemplary embodiment, the system controller 806 executes a set of instructions stored in one or more storage elements, memories, or modules to at least one of acquire and analyze detection data. The detection data can include multiple sequences of pixel signals, thereby allowing sequences of pixel signals from each of millions of sensors (or pixels) to be detected over many base call cycles. The storage elements may be in the form of information sources or physical memory elements within the sequencing system 800A.

[0099] The instruction set may include various commands that instruct the sequencing system 800A or biosensor 812 to perform specific operations, such as the methods and processes of various embodiments described herein. The instruction set may be in the form of a software program, which may form part of a tangible, non-transitory computer-readable medium or media. As used herein, the terms "software" and "firmware" are used interchangeably and include any computer program stored in memory executed by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above memory types are exemplary only and thus not limiting of the types of memory that may be used to store a computer program.

[0100] The software may be in various forms, such as system software or application software. Furthermore, the software may be in the form of a collection of separate programs, or a program module or portion of a program module within a larger program. The software may also include modular programming in the form of object-oriented programming. After acquiring the detection data, the detection data may be processed automatically by the sequencing system 800A in response to user input, or in response to a request made by another processing machine (e.g., a remote request via a communications link). In the illustrated embodiment, the system controller 806 includes an analysis module 844. In other embodiments, the system controller 806 does not include the analysis module 844 but instead has access to the analysis module 844 (e.g., the analysis module 844 may be separately hosted on the cloud).

[0101] The system controller 806 may be connected to the biosensor 812 and other components of the sequencing system 800A via a communication link. The system controller 806 may also be communicatively connected to an off-site system or server. The communication link may be a wire, a cord, or wireless. The system controller 806 may receive user input or commands from a user interface 818 and a user input device 822.

[0102] The fluid control system 808 includes a fluid network and is configured to direct the flow of one or more fluids through the fluid network. The fluid network may be in fluid communication with a biosensor 812 and a fluid storage system 814. For example, fluid may be selected from the fluid storage system 814 and directed to the biosensor 812 in a controlled manner, or fluid may be drawn from the biosensor 812 and directed, for example, to a waste reservoir within the fluid storage system 814. Although not shown, the fluid control system 808 may include a flow sensor that detects the flow rate or pressure of the fluid within the fluid network. The sensor may be in communication with the system controller 806.

[0103] The temperature control system 804 is configured to regulate the temperature of fluids in different regions of the fluid network, the fluid reservoir system 814, and / or the biosensor 812. For example, the temperature control system 804 may include a thermal circulator that interacts with the biosensor 812 and controls the temperature of fluids flowing along reaction sites within the biosensor 812. The temperature control system 804 may also regulate the temperature of solid elements or components of the sequencing system 800A or the biosensor 812. Although not shown, the temperature control system 804 may include sensors for detecting the temperature of the fluids or other components. The sensors may be in communication with the system controller 806.

[0104] The fluid storage system 814 is in fluid communication with the biosensor 812 and may store various reaction components or reactants used to carry out a desired reaction. The fluid storage system 814 may also store fluids for washing or cleaning the fluidic network and biosensor 812 and for diluting reactants. For example, the fluid storage system 814 may include various reservoirs for storing samples, reagents, enzymes, other biomolecules, buffers, aqueous, and non-polar solutions, etc. Additionally, the fluid storage system 814 may also include a waste reservoir for receiving waste from the biosensor 812. In embodiments that include a cartridge, the cartridge may include one or more of a fluid storage system, a fluid control system, or a temperature control system. Accordingly, one or more of the components described herein for these systems may be contained within the cartridge housing. For example, the cartridge may have various reservoirs for storing samples, reagents, enzymes, other biomolecules, buffers, aqueous, and non-polar solutions, waste, etc. Thus, one or more of the fluid reservoir system, fluid control system, or temperature control system may be removably engaged with the bioassay system via a cartridge or other biosensor.

[0105] The illumination system 816 may include a light source (e.g., one or more light-emitting diodes (LEDs)) and multiple optical components for illuminating the biosensor. Examples of light sources include lasers, arc lamps, LEDs, or laser diodes. The optical components may be, for example, reflectors, polarizers, beam splitters, collimators, lenses, filters, wedges, prisms, mirrors, detectors, etc. In embodiments using an illumination system, the illumination system 816 may be configured to direct excitation light toward the reaction sites. As an example, a fluorophore may be excited by a green wavelength of light, and therefore the wavelength of the excitation light may be approximately 532 nm. In one embodiment, the illumination system 816 is configured to generate illumination parallel to the surface normal of the surface of the biosensor 812. In another embodiment, the illumination system 816 is configured to generate illumination that is off-angled relative to the surface normal of the surface of the biosensor 812. In yet another embodiment, the illumination system 816 is configured to generate illumination having multiple angles, including some parallel illumination and some off-angle illumination.

[0106] The system receptacle or interface 810 is configured to engage the biosensor 812 in at least one of mechanical, electrical, and fluidic ways. The system receptacle 810 can hold the biosensor 812 in a desired orientation to facilitate fluid flow through the biosensor 812. The system receptacle 810 can also include electrical contacts configured to engage the biosensor 812 so that the sequencing system 800A can communicate with and / or provide power to the biosensor 812. Additionally, the system receptacle 810 can include a fluid port (e.g., a nozzle) configured to engage the biosensor 812. In some embodiments, the biosensor 812 is removably coupled to the system receptacle 810 both electrically and fluidically.

[0107] Additionally, the sequencing system 800A may communicate remotely with other systems or networks, or with other bioassay systems 800A. Detection data obtained by the bioassay system 800A may be stored in a remote database.

[0108] FIG. 8B is a block diagram of a system controller 806 that can be used in the system of FIG. 8A. In one embodiment, the system controller 806 includes one or more processors or modules that can communicate with each other. Each of the processors or modules may include algorithms (e.g., instructions stored on a tangible and / or non-transitory computer-readable storage medium) or sub-algorithms for performing a particular process. While the system controller 806 is conceptually illustrated as a collection of modules, it may also be implemented using any combination of dedicated hardware boards, DSPs, processors, etc. Alternatively, the system controller 806 may be implemented using an off-the-shelf PC with a single processor or multiple processors, with functional operations distributed among the processors. As a further option, the modules described below may be implemented using a hybrid configuration in which certain modular functions are implemented using dedicated hardware, while remaining modular functions are implemented using an off-the-shelf PC, etc. The modules may also be implemented as software modules within a processing unit.

[0109] During operation, the communication port 850 may transmit information (e.g., commands) to the biosensor 812 (FIG. 8A) and / or the subsystems 808, 814, 804 (FIG. 8A). In an embodiment, the communication port 850 may output multiple arrays of pixel signals. The communication link 834 may receive user input from the user interface 818 (FIG. 8A) and transmit data or information to the user interface 818. Data from the biosensor 812 or the subsystems 808, 814, 804 may be processed in real time by the system controller 806 during a bioassay session. Additionally or alternatively, the data may be temporarily stored in system memory during a bioassay session and processed at a slower rate than in real time or for offline operation.

[0110] As shown in FIG. 8B, the system controller 806 may include multiple modules 828-844 in communication with a main control module 824 along with a central processing unit (CPU) 852. The main control module 824 may be in communication with a user interface 818 (FIG. 8A). While the modules 828-844 are shown in direct communication with the main control module 824, the modules 828-844 may also be in direct communication with each other, the user interface 818, and the biosensor 812. The modules 828-844 may also be in communication with the main control module 824 through other modules.

[0111] The plurality of modules 828-844 includes system modules 828-832, 826 that communicate with subsystems 808, 814, 804, and 816, respectively. The fluid control module 828 may communicate with the fluid control system 808 to control valves and flow sensors in the fluid network to control the flow of one or more fluids through the fluid network. The fluid storage module 830 may notify a user when fluid is low or when a waste reservoir is at or near full capacity. The fluid storage module 830 may also communicate with a temperature control module 832 so that fluids can be stored at a desired temperature. The illumination module 826 may communicate with the illumination system 816 to illuminate reaction sites at specified times during a protocol, such as after a desired reaction (e.g., a binding event) has occurred. In some embodiments, the illumination module 826 may communicate with the illumination system 816 to illuminate the reaction sites at a specified angle.

[0112] The plurality of modules 828-844 may also include an instrument module 836 that communicates with the biosensor 812 and an identification module 838 that determines identification information associated with the biosensor 812. The instrument module 836 may, for example, communicate with the system container 810 to confirm that the biosensor has established electrical and fluidic connectivity with the sequencing system 800A. The identification module 838 may receive a signal that identifies the biosensor 812. The identification module 838 may use the identification information of the biosensor 812 to provide other information to a user. For example, the identification module 838 may determine and subsequently display the lot number, manufacturing date, or a recommended protocol for operating the biosensor 812.

[0113] The plurality of modules 828-844 also includes an analysis module 844 (also referred to as a signal processing module or signal processor) that receives and analyzes signal data (e.g., image data) from the biosensor 812. The analysis module 844 includes memory (e.g., RAM or flash) for storing the detection / image data. The detection data can include multiple sequences of pixel signals, whereby sequences of pixel signals from each of millions of sensors (or pixels) can be detected over many base call cycles. The signal data can be stored for subsequent analysis or transmitted to the user interface 818 to display desired information to a user. In some embodiments, the signal data can be processed by a solid-state image sensor (e.g., a CMOS image sensor) before the analysis module 844 receives the signal data.

[0114] Analysis module 844 is configured to acquire image data from the photodetector in each of a plurality of sequencing cycles. The image data is derived from the luminescence signals detected by the photodetector, and processes the image data for each of the plurality of sequencing cycles via student base caller 124 to generate base calls for at least some of the analytes in each of the plurality of sequencing cycles. The photodetector may be part of one or more overhead cameras (e.g., a CCD camera in an Illumina GAIIx that takes images of the clusters on biosensor 812 from above) or may be part of biosensor 812 itself (e.g., a CMOS image sensor in an Illumina iSeq that is below the clusters on biosensor 812 and takes images of the clusters from the bottom).

[0115] The output of the photodetectors is a sequencing image showing the intensity emissions of each cluster and their surrounding background. The sequencing image shows the intensity emissions generated as a result of incorporating nucleotides into a sequence during sequencing. The intensity emissions are from the associated analytes and their surrounding background. The sequencing image is stored in memory 848.

[0116] Protocol modules 840 and 842 communicate with main control module 824 to control the operation of subsystems 808, 814, and 804 in implementing a predetermined assay protocol. Protocol modules 840 and 842 may include instruction sets for instructing sequencing system 800A to perform specific operations according to a predetermined protocol. As shown, a protocol module may be a sequencing-by-synthesis (SBS) module 840 configured to issue various commands to execute a sequencing-by-synthesis process. In SBS, the extension of nucleic acid primers along a nucleic acid template is monitored to determine the sequence of nucleotides in the template. The underlying chemical process may be polymerization (e.g., catalyzed by a polymerase enzyme) or ligation (e.g., catalyzed by a ligase enzyme). In certain polymer-based SBS embodiments, fluorescently labeled nucleotides are added to primers (thereby extending the primers) in a template-dependent manner, such that detection of the order and type of nucleotides added to the primers can be used to determine the sequence of the template. For example, to initiate the first SBS cycle, one or more labeled nucleotides, DNA polymerase, etc. can be delivered into / through a flow cell containing an array of nucleic acid templates. The nucleic acid templates may be located at corresponding reaction sites. Primer extension can detect incorporated labeled nucleotides through an imaging event, and these reaction sites can be detected. During the imaging event, an illumination system 816 can provide excitation light to the reaction sites. Optionally, the nucleotides can further include a reversible termination feature that terminates further primer extension once the nucleotide is added to the primer. For example, a nucleotide analog with a reversible terminator moiety can be added to the primer to prevent further extension until a deblocking agent is delivered to remove the moiety. Thus, in another embodiment using reversible termination, a command can be given to deliver a deblocking reagent to the flow cell (either before or after detection).One or more commands can be given to effect wash(s) between the various delivery steps. By repeating this cycle n times, the primer is extended by n nucleotides, thereby allowing a sequence of length n to be detected. Exemplary sequencing techniques are described, for example, in Bentley et al., Nature 456:53-59 (2008), WO 04 / 018497, U.S. Pat. No. 7,057,026, WO 91 / 06678, WO 07 / 123744, U.S. Pat. No. 7,329,492, U.S. Pat. No. 7,211,414, U.S. Pat. No. 7,315,019, U.S. Pat. No. 7,405,281, and U.S. Pat. No. 2008 / 014708082, each of which is incorporated herein by reference.

[0117] In the nucleotide delivery step of the SBS cycle, any single type of nucleotide can be delivered at a time, or multiple different nucleotide types (e.g., A, C, T, and G) can be delivered. In nucleotide delivery configurations where only a single type of nucleotide is present at a time, different nucleotides do not need to have distinct labels because they can be distinguished based on the temporal separation inherent in individualized delivery. Thus, a sequencing method or device can use single-color detection. For example, the excitation source only needs to provide excitation at a single wavelength or a single wavelength range. In nucleotide delivery configurations where delivery results in multiple different nucleotides being present in the flow cell at a given time, the sites at which different nucleotide types incorporate can be distinguished based on the different fluorescent labels attached to each nucleotide type in the mixture. For example, four different nucleotides, each bearing one of four different fluorophores, can be used. In one embodiment, four different fluorophores can be distinguished using excitation in four different regions of the spectrum. For example, four different excitation radiation sources can be used. Alternatively, fewer than four different excitation sources can be used, but optical filtering of the excitation radiation from a single source can be used to generate different excitation radiation ranges in the flow cell.

[0118] In some embodiments, fewer than four different colors can be detected in a mixture having four different nucleotides. For example, pairs of nucleotides can be detected at the same wavelength but can be distinguished based on differences in intensity for one member of the pair, or based on a change to one member of the pair (e.g., via chemical modification, photochemical modification, or physical modification) that causes a distinct signal to appear or disappear compared to the signal detected for the other member of the pair. Exemplary devices and methods for distinguishing four different nucleotides using detection of fewer than four colors are described, for example, in U.S. Patent Application Nos. 61 / 538,294 and 61 / 619,878, which are incorporated by reference in their entireties. U.S. Patent Application No. 13 / 624,200, filed September 21, 2012, is incorporated by reference in its entirety.

[0119] The multiple protocol modules may also include a sample preparation (or generation) module 842 configured to issue commands to the fluidic control system 808 and the temperature control system 804 to amplify the product in the biosensor 812. For example, the biosensor 812 may be coupled to a sequencing system 800A. The amplification module 842 can issue instructions to the fluidic control system 808 to deliver the necessary amplification components to a reaction chamber in the biosensor 812. In other embodiments, the reaction site may already contain some components for amplification, such as template DNA and / or primers. After delivering the amplification components to the reaction chamber, the amplification module 842 can instruct the temperature control system 804 to cycle through different temperature steps according to a known amplification protocol. In some embodiments, amplification and / or nucleotide incorporation is performed isothermally.

[0120] The SBS module 840 can issue commands to perform bridge PCR, in which clusters of clonal amplicons are formed over localized regions within the flow cell channel. After generating amplicons via bridge PCR, the amplicons may be "linearized" to create single-stranded template DNA, and sstDNA and sequencing primers may be hybridized to universal sequences flanking the region of interest. For example, reversible terminator-based sequencing by synthesis methods can be used, as described above or as follows.

[0121] Each base calling or sequencing cycle can extend the sstDNA by a single base, which can be achieved, for example, by using a modified DNA polymerase and a mixture of four types of nucleotides. Different types of nucleotides can have unique fluorescent labels, and each nucleotide can further have a reversible terminator that allows only a single base to be incorporated in each cycle. After a single base is added to the sstDNA, excitation light can be incident on the reaction site and fluorescence emission can be detected. After detection, the fluorescent label and terminator can be chemically cleaved from the sstDNA. Another similar base calling or sequencing cycle can be as follows: In such a sequencing protocol, the SBS module 840 can instruct the fluid control system 808 to direct the flow of reagent and enzyme solutions through the biosensor 812. Exemplary reversible terminator-based SBS methods that can be utilized with the devices and methods described herein are described in U.S. Patent Application Publication No. 2007 / 0166705(A1), U.S. Patent Application Publication No. 2006 / 0188901(A1), U.S. Patent No. 7,057,026, U.S. Patent Application Publication No. 2006 / 0240439(A1), U.S. Patent Application Publication No. 2006 / 02814714709(A1), WO 05 / 065814, U.S. Patent Application Publication No. 2005 / 014700900(A1), WO 06 / 08B199, and WO 07 / 01470251, each of which is incorporated by reference in its entirety. Exemplary reagents for reversible terminator-based SBS are described in U.S. Pat. No. 7,541,444, U.S. Pat. No. 7,057,026, U.S. Pat. No. 7,414,14716, U.S. Pat. No. 7,427,673, U.S. Pat. No. 7,566,537, U.S. Pat. No. 7,592,435, and WO 07 / 14835368, each of which is incorporated herein by reference.

[0122] In some embodiments, the amplification and SBS modules may operate in a single assay protocol, eg, template nucleic acids are amplified and subsequently sequenced within the same cartridge.

[0123] The sequencing system 800A may also allow the user to reconfigure the assay protocol. For example, the determination system 800A may provide the user with options through the user interface 818 to modify the determined protocol. For example, if it is determined that the biosensor 812 is to be used for amplification, the sequencing system 800A may request the temperature of the annealing cycle. Furthermore, the sequencing system 800A may issue a warning to the user if the user provides user input that is not generally accepted for the selected assay protocol.

[0124] In an embodiment, biosensor 812 includes millions of sensors (or pixels), each of which generates a sequence of pixel signals over successive base call cycles. Analysis module 844 detects the sequences of pixel signals and attributes them to corresponding sensors (or pixels) according to the row and / or column positions of the sensors on the array of sensors.

[0125] FIG. 8C is a simplified block diagram of a system for analyzing sensor data, such as base call sensor output, from a sequencing system 800A. In the example of FIG. 8C, the system includes a configurable processor 846. The configurable processor 846 can execute a base call (e.g., student base caller 124) in coordination with a runtime program executed by a central processing unit (CPU) 852 (i.e., a host processor). The sequencing system 800A includes a biosensor 812 and a flow cell. The flow cell can include one or more tiles in which clusters of genetic material are exposed to a series of analyte flows that are used to trigger reactions within the clusters to identify bases in the genetic material. The sensor senses the reaction for each cycle of sequencing in each tile of the flow cell to provide tile data. Genetic sequencing is a data-intensive operation that converts base call sensor data into a sequence of base calls for each group of genetic material sensed during the base calling operation.

[0126] The system in this example includes a CPU 852 that executes a runtime program for coordinating base calling operations, and memory 848B that stores sequences of arrays of tile data, base call reads generated by the base calling operations, and other information used in the base calling operations. Also in this figure, the system includes memory 848A that stores configuration files (or files), such as FPGA bit files and model parameters for a neural network used to configure and reconfigure configurable processor 846. Sequencing system 800A can include programs for configuring the configurable processor, and in some embodiments, can include a reconfigurable processor that runs a neural network.

[0127] Sequencing system 800A is coupled to configurable processor 846 by bus 854. Bus 854 can be implemented using high-throughput technology, such as bus technology compatible with the PCIe (Peripheral Component Interconnect Express) standard, currently maintained and developed by the PCI-SIG (Peripheral Components Interconnect Express) standard. Also, in this example, memory 848A is coupled to configurable processor 846 by bus 856. Memory 848A can be on-board memory located on a circuit board with configurable processor 846. Memory 848A is used for fast access by configurable processor 846 of working data used in base calling operations. Bus 856 can also be implemented using high-throughput technology, such as bus technology compatible with the PCIe standard.

[0128] Configurable processors, including field programmable gate arrays (FPGAs), coarse-grained configurable reconfigurable arrays (CGRAs), and other configurable and reconfigurable devices, can be configured to implement various functions more efficiently or faster than can be achieved using general-purpose processors running computer programs. Configuring a configurable processor involves compiling a functional description to generate a configuration file, sometimes referred to as a bitstream or bitfile, and distributing the configuration file to configurable elements on the processor. The configuration file configures the circuit to set dataflow patterns, including the use of distributed memory and other on-chip memory resources, lookup table contents, the operation of configurable logic blocks, and configurable execution units such as configurable interconnects and other elements of the configurable array. A configuration file is reconfigurable if it can be changed in the field by modifying a loaded configuration file. For example, the configuration file may be stored in a volatile SRAM element, a non-volatile read-write memory element, or distributed among an array of configurable elements on a configurable or reconfigurable processor. Various commercially available configurable processors are suitable for use in basecall operations as described herein.Examples include Google's Tensor Processing Unit (TPU)™, GX4 Rackmount Series™, GX9 Rackmount Series™, NVIDIA DGX-1™, Microsoft's Stratix V FPGA™, Graphcore's Intelligent Processor Unit (IPU)™, Qualcomm's Zeroth Platform™ (Snapdragon processors™), NVIDIA Volta™, NVIDIA's Drive PX™, NVIDIA's JETSON TX1 / TX2 MODULE™, Intel's Nirvana™, Movidius VPU™, Fujitsu DPI™, Arm DynamicIQ™, IBM TrueNorth™, Lambda GPU Server with Testa V100s™, Xilinx Alveo™ U200, Xilinx Alveo™ U250, Xilinx Alveo™ U280, Intel / Altera Stratix™ GX2800, Intel / Altera Stratix™ GX2800, and Intel Stratix™ GX10M. In some embodiments, the host CPU may be implemented on the same integrated circuit as the configurable processor.

[0129] The embodiments described herein use a configurable processor 846 to implement the student-based coder 124. The configuration file for the configurable processor 846 can be implemented by specifying the logic functions to be performed using a high-level description language HDL or a register-transfer level RTL language specification. This specification can be compiled using resources designed for a selected configurable processor to generate the configuration file. The same or similar specifications can be compiled to generate a design for an application-specific integrated circuit, which may not be a configurable processor.

[0130] Thus, alternatives to the configurable processor 846 in all embodiments described herein include a configured processor comprising an application specific ASIC or dedicated integrated circuit or set of integrated circuits, or is a system-on-chip SOC device, or a graphics processing unit (GPU) processor or a Coarse-Grained Reconfigurable Architecture (CGRA) processor configured to perform neural network-based base call operations as described herein.

[0131] In general, the configurable and configured processors described herein that are configured to perform neural network operations are referred to herein as neural network processors.

[0132] Configurable processor 846, in this example, is configured using a program executed by CPU 852 or by a configuration file loaded by other source to configure an array of configurable elements 866 (e.g., configuration logic blocks (CLBs), such as look-up tables (LUTs), flip-flops, arithmetic processing units (PMUs), and compute memory units (CMUs), configurable I / O blocks, programmable interconnects) to compute and perform base calling functions. In this example, the configuration includes data flow logic 862, coupled to buses 854 and 856, which performs the function of distributing data and control parameters among elements used in base calling operations.

[0133] Configurable processor 846 is also configured with base call execution logic 862 to execute student base caller 124. Logic 862 includes multi-cycle execution clusters (e.g., 864), which in this example include execution cluster 1 through execution cluster X. The number of multi-cycle execution clusters can be selected according to tradeoffs involving the desired throughput of operation and the available resources on configurable processor 846.

[0134] The multi-cycle execution clusters are coupled to data flow logic 862 by data flow paths 858 implemented using configurable interconnect and memory resources on configurable processor 846. The multi-cycle execution clusters are also coupled to data flow logic 862 by control paths 860 implemented using configurable interconnect and memory resources, for example, on configurable processor 846, that provide control signals indicating available execution clusters, are ready to provide input units to available execution clusters for execution of operations of student base caller 124, are ready to provide trained parameters for student base caller 124, are ready to provide output patches of base call classification data, and other control data used in the execution of student base caller 124.

[0135] The configurable processor 846 is configured to use the trained parameters to execute the operation of the student base caller 124 to generate classification data for the sensing cycles of the base calling operation. The operation of the student base caller 124 is executed to generate classification data for the subject sensing cycles of the base calling operation. The operation of the student base caller 124 operates on an array including a number N of arrays of tile data from each sensing cycle of the N sensing cycles, where the N sensing cycles provide sensor data for different base calling operations for one base position per operation in the time sequence in the examples described herein. Optionally, some of the N sensing cycles can be removed from the array as needed according to the particular neural network model being implemented. The number N can be any number greater than 1. In some examples described herein, the sensing cycles of the N sensing cycles represent a set of sensing cycles for at least one sensing cycle preceding the subject sensing cycle and at least one sensing cycle following the subject sensing cycle. Examples described herein include an integer number N of 5 or greater.

[0136] Data flow logic 862 is configured to use an input unit for a given operation that includes tile data for an array of N spatially aligned patches to move the tile data and at least some of the trained parameters of the model parameters from memory 848A to configurable processor 846 for operation of student-based choreographer 124. The input unit can be moved by direct memory access operations in a single DMA operation, or in smaller units that move during available time slots in coordination with the execution of the deployed neural network.

[0137] The tile data of the sensing cycles described herein can include an array of sensor data having one or more features. For example, the sensor data can include two images analyzed to identify one of four bases at a base position in a genetic sequence of DNA, RNA, or other genetic material. The tile data can also include metadata about the images and sensors. For example, in a base calling embodiment, the tile data can include information about the alignment of the images with clusters, such as distance from center information indicating the distance of each pixel in the array of sensor data from the center of the group of genetic material on the tile.

[0138] During execution of the student-based collaborator 124 as described below, the tile data may also include data generated during execution of the student-based collaborator 124, called intermediate data, which may be reused rather than recomputed during execution of the student-based collaborator 124. For example, during execution of the student-based collaborator 124, the data flow logic 862 may write the intermediate data to memory 848A in place of the sensor data for a given patch of the array of tile data. Such embodiments are described in more detail below.

[0139] As shown, a system for analyzing base calling sensor output is described that includes a memory (e.g., 848A) accessible by a runtime program that stores tile data including sensor data for tiles from sensing cycles of a base calling operation. The system also includes a neural network processor, such as configurable processor 846, that has access to the memory. The neural network processor is configured to perform neural network operations using trained parameters to generate classification data for the sensing cycles. As described herein, the neural network operations operate on an arrangement of N arrays of tile data from each sensing cycle of the N sensing cycles comprising the subject cycle to generate classification data for the subject cycle. Data flow logic 862 is provided to move the tile data and trained parameters from the memory to the neural network processor for execution of the neural network, using input units including data for the N arrays of spatially aligned patches from each sensing cycle of the N sensing cycles.

[0140] Also described is a system in which a neural network processor has access to a memory and includes a plurality of execution clusters, the execution clusters being configured to execute a neural network. Data flow logic 862 has access to the memory and executes a cluster in the plurality of execution clusters to provide an input unit of tile data to an available execution cluster in the plurality of execution clusters, the input unit including an input unit including a number N of spatially aligned patches of the array of tile data from each sensing cycle, and a subject sensing cycle, causing the execution cluster to apply the N spatially aligned patches to the neural network to generate an output patch of classification data for the spatially aligned patches of the subject sensing cycle, where N is greater than 1.

[0141] Figure 8D is a simplified diagram illustrating aspects of a base calling operation, including runtime program functionality executed by a host processor. In this diagram, image sensor output from the flow cell is provided on line 868 to image processing thread 869, which can perform processes on the image, such as aligning and positioning individual tiles within an array of sensor data and resampling the image, which can be used by a process to calculate a tile cluster mask for each tile within the flow cell, which can be used by a process to identify pixels within the array of sensor data that correspond to clusters of genetic material on the corresponding tile of the flow cell. The output of image processing thread 869 is provided on line 870 to dispatch logic 877 within the CPU, which transfers the array of tile data to data cache 872 (e.g., SSD storage) on high-speed bus 871 or high-speed bus 873, depending on the status of the base calling operation, or to neural network processor hardware 874, such as configurable processor 846 in Figure 8C. Processed and transformed images can be stored on data cache 872 to track previously used cycles. Hardware 874 returns the classification data output by the neural network to dispatch logic 877, which passes the information to data cache 872 or on line 875 to thread 870, which can use the classification data to perform base calling and quality score calculations and arrange the data in a standard format for base called reads. The output of thread 870, which performs base calling and quality score calculations, is provided on line 876 to thread 871, which aggregates the base called reads, performs other operations such as data compression, and writes the resulting base call output to a specified destination for consumption by the customer.

[0142] In some embodiments, the host may include a thread (not shown) that performs final processing of the output of the hardware 874 supporting the neural network. For example, the hardware 874 may provide classification data output from the final layer of a multi-cluster neural network. The host processor may perform output activation functions, such as a softmax function, over the classification data to populate the data used by the base calling and quality score thread 870. The host processor may also perform input operations (not shown), such as batch normalization of the tile data before input to the hardware 874.

[0143] FIG. 8E is a simplified diagram of a configurable processor 846 configuration such as that of FIG. 8C . In FIG. 8E , the configurable processor 846 includes an FPGA with multiple high-speed PCIe interfaces. The FPGA is configured with a wrapper 880 including data flow logic 862 as described with reference to FIG. 8C . The wrapper 880 manages interfacing and coordination with a runtime program in the CPU via a CPU communication link 878 and manages communication with an on-board DRAM 879 (e.g., memory 848A) via a DRAM communication link 881. The data flow logic 862 in the wrapper 880 provides patch data obtained by traversing an array of tile data on the on-board DRAM 879 to clusters 884 for a number N of cycles, and obtains and delivers process data 882 from clusters 884 to the on-board DRAM 879. The wrapper 880 also manages the transfer of data between the on-board DRAM 879 and host memory for both input arrays of tile data and output patches of classification data. The wrapper forwards the patch data on line 887 to the assigned cluster 884. The wrapper provides trained parameters, such as weights and biases on line 886, to the cluster 884 retrieved from onboard DRAM 302. The wrapper provides configuration and control data on line 885 to the cluster 884 provided by, or generated in response to, a runtime program on the host via CPU communication link 878. The cluster can also provide status signals on line 883 to the wrapper 880, which is used in conjunction with control signals from the host to provide spatially aligned patch data and to run a multi-cycle neural network on the patch data using the resources of the cluster 884.

[0144] As described above, multiple clusters may reside on a single configurable processor managed by wrapper 880 configured to run on corresponding ones of the multiple patches of tile data. Each cluster may be configured to provide classification data for base calls in a subject sensing cycle using the tile data of multiple sensing cycles described herein.

[0145] In an example system, model data, including kernel data such as filter weights and biases, can be sent from the host CPU to the configurable processor, so that the model can be updated as a function of cycle number. Base calling operations can typically involve hundreds of sensing cycles. In some embodiments, base calling operations can include paired end reads. For example, model-trained parameters can be updated every 20 cycles (or other number of cycles) or according to an update pattern implemented in a particular system and neural network model. In some embodiments, where a sequence for a given string within a genetic cluster on a tile includes paired end reads that include a first portion extending downward (or upward) from a first end of the string and a second portion extending upward (or downward) from a second end of the string, trained parameters can be updated at the transition from the first portion to the second portion.

[0146] In some embodiments, image data for multiple cycles of sensor data for a tile can be sent from the CPU to the wrapper 880. The wrapper 880 can optionally perform some preprocessing and transformation of the sensor data and write that information to onboard DRAM 879. The input tile data for each sensing cycle can include an array of sensor data containing 4000 x 3000 pixels / tile or more per tile, with two features representing the colors of two images of the tile and including one or two bytes per pixel. In an embodiment where the number N is three sensing cycles used in each operation of the multi-cycle neural network, the array of tile data for each operation of the multi-cycle neural network can consume several hundred megabytes per number. In some embodiments of the system, the tile data also includes an array of DFC data stored once per tile, or other types of metadata about the sensor data and tile.

[0147] In operation, if a multi-cycle cluster is available, the wrapper assigns the patch to the cluster. The wrapper fetches the next patch of tile data for the cross section of the tile and sends it to the assigned cluster along with the appropriate control and configuration information. The cluster can be configured with enough memory on the configurable processor to have enough memory to hold the patch of data, including the patch, from multiple cycles in some systems being processed in place, and in various embodiments is processed using a ping-pong buffer technique or a raster scan technique.

[0148] When an assigned cluster completes its operation of the neural network for the current patch and generates an output patch, it signals the wrapper. The wrapper either reads the output patch from the assigned cluster, or the assigned cluster pushes data to the wrapper. The wrapper will then assemble the output patch for the processed tile in DRAM 879. Once processing of the entire tile is complete and the output patch of data is transferred to DRAM, the wrapper sends the processed output array back to the host / CPU in a specific format. In some embodiments, the on-board DRAM 879 is managed by memory management logic in the wrapper 880. The runtime program can control the sequencing operation to complete analysis of all tile data arrays for every cycle, operating in a continuous flow to provide real-time analysis.

[0149] As used herein, "logic" (e.g., data flow logic) may be implemented in the form of a computer product including a non-transitory computer-readable storage medium with program code usable by a computer to perform the method steps described herein. "Logic" may be implemented in the form of an apparatus including a memory and at least one processor coupled to the memory and operative to perform the exemplary method steps. "Logic" may be implemented in the form of a means for performing one or more of the method steps described herein. The means may include (i) hardware modules, (ii) software modules executing on one or more hardware processors, or (iii) a combination of hardware and software modules, any of which implements specific techniques described herein, and the software modules are stored on a computer-readable storage medium (or multiple such media). In one embodiment, logic implements a data processing function. The logic may be a general-purpose, single-core, or multi-core processor with a computer program specifying the function, a digital signal processor with a computer program, configurable logic such as an FPGA with a configuration file, special-purpose circuitry such as a state machine, or any combination thereof. Also, a computer program product may embody computer program and configuration file portions of logic.

[0150] (Computer Systems)

[0151] 9 illustrates a computer system 900 that may be used by sequencing system 800A to implement the base calling techniques disclosed herein. Computer system 900 includes at least one central processing unit (CPU) 972, which communicates with a number of peripheral devices via a bus subsystem 955. These peripheral devices may include, for example, storage subsystem 858, which includes memory devices and file storage subsystem 936, user interface input devices 938, user interface output devices 976, and network interface subsystem 974. The input and output devices enable user interaction with computer system 900. Network interface subsystem 974 provides an interface to external networks, including interfaces to corresponding interface devices in other computer systems.

[0152] In one embodiment, the system controller 806 is communicatively linked to a storage subsystem 858 and a user interface input device 938 .

[0153] User interface input devices 938 may include keyboards and pointing devices such as a mouse, trackball, touchpad, or graphics tablet, scanners, touchscreens integrated into displays, audio input devices such as voice recognition systems and microphones, and other types of input devices. In general, use of the term "input device" is intended to encompass all possible types of devices and ways of inputting information into computer system 900.

[0154] The user interface output devices 976 may include a display subsystem, a printer, a fax machine, or a non-visual display such as an audio output device. The display subsystem may include a flat panel device such as an LED display, a cathode ray tube (CRT), a liquid crystal display (LCD), a projection device, or some other mechanism for producing a visible image. The display subsystem may also provide a non-visual display such as an audio output device. In general, use of the term "output device" is intended to include all possible types of devices and methods for outputting information from the computer system 900 to a user or to another machine or computer system.

[0155] The storage subsystem 858 stores programming and data constructs that provide the functionality of some or all of the modules and methods described herein. These software modules are generally executed by the deep learning processor 978.

[0156] The deep learning processor 978 may be a graphics processing unit (GPU), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), and / or a coarse-grained reconfigurable architecture (CGRAs). The deep learning processor 978 may be hosted by a deep learning cloud platform such as Google Cloud Platform™, Xilinx™, and Cirrascale™. Examples of deep learning processors 978 include Google's Tensor Processing Unit (TPU)™, rackmount solutions such as the GX4 Rackmount Series™, GX9 Rackmount Series™, NVIDIA DGX-1™, Microsoft's Stratix V FPGA™, Graphcore's Intelligent Processor Unit (IPU)™, Qualcomm's Zeroth Platform™ with Snapdragon processors™, NVIDIA's Volta™, NVIDIA's DRIVE PX™, NVIDIA's JETSON TX1 / TX2 MODULE™, Intel's Nirvana™, Movidius VPU™, Fujitsu DPI™, ARM's DynamicIQ™, IBM TrueNorth™, Lambda GPU Server with Testa V100s™, and others.

[0157] The memory subsystem 922 used in the storage subsystem 858 may include multiple memories, including a main random access memory (RAM) 932 for storing instructions and data during program execution, and a read-only memory (ROM) 934 in which fixed instructions are stored. The file storage subsystem 936 may provide persistent storage for program and data files and may include a hard disk drive, associated removable media, a CD-ROM drive, an optical drive, or a removable media cartridge. Modules that implement the functionality of particular embodiments may be stored by the file storage subsystem 936 in the storage subsystem 858 or in another machine accessible by the processor.

[0158] Bus subsystem 955 provides a mechanism for allowing the various components and subsystems of computer system 900 to communicate with each other as intended. Although bus subsystem 955 is shown schematically as a single bus, alternative implementations of the bus subsystem may use multiple buses.

[0159] The computer system 900 itself can be of a variety of types, including a personal computer, a portable computer, a workstation, a computer terminal, a network computer, a television, a mainframe, a server farm, a loosely distributed set of loosely networked computers, or any other data processing system or user device. Due to the varying nature of computers and networks, the description of computer system 900 shown in Figure 9 is intended only as a specific example for purposes of illustrating a preferred embodiment of the present invention. Many other configurations of computer system 900 can have more or fewer components than the computer system shown in Figure 9.

[0160] Pruning

[0161] We also disclose artificial intelligence-based techniques for performing computationally efficient base calling. Figure 10A illustrates one implementation of training 1004, which trains a first base caller 1006 through cluster intensity images 1002 to generate a first trained base caller 1006. Figure 10B illustrates one implementation of the first trained base caller 1006, which maps cluster intensity images 1002 (e.g., cluster image 1008) to base call predictions 1010.

[0162] 11A and 11B illustrate various aspects of loops implemented by the disclosed techniques to perform computationally efficient base calling.

[0163] The controller 1148 executes a loop 1102 starting with a first trained base chora 1006, with each iteration using a trained starting base chora 1112 as input and producing a trained pruned base chora 1142 as output. The trained pruned base chora 1142 has fewer processing elements than the trained starting base chora 1112. In one embodiment, the first trained base chora 1006 is a neural network, and the processing elements are neurons of the neural network. In another embodiment, the first trained base chora 1006 is a convolutional neural network, and the processing elements are convolution filters of the convolutional neural network. In yet another embodiment, the processing elements are convolution kernels of the convolutional neural network. In yet a further embodiment, the processing elements are weights of convolution kernels of the convolutional neural network. In another embodiment, the first trained basis caller 1006 is a recurrent neural network and the processing elements are the weights of the gates of the recurrent neural network.

[0164] In yet a further embodiment, the first trained base caller 1006 is a fully connected neural network.

[0165] In yet a further embodiment, the processing element is a cluster feature map. The cluster feature map may be a convolutional feature or a convolutional representation when the first trained base collaborator 1006 is a convolutional neural network. The cluster feature map may be a hidden state feature or a hidden state representation when the first trained base collaborator 1006 is a recurrent neural network.

[0166] When a convolution filter is convolved with a cluster image (or cluster intensity image), the resulting output is called a cluster feature map. Similarly, when a convolution filter is convolved with a cluster feature map generated in another convolution layer (e.g., a previous convolution layer), the resulting output is also called a cluster feature map. In one embodiment, the cluster feature map is generated by element-wise multiplying elements of the convolution filter (neuron) by corresponding elements (e.g., intensity values) of the cluster intensity image or elements of the cluster feature map generated in another convolution layer (e.g., a previous convolution layer), and summing the results of the element-wise multiplications.

[0167] In each iteration, during forward propagation 1108, the cluster feature map generator 1150 processes a subset of cluster intensity images 1106 (e.g., cluster images 1110) through the processing elements of the trained and running base caller 1112, using each processing element to generate one or more cluster feature maps 1114, and generates base call predictions 1116 based on the cluster feature maps 1114. This is considered the cluster feature map generation process 1104.

[0168] At each iteration, a gradient determiner 1152 determines a gradient 1124 of the cluster feature map 1114 based on the error 1122 between the base call predictions 1116 and the ground truth base calls 1120 during backpropagation 1126. This is considered the gradient determination step 1118.

[0169] At each iteration, the contribution measurer 1154 applies the gradient 1124 to each of the cluster feature maps 1114 to generate a contribution score 1130 that identifies how much each of the cluster feature maps 1114 contributed to the base call prediction 1116. This is considered the contribution measurement step 1128.

[0170] 12 illustrates one implementation of generating contribution scores for a cluster feature map. In one implementation, a contribution score 1214 for a cluster feature map 1202 is generated by multiplying each of the feature values ​​1204 in the cluster feature map 1202 by a respective one of the gradients 1206 to generate intermediate feature values ​​1208, applying an absolute function 1210 to the intermediate feature values ​​1208 to generate absolute intermediate feature values ​​1212, and summing the absolute intermediate feature values ​​1212 to generate a contribution score 1214 for the cluster feature map 1202.

[0171] In another implementation, the contribution scores 1214 for the cluster feature map 1202 are generated without using the gradient 1206. This involves applying an absolute function 1210 to the feature values ​​(weights) 1204 in the cluster feature map 1202 to generate absolute feature values, and summing the absolute feature values ​​to generate the contribution scores 1214 for the cluster feature map 1202.

[0172] In each iteration, the pruner 1156 selects a subset 1134 of cluster feature maps based on their contribution scores 1130 and generates a trained and pruned base collapsing 1142 by removing from the trained and starting base collapsing 1112 those processing elements 1138 that were used to generate the selected subset 1134 of cluster feature maps during forward propagation 1108. This is considered the pruning step 1132.

[0173] The retrainer 1158 further trains the trained and pruned base collaborator 1142 via the cluster intensity images 1002 in each iteration, allowing the trained and pruned base collaborator 1142 to be used as the trained and starting base collaborator 1112 for successive iterations.

[0174] A terminator 1160 terminates the loop 1102 after n iterations, and the trained and pruned base caller 1142 produced by the nth iteration is used for further base calling.

[0175] In one embodiment, each iteration processes a subset of cluster intensity images in a batch through the processing elements of a trained and started base class during forward propagation. In such an embodiment, the gradient of the cluster feature map is determined for each batch, absolute median feature values ​​for the cluster feature map are generated for each batch, and the contribution score of the cluster feature map is generated by summing each absolute median feature value of the batch.

[0176] In one embodiment, Lp normalization is used to train the first base collaborator 1106. This Lp normalization can be L-1 normalization, L-2 normalization, and L-infinity normalization. In one embodiment, for the first iteration, the Lp normalization generates a subset of cluster feature maps with zero contribution scores. For the first iteration, the pruning process 1132 first removes from the first trained base collaborator 1006 processing elements that were used to generate cluster feature maps with zero contribution scores using Lp normalization, and then removes from the first trained base collaborator 1006 processing elements that were used to generate a selected subset of cluster feature maps 1134 during forward propagation.

[0177] Other examples of normalization include L-0 normalization, absolute normalization, Euclidean normalization, Taxicab or Manhattan normalization, p-normalization, maximum normalization, infinity normalization, uniform normalization, supremum normalization, and zero normalization. Additional information and examples of normalization techniques can be found on Wikipedia (https: / / en.wikipedia.org / wiki / Norm_(mathematics)-1 / 15 / 2029,9:54 AM).

[0178] In some implementations, each convolution filter may be normalized by the count of pixels within the convolution filter. Normalization may be along spatial and / or temporal dimensions. That is, for an input cluster intensity image of size 115x115 in spatial layer 1, the count of pixels / feature values / units / size / dimension of the resulting feature map may be 113x113, but 101x101 in temporal layer 7. The resulting sum of absolute dot products may be normalized by the filter size. The temporal layer of the base cluster also has various temporal dimensions that can be used for normalization.

[0179] In one embodiment, the subset of cluster feature maps 1106 is selected based on the percentage of cluster feature maps with the lowest contribution scores. In some embodiments, the percentage ranges from 2% to 5%.

[0180] In one embodiment, the number of epochs used in the retraining step 1144 to further train the trained and pruned base collaborator 1142 is less than the number of epochs used in training 1004 of the first base collaborator 1006. For example, the number of epochs used in the retraining step 1144 to further train the trained and pruned base collaborator 1142 is 15, and the number of epochs used in training 1004 of the first base collaborator 1006 is 50.

[0181] In one embodiment, the subset of cluster intensity images 1106 used in the cluster feature map generation step 1104 is between 15% and 30% of the cluster intensity images 1002 used in training 1004 of the first base colleague 1006, and is randomly selected at each iteration. In other embodiments, the subset of cluster intensity images 1106 used in the cluster feature map generation step 1104 can be less than 15% and more than 30%, or between 15% and 30%, of the cluster intensity images 1002.

[0182] FIG. 13 illustrates one embodiment of an artificial intelligence-based method for performing computationally efficient base calling.

[0183] At action 1302, the method includes training a first base caller via the cluster intensity images and generating a first trained base caller that maps the cluster intensity images to base call predictions.

[0184] In action 1312, the method includes starting with a first trained base collaborator and executing a loop in which each iteration uses the trained starting base collaborator as input and produces a trained pruned base collaborator as output, where the trained pruned base collaborator has fewer processing elements than the trained starting base collaborator.

[0185] Each iteration includes the steps of (i) cluster feature map generation, (ii) gradient determination, (iii) contribution measurement, (iv) pruning, and (v) retraining.

[0186] In action 1322, the cluster feature map generation process processes the subset of cluster intensity images through the trained and activated base call processing elements during forward propagation, generating one or more cluster feature maps using each processing element, and generating base call predictions based on the cluster feature maps.

[0187] In action 1332, a gradient determination step determines the gradient of the cluster feature map based on the error between the base call predictions and the ground truth base calls during backpropagation.

[0188] In action 1342, a contribution measurement step applies a gradient to each of the cluster feature maps to generate a contribution score for each of the cluster feature maps that identifies how much it contributed to the base call prediction.

[0189] In action 1352, the pruning process generates a trained and pruned base collaborator by selecting a subset of cluster feature maps based on their contribution scores and removing from the trained and starting base collaborator those processing elements that were used to generate the selected subset of cluster feature maps during forward propagation.

[0190] In action 1362, a retraining step further trains the trained and pruned base collaborator through the cluster intensity images so that the trained and pruned base collaborator can be used as the trained and starting base collaborator for successive iterations.

[0191] In action 1372, the method includes terminating the loop after n iterations and using the trained and pruned base calls produced by the nth iteration for further base calling.

[0192] Other implementations of the methods described in this section may include a non-transitory computer-readable storage medium storing instructions executable by a processor to perform any of the above-described methods. Yet another implementation of the methods described in this section may include a system including a memory and one or more processors operable to execute instructions stored in the memory, and may perform any of the above-described methods.

[0193] FIG. 14 shows another embodiment of an artificial intelligence-based method for performing computationally efficient base calling.

[0194] At action 1402, the method includes training a first base caller via the cluster intensity images and generating a first trained base caller that maps the cluster intensity images to base call predictions.

[0195] In action 1412, the method includes starting with a first trained base collaborator and executing a loop in which each iteration uses the trained starting base collaborator as input and produces a trained pruned base collaborator as output, where the trained pruned base collaborator has fewer processing elements than the trained starting base collaborator.

[0196] Each iteration includes the steps of (i) cluster feature map generation, (ii) contribution measurement, (iv) pruning, and (v) retraining.

[0197] In action 1422, the cluster feature map generation process processes the subset of cluster intensity images through the trained and activated base call processing elements during forward propagation, generating one or more cluster feature maps using each processing element, and generating base call predictions based on the cluster feature maps.

[0198] In action 1432, a contribution measurement step generates a contribution score for each of the cluster feature maps that identifies how much it contributed to the base call prediction.

[0199] In action 1442, the pruning process generates a trained and pruned base collaborator by selecting a subset of cluster feature maps based on their contribution scores and removing from the trained and starting base collaborator those processing elements that were used to generate the selected subset of cluster feature maps during forward propagation.

[0200] In action 1452, a retraining step further trains the trained and pruned base collaborator via the cluster intensity images so that the trained and pruned base collaborator can be used as the trained and starting base collaborator for successive iterations.

[0201] In action 1462, the method includes terminating the loop after n iterations and using the trained and pruned base calls produced by the nth iteration for further base calling.

[0202] Other implementations of the methods described in this section may include a non-transitory computer-readable storage medium storing instructions executable by a processor to perform any of the above-described methods. Yet another implementation of the methods described in this section may include a system including a memory and one or more processors operable to execute instructions stored in the memory, and may perform any of the above-described methods.

[0203] 15A, 15B, 15C, 15D, 15E, and 15F show performance results demonstrating that the disclosed techniques perform computationally efficient base calling.

[0204] The plot below shows the output of the iterative pruning process of the disclosed technique. We start with our standard Multicluster algorithm, where the first trained base cluster 1006 has seven spatial layers with 48 filters each and two temporal convolutional layers with 96 filters each. We add the L1 norm regularization criterion to obtain a sparse filter set, resulting in an initial trained model (the blue model in the first plot with the suffix "_tf2_human") that contains many convolution kernels set to all zero. Using a higher L1 regularization parameter results in more filters being set to all zero in this initial trained model.

[0205] Starting with this model, we begin a round of pruning iterations, during which we calculate a pruning criterion for a random 15% of the training set. After ranking the filters according to this criterion, we eliminate the filters deemed least important (typically eliminating 2% of the total model filters in each iteration) and retrain the model for fine-tuning. The models resulting from pruning and fine-tuning in each iteration are labeled in the plot below with the suffix "prunedxx_human", where xx is a number between 00 and 35.

[0206] First, we found that with each new pruning iteration, the model's performance improved, up to iteration 14 (the "pruned13_human" model). This is likely due to retraining the model with a learning rate annealing approach (training with a high learning rate and gradually decreasing the learning rate) and the use of a cyclical learning rate training schedule (the literature suggests that increasing training epochs from a high learning rate to a low learning rate, followed by increasing training epochs from a high learning rate to a low learning rate, results in better models).

[0207] We then noticed a gradual decrease in the model discrepancy rate from iteration 14 onwards when the model was further trimmed.

[0208] From the pipeline output log, we can see that training iteration 24 (the "_pruned23_human" model) is a good candidate, and the model has the following filters: Model fine-tuned from loss 0.029168058224022388 to 0.022608762811869382 Pruning iterations 24 / 35 Spatially corrected convolution stacks L1 retention 14 / 14 filter L2 retaining 14 / 14 filter L3 retaining 11 / 12 filter L4 retaining 16 / 16 filter L5 Retaining 15 / 15 Filter L6 Retaining 18 / 18 Filter L7 retaining 6 / 6 filter Temporal Correction Convolution Stack L8 retaining 12 / 13 filter L9 Retaining 17 / 18 Filter

[0209] These filter counts translate to 295813196 operations per patch, which is 8% fewer operations than our standard K=14 model.

[0210] Interestingly, we also noticed that the final filter in the spatial convolution stack was throttled down to 6 filters, confirming our finding (disclosed in U.S. Provisional Patent Application No. 62 / 979,411) that data can be significantly compressed between the spatial correction layer and the temporal convolution layer.

[0211] Each of the plots below shows a different model being iteratively pruned and fine-tuned: a pruning session is performed at each cycle along the x-axis, so the lines between points at different cycles are here only meant to link independent models that are in the same pruning iteration.

[0212] The legends are partially obscured in these plots, and the colors are (in the legend) blue, orange, green, red, and black from top to bottom. The black fitted line represents the performance measured on the same cluster as the disclosed deep learning model by Illumina's Real-Time Analysis (RTA) software (used here as the baseline model).

[0213] FIG. 19 illustrates a box and whisker plot for one embodiment of the disclosed technology generating pruned convolution weights for distillate-based cola.

[0214] FIG. 20 illustrates a box and whisker plot for one embodiment of the disclosed technology generating a pruned convolution bias for distillate-based cola.

[0215] FIG. 21 shows box and whisker plots for one embodiment of the disclosed technology generating pruned convolution weights for distillate-based cola, where regularization is applied to both the convolution weights and the convolution bias.

[0216] FIG. 22 shows box and whisker plots for one embodiment of the disclosed technology generating pruned convolutional biases for distillate-based cola, where regularization is applied to both the convolutional weights and the convolutional biases.

[0217] In some implementations, the disclosed techniques use an alternative learning scheduler that starts with a higher learning rate, resulting in a better distilled model. Figures 19-22 illustrate different regularization parameters and convergence on l2 (0.00001) for both kernel and bias regularization when distilling a model. In this way, the accuracy of the distilled model is not affected, but the weights and biases are reduced to a range that can be accommodated on an FPGA.

[0218] Terminology and Additional Embodiments

[0219] Base calling involves incorporating or attaching a fluorescently labeled tag with the analyte. The analyte may be a nucleotide or oligonucleotide, and the tag may be a specific nucleotide type (A, C, T, or G). Excitation light is directed at the tagged analyte, causing the tag to emit a detectable fluorescent signal or intensity emission. The intensity emission indicates the photons emitted by the excitation tag chemically bound to the analyte.

[0220] Throughout this application, including the claims, when "images, image data, or image regions showing the intensity radiation of analytes and their surrounding background are used, they refer to the intensity radiation of tags attached to the analytes. Those skilled in the art will understand that the intensity radiation of an attached tag represents or corresponds to the intensity radiation of the analyte to which the tag is attached, and are therefore used interchangeably. Similarly, a characteristic of an analyte refers to a characteristic of the tag attached to the analyte, or the intensity radiation from the attached tag. For example, the center of an analyte refers to the center of the intensity radiation emitted by the tag attached to the analyte. In another example, the background around an analyte refers to the background around the intensity radiation emitted by the tag attached to the analyte.

[0221] All literature and similar materials cited in this application, including but not limited to patents, patent applications, articles, books, papers, and web pages, regardless of the form such literature and similar materials may be in, are expressly incorporated by reference in their entirety. In the event that one or more of the incorporated literature and similar materials differs from or contradicts this application in terms of, but not limited to, defined terms, term usage, described techniques, etc., this application controls.

[0222] The disclosed technology uses neural networks to improve the quality and quantity of nucleic acid sequence information that can be obtained from a nucleic acid template or its complement, e.g., a nucleic acid sample, such as a DNA or RNA polynucleotide or other nucleic acid sample. Accordingly, certain implementations of the disclosed technology provide higher throughput polynucleotide sequencing, e.g., higher rates of collection of DNA or RNA sequence data, greater efficiency in sequence data collection, and / or lower costs of obtaining such sequence data, compared to previously available methods.

[0223] The disclosed technology uses neural networks to identify the centers of solid-phase nucleic acid clusters and analyze optical signals generated during sequencing of such clusters, unambiguously distinguishing between adjacent, abutting, or overlapping clusters to assign sequencing signals to single, discrete source clusters. These and related embodiments thus enable the recovery of meaningful information, such as sequence data, from regions of dense cluster arrays, where useful information may not have been previously obtained from such regions due to confounding effects of overlapping or closely spaced adjacent clusters, including the effects of overlapping signals (e.g., as used in nucleic acid sequencing).

[0224] As described in more detail below, in certain embodiments, compositions are provided that include a solid support immobilized with one or more nucleic acid clusters, as provided herein. Each cluster contains multiple immobilized nucleic acids of the same sequence and has a distinct center with a detectable central label as provided herein, which is distinguishable from the nucleic acids immobilized in the surrounding area within the cluster. Also described herein are methods for making and using such clusters with distinct centers.

[0225] Embodiments of the present disclosure will find use in many situations where benefits derive from the ability to identify, determine, annotate, record, or otherwise assign the location of a substantially central location within a cluster, including high-throughput nucleic acid sequencing, development of image analysis algorithms for assigning optical or other signals to individual source clusters, and other applications where recognition of the center of immobilized nucleic acid clusters is desirable and beneficial.

[0226] In certain embodiments, the present invention contemplates methods related to high-throughput nucleic acid analysis, such as nucleic acid sequencing (e.g., "sequencing"). Exemplary high-throughput nucleic acid analyses include, but are not limited to, de novo sequencing, resequencing, whole genome sequencing, gene expression analysis, gene expression monitoring, epigenetics analysis, genome methylation analysis, allele-specific primer extension (APSE), genetic diversity profiling, whole genome polymorphism discovery and analysis, single nucleotide polymorphism analysis, hybridization-based sequencing, and the like. Those skilled in the art will understand that a variety of different nucleic acids can be analyzed using the methods and compositions of the present invention.

[0227] Although implementations of the present invention are described in the context of nucleic acid sequencing, they are applicable in any field in which image data acquired at different times, spatial locations, or other temporal or physical aspects are analyzed. For example, the methods and systems described herein are useful in the fields of molecular biology and cell biology, where image data from microarrays, biological specimens, cells, organisms, etc., are acquired and analyzed at different times or perspectives. Images can be obtained using any number of techniques known in the art, including, but not limited to, fluorescence microscopy, optical microscopy, confocal microscopy, optical imaging, magnetic resonance imaging, tomographic scanning, etc. As another example, the methods and systems described herein can be applied when image data acquired by surveillance, aerial, or satellite imaging techniques, etc., are acquired and analyzed at different times or perspectives. The methods and systems are particularly useful for analyzing images acquired within a field of view, in which observed specimens remain in the same location relative to each other within the field of view. However, specimens may have different characteristics in separate images; for example, specimens may appear different in separate images of the field of view. For example, the analyte may appear to be different in color for a given analyte detected in different images, may show changes in the intensity of the signal detected for a given analyte in different images, or even the appearance of a signal for a given analyte in one image and the disappearance of the signal for that analyte in another image.

[0228] The examples described herein may be used in a variety of biological or chemical processes and systems for academic or commercial analysis. More specifically, the examples described herein may be used in a variety of processes and systems in which it is desirable to detect an event, characteristic, quality, or property indicative of a specified reaction. For example, the examples described herein include optical detection devices, biosensors, and components thereof, as well as bioassay systems operating in conjunction with biosensors. In some embodiments, the devices, biosensors, and systems may include a flow cell and one or more optical sensors coupled (removably or fixedly) together in a substantially monolithic structure.

[0229] The devices, biosensors, and bioassay systems may be configured to perform multiple designated reactions that can be detected individually or collectively. The devices, biosensors, and bioassay systems may be configured to perform multiple cycles in which multiple designated reactions occur in parallel. For example, the devices, biosensors, and bioassay systems may be used to sequence high-density arrays of DNA features through repeated cycles of enzymatic manipulation and light or image detection / capture. Thus, the devices, biosensors, and bioassay systems (e.g., via one or more cartridges) may include one or more microfluidic channels that deliver reagents or other reaction components into the reaction solution, biosensors, and bioassay systems. In some examples, the reaction solution may be substantially acidic, such as comprising a pH of about 5 or less, or about 4 or less, or about 3 or less. In some other examples, the reaction solution may be substantially alkaline / basic, such as comprising a pH of about 8 or more, or about 9 or more, or about 10 or more. As used herein, the term "acidic" and grammatical variants thereof refer to pH values ​​less than about 7, and the terms "basic," "alkaline," and grammatical variants thereof refer to pH values ​​greater than about 7.

[0230] In some embodiments, the reaction sites are provided or spaced in a predetermined manner, such as a uniform or repeating pattern. In some other embodiments, the reaction sites are randomly distributed. Each of the reaction sites can be associated with one or more light guides and one or more light sensors that detect light from the associated reaction site. In some embodiments, the reaction sites are located within a reaction recess or chamber that can at least partially compartmentalize a designated reaction.

[0231] As used herein, a "designated reaction" includes a change in at least one chemical, electrical, physical, or optical property (or quality) of a chemical or biological substance of interest, such as an analyte of interest. In certain examples, the designated reaction is a positive binding event, such as the incorporation of a fluorescently labeled biomolecule with a fluorescently labeled biomolecule. More generally, the designated reaction may be a chemical conversion, chemical change, or chemical interaction. The designated reaction may also be a change in an electrical property. In certain examples, the designated reaction includes the incorporation of an analyte with a fluorescently labeled molecule. The analyte may be an oligonucleotide, and the fluorescently labeled molecule may be a nucleotide. The designated reaction may be detected when excitation light is directed at the oligonucleotide bearing the labeled nucleotide and the fluorophore emits a detectable fluorescent signal. In alternative examples, the detected fluorescence is the result of chemiluminescence or bioluminescence. The specified reaction can also, for example, increase Fluorescence (or Forster) Resonance Energy Transfer (FRET) by bringing a donor fluorophore into close proximity with an acceptor fluorophore, decrease FRET by separating the donor and acceptor fluorophores, increase fluorescence by separating a quencher from a fluorophore, or decrease fluorescence by co-localizing a quencher and fluorophore.

[0232] As used herein, "reaction solution," "reaction component," or "reactant" includes any substance that can be used to obtain at least one specified reaction. For example, potential reaction components include, for example, reagents, enzymes, samples, other biomolecules, and buffers. A reaction component may be delivered to a reaction site in solution and / or immobilized at the reaction site. A reaction component may interact directly or indirectly with another substance, such as an analyte of interest, immobilized at the reaction site. As noted above, the reaction solution may be substantially acidic (i.e., comprising a relatively high degree of acidity) (e.g., including a pH of about 5 or less, a pH of about 4 or less), or a pH of about 3 or less, or substantially alkaline / basic (i.e., comprising a relatively high degree of alkaline / basicity) (e.g., including a pH of about 8 or more, a pH of about 9 or more, or a pH of about 10 or more).

[0233] As used herein, the term "reaction site" refers to a localized region where at least one specified reaction can occur. A reaction site may include a support surface of a reaction structure or substrate onto which a substance can be immobilized. For example, a reaction site may include the surface of a reaction structure (which may be disposed within a channel of a flow cell) having reaction components thereon, e.g., a colony of nucleic acids thereon. In some such examples, the nucleic acids in the colonies have the same sequence, e.g., are clonal copies of a single-stranded or double-stranded template. However, in some examples, a reaction site may contain only a single nucleic acid molecule, e.g., in single-stranded or double-stranded form.

[0234] The multiple reaction sites may be randomly distributed along the reaction structure or may be arranged in a predetermined manner (e.g., parallel in a matrix such as a microarray). A reaction site may also include a reaction chamber or recess that at least partially defines a spatial region or volume configured to compartmentalize a specified reaction. As used herein, the term "reaction chamber" or "reaction recess" includes a defined spatial region of a support structure (often in fluid communication with a flow path). A reaction recess may be at least partially isolated from the surrounding environment or spatial region. For example, multiple reaction recesses may be separated from each other by a shared wall, such as a detection surface. As a more specific example, a reaction recess may be a nanocell that includes a depression, well, groove, cavity, or depression defined by the inner surface of the detection surface, and may have an opening or aperture (i.e., an open side) to allow the nanocell to be in fluid communication with the flow path.

[0235] In some embodiments, the reaction recess of a reaction structure is sized and shaped relative to a solid (including a semi-solid) so that the solid can be fully or partially inserted therein. For example, the reaction recess may be sized and shaped to accommodate a capture bead. The capture bead may have clonally amplified DNA or other material thereon. Alternatively, the reaction recess may be sized and shaped to receive an approximate number of beads or solid substrates. As another example, the reaction recess may be filled with a porous gel or material configured to control diffusion or filter fluids or solutions that may flow into the reaction recess.

[0236] In some embodiments, an optical sensor (e.g., a photodiode) is associated with a corresponding reaction site. The optical sensor associated with a reaction site is configured to detect light emission from the associated reaction site via at least one light guide when a designated reaction occurs at the associated reaction site. In some cases, multiple optical sensors (e.g., several pixels of a light detection or camera device) may be associated with a single reaction site. In other cases, a single optical sensor (e.g., a single pixel) may be associated with a single reaction site or with a group of reaction sites. The optical sensors, reaction sites, and other features of the biosensor may be configured such that at least a portion of the light is directly detected by the optical sensor without being reflected.

[0237] As used herein, "biological or chemical substances" include biomolecules, subject samples, subject analytes, and other chemical compounds. Biological or chemical substances may be used to detect, identify, or analyze other chemical compounds, or to act as intermediaries for studying or analyzing other chemical compounds. In certain examples, biological or chemical substances include biomolecules. As used herein, "biomolecules" include at least one of biopolymers, nucleotides, nucleic acids, polynucleotides, oligonucleotides, proteins, enzymes, polypeptides, antibodies, antigens, ligands, receptors, polysaccharides, carbohydrates, polyphosphates, cells, tissues, organisms, or fragments thereof, or any other biologically active chemical compounds, such as analogs or mimetics of the foregoing species. In further examples, the biological or chemical substances or biomolecules detect the product of another reaction, such as an enzyme or reagent, e.g., the product of an enzyme or reagent, such as an enzyme or reagent used to detect pyrophosphate in a pyrosequencing reaction. Enzymes and reagents useful for pyrophosphate detection are described, for example, in U.S. Patent Publication No. 2005 / 0244870, which is incorporated by reference in its entirety.

[0238] The biomolecules, samples, and biological substances or chemicals may be naturally occurring or synthetic and may be suspended in a solution or mixture within the reaction wells or regions. The biomolecules, samples, and biological substances or chemicals may also be bound to a solid phase or gel material. The biomolecules, samples, and biological substances or chemicals may also include pharmaceutical compositions. In some cases, the biomolecules, samples, and biological substances or chemicals of interest may be referred to as targets, probes, or analytes.

[0239] As used herein, "biosensor" includes devices including a reaction structure with multiple reaction sites configured to detect a specified reaction occurring at or near the reaction site. A biosensor may include a solid-state photodetector or "imaging" device (e.g., a CCD or CMOS photodetector) and, optionally, a flow cell attached thereto. The flow cell may include at least one flow path in fluid communication with the reaction site. As one specific example, the biosensor is configured to be fluidically and electrically coupled to a biological assay system. The bioassay system may deliver reaction solutions to the reaction sites according to a predetermined protocol (e.g., sequence number synthesis) and perform multiple imaging events. For example, the bioassay system may flow reaction solutions along the reaction sites. At least one of the reaction solutions may contain four types of nucleotides with the same or different fluorescent labels. The nucleotides may bind to corresponding oligonucleotides, etc., in the reaction sites. The bioassay system can then illuminate the reaction sites using an excitation light source (e.g., a solid-state light source such as a light-emitting diode (LED)). The excitation light may have a predetermined wavelength or multiple wavelengths, including a range of wavelengths. Fluorescent labels excited by incident excitation light can provide an emission signal (e.g., of a different wavelength or wavelengths of light than the excitation light, and potentially different from each other) that can be detected by a photosensor.

[0240] As used herein, the term "immobilized," when used with reference to a biomolecule or biological substance or chemical, includes substantially attaching the biomolecule or biological substance or chemical to a surface, such as the detection surface of an optical detection device or a reaction structure. For example, a biomolecule or biological substance or chemical may be immobilized on the surface of a reaction structure using adsorption techniques, including non-covalent bonding (e.g., electrostatic forces, van der Waals, and hydrophobic interfacial dehydration), as well as covalent bonding techniques in which functional groups or linkers facilitate binding of the biomolecule to the surface. Immobilizing a biomolecule or biological substance or chemical on a surface may be based on the properties of the surface, the liquid medium carrying the biomolecule or biological substance or chemical, and the properties of the biomolecule or biological substance or chemical itself. In some cases, the surface may be functionalized (e.g., chemically or physically modified) to facilitate immobilization of a biomolecule (or biological substance or chemical) on the surface.

[0241] In some embodiments, nucleic acids can be immobilized on a reaction structure, such as the surface of a reaction well. In certain embodiments, the devices, biosensors, bioassay systems, and methods described herein can include the use of naturally occurring nucleotides and enzymes configured to interact with naturally occurring nucleotides. Naturally occurring nucleotides include, for example, ribonucleotides or deoxyribonucleotides. Naturally occurring nucleotides can be in monophosphate, diphosphate, or triphosphate form and can have a base selected from adenine (A), thymine (T), uracil (U), guanine (G), or cytosine (C). However, it will be understood that non-naturally occurring nucleotides, modified nucleotides, or analogs of the above nucleotides can be used.

[0242] As described above, biomolecules, biological substances, or chemicals may be immobilized at reaction sites within the reaction recesses of the reaction structure. Such biomolecules or biological substances may be physically held or immobilized within the reaction recesses by interference fitting, adhesion, covalent bonding, or entrapment. Examples of articles or solids that can be placed within the reaction recesses include polymer beads, pellets, agarose gel, powders, quantum dots, or other solids that can be compressed and / or held within the reaction chamber. In certain embodiments, the reaction recesses may be coated or filled with a hydrogel layer that can covalently bond to DNA oligonucleotides. In certain examples, nucleic acid superstructures such as DNA balls can be placed within the reaction recesses by, for example, attaching them to the inner surface of the reaction recesses or by immersing them in a liquid within the reaction recesses. DNA balls or other nucleic acid superstructures can be formed and then placed within the reaction recesses. Alternatively, DNA balls can be synthesized in situ in the reaction recesses. The substances immobilized within the reaction recesses can be in a solid, liquid, or gaseous state.

[0243] As used herein, the term "analyte" is intended to mean a point or region of a pattern that can be distinguished from other points or regions according to their relative position. An individual analyte can contain one or more molecules of a particular type. For example, an analyte can contain a single target nucleic acid molecule having a particular sequence, or an analyte can contain several nucleic acid molecules having the same sequence (and / or its complementary sequence). Different molecules that are different analytes of a pattern can be differentiated from one another according to the location of the analyte within the pattern. Exemplary analytes include wells in a substrate, beads (or other particles) in or on a substrate, protrusions from a substrate, ridges on a substrate, pads of gel material on a substrate, or channels in a substrate.

[0244] Any of a variety of target analytes to be detected, characterized, or identified can be used in the devices, systems, or methods described herein. Exemplary analytes include, but are not limited to, nucleic acids (e.g., DNA, RNA, or analogs thereof), proteins, polysaccharides, cells, antibodies, epitopes, receptors, ligands, enzymes (e.g., kinases, phosphatases, or polymerases), small molecule drug candidates, cells, viruses, organisms, etc.

[0245] The terms "analyte," "nucleic acid," "nucleic acid molecule," and "polynucleotide" are used interchangeably herein. In various embodiments, a nucleic acid may be used as a template (e.g., a nucleic acid template or a nucleic acid complement complementary to a nucleic acid template) as provided herein for certain types of nucleic acid analysis, including, but not limited to, nucleic acid amplification, nucleic acid expression analysis, and / or nucleic acid sequencing, or a suitable combination thereof. Nucleic acids in certain implementations include, for example, linear polymers of deoxyribonucleotides in 3'-5' phosphodiester chains, or deoxyribonucleic acid (DNA), such as single- and double-stranded DNA, genomic DNA, copy DNA or complementary DNA (cDNA), recombinant DNA, or any form of synthetic or modified DNA. In other embodiments, nucleic acids include, for example, linear polymers of ribonucleotides in 3'-5' phosphodiester or other linkages, such as ribonucleic acid (RNA), including single- and double-stranded RNA, messenger (mRNA), copy or complementary RNA (cRNA), or spliced ​​mRNA, ribosomal RNA, small nuclear RNA (snoRNA), microRNA (miRNA), small interfering RNA (sRNA), piwi RNA (piRNA), or any form of synthetic or modified RNA. Nucleic acids used in the compositions and methods of the invention may vary in length and may be intact or full-length molecules or fragments, or smaller portions of larger nucleic acid molecules. In certain embodiments, nucleic acids may carry one or more detectable labels, as described elsewhere herein.

[0246] The terms "specimen," "cluster," "nucleic acid cluster," "nucleic acid colony," and "DNA cluster" are used interchangeably and refer to multiple copies of a nucleic acid template and / or its complement attached to a solid support. Typically, in certain preferred embodiments, a nucleic acid cluster comprises multiple copies of a template nucleic acid and / or its complement attached to a solid support via their 5' ends. The copies of the nucleic acid strands that make up a nucleic acid cluster can be in single-stranded or double-stranded form. The copies of the nucleic acid template present within a cluster can have nucleotides at corresponding positions that differ from each other due to, for example, the presence of a labeled moiety. Corresponding positions can also include analog structures with different chemical structures but similar Watson-Crick base pairing properties, such as uracil and thymine.

[0247] Colonies of nucleic acids may also be referred to as "nucleic acid clusters." Nucleic acid colonies can optionally be generated by cluster amplification or bridge amplification techniques, as described in more detail elsewhere herein. Multiple repeats of a target sequence can be present in a single nucleic acid molecule, such as a disruptor generated using a rolling circle amplification procedure.

[0248] The nucleic acid clusters of the present invention can have different shapes, sizes, and densities depending on the conditions used. For example, the clusters can be substantially circular, polyhedral, donut-shaped, or ring-shaped. The diameter of the nucleic acid cluster can be designed to be about 0.2 μm to about 6 μm, about 0.3 μm to about 4 μm, about 0.4 μm to about 3 μm, about 0.5 μm to about 2 μm, about 0.75 μm to about 1.5 μm, or any intermediate diameter. In certain embodiments, the diameter of the nucleic acid cluster is about 0.5 μm, about 1 μm, about 1.5 μm, about 2 μm, about 2.5 μm, about 3 μm, about 4 μm, about 5 μm, or about 6 μm. The diameter of the nucleic acid cluster can be affected by numerous parameters, including, but not limited to, the number of amplification cycles performed in producing the cluster, the length of the nucleic acid template, or the density of primers attached to the surface on which the cluster is formed. The density of the nucleic acid cluster is typically less than 0.1 μm / mm 2 , 1 / mm 2 , 10 / mm 2 , 100 / mm 2 , 1,000 / mm 2 , 10,000 / mm 2 ~100,000 / mm 2 The present invention, in part, is directed to higher density nucleic acid clusters, e.g., 100,000 / mm 2 ~1,000,000 / mm 2 , and 1,000,000 / mm 2 ~10,000,000 / mm 2 Further plans are underway.

[0249] As used herein, an "analyte" is a specimen or region of interest within a field of view. When used in connection with a microarray device or other molecular analysis device, an analyte refers to a region occupied by similar or identical molecules. For example, an analyte can be an amplification oligonucleotide or any other group of polynucleotides or polypeptides having the same or similar sequence. In other embodiments, an analyte can be any element or group of elements that occupy a physical region on a sample. For example, an analyte can be a parcel of land, a body of water, etc. When analytes are imaged, each analyte has some area. Thus, in many embodiments, an analyte is not simply a single pixel.

[0250] The distance between specimens can be described in any number of ways. In some embodiments, the distance between specimens can be described from the center of one specimen to the center of another specimen. In other embodiments, the distance can be described from the edge of one specimen to the edge of another specimen, or between the outermost identifiable points of each specimen. The edge of the specimen can be described as a theoretical or actual physical boundary on the chip, or some point within the boundary of the specimen. In other embodiments, the distance can be described with respect to a fixed point on the specimen, or an image of the specimen.

[0251] Generally, some embodiments are described herein with respect to analytical methods. It will be understood that systems for performing the methods in an automated or semi-automated manner are also provided. Thus, the present disclosure provides a neural network-based template generation and base calling system, the system including a processor, a storage device, and a program for image analysis, the program including instructions for performing one or more of the methods described herein. Thus, the methods described herein can be performed, for example, on a computer having components described herein or known in the art.

[0252] The methods and systems described herein are useful for analyzing any of a variety of objects. Particularly useful objects are solid supports or solid surfaces with analytes attached. The methods and systems described herein offer advantages when used with objects having repeating patterns of analytes in the xy plane. One example is a microarray having a collection of cells, viruses, nucleic acids, proteins, antibodies, carbohydrates, small molecules (such as drug candidates), biologically active molecules, or other analytes of interest.

[0253] The number of applications of arrays containing analytes containing biological molecules such as nucleic acids and polypeptides has increased. Such microarrays typically contain deoxyribonucleic acid (DNA) or ribonucleic acid (RNA) probes, which are specific for nucleotide sequences present in humans and other organisms. In certain applications, for example, individual DNA or RNA probes can be attached to individual analytes on the array. Test samples, such as those from known humans or organisms, can be exposed to the array so that target nucleic acids (e.g., gene fragments, mRNA, or amplicons) hybridize to complementary probes for each analyte in the array. The probes can be labeled through target-specific processes (e.g., due to labels present on the target nucleic acids or due to enzyme labels on the probes or targets present in hybridized form in the analyte). The analytes can then be examined by scanning specific light frequencies over them to identify which target nucleic acids are present in the sample.

[0254] Biological microarrays can be used for gene sequencing and similar applications. Generally, gene sequencing involves determining the order of nucleotides in a length of target nucleic acid, such as a fragment of DNA or RNA. Relatively short sequences are typically sequenced for each specimen, and the resulting sequence information can be used in various bioinformatics methods to reliably determine the sequence of many widely varying lengths of genetic material from which the fragments are derived. Automated computer-based algorithms for signature fragment identification have been developed and have more recently been used in genome mapping, gene identification, and their functions. Microarrays are particularly useful for characterizing genome content because of the large number of variants present, which is an alternative to conducting numerous experiments for individual probes and targets. Microarrays are an ideal format for conducting such studies in a practical manner.

[0255] Any of a variety of analyte arrays (also called "microarrays") known in the art can be used in the methods or systems described herein. A typical array contains analytes, each having an individual probe or a population of probes. In the latter case, the population of probes in each analyte is typically homogeneous, having a single type of probe. For example, in the case of nucleic acid sequences, each analyte can have multiple nucleic acid molecules, each having a common sequence. However, in some embodiments, the population in each analyte in the array can be heterogeneous. Similarly, protein sequences can have analytes having a single protein or a population of proteins, typically, but not necessarily, having the same amino acid sequence. Probes can be attached to the surface of the array, for example, by covalently linking the probe to the surface or through non-covalent interaction(s) between the probe and the surface. In some embodiments, probes, such as nucleic acid molecules, can be attached to the surface via a gel layer, as described, for example, in U.S. Patent Application No. 13 / 784,368 and U.S. Patent Application Publication No. 2011 / 0059865(A1), which are incorporated herein by reference.

[0256] Exemplary arrays include, but are not limited to, BeadChip arrays available from Illumina, Inc. (San Diego, Calif.), or others, such as those described in U.S. Pat. Nos. 6,266,459, 6,355,431, 6,770,441, 6,859,570, or 7,622,294, or WO 00 / 63437, each of which is incorporated herein by reference, in which probes are attached to beads present on a surface (e.g., beads within wells on a surface). Further examples of commercially available microarrays that can be used include, for example, Affymetrix® GeneChip® microarrays or other microarrays synthesized according to a technique sometimes referred to as VLSIPS™ (Very Large Scale Immobilized Polymer Synthesis) technology. Spotted microarrays can also be used in methods or systems according to some embodiments of the present disclosure. An exemplary spotted microarray is the CodeLink™ Array available from Amersham Biosciences. Another useful microarray is one produced using inkjet printing methods, such as SurePrint™ Technology available from Agilent Technologies.

[0257] Other useful arrays include those used in nucleic acid sequencing applications.For example, the arrays with amplicons of genome fragments (often referred to as clusters) are described in Bentley et al., Nature 456:53-59 (2008), International Publication No. 04 / 018497, International Publication No. 91 / 06678, International Publication No. 07 / 123744, US Patent No. 7,329,492, US Patent No. 7,211,414, US Patent No. 7,315,019, US Patent No. 7,405,281 or US Patent No. 7,057,026, or US Patent Application Publication No. 2008 / 0108082 (A1), which are incorporated herein by reference.Another type of array that is useful for nucleic acid sequencing is the array of particles that are generated from emulsion PCR technology. Examples are described in Dressman et al., Proc. Natl. Acad. Sci. USA 100:8817-8822 (2003), WO 05 / 010145, U.S. Patent Application Publication No. 2005 / 0130173, or U.S. Patent Application Publication No. 2005 / 0064460, each of which is incorporated herein by reference in its entirety.

[0258] Arrays used for nucleic acid sequencing often have random spatial patterns of nucleic acid analytes. For example, the HiSeq or MiSeq sequencing platforms available from Illumina Inc. (San Diego, Calif.) utilize flow cells in which nucleic acid sequences are formed by random seeding followed by bridge amplification. However, patterned arrays can also be used for nucleic acid sequencing or other analytical applications. Examples of patterned arrays, their fabrication methods, and their uses are described in U.S. Patent Application Nos. 13 / 787,396, 13 / 783,043, 13 / 784,368, U.S. Patent Application Publication Nos. 2013 / 0116153 A1, and 2012 / 0316086 A1, which are incorporated herein by reference. Such patterned array analytes can be used to capture single nucleic acid template molecules for subsequent formation of homogeneous colonies, e.g., via bridge amplification. Such patterned arrays are particularly useful for nucleic acid sequencing applications.

[0259] The size of the specimens on an array (or other object used in the methods or systems herein) can be selected to suit a particular application. For example, in some embodiments, the specimens on the array can have a size that accommodates only a single nucleic acid molecule. A surface with multiple specimens in this size range is useful for constructing an array of molecules for detection with single molecule resolution. Specimens in this size range are also useful for use in arrays with specimens each comprising a colony of nucleic acid molecules. Thus, the specimens on the array can each be approximately 1 mm 2 Below, approximately 500μm 2 Below, approximately 100μm 2 Below, approximately 10μm 2 Below, approximately 1μm 2 Below, about 500nm 2 Less than or equal to about 100 nm 2 Below, approximately 10nm 2 Below, approximately 5nm 2 Less than or equal to 1 nm 2Alternatively or additionally, the specimens in the array may have an area of ​​about 1 mm 2 More than approximately 500μm 2 More than approximately 100μm 2 or more, about 10μm 2 or more, approximately 1μm 2 or more, about 500nm 2 Over 100nm 2 or more, about 10nm 2 or more, about 5nm 2 More than or about 1 nm 2 That's it. In practice, analytes can have a size within a range between upper and lower limits selected from those exemplified above. While several size ranges for surface analytes have been exemplified with respect to nucleic acids and nucleic acid scales, it will be understood that analytes in these size ranges can be used in applications that do not involve nucleic acids. It will further be understood that the size of the analyte need not necessarily be limited to the scale used in nucleic acid applications.

[0260] In embodiments involving an object having multiple analytes, such as an array of analytes, the analytes can be distinct, separated by a space between them. Arrays useful in the invention can have analytes separated by an edge-to-edge distance of at most 100 μm, 50 μm, 10 μm, 5 μm, 1 μm, 0.5 μm, or less. Alternatively or additionally, arrays can have analytes separated by an edge-to-edge distance of at least 0.5 μm, 1 μm, 5 μm, 10 μm, 50 μm, 100 μm, or more. These ranges can apply to the average edge-to-edge spacing and edge-to-edge spacing of the analytes, as well as to minimum or maximum spacing.

[0261] In some embodiments, the analytes in the array need not be distinct; instead, adjacent analytes can abut one another. Whether the analytes are distinct or not, the size of the analytes and / or the pitch of the analytes can be varied to allow the array to have a desired density. For example, the average analyte pitch in a regular pattern can be at most 100 μm, 50 μm, 10 μm, 5 μm, 1 μm, 0.5 μm, or less. Alternatively or additionally, the average analyte pitch in a regular pattern can be at least 0.5 μm, 1 μm, 5 μm, 10 μm, 50 μm, 100 μm, or more. These ranges can also apply to the maximum or minimum pitch of a regular pattern. For example, the maximum specimen pitch in the regular pattern can be 100 μm or less, 50 μm or less, 10 μm or less, 5 μm or less, 1 μm or less, 0.5 μm or less, and / or the minimum specimen pitch in the regular pattern can be at least 0.5 μm, 1 μm, 5 μm, 10 μm, 50 μm, 100 μm, or more.

[0262] The density of analytes in an array can also be understood in terms of the number of analytes present per unit area. For example, the average density of analytes for an array is at least about 1 x 10 3 specimens / mm 2 , 1x10 4 specimens / mm 2 , 1x10 5 specimens / mm 2 , 1x10 6 specimens / mm 2 , 1x10 6 specimens / mm 2 , 1x10 7 specimens / mm 2 , 1x10 8 specimens / mm 2 , or 1x10 9 specimens / mm 2 Alternatively, or in addition, the average density of analytes on the array can be at most about 1 x 10 9 specimens / mm 2 , 1x10 8 specimens / mm 2 , 1x10 7 specimens / mm 2 , 1x106 specimens / mm 2 , 1x10 5 specimens / mm 2 , 1x10 4 specimens / mm 2 , or 1x10 3 specimens / mm 2 It can be the following:

[0263] The above ranges may apply, for example, to all or part of a regular pattern that includes all or part of an array of analytes.

[0264] The specimens within the pattern can have any of a variety of shapes. For example, when viewed in a two-dimensional plane, such as on the surface of an array, the specimens may appear rounded, circular, oval, rectangular, square, symmetrical, asymmetrical, triangular, polygonal, etc. The specimens can be arranged in a regular repeating pattern, including, for example, a hexagonal or rectilinear pattern. The pattern can be selected to achieve a desired level of packing. For example, circular specimens are optimally packed in a hexagonal arrangement. Of course, other packaging configurations can also be used for circular specimens, and vice versa.

[0265] A pattern can be characterized in terms of the number of analytes present in a subset that forms the smallest geometric unit of the pattern. A subset can include, for example, at least about 2, 3, 4, 5, 6, 10, or more analytes. Depending on the size and density of the analytes, a geometric unit can be as small as 1 mm 2 , 500 μm 2 , 100 μm 2 , 50 μm 2 , 10 μm 2 , 1 μm 2 , 500nm 2 , 100 nm 2 , 50nm 2 , 10nm 2 Alternatively or additionally, the geometric unit may be 10 nm 2 , 50nm 2 , 100 nm 2 , 500nm 2 , 1 μm 2, 10 μm 2 , 50 μm 2 , 100 μm 2 , 500 μm 2 , 1mm 2 The properties of the specimens in the geometric unit, such as shape, size, pitch, etc., can be selected from those described herein more generally for specimens in an array or pattern.

[0266] An array with a regular pattern of analytes may be ordered with respect to the relative location of the analytes, but random with respect to one or more other characteristics of each analyte. For example, in the case of nucleic acid sequences, the nucleic acid analytes may be regular with respect to their relative location, but random with respect to the sequence knowledge of the nucleic acid species present in any particular analyte. As a more specific example, a nucleic acid array formed by seeding a repeating pattern of analytes with template nucleic acids and amplifying the template in each analyte to form copies of the template in the analyte (e.g., via cluster amplification or bridge amplification) will have a regular pattern of nucleic acid analytes, but will be random with respect to the distribution of the nucleic acid sequences across the array. Thus, detecting the presence of nucleic acid material on an array can result in a repeating pattern of analytes, while sequence-specific detection can result in a non-repeating distribution of signals across the array.

[0267] It will be understood that descriptions of pattern, order, randomness, etc. herein relate not only to analytes on an object, such as analytes on an array, but also to analytes in an image. Thus, the pattern, order, randomness, etc. can exist in any of a variety of formats used to store, manipulate, or communicate image data, including, but not limited to, computer-readable media or computer components such as a graphical user interface or other output device.

[0268] As used herein, the term "image" is intended to mean a representation of all or a portion of an object. The representation may be an optically detected reproduction. For example, an image may be obtained from fluorescence, luminescence, scattering, or absorption signals. The portion of the object present in the image may be the surface or other xy plane of the object. Typically, an image is a two-dimensional representation, but in some cases, the information in the image can be derived from three or more dimensions. An image need not include optically detected signals. Non-optical signals may be present instead. The image may be provided in a computer-readable format or medium, such as one or more of those described elsewhere herein.

[0269] As used herein, "image" refers to a reproduction or representation of at least a portion of a sample or other object. In some embodiments, the reproduction is an optical reproduction, e.g., produced by a camera or other optical detector. The reproduction may be a non-optical reproduction, e.g., a representation of electrical signals obtained from an array of nanopore analytes or a representation of electrical signals obtained from an ion-sensitive CMOS detector. In certain embodiments, non-optical reproductions may be excluded from the methods or apparatus described herein. The image may have a resolution capable of distinguishing between analytes present at any of a variety of intervals, including, for example, those spaced less than 100 μm, 50 μm, 10 μm, 5 μm, 1 μm, or 0.5 μm apart.

[0270] As used herein, "acquisition," "capture," and like terms refer to any part of the process of acquiring an image file. In some embodiments, data acquisition can include generating an image of the specimen, looking for a signal in the specimen, directing a detection device to look for or generate an image of the signal, and providing instructions for further analysis or transformation of the image file, and instructions for any number of transformations or manipulations of the image file.

[0271] As used herein, the term "template" refers to a representation of the location or relationship between signals or analytes. Thus, in some embodiments, the template is a physical grid having a representation of signals corresponding to analytes in a sample. In some embodiments, the template may be a chart, table, text file, or other computer file indicating locations corresponding to analytes. In the embodiments presented herein, a template is generated to track the location of analytes across a set of images of the sample captured at different reference points. For example, the template may be x, y coordinates or a series of values ​​describing the orientation and / or distance of one analyte relative to another analyte.

[0272] As used herein, the term "specimen" can refer to an object or region of an object from which an image is captured. For example, in an embodiment in which an image is taken from the surface of soil, a parcel of land may be the specimen. In other embodiments in which biomolecular analysis is performed within a flow cell, the flow cell may be divided into any number of subdivisions, each of which may be a specimen. For example, the flow cell may be divided into various channels or lanes, and each lane may be further divided into 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 140, 160, 180, 200, 400, 600, 800, 1000, or more distinct regions to be imaged. One example flow cell has eight lanes, each divided into 120 specimens or tiles. In other embodiments, samples may be generated in multiple tiles, or even the entire flow cell. Thus, each specimen image can represent a larger surface area than is imaged.

[0273] References to ranges and sequential lists of numbers set forth herein will be understood to include not only the numbers recited but all real numbers between the recited numbers.

[0274] As used herein, a "reference point" refers to any temporal or physical distinction between images. In another preferred embodiment, the reference point is a time point. In a more preferred embodiment, the reference point is a time point or cycle during the sequencing reaction. However, the term "reference point" can also include other aspects that distinguish or separate images, such as angle, rotation, time, or other aspects that can distinguish or separate the images.

[0275] As used herein, "subset of images" refers to a group of images in a set. For example, a subset may include 1, 2, 3, 4, 6, 8, 10, 12, 14, 16, 18, 20, 30, 40, 50, 60 or any number of images selected from a set of images. In certain other embodiments, a subset may include 1, 2, 3, 4, 6, 8, 10, 12, 14, 16, 18, 20, 30, 40, 50, 60 or less or any number of images selected from a set of images. In another preferred embodiment, images are obtained from one or more sequencing cycles, with four images associated with each cycle. Thus, for example, a subset may be a group of 16 images acquired over four cycles.

[0276] Base refers to a nucleotide base or nucleotide, (adenine), C (cytosine), T (thymine), or G (guanine). This application uses "base(s)" and "nucleotide(s)" interchangeably.

[0277] The term "chromosome" refers to a gene carrier of the present invention in a living cell, derived from a chromatin strand containing DNA and protein components (especially histones). The conventional internationally recognized individual human genome chromosome numbering system is used herein.

[0278] The term "site" refers to a unique location (e.g., chromosome ID, chromosomal location and orientation) on a reference genome. In some embodiments, a site may be a residue, sequence tag, or the location of a segment on a sequence. The term "locus" may be used to refer to a specific location of a nucleic acid sequence or polymorphism on a reference chromosome.

[0279] The term "sample" as used herein typically refers to a sample derived from a biological fluid, cell, tissue, organ, or organism containing the nucleic acid to be sequenced and / or phased, or a sample derived from a mixture of nucleic acids containing at least one nucleic acid sequence to be sequenced and / or phased. Such samples include, but are not limited to, sputum / oral fluid, amniotic fluid, blood, blood fractions, fine needle biopsy samples (e.g., surgical biopsy, needle biopsy, etc.), urine, peritoneal fluid, pleural fluid, tissue explants, organ cultures, and any other tissue or cell preparations thereof, or fractions or derivatives thereof. While samples are often collected from human subjects (e.g., patients), samples can be collected from any organism that has chromosomes, including, but not limited to, dogs, cats, horses, goats, sheep, cattle, pigs, etc. Samples can be used directly as obtained from a biological source or after pretreatment to modify the sample's characteristics. For example, such pretreatment may include preparing plasma from blood, diluting viscous fluids, etc. Pretreatment methods may include, but are not limited to, filtration, precipitation, dilution, distillation, mixing, centrifugation, freezing, lyophilization, concentration, amplification, nucleic acid fragmentation, inactivation of interfering components, addition of reagents, lysis, and the like.

[0280] The term "sequence" includes or refers to a chain of nucleotides linked together. The nucleotides can be based on DNA or RNA. It should be understood that a sequence may contain multiple subsequences. For example, a single sequence (e.g., a PCR amplicon) may have 350 nucleotides. A sample read may contain multiple subsequences within these 350 nucleotides. For example, a sample read may include first and second flanking subsequences, e.g., 20-50 nucleotides. The first and second flanking subsequences may be located on either side of a repeat segment with corresponding subsequences (e.g., 40-100 nucleotides). Each of the flanking subsequences may include (or a portion of) a primer subsequence (e.g., 10-30 nucleotides). For ease of reading, the term "subsequence" is referred to as "sequence," but it is understood that two sequences need not be distinct from each other on a common strand. To distinguish between the various sequences described herein, the sequences may be given different labels (e.g., target sequence, primer sequence, flanking sequence, reference sequence, etc.). Other terms, such as "allele," may be given different labels to distinguish between similar entities. Applications use "read(s)" and "sequence read(s)" interchangeably.

[0281] The term "paired end sequencing" refers to a sequencing method in which both ends of a target fragment are sequenced. Paired end sequencing can facilitate the detection of genome rearrangements and repeated segments, as well as the detection of gene fusions and novel transcripts. Methods for paired end sequencing are described in WO 07010252, PCT Application No. PCTGB2007 / 003798, and U.S. Patent Application Publication No. 2009 / 0088327, each of which is incorporated herein by reference. In one example, the series of operations can be performed as follows: (a) generating clusters of nucleic acids, (b) linearizing the nucleic acids, (c) hybridizing a first sequencing primer and repeatedly performing cycles of extension, scanning, and deblocking as described above, (d) "flipping" the target nucleic acid on the flow cell surface by synthesizing a complementary copy, (e) linearizing the resynthesized strand, and (f) hybridizing a second sequencing primer and repeatedly performing cycles of extension, scanning, and deblocking as described above. The flipping operation can deliver the reagents described above for a single cycle of bridge amplification.

[0282] The term "reference genome" or "reference sequence" refers to a specific known genome sequence, either partial or complete, of any organism that can be used to reference an identified sequence from a subject. For example, reference genomes used for human subjects, as well as many other organisms, can be found at the National Center for Biotechnology Information at ncbi.nlm.nih.gov. "Genome" refers to the complete genetic information of an organism or virus, expressed in nucleic acid sequences. A genome includes both genetic and non-coding sequences of DNA. A reference sequence may be larger than the reads aligned to it. For example, it may be at least about 100 times larger, or at least about 1000 times larger, or at least about 10,000 times larger, or at least about 10 times larger, or at least about 10 times larger, or at least about 10 times larger. In one example, the reference genome sequence is of the full-length human genome. In another example, the reference genome sequence is limited to a specific human chromosome, such as chromosome 13. In some embodiments, the reference chromosome is a chromosome sequence from the human genome version hg19. Such sequences are sometimes referred to as chromosomal reference sequences, although the term reference genome is intended to encompass such sequences. Other examples of reference sequences include genomes of other species, as well as chromosomes of any species, sub-chromosomal regions (such as strands), and the like. In various embodiments, a reference genome is a consensus sequence or other combination derived from multiple individuals. However, in certain applications, a reference sequence may be taken from a specific individual. In other embodiments, "genome" also covers so-called "graph genomes," which use specific storage formats and representations of genome sequences. In one embodiment, a graph genome stores data in a linear file. In another embodiment, a graph genome refers to a representation in which alternative sequencing (e.g., different copies of a chromosome with small differences) are stored as different paths in a graph.Additional information regarding the implementation of graph genomes can be found at https: / / www.biorxiv.org / content / biorxiv / early / 2018 / 03 / 20 / 194530.full.pdf, the contents of which are incorporated herein by reference in their entirety.

[0283] The term "read" refers to a collection of sequence data describing a fragment of a nucleotide sample or reference. The term "read" can refer to a sample read and / or a reference read. Typically, but not necessarily, a read represents a short sequence of consecutive base pairs in a sample or reference. A read may be symbolically represented by the base pair sequence (A, G, G) of the sample or reference fragment. A read may be stored in a memory device and appropriately processed to determine whether the read matches a reference sequence or meets other criteria. A read may be obtained directly from a sequencing device or indirectly from stored sequence information about the sample. In some cases, the read is a DNA sequence of sufficient length (e.g., at least about 25 bp) that can be used to identify a larger sequence or region that can be aligned and specifically assigned to, for example, a chromosome or genomic region or gene.

[0284] Next-generation sequencing methods include, for example, sequencing by synthesis (Illumina), pyrosequencing (454), ion semiconductor technology (Ion Torrent sequencing), single-molecule real-time sequencing, and sequencing by ligation (SOLiD sequencing). Depending on the sequencing method, the length of each read can vary from about 30 bp to over 10,000 bp. For example, DNA sequencing using a SOLiD sequencer generates nucleic acid reads of about 50 bp. In another example, Ion Torrent sequencing generates nucleic acid reads of up to 400 bp, while 454 pyrosequencing generates nucleic acid reads of about 700 bp. In yet another example, single-molecule real-time sequencing can generate reads of 10,000 bp to 15,000 bp. Thus, in certain embodiments, nucleic acid sequence reads have lengths of 30-100 bp, 50-200 bp, or 50-400 bp.

[0285] The terms "sample read," "sample sequence," or "sample fragment" refer to sequence data relating to a genomic sequence of interest from a sample. For example, a sample read includes sequence data from a PCR amplicon having forward and reverse primer sequences. The sequence data can be obtained from any selected sequence procedure. A sample read can be, for example, a sequence-by-synthesis (SBS) reaction, a sequencing-ligation reaction, or any other suitable sequencing method in which it is desirable to determine the length and / or identity of repetitive elements. A sample read can be a consensus (e.g., average or weighted) sequence derived from multiple sample reads. In certain embodiments, providing a reference sequence includes identifying a locus of interest based on primer sequences of a PCR amplicon.

[0286] The term "raw fragment" refers to sequence data of a portion of a genome sequence of interest that at least partially overlaps a specified or secondary location of interest within a sample read or sample fragment. Non-limiting examples of product fragments include double-stitched fragments, simple stitched fragments, and simple unstitched fragments. The term "raw" is used to indicate that a raw fragment contains sequence data that has some relationship to the sequence data in the sample read, regardless of whether the raw fragment exhibits supporting variants that correspond to and authenticate or confirm potential variants in the sample read. The term "raw fragment" does not indicate that the fragment necessarily contains supporting variants that verify the variant call in the sample read. For example, when a sample read is determined by a variant calling application to exhibit a first variant, the variant calling application may determine that one or more raw fragments lack a corresponding type of "supporting" variant that would otherwise be expected to occur given the variants in the sample read.

[0287] The terms "mapping," "aligned," "aligning," or "aligning" refer to the process of comparing a read or tag to a reference sequence, thereby determining whether the reference sequence contains the read sequence. If the reference sequence is read, the read may be mapped to the reference sequence, or in certain alternative embodiments, may be mapped to a specific location within the reference sequence. In some cases, alignment simply tells whether a read is a member of a particular reference sequence (i.e., whether the read is present or absent in the reference sequence). For example, alignment of a read to a reference sequence for human chromosome 13 tells whether the read is present in the reference sequence for chromosome 13. Tools that provide this information are sometimes called set membership testers. In some cases, alignment also indicates the location within the reference sequence where the read or tag map is. For example, if the reference sequence is the entire human genome sequence, alignment may indicate that the read is present on chromosome 13, and may further indicate that the read is on a specific strand and / or site of chromosome 13.

[0288] The term "indel" refers to the insertion and / or deletion of bases in an organism's DNA. Microindels refer to indels that result in a net change of 1 to 50 nucleotides. Unless the length of the indel is a multiple of three, a frameshift mutation occurs in coding regions of the genome. Indels can be contrasted with point mutations. An indel insertion deletes nucleotides from the sequence, whereas a point mutation is a form of substitution that replaces one of the nucleotides without changing the overall number in the DNA. Indels can also be contrasted with tandem base mutations (TBMs), which can be defined as substitutions at adjacent nucleotides (mostly two adjacent nucleotides, although substitutions at three adjacent nucleotides have been observed).

[0289] The term "variant" refers to a nucleic acid sequence that differs from a reference nucleic acid. Typical nucleic acid sequence variants include, but are not limited to, single nucleotide polymorphisms (SNPs), short deletion and insertion polymorphisms (indels), copy number variations (CNVs), microsatellite markers, or short tandem repeats and structural variants. Somatic variant calling is an effort to identify variants present at low frequencies in a DNA sample. Calling somatic variants is of interest in the context of cancer treatment. Cancer is caused by the accumulation of mutations in DNA. DNA samples derived from tumors are generally heterogeneous, containing some normal cells, early-stage cancer progression (with fewer mutations), and some late-stage cells (with more mutations). Due to this heterogeneity, somatic mutations often appear at low frequencies when sequencing tumors (e.g., from FFPE samples). For example, an SNV may be found in only 10% of reads covering a given base. A variant that is classified as somatic or germline by a variant classifier is also referred to herein as a "variant under test."

[0290] The term "noise" refers to erroneous variant calls that result from one or more errors in the sequencing process and / or variant calling application.

[0291] The term "variant frequency" refers to the relative frequency of an allele (a genetic variant) at a particular locus within a population, expressed as a fraction or percentage. For example, the fraction or percentage may be the proportion of all chromosomes in the population that carry that allele. As an example, a sample variant frequency refers to the relative frequency of an allele / variant at a particular locus / position along a genome sequence of interest across a "population" corresponding to the number of reads and / or samples obtained for the genome sequence of interest from an individual. As another example, a baseline variant frequency refers to the relative frequency of an allele / variant at a particular locus / position along one or more baseline genome sequences, where the relative frequency of an allele / variant at a particular locus / position along one or more baseline genome sequences is obtained for one or more baseline genome sequences.

[0292] The term "Variant Allele Frequency (VAF)" refers to the proportion of sequenced reads that carry a variant divided by the overall coverage at the target position. VAF is a measure of the proportion of sequenced reads that carry a variant.

[0293] The terms "position," "designated position," and "locus" refer to the position or coordinates of one or more nucleotides within a nucleotide sequence. The terms "position," "designated position," and "locus" also refer to the position or coordinates of one or more base pairs in a sequence of nucleotides.

[0294] The term "haplotype" refers to a combination of alleles at adjacent sites on a chromosome that are inherited from one another. A haplotype, if present, may represent one locus, several loci, or an entire chromosome, depending on the number of recombination events that have occurred between a given pair of loci.

[0295] The term "threshold" herein refers to a numeric or non-numeric value used as a cutoff for characterizing a sample, nucleic acid, or portion thereof (e.g., a readout). The threshold may be varied based on empirical analysis. The threshold can be compared to a measured or calculated value to determine whether the source giving rise to such a value should be classified in a particular way. The threshold can be identified empirically or analytically. The choice of threshold depends on the confidence level with which the user desires the classification to be made. The threshold may be selected for a particular purpose (e.g., to balance sensitivity and selectivity). As used herein, the term "threshold" refers to a point at which the course of an analysis may change and / or an action may be triggered. A threshold need not be a predetermined number. Instead, the threshold may be, for example, a function based on multiple factors. The threshold may be adaptive to the situation. Furthermore, a threshold may indicate an upper limit, a lower limit, or a range between limits.

[0296] In some embodiments, an index or score based on sequencing data may be compared to a threshold. As used herein, the term "metric" or "score" may include a value or result determined from sequencing data, or may include a function based on a value or result determined from sequencing data. Like a threshold, an index or score may be adaptive to the context. For example, an index or score may be a normalized value. As an example of a score or metric, one or more embodiments may use a count score when analyzing data. The count score may be based on the number of sample reads. The sample reads may have undergone one or more filtering steps so that the sample reads have at least one common characteristic or quality. For example, each of the sample reads used to determine the count score may be aligned with a reference sequence or assigned as a potential allele. The number of sample reads with a common characteristic may be counted to determine a read count. The count score may be based on the read count. In some embodiments, the count score may be a value equal to the read count. In other examples, the count score may be based on the read count and other information. For example, the counting score may be based on the read count of a particular allele at a locus and the total number of reads at the locus. In some embodiments, the counting score may be based on the read count of a locus and previously obtained data. In some embodiments, the counting score may be a normalized score between predetermined values. The counting score may also be a function of read counts from other loci in the sample, or read counts from other samples run simultaneously with the sample of interest. For example, the counting score may be a function of the read count of a particular allele and the read counts of other loci in the sample, and / or read counts from other samples. As an example, the read counts from other loci and / or read counts from other samples may be used to normalize the counting score for a particular allele.

[0297] The term "coverage" or "fragment coverage" refers to a count or other measure of multiple sample reads for the same fragment of a sequence. The read count may represent a count of the number of reads that cover the corresponding fragment. Alternatively, coverage may be determined by multiplying the read count by a specified factor based on historical knowledge, knowledge of the sample, knowledge of the locus, etc.

[0298] The term "read depth" (conventionally a number followed by "x") refers to the number of sequenced reads with overlapping alignment at the target position. It is often expressed as an average or percentage above a cutoff for a set of intervals (such as exons, genes, or panels). For example, a clinical report may state that the panel average coverage is 1,105x, with 98% of the targeted bases covering >100x.

[0299] The term "base call quality score" or "Q score" refers to a PHRED-scaled probability ranging from 0-50 that is inversely proportional to the probability that a single sequenced base is correct. For example, a T base call with a Q of 20 is considered correct 99.99% of the time. Any base call with a Q < 20 should be considered low quality, and any variant identified when a significant proportion of sequenced reads supporting the variant is low should be considered a potential false positive.

[0300] The term "variant read" or "variant read number" refers to the number of sequenced reads that support the presence of a variant.

[0301] Regarding "strandedness" (or DNA twist), the genetic message in DNA can be represented as the letters A, G, C, and T, e.g., 5'-AGGACA-3'. Often, sequences are written in the orientation shown herein, i.e., 5'-left and 3'-right. While DNA can occur as a single-stranded molecule (as in certain viruses), we typically find DNA as a double-stranded unit, which has a double helix structure with two antiparallel strands. In this case, the term "antiparallel" means that the two strands run parallel but have opposite polarity. Double-stranded DNA is held together by base pairing, and pairing is always maintained such that adenine (A) pairs with thymine (T) and cytosine (C) pairs with guanine (G). This pairing is called complementarity, and one DNA strand is said to be the complement of the other. Thus, double-stranded DNA can be represented as two strings, such as 5'-AGGACA-3' and 3'-TCCTGT-5'. Note that the two strands have opposite polarities. Thus, the strandedness of the two DNA strands can be referred to as the reference strand and its complement, the forward and reverse strands, the top and bottom strands, the sense and antisense strands, or the Watson and Crick strands.

[0302] Read alignment (also called read mapping) is the process of referring to where sequences in a genome originate. Once aligned, the "mapping quality" or "mapping quality score (MAPQ)" of a given read quantifies the probability that its location on the genome is correct. Mapping quality is encoded on a phase scale, where P is the probability that the alignment is incorrect. The probability is P=10 (-MAQ / 10)MAPQ is calculated as follows: where MAPQ is the mapping quality. For example, a mapping quality of 40 = 10 with a power of -4 means that there is a 0.01% chance that the read is incorrectly aligned. Therefore, mapping quality is related to several alignment factors, such as the base quality of the read, the complexity of the reference genome, and paired-end information. First, a low base quality read means that the observed sequence is likely to be erroneous and therefore the alignment is incorrect. Second, mapping ability refers to the complexity of the genome. Repetitive regions are more difficult to map and the reads contained in these regions usually have low mapping quality. In this context, MAPQ reflects the fact that reads are not uniquely aligned and their actual origin cannot be determined. Third, in the case of paired-end sequencing data, concordant pairs are more likely to align. The higher the mapping quality, the better the alignment. Reads aligned with good mapping quality usually mean that the read sequence is well aligned, with only minor mismatches within highly mappable regions. The MAPQ value can be used as a quality control for the alignment results. A percentage of aligned reads with a MAPQ higher than 20 is usually suitable for downstream analysis.

[0303] As used herein, "signal" refers to a detectable event, such as, for example, luminescence in an image, preferably luminescence. Thus, in another preferred embodiment, the signal can represent any detectable luminescence (i.e., "spot") captured in the image. Thus, as used herein, "signal" can refer to both actual emission from an analyte, and spurious emission that does not correlate with the actual analyte. Thus, the signal may result from noise and can be subsequently discarded as not representative of the actual analyte on the test strip.

[0304] As used herein, the term "clamp" refers to a group of signals. In certain embodiments, the signals are derived from different specimens. In another preferred embodiment, the signal clump is a group of signals that cluster together. In a more preferred embodiment, the signal clump represents the physical area covered by one amplification oligonucleotide. Each signal clump should ideally be observed as several signals (one per template cycle, possibly more due to crosstalk). Thus, overlapping signals are detected, where two (or more) signals are included in the template from the same signal clump.

[0305] As used herein, terms such as "minimum," "maximum," "minimize," "maximize," and grammatical variations thereof may include values ​​that are not absolute maximums or minimums. In some embodiments, values ​​include near maximums and minimums. In other examples, values ​​may include local maximums and / or local minimums. In some embodiments, values ​​may include only absolute maximums or minimums.

[0306] As used herein, "crosstalk" refers to the detection of a signal in one image that is also detected in a separate image. In another preferred embodiment, crosstalk can occur when an emitted signal is detected in two separate detection channels. For example, if an emitted signal occurs in one color, the emission spectrum of that signal may overlap with another emitted signal in another color. In a preferred embodiment, fluorescent molecules used to indicate the presence of nucleotide bases A, C, G, and T are detected in separate channels. However, because the emission spectra of A and C overlap, a portion of the C color signal may be detected during detection using a color channel. Thus, crosstalk between the A and C signals allows a signal from one color image to appear in another color image. In some embodiments, there is G and T crosstalk. In some embodiments, the amount of crosstalk between channels is asymmetric. It will be understood that the amount of crosstalk between channels can be controlled by, among other things, selecting signal molecules with appropriate emission spectra and selecting the size and wavelength range of the detection channels.

[0307] As used herein, "register," "registering," "registration," and similar terms refer to any process for correlating signals in an image or dataset with signals in an image or dataset from another time or perspective. For example, registration can be used to align signals from a set of images to form a template. In another example, registration can be used to register signals from other images to a template. One signal may be directly or indirectly registered to another signal. For example, a signal from image "S" may be directly registered to image "G." As another example, a signal from image "N" may be directly registered to image "G," or alternatively, a signal from image "N" may be registered to image "S," which was previously registered to image "G." Thus, the signal from image "N" is indirectly registered to image "G."

[0308] As used herein, the term "fiducial" is intended to mean a distinguishable reference point in or on an object. The fiducial point may be, for example, a mark, a second object, a shape, an edge, a region, an irregularity, a channel, a pit, a post, etc. The fiducial point may be present in an image of the object or in another data set derived from detecting the object. The fiducial point may be specified by an x ​​and / or y coordinate in the plane of the object. Alternatively or additionally, the fiducial point may be specified by a z coordinate orthogonal to the xy plane, for example, defined by the relative positions of the object and the detector. One or more coordinates for the fiducial point may be specified relative to one or more other specimens of the object, or an image or other data set derived from the object.

[0309] As used herein, the term "optical signal" is intended to include, for example, fluorescence, luminescence, scattering, or absorption signals. Optical signals can be detected in the ultraviolet (UV) range (approximately 200-390 nm), visible (VIS) range (approximately 391-770 nm), infrared (IR) range (approximately 0.771-25 micrometers), or other ranges of the electromagnetic spectrum. Optical signals can be detected in a manner that excludes all or part of one or more of these ranges.

[0310] As used herein, the term "signal level" is intended to mean the amount or quantity of detected energy or encoded information having a desired or predetermined characteristic. For example, optical signals can be quantified by one or more of intensity, wavelength, energy, frequency, power, brightness, etc. Other signals can be quantified according to characteristics such as voltage, current, electric field strength, magnetic field strength, frequency, power, temperature, etc. The absence of a signal is understood to be a signal level of zero or a signal level that is not significantly distinguishable from noise.

[0311] As used herein, the term "simulate" is intended to mean creating a representation or model of something physical or behavioral that predicts physical or behavioral characteristics. The representation or model may often be distinguishable from the thing or behavior. For example, the representation or model may be distinguishable with respect to one or more characteristics, such as color, texture, size, or the strength of a signal detected from all or a portion of the thing or behavior. In certain implementations, the representation or model may be idealized, exaggerated, muted, or incomplete compared to something or behavior. Thus, in some implementations, the representation of the model may be representative of, for example, at least one of the above characteristics. The representation or model may be provided in a computer-readable format or medium, such as one or more of those described elsewhere herein.

[0312] As used herein, the term "specific signal" is intended to mean a detected energy or encoded information that is selectively observed over other energies or information, such as background energy or information. For example, a specific signal can be an optical signal detected at a particular intensity, wavelength, or color, an electrical signal detected at a particular frequency, power, or magnetic field strength, or other signal known in the art related to spectroscopy and analytical detection.

[0313] As used herein, the term "swath" is intended to mean a rectangular portion of an object. A swath may be an elongated strip that is scanned by relative movement between the object and the detector in a direction parallel to the longest dimension of the strip. Generally, the width of the rectangular portion or strip is constant along its entire length. Multiple swaths of an object may be parallel to one another. Multiple swaths of an object may overlap one another, be adjacent to one another, or be separated from one another by interstitial regions.

[0314] As used herein, the term "variance" is intended to mean the expected difference and the observed difference, or the difference between two or more observations. For example, variance can be the discrepancy between expected and measured values. Statistical functions such as standard deviation, the square of the standard deviation, and the coefficient of variation can be used to express variance.

[0315] As used herein, the term "x-y coordinates" is intended to mean information that specifies a position, size, shape, and / or orientation within an x-y plane. The information may be, for example, numerical coordinates in a Cartesian coordinate system. The coordinates may be provided relative to one or both of the x-axis and y-axis, or may be provided relative to another location within the x-y plane. For example, the coordinates of an analyte in an object may specify the location of the analyte relative to a fiducial or the location of another analyte in the object.

[0316] As used herein, the term "xy-plane" is intended to mean the two-dimensional region defined by linear axes x and y. When used with reference to a detector and an object observed by the detector, it may be further specified as being orthogonal to the observation direction between the detector and the object being detected.

[0317] As used herein, the term "z-coordinate" is intended to mean information specifying the location of a point, line, or region along an axis orthogonal to the x-y plane. In certain embodiments, the z-axis is orthogonal to the area of ​​the object observed by the detector. For example, the direction of the focus of an optical system may be specified along the z-axis.

[0318] In some embodiments, the acquired signal data is transformed using an affine transformation. In some such embodiments, template generation utilizes the fact that affine transformations between color channels are consistent between runs. Because of this consistency, a set of default offsets can be used when determining the coordinates of analytes in a specimen. For example, a default offset file can include relative transformations (shifts, scales, skews) for one channel, such as the A channel, relative to a different channel. However, in other embodiments, offsets between color channels drift during and / or between runs, making offset-driven template generation difficult. In such examples, the methods and systems provided herein can utilize offset template generation, which is further described below.

[0319] In some embodiments of the above embodiments, the system may include a flow cell. In some embodiments, the flow cell includes lanes or other configurations of tiles, at least some of which contain one or more analytes. In some embodiments, the analytes include a plurality of molecules, such as nucleic acids. In certain aspects, the flow cell is configured to extend primers that hybridize to nucleic acids within the analyte to deliver labeled nucleotide bases to a sequence of nucleic acids, thereby generating a signal corresponding to the analyte, which includes the nucleic acid. In preferred embodiments, the nucleic acids within the analyte are identical or substantially identical to one another.

[0320] In some of the image analysis systems described herein, each image in the set of images contains a color signal, with different colors corresponding to different nucleotide bases. In some embodiments, each image in the set of images contains a signal having a single color selected from at least four different colors. In some embodiments, each image in the set of images contains a signal having a single color selected from four different colors. In some of the systems described herein, nucleic acids can be sequenced by providing four different labeled nucleotide bases to the sequence of molecules to generate four different images, each image containing a signal having a single color, with the signal color being different for each of the four different images, thereby generating a cycle of four color images corresponding to the four possible nucleotides present at a particular position in the nucleic acid. In certain embodiments, the system includes a flow cell configured to deliver additional labeled nucleotide bases to the sequence of molecules, thereby generating a cycle of multiple color images.

[0321] In preferred embodiments, the methods provided herein may include determining whether a processor is actively collecting data or whether the processor is in a low activity state. Collecting and storing a large number of high-quality images typically requires a large amount of storage capacity. Furthermore, once collected and stored, analyzing the image data can be resource-intensive and may impede the processing power of other functions, such as collecting and storing additional image data. Thus, as used herein, the term "low activity state" refers to the processing power of a processor at a given time. In some embodiments, a low activity state occurs when the processor is not collecting and / or storing data. In some embodiments, a low activity state occurs when some data collection and / or storage occurs, but additional processing power remains so that image analysis can occur simultaneously without interfering with other functions.

[0322] As used herein, "identifying a conflict" refers to identifying a situation in which multiple processes are competing for a resource. In some such embodiments, one process is given priority over another process. In some embodiments, the conflict may relate to the need to give priority to the allocation of time, processing power, storage power, or any other resource that is given priority. Thus, in some embodiments, when processing time or capacity is distributed between two processes, such as one that analyzes a data set and one that acquires and / or stores a data set, a discrepancy between the two processes exists that can be resolved by giving priority to one of the processes.

[0323] Also provided herein is a system for performing image analysis. The system can include a processor, a storage capacity, and a program for image analysis, the program including instructions for processing a first dataset for storage and a second dataset for analysis, the processing including acquiring and / or storing the first dataset on the storage device and analyzing the second dataset when the processor is not acquiring the first dataset. In certain aspects, the program includes instructions for identifying at least one instance of conflict between acquiring and / or storing the first dataset and analyzing the second dataset, and prioritizing acquiring and / or storing the image data such that acquiring and / or storing the first dataset is given priority. In certain aspects, the first dataset includes an image file collected from an optical imaging device. In certain aspects, the system further includes an optical imaging device. In some implementations, the optical imaging device includes a light source and a detection device.

[0324] As used herein, the term "program" refers to instructions or commands for performing a task or process. The term "program" may be used interchangeably with the term "module." In certain embodiments, a program may be a compilation of various instructions executed under the same command set. In other embodiments, a program may refer to a separate batch or file.

[0325] The following are some of the surprising benefits of utilizing the methods and systems for performing image analysis described herein. In some sequencing implementations, an important measure of a sequencing system's usefulness is its overall efficiency. For example, the amount of mappable data generated per day and the total cost of installing and operating the instrument are important aspects of an economical sequencing solution. To reduce the time required to generate mappable data and increase system efficiency, real-time base calling can be enabled on the instrument computer and can run in parallel with sequencing chemistry and imaging. This allows data processing and analysis to be completed before final sequencing chemistry. Furthermore, it can reduce the storage required for intermediate data and limit the amount of data that needs to be transferred across the network.

[0326] While sequence output has increased, the data transferred per operation from the system provided herein to the network and secondary analysis processing hardware has been substantially reduced. By converting data on the instrument computer (acquisition computer), the network load is dramatically reduced. Without these on-instrument, off-network data reduction techniques, the image output of a DNA sequencing instrument's FRET would cripple most networks.

[0327] The widespread adoption of high-throughput DNA sequencing instruments has been driven in part by their ease of use, support for a range of applications, and adaptability to virtually any laboratory environment. The highly efficient algorithms presented herein allow for the addition of significant analytical capabilities to simple workstations capable of controlling sequencing instruments. This reduction in computational hardware requirements has several practical advantages that will become even more important as sequencing output levels continue to increase. For example, image analysis and base calling are kept to a minimum by using simple towers, minimizing heat generation, laboratory footprint, and power consumption. In contrast, other commercial sequencing technologies have recently ramped up their computing infrastructure, at up to five times the processing power for primary analysis, before beginning to increase their thermal output and power consumption. Thus, in some embodiments, the computational efficiency of the methods and systems provided herein allows for increased sequencing throughput while minimizing server hardware.

[0328] Thus, in some embodiments, the methods and / or systems presented herein function as a state machine, keeping track of the individual state of each sample, and when it detects that a sample is ready to progress to the next state, it takes appropriate action to advance the sample to that state. A more detailed example of how a state machine monitors the file system to determine if a sample is ready to progress to the next state in accordance with a preferred embodiment is provided in Example 1 below.

[0329] In preferred embodiments, the methods and systems provided herein are multi-threaded and can operate with a configurable number of threads. Thus, for example, in the context of nucleic acid sequencing, the methods and systems provided herein can operate in the background during live sequencing operations for real-time analysis, or can operate using existing image datasets for offline analysis. In certain preferred embodiments, the methods and systems handle multi-threading by giving each thread its own subset of the analytes it is responsible for. This minimizes the possibility of thread stranding.

[0330] The disclosed methods can include using a detection device to acquire a target image of an object, the image including a repeating pattern of analytes on the object. Detection devices capable of high-resolution imaging of surfaces are particularly useful. In certain embodiments, the detection device will have sufficient resolution to distinguish analytes at the densities, pitches, and / or analyte sizes described herein. Detection devices capable of acquiring images or image data from a surface are particularly useful. Exemplary detectors are those configured to acquire area images while maintaining a static relationship between the object and the detector. Scanning devices can also be used. For example, devices that acquire continuous area images (e.g., referred to as "step and shot" detectors) can be used. Also useful are devices that continuously scan points or lines on the surface of an object and accumulate data to construct an image of the surface. Point-scan detectors can be configured to scan points (i.e., small detection areas) on the surface of an object via a raster motion in the x-y plane of the surface. Line-scan detectors can be configured to scan a line along the y-dimension of the surface of the object, with the longest dimension of the line occurring along the x-dimension. It will be understood that scanning detection can be achieved by moving the detection device, the object, or both. For example, detection devices that are particularly useful in nucleic acid sequencing applications are described in U.S. Patent Application Publication Nos. 2012 / 0270305(A1), 2013 / 0023422(A1), and 2013 / 0260372(A1), as well as U.S. Patent Nos. 5,528,050, 5,719,391, 8,158,926, and 8,241,573, each of which is incorporated herein by reference.

[0331] The embodiments disclosed herein may be implemented as a method, apparatus, system, or article of manufacture using programming or engineering techniques to generate software, firmware, hardware, or any combination thereof. As used herein, the term "article of manufacture" refers to code or logic embodied in hardware or computer-readable media, such as optical storage devices, as well as volatile or non-volatile memory devices. Such hardware includes, but is not limited to, field programmable gate arrays (FPGAs), coarse-grained reconfigurable architectures (CGRAs), application-specific integrated circuits (ASICs), complex programmable logic devices (CPLDs), programmable logic arrays (PLAs), microprocessors, or other similar processing devices. In certain embodiments, the information or algorithms described herein reside in non-transitory storage media.

[0332] In certain embodiments, the computer-implemented methods described herein can occur in real time while multiple images of an object are being acquired. Such real-time analysis is particularly useful for nucleic acid sequencing applications, where nucleic acid sequences are subjected to repeated cycles of fluidization and detection steps. While analysis of sequencing data can often be beneficial to perform the methods described herein in real time or in the background, it can also be beneficial to perform the methods described herein while other data collection or analysis algorithms are in process. Examples of real-time analysis methods that can be used in the present methods are those commercially available from Illumina, Inc. (San Diego, Calif.) and / or used in the MiSeq and HiSeq sequencing instruments described in U.S. Patent Application Publication No. 2012 / 0020537, which is incorporated herein by reference.

[0333] An exemplary data analysis system is formed by one or more programmed computers, and has programming stored on one or more machine-readable media having code executed to perform one or more steps of the methods described herein. In one embodiment, for example, the system includes an interface designed to enable networking of the system to one or more detection systems (e.g., optical imaging systems) configured to acquire data from target objects. The interface can receive and condition the data, as appropriate. In certain embodiments, the detection systems output image data representing, for example, individual image elements or pixels that together form an image of an array or other object. A processor processes the received detection data according to one or more routines defined by the processing code. The processing code may be stored in various types of memory circuits.

[0334] According to presently contemplated embodiments, processing code executed on the detection data includes data analysis routines designed to analyze the detection data to determine the locations of individual analytes visible or encoded within the data, as well as locations where no analyte is detected (i.e., where no analyte is present or where no significant signal is detected from an existing analyte) and metadata. In certain embodiments, analyte locations within the array typically appear brighter than non-analyte locations due to the presence of a fluorescent dye attached to the imaged analyte. It will be understood that analytes need not appear brighter than their surrounding areas if, for example, a probe's target in the analyte is not present within the array being detected. The color in which individual analytes appear can be a function of the dye used as well as the wavelength of light used by the imaging system for imaging purposes. Analytes without bound targets or specific labels can be identified according to other characteristics, such as their expected location within the microarray.

[0335] Once the data analysis routine has located the individual analytes in the data, value assignment can be performed. Generally, value assignment assigns a digital value to each analyte based on the characteristics of the data represented by the detector element (e.g., pixel) at the corresponding location. That is, for example, when imaging data is processed, the value assignment routine may be designed to recognize that a particular color or wavelength of light has been detected at a particular location. In a typical DNA imaging application, for example, the four common nucleotides are represented by four separate, distinguishable colors. Each color may then be assigned a value corresponding to that nucleotide.

[0336] As used herein, the terms “module,” “system,” or “system controller” may include hardware and / or software systems and circuitry that operate to perform one or more functions. For example, a module, system, or system controller may include a computer processor, controller, or other log-based device that performs operations based on instructions stored on a tangible and non-transitory computer-readable storage medium, such as computer memory. Alternatively, a module, system, or system controller may include a hardwired device that performs operations based on hardwired logic and circuitry. A module, system, or system controller shown in the accompanying drawings may represent hardware and circuitry that operates based on software or hardwired instructions, software that instructs hardware to operate, or a combination thereof. A module, system, or system controller may include or represent hardware circuitry or circuitry that includes and / or is connected to one or more processors, such as a computer microprocessor.

[0337] As used herein, the terms "software" and "firmware" are used interchangeably and include any computer program stored in memory that is executed by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above memory types are merely examples and are not intended to be limiting of the types of memory that can be used to store computer programs.

[0338] In the field of molecular biology, one of the processes for nucleic acid sequencing in use is sequencing-by-synthesis. This technology can be applied to highly parallel sequencing projects. For example, by using an automated platform, millions of sequencing reactions can be performed simultaneously. Accordingly, one embodiment of the present invention relates to an apparatus and method for collecting, storing, and analyzing image data generated during nucleic acid sequencing.

[0339] The enormous gain in the amount of data that can be collected and stored makes streamlined image analysis methods even more beneficial. For example, the image analysis methods described herein allow both designers and end users to make efficient use of existing computer hardware. Accordingly, methods and systems are presented herein that reduce the computational complexity of processing data in the face of rapidly increasing data output. For example, in the field of DNA sequencing, yields have expanded 15-fold in recent years, potentially reaching hundreds of gigabases in a single run of a DNA sequencing device. Large-scale genome-scale experiments are beyond the reach of most researchers, given the proportional increase in computational infrastructure requirements. Therefore, the generation of ever-increasing amounts of raw sequence data increases the need for secondary analysis and data storage, making optimization of data transport and storage highly beneficial. Some embodiments of the methods and systems presented herein can reduce the time, hardware, networking, and laboratory infrastructure requirements required to generate usable sequence data.

[0340] This disclosure describes various methods and systems for performing the methods. Some example methods are described as a series of steps. However, it should be understood that implementations are not limited to the specific steps and / or order of steps described herein. Steps may be omitted, steps may be modified, and / or other steps may be added. Furthermore, steps described herein may be combined, steps may be performed simultaneously, steps may be divided into multiple substeps, steps may be performed in a different order, or steps (or series of steps) may be re-performed iteratively. Additionally, while different methods are described herein, it should be understood that other implementations may combine different methods (or steps of different methods).

[0341] In some embodiments, a processing unit, processor, module, or computing system that is "configured" to perform a task or operation may be understood to be specifically structured to perform the task or operation (e.g., arranged or intended to perform the task or operation, and / or having one or more programs or instructions arranged or intended to perform the task or operation, and / or having an arrangement of processing circuitry arranged or intended to perform the task or operation). For clarity and avoidance of doubt, a general-purpose computer (which may be "configured" to perform a task or operation when suitably programmed) is not "configured" to perform the task or operation unless specifically programmed or structurally modified to perform the task or operation).

[0342] Furthermore, the operations of the methods described herein may be sufficiently complex such that the operations cannot be performed by the average person or by a person skilled in the art within a commercially reasonable period of time. For example, the methods may rely on relatively complex calculations such that such a person cannot complete the methods within a commercially reasonable period of time.

[0343] Throughout this application, various publications, patents, or patent applications are referenced. The disclosures of these publications in their entireties are hereby incorporated by reference into this application in order to more fully describe the state of the art to which this invention pertains.

[0344] The term "comprising," as used herein, is intended to be open-ended, encompassing not only the recited elements, but any additional elements as well.

[0345] As used herein, the term "each," when used in reference to a collection of items, is intended to identify each individual item in the set, but does not necessarily refer to every item in the set. Exceptions may occur where express disclosure or context clearly dictates otherwise.

[0346] Although the invention has been described with reference to the above embodiments, it will be understood that various modifications can be made without departing from the invention.

[0347] The modules of the present application can be implemented in hardware or software and need not be divided into exactly the same blocks as shown in the figures. Some may be implemented on different processors or computers, or may be spread across multiple different processors or computers. In addition, it will be understood that some of the modules may operate in parallel or in a different order than shown in the figures without affecting the functionality achieved. Also, as used herein, the term "module" may include "sub-modules," which may be considered herein to constitute a module. Blocks in the figures designated as modules may also be considered flowchart steps in a method.

[0348] As used herein, "identification" of an item of information does not necessarily require direct specification of that item of information. Information may be "identified" within a field by simply referencing the actual information through one or more layers in one direction, or by identifying one or more items of different information that are sufficient to determine the actual item of information. Additionally, the term "designate" is used herein to mean the same thing as "identify."

[0349] As used herein, a given signal, event, or value "depends on a preceding signal, event, or value of a preceding signal, event, or value that is affected by the given signal, event, or value. If there is an intervening processing element, step, or time period, a given signal, event, or value can "exist" depending on the "preceding signal, event, or value." If an intervening processing element or step combines two or more signals, events, or values, the signal output of the processing element or step is considered to be dependent on "each of the signal, event, or value inputs." If a given signal, event, or value is the same as a preceding signal, event, or value, this is simply considered to mean that the given signal, event, or value is "in dependence upon or dependent on" or "based on" the "preceding signal, event, or value." The "responsiveness" of a given signal, event, or value to another signal, event, or value is defined similarly.

[0350] As used herein, "concurrently" or "parallel" does not require exact simultaneity. It is sufficient if the assessment of one of the individuals begins before the assessment of another of the individuals is completed.

[0351] This application refers to "cluster image" and "cluster intensity image" interchangeably. Specific Implementations

[0352] The inventors contemplate various embodiments of artificial intelligence-based base calling using knowledge distillation techniques. One or more features of an embodiment can be combined with a base embodiment. Non-mutually exclusive embodiments are taught as combinable. One or more features of an embodiment can be combined with other embodiments. The present disclosure will periodically inform users of these options. The omission from some embodiments of a repeating list of these options should not be construed as limiting the combinations taught in the preceding sections. These descriptions are incorporated herein by reference into each of the following implementations.

[0353] We disclose an artificial intelligence-based method for base calling. The method includes training a teacher (first, large) base caller using a first set of cluster images as training data. The first set of cluster images is annotated with first ground truth data that identifies correct base calls using discrete value labels. In one embodiment, the discrete value labels are one-hot encoded with a value of 1 for correct bases and a value of zero for incorrect bases. In one embodiment, the discrete value labels have values ​​close to 1 for correct bases and values ​​close to zero for incorrect bases.

[0354] The method includes evaluating the second set of cluster images as inference data by applying the trained supervised (first, larger) base call to the second set of cluster images to generate base call predictions. The base call predictions are represented by continuously valued weights that identify the predicted base calls. In one embodiment, the continuously valued weights are part of a probability distribution of correct bases that are adenine (A), cytosine (C), thymine (T), and guanine (G).

[0355] The method includes training a student (second, smaller) base caller using a second set of cluster images as training data, where the second set of cluster images is annotated with second ground truth data that identifies correct base calls based on (i) discrete-valued labels and (ii) continuously-valued weights.

[0356] The student (second, smaller) base chorus has fewer processing modules and parameters than the teacher (first, larger) base chorus. In one embodiment, one of the processing modules is a neural network layer. In one embodiment, one of the parameters is the interconnections between the neural network layers. In one embodiment, one of the processing modules is a neural network filter. In one embodiment, one of the processing modules is a neural network kernel. In one embodiment, one of the parameters is a multiplication operation and an addition operation.

[0357] The method includes evaluating the third set of cluster images as inference data by applying the trained pupil (a second, smaller) base call to the third set of cluster images and generating base call predictions.

[0358] The methods described in this and other sections of the disclosed technology may include one or more of the following features and / or characteristics described in connection with additional disclosed methods. For purposes of brevity, combinations of features disclosed in this application are not individually listed and are not repeated for each base set of features. The reader will understand how the features identified in these embodiments can be readily combined with the base feature sets identified in other embodiments.

[0359] In one embodiment, the method includes training a student (second, smaller) base caller using a second set of cluster images as training data, where the second set of cluster images is annotated with second ground truth data that identifies correct base calls based on continuously valued weights.

[0360] In one embodiment, the cluster image shows the intensity emission of the cluster. The intensity emission is captured during a sequencing cycle of a sequencing run. In one embodiment, the cluster image further shows the intensity emission of the background surrounding the cluster.

[0361] In one embodiment, the first set of cluster images, the second set of cluster images, and the third set of cluster images share one or more common cluster images.

[0362] In one embodiment, the method includes training an ensemble of teacher (first, larger) base calls using a first set of cluster images as training data. The first set of cluster images is annotated with first ground truth data that identifies correct base calls using discrete-value labels. The ensemble includes two or more instances of the teacher (first, larger) base calls.

[0363] The method includes evaluating the second set of cluster images as inference data by applying the trained supervised (first, larger) base call to the second set of cluster images to generate base call predictions, which are represented by continuously valued weights that identify the predicted base calls.

[0364] The method includes training a student (second, smaller) base caller using a second set of cluster images as training data. The second set of cluster images is annotated with second ground truth data that identifies correct base calls based on (i) discrete-valued labels and (ii) continuously-valued weights. The student (second, smaller) base caller has fewer processing modules and parameters than the teacher (first, larger) base caller ensemble.

[0365] The method includes evaluating the third set of cluster images as inference data by applying the trained pupil (second, smaller) base call to the third set of cluster images and generating base call predictions.

[0366] In one embodiment, the method includes implementing a trained student (second, smaller) base caller on one or more parallel processors of a sequencing instrument for real-time base calling.

[0367] Other implementations of the methods described in this section may include a non-transitory computer-readable storage medium storing instructions executable by a processor to perform any of the above-described methods. Yet another implementation of the methods described in this section may include a system including a memory and one or more processors operable to execute instructions stored in the memory, and may perform any of the above-described methods.

[0368] In another embodiment, a system for artificial intelligence-based base calling is disclosed, which includes a base caller (a student, a second, smaller base caller / engine) trained on cluster images that have been annotated with ground truth data that identifies correct base calls based on (i) the discrete-valued labels of the ground truth data used to train another base caller, and (ii) the continuously-valued weights of the base call predictions generated by another base caller (a teacher, a first, larger base caller / engine) for the cluster images during inference.

[0369] A base collaborator (student, second, smaller base collaborator / engine) has fewer processing modules and parameters than another base collaborator (teacher, first, larger base collaborator / engine). In one embodiment, one of the processing modules is a neural network layer. In one embodiment, one of the parameters is the interconnections between neural network layers. In one embodiment, one of the processing modules is a neural network filter. In one embodiment, one of the processing modules is a neural network kernel. In one embodiment, one of the parameters is a multiplication operation and an addition operation.

[0370] The base caller (student, a second, smaller base caller / engine) is configured to evaluate the additional cluster images and generate base call predictions for the additional cluster images.

[0371] The discrete labels are one-hot encoded with a value of 1 for the correct base and a value of zero for the incorrect base. The continuously valued weights are part of the probability distribution of the correct bases, which are adenine (A), cytosine (C), thymine (T), and guanine (G).

[0372] In yet another embodiment, a system for artificial intelligence-based base calling is disclosed, which includes a teacher (first, larger) base caller trained on cluster images annotated with ground truth data that identifies correct base calls based on base call predictions produced by a student (second, smaller) base caller.

[0373] In yet another embodiment, we disclose an artificial intelligence-based method for base calling. The method includes training a teacher (first, large) base caller using a first set of cluster images as training data. The first set of cluster images is annotated with first ground truth data that identifies correct base calls using discrete value labels. In one embodiment, the discrete value labels are one-hot encoded with a value of 1 for correct bases and a value of zero for incorrect bases. In one embodiment, the discrete value labels have values ​​close to 1 for correct bases and values ​​close to zero for incorrect bases.

[0374] The method includes evaluating the second set of cluster images as inference data by applying the trained supervised (first, larger) base call to the second set of cluster images to generate base call predictions. The base call predictions are represented by continuously valued weights that identify the predicted base calls. In one embodiment, the continuously valued weights are part of a probability distribution of correct bases that are adenine (A), cytosine (C), thymine (T), and guanine (G).

[0375] The method includes training a student (second, smaller) base caller using a second set of cluster images as training data, where the second set of cluster images is annotated with second ground truth data that identifies correct base calls based on (i) discrete-valued labels and (ii) continuously-valued weights.

[0376] In some embodiments, the supervised base caller (first, larger engine / model) is a neural network-based base caller. In one embodiment, the supervised base caller (first, larger engine / model) is a convolutional neural network (CNN) with multiple convolutional layers. In another embodiment, it is a recurrent neural network (RNN) such as a long short-term memory network (LSTM), a bidirectional LSTM (Bi-LSTM), or a gated recurrent unit (GRU). In yet another embodiment, it includes both a CNN and an RNN.

[0377] In yet another embodiment, the supervised-based collaborator (first, larger engine / model) can use 1D convolution, 2D convolution, 3D convolution, 4D convolution, 5D convolution, dilated or expanded convolution, transposed convolution, depth-separable convolution, pointwise convolution, 1x1 convolution, group convolution, flattened convolution, spatial and cross-channel convolution, shuffled grouped convolution, spatially separable convolution, and deconvolution. It can use one or more loss functions such as logistic regression / logarithmic loss, multiclass cross-entropy / softmax loss, binary cross-entropy loss, mean squared error loss, L1 loss, L2 loss, smoothed L1 loss, and Huber loss. It can use any parallel, efficient, and compression scheme, such as TFRecords, compression encoding (e.g., PNG), sharpening, parallel calls to map transforms, batching, prefetching, model parallelism, data parallelism, and synchronous / asynchronous stochastic gradient descent (SGD). It can include nonlinear transformation functions, such as upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (e.g., LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, Pejol connections, activation functions (e.g., nonlinear transformation functions such as rectified linear unit (ReLU), leaky ReLU, exponential linear unit (ELU), sigmoid, and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or mean pooling), global mean pooling layers, and attention mechanisms.

[0378] In some embodiments, the student-based coder (second, smaller engine / model) is a neural network-based coder. In one embodiment, the student-based coder (second, smaller engine / model) is a convolutional neural network (CNN) with multiple convolutional layers. In another embodiment, it is a recurrent neural network (RNN) such as a long short-term memory network (LSTM), a bidirectional LSTM (Bi-LSTM), or a gated recurrent unit (GRU). In yet another embodiment, it includes both a CNN and an RNN.

[0379] In yet another embodiment, the student-based cola (second, smaller engine / model) can use 1D convolution, 2D convolution, 3D convolution, 4D convolution, 5D convolution, dilated or expanded convolution, transposed convolution, depth-separable convolution, pointwise convolution, 1x1 convolution, group convolution, flattened convolution, spatial and cross-channel convolution, shuffled grouped convolution, spatially separable convolution, and deconvolution. It can use one or more loss functions such as logistic regression / logarithmic loss, multi-class cross-entropy / softmax loss, binary cross-entropy loss, mean squared error loss, L1 loss, L2 loss, smoothed L1 loss, and Huber loss. It can use any parallel, efficient, and compression scheme, such as TFRecords, compression encoding (e.g., PNG), sharpening, parallel calls to map transforms, batching, prefetching, model parallelism, data parallelism, and synchronous / asynchronous stochastic gradient descent (SGD). It can include nonlinear transformation functions, such as upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (e.g., LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, Pejol connections, activation functions (e.g., nonlinear transformation functions such as rectified linear unit (ReLU), leaky ReLU, exponential linear unit (ELU), sigmoid, and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or mean pooling), global mean pooling layers, and attention mechanisms.

[0380] item

[0381] The present inventors disclose the following items. 36. An artificial intelligence-based method for performing computationally efficient base calling, the method comprising: training a first base caller via the cluster intensity images and generating a first trained base caller that maps the cluster intensity images to base call predictions; starting with a first trained base collaborator and executing a loop in which each iteration uses the trained starting base collaborator as input and produces a trained pruned base collaborator as output, wherein the trained pruned base collaborator has fewer processing elements than the trained starting base collaborator; each iteration includes: (i) a base call prediction step; (ii) a contribution measurement step; (iii) a pruning step; and (iv) a retraining step; a base call prediction step processing a subset of the cluster intensity images through the trained and initiated base call processing elements during forward propagation to generate base call predictions; a contribution measuring step generating a contribution score for each of the processing elements that identifies the amount of the processing element contributed to the base call prediction; a pruning step selecting a subset of processing elements based on their contribution scores and removing the selected subset of processing elements from the trained and starting base collaborator to generate a trained and pruned base collaborator; a retraining step further trains the trained and pruned base collaborator through the cluster intensity images so that the trained and pruned base collaborator can be used as the trained and starting base collaborator for successive iterations; and terminating the loop after n iterations and using the trained and pruned base calls produced by the nth iteration for further base calling. 37. The contribution score of a processing element is applying an absolute function to the weights of the processing elements to generate absolute weight values; and summing the absolute weight values ​​to generate a contribution score for the processing element. 38. The artificial intelligence-based method according to item 36, implementing each of the items ultimately relying on items 1 and 27. 39. An artificial intelligence-based method for performing computationally efficient base calling, the method comprising: training a first base caller via the cluster intensity images and generating a first trained base caller that maps the cluster intensity images to base call predictions; starting with a first trained base collaborator and executing a loop in which each iteration uses the trained starting base collaborator as input and produces a trained pruned base collaborator as output, wherein the trained pruned base collaborator has fewer processing elements than the trained starting base collaborator; each iteration includes: (i) cluster feature map generation; (ii) gradient determination; (iii) intermediate feature value generation; (iv) feature sum generation; (v) subset output generation; (viii) subset selection; (vii) pruning; (viii) cluster feature map identification; and (ix) retraining; a cluster feature map generation step that processes a subset of the cluster intensity images through the trained and activated base call processing elements during forward propagation, generates one or more cluster feature maps using each processing element, and generates base call predictions based on the cluster feature maps; a gradient determination step, during backpropagation, determining a gradient of the cluster feature map based on an error between the base call prediction and the ground truth base call; an intermediate feature value generating step multiplying the feature values ​​in the cluster feature maps by respective ones of the gradients to generate a set of intermediate feature values ​​for each of the cluster feature maps; a feature sum generation step summing the intermediate feature values ​​in the set of intermediate feature values ​​to generate a feature sum for each of the cluster feature maps, thereby generating a set of feature sums for a trained and starting base cluster; a subset output generation step summing subsets of features in the set of features to generate a subset output for each subset; a subset selection step selecting one or more of the subsets of feature sums based on evaluating each subset output against one or more feature sums in the set of feature sums; a cluster feature map identification step identifying those cluster feature maps whose feature sums are part of the selected subset of feature sums; a pruning step generating a trained and pruned base collaborator by removing from the trained and starting base collaborator those processing elements that were used to generate the cluster feature maps identified during forward propagation; a retraining step further trains the trained and pruned base collaborator through the cluster intensity images so that the trained and pruned base collaborator can be used as the trained and starting base collaborator for successive iterations; and terminating the loop after n iterations and using the trained and pruned base calls produced by the nth iteration for further base calling. 40. The artificial intelligence-based method of item 39, wherein the subset output for a subset of feature sums is based on an additive sum of the feature sums within the subset. 41. The artificial intelligence-based method of item 40, wherein the subset output for a subset of feature sums is based on the average of the feature sums within the subset. 42. The artificial intelligence-based method of item 41, wherein the subset output for a subset of feature sums is based on an exponential sum of the feature sums within the subset. 43. The artificial intelligence-based method of item 42, wherein the subset output for a subset of feature sums is based on the multiplicative interaction of the feature sums within the subset. 44. The artificial intelligence-based method of item 43, wherein the subset selection step selects subsets of feature sums based on evaluating each subset output against the lowest feature sum in the set of feature sums and selecting those subsets whose subset output is lower than the lowest feature sum in the set of feature sums. 45. The artificial intelligence-based method of item 44, wherein the subset selection step selects subsets of feature sums based on evaluating each subset output against the lowest of the plurality of feature sums in the set of feature sums and selecting those subsets of feature sums whose subset output is lower than the lowest of the plurality of feature sums in the set of feature sums. 46. ​​The artificial intelligence-based method according to item 45, wherein the subset selection step selects a subset of feature sums whose subset output is zero. 47. The artificial intelligence-based method according to item 46, wherein the subset selection step selects the subset of feature sums whose subset output is closest to zero. 48. An artificial intelligence-based method for performing computationally efficient base calling, the method comprising: training a first base caller via the cluster intensity images and generating a first trained base caller that maps the cluster intensity images to base call predictions; starting with a first trained base collaborator and executing a loop in which each iteration uses the trained starting base collaborator as input and produces a trained pruned base collaborator as output, wherein the trained pruned base collaborator has fewer processing elements than the trained starting base collaborator; the iterations include (i) a base call prediction step, (ii) a contribution measurement step, and (iii) a pruning step; a base call prediction step processing one or more cluster intensity images through the trained and initiated base call processing elements during forward propagation to generate base call predictions; a contribution measuring step determining a contribution score for each of the processing elements that identifies the amount of the processing element that contributed to the base call prediction; and The pruning step includes selecting a subset of processing elements based on their contribution scores and generating a trained and pruned base collaborator by removing the selected subset of processing elements from the trained and starting base collaborator. 49. The artificial intelligence-based method of claim 48, wherein a contribution score for each of the processing elements is determined based on their corresponding feature maps. 50. The artificial intelligence-based method of claim 48, wherein the loop comprises one or more iterations. 51. The artificial intelligence-based method of claim 48, wherein the processing element is a filter. 52. The artificial intelligence-based method of claim 51, wherein the processing element is a convolution filter. 53. The artificial intelligence-based method of claim 48, wherein the processing element is a kernel. 54. The artificial intelligence-based method of claim 53, wherein the processing element is a convolution kernel. 55. The artificial intelligence-based method of claim 48, wherein the processing element is a layer. 56. The artificial intelligence-based method of claim 55, wherein the processing element is a convolutional layer.

[0382] Other implementations of the methods described above may include a non-transitory computer-readable storage medium storing instructions executable by a processor to perform any of the above-described methods. Yet another implementation of the methods described in this section may include a system including a memory and one or more processors operable to execute instructions stored in the memory, and may perform any of the above-described methods. [Explanation of symbols]

[0383] 800A Sequencing System 802 Common Housing 804 Temperature Control System 806 System Controller 808 Fluid Control System 810 System container or interface 812 Biosensor 814 Fluid Storage System 816 Lighting System 818 User Interface 820 display 822 User Input Devices

Claims

1. An artificial intelligence-based method of base calling executed by one or more processors, comprising: training a first neural network-based classifier using the first set of cluster images as training data; the cluster image shows intensity radiation generated as a result of incorporation of nucleotides in clusters of associated analytes on the substrate during a sequencing cycle of a sequencing run; the first set of cluster images is annotated with first ground truth data that identifies correct base calls using discrete value labels; And, evaluating a second set of cluster images as inference data by applying the trained first neural network base call to the second set of cluster images and generating base call predictions; the base call predictions are represented by continuously valued weights that identify predicted base calls; And, training a second neural network-based classifier using the second set of cluster images as training data; the second set of cluster images being: (i) the discrete value labels; and (ii) annotated with second ground truth data that identifies correct base calls based on the continuously valued weights; the second neural network-based caller has fewer processing modules and parameters than the first neural network-based caller; And, evaluating the third set of clustered images as inference data by applying the trained second neural network base call to a third set of clustered images and generating base call predictions; and artificial intelligence-based methods, including

2. 2. The artificial intelligence-based method of claim 1, wherein the discrete-value labels are one-hot encoded with a value of one for correct bases and a value of zero for incorrect bases.

3. 3. The artificial intelligence-based method of claim 2, wherein the discrete-value label has a value close to one for the correct base and a value close to zero for the incorrect base.

4. 4. The artificial intelligence based method of claim 1, wherein the continuously valued weights are part of a probability distribution of the correct bases being adenine (A), cytosine (C), thymine (T), and guanine (G).

5. 5. The artificial intelligence based method of claim 1, wherein one of the processing modules is a neural network layer.

6. The artificial intelligence based method of claim 5 , wherein one of the parameters is the interconnections between the neural network layers.

7. 7. The artificial intelligence based method of claim 1, wherein one of the processing modules is a neural network filter.

8. 8. The artificial intelligence based method of claim 1, wherein one of the processing modules is a neural network kernel.

9. The artificial intelligence based method of claim 1 , wherein one of the parameters is a multiplication operation and an addition operation.

10. The cluster image shows the intensity radiation of the cluster; wherein the intensity radiation is captured during a sequencing cycle of a sequencing run.

10. An artificial intelligence based method according to any one of claims 1 to 9.

11. The artificial intelligence based method of claim 10 , wherein the cluster image further shows intensity radiation of a background surrounding the cluster.

12. 12. The artificial intelligence based method of claim 1, wherein the first set of cluster images, the second set of cluster images, and the third set of cluster images share one or more common cluster images.

13. training the first ensemble of neural network-based clusters using the first set of cluster images as training data; the first set of cluster images are annotated with the first ground truth data that identifies the correct base calls using the discrete value labels; and training the ensemble, the ensemble including two or more instances of the first neural network base chore; evaluating the second set of cluster images as inference data by applying the trained first neural network base call to the second set of cluster images to generate the base call predictions; evaluating the base call predictions represented by the continuously valued weights that identify the predicted base calls; training the second neural network-based classifier using the second set of cluster images as training data; the second set of cluster images being: (i) the discrete value labels; and (ii) annotated with the second ground truth data, identifying the correct base call based on the continuously valued weights; the second neural network-based choreograph having fewer processing modules and parameters than the ensemble of the first neural network-based choreographers; And, evaluating the third set of cluster images as inference data by applying the trained second neural network base call to the third set of cluster images to generate the base call predictions; 13. The artificial intelligence based method of claim 1, further comprising:

14. Implementing the trained second neural network base call on one or more parallel processors of a sequencing instrument for real-time base calling.

14. The artificial intelligence based method of claim 1, further comprising:

15. 1. A system for artificial intelligence based base calling, comprising: a first neural network-based collaborator trained on the cluster images, The cluster image is (i) the discrete-value labels of the ground truth data used to train the second neural network-based chore; and (ii) annotated with ground truth data that identifies correct base calls based on continuously valued weights of base call predictions generated by the second neural network base caller for the cluster images during inference; the first neural network-based caller has fewer processing modules and parameters than the second neural network-based caller; and a first neural network base caller configured to evaluate additional cluster images and generate base call predictions for the additional cluster images; and at least one processor, at least one processor configured to cause the system to evaluate a set of clustered images as inference data by applying the first neural network base call to the set of clustered images to generate a set of base call predictions; A system comprising:

16. 16. The system of claim 15, wherein the discrete-value labels are one-hot encoded with a value of one for correct bases and a value of zero for incorrect bases.

17. 17. The system of claim 15 or 16, wherein the continuously valued weights are part of a probability distribution of correct bases that are adenine (A), cytosine (C), thymine (T), and guanine (G).

18. one of the processing modules is a neural network layer; one of the parameters is the interconnections between the neural network layers; one of the processing modules is a neural network filter; one of the processing modules is a neural network kernel; one of the parameters is a multiplication operation and an addition operation; 18. A system according to any one of claims 15 to 17.

19. 1. A system for artificial intelligence based base calling, comprising: at least one processor; a non-transitory computer-readable medium containing instructions; Equipped with The instructions, when executed by the at least one processor, provide the system with: training a first neural network-based classifier using the first set of cluster images as training data; the cluster image shows intensity radiation generated as a result of incorporation of nucleotides in clusters of associated analytes on the substrate during a sequencing cycle of a sequencing run; the first set of cluster images is annotated with first ground truth data that identifies correct base calls using discrete value labels; And, evaluating a second set of cluster images as inference data by applying the trained first neural network base call to the second set of cluster images and generating base call predictions; the base call predictions are represented by continuously valued weights that identify predicted base calls; And, training a second neural network-based classifier using the second set of cluster images as training data; the second set of cluster images being: (i) the discrete value labels; and (ii) annotated with second ground truth data that identifies correct base calls based on the continuously valued weights; training the second neural network-based caller, the second neural network-based caller having fewer processing modules and parameters than the first neural network-based caller; evaluating the third set of clustered images as inference data by applying the trained second neural network base call to the third set of clustered images and generating base call predictions; A system that allows the following to be performed.

20. 20. The system of claim 19, wherein the processing module comprises one or more of a neural network layer, a neural network filter, or a neural network kernel.

Citation Information

Patent Citations

  • Basecaller for DNA sequencing using machine learning

    US20150169824A1

  • Deep Learning-Based Techniques for Training Deep Convolutional Neural Networks

    US20190114511A1

  • Machine learning enabled pulse and base calling for sequencing devices

    US20190237160A1

  • Variant Classifier Based on Deep Neural Networks

    US20190318806A1

  • Deep learning-based variant classifier

    WO2019140402A1