Data Compression for Artificial Intelligence-Based Base Calls

A neural network-based base caller optimizes CNN deployment in embedded systems by compressing intermediate results for reuse across sequencing cycles, enhancing computational efficiency and accuracy on resource-constrained processors.

JP7704766B2Active Publication Date: 2025-07-08ILLUMINA INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2022549987
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-02-19
Filing Date
2021-02-19
Publication Date
2025-07-08
Estimated Expiration
2041-02-19

AI Technical Summary

Technical Problem

Deploying deep convolutional neural networks (CNNs) in portable and embedded systems is challenging due to large data volumes, intensive calculations, and frequent memory accesses, which reduces the efficiency of graphics processing units (GPUs) and other general-purpose platforms, especially in low-latency processing with strict power consumption requirements.

Method used

A neural network-based base caller that processes per-cycle analyte channel sets through a spatial network and a compression network to generate compressed spatial output sets, reducing redundant computations by storing and reusing intermediate results across sequencing cycles, thereby optimizing resource utilization and performance on resource-constrained processors.

Benefits of technology

The solution achieves high computational efficiency and accuracy in base calling, enabling hardware implementation on CPUs, GPUs, FPGAs, CGRAs, ASICs, ASIPs, and DSPs, with improved performance and reduced power consumption by minimizing redundant processing and expanding the context of base calls.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007704766000003
    Figure 0007704766000003
  • Figure 0007704766000004
    Figure 0007704766000004
  • Figure 0007704766000005
    Figure 0007704766000005
Patent Text Reader

Abstract

The disclosed technology relates to an artificial intelligence-based method of base calling. Specifically, the disclosed technology relates to processing a first window of analyte channel sets per cycle through a spatial network of neural network-based base callers for a first window of sequencing cycles of a sequencing run to generate a respective sequence of spatial output sets for each sequencing cycle in the first window of sequencing cycles, processing each final spatial output set in each sequence of spatial output sets through a compression network of neural network-based base callers to generate a respective compressed spatial output set for each sequencing cycle in the first window of sequencing cycles, and generating base call predictions for one or more sequencing cycles in the first window of sequencing cycles based on the respective compressed spatial output sets.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The disclosed technology relates to artificial intelligence type computers and digital data processing systems, as well as corresponding data processing methods and products for emulation of intelligence (i.e., knowledge-based systems, inference systems, and knowledge acquisition systems). The disclosed technology includes systems for inferring under uncertainty (e.g., fuzzy logic systems), adaptive systems, machine learning systems, and artificial neural networks. Specifically, the disclosed technology relates to using deep neural networks such as deep convolutional neural networks for analyzing data.

[0002] (Priority Application) This PCT application claims the priority and benefit of U.S. Provisional Patent Application No. 62 / 979,411, entitled "DATA COMPRESSION FOR ARTIFICIAL INTELLIGENCE-BASED BASE CALLING," filed on February 20, 2020 (Attorney Docket No. ILLM 1029-1 / IP-1964-PRV), and U.S. Patent Application No. 17 / 179,395, entitled "DATA COMPRESSION FOR ARTIFICIAL INTELLIGENCE-BASED BASE CALLING," filed on February 18, 2021 (Attorney Docket No. ILLM1029-2 / IP-1964-US). The priority applications are hereby incorporated by reference herein in their entirety for all purposes as if fully set forth herein.

[0003] This PCT application claims the priority and benefit of U.S. Provisional Patent Application No. 62 / 979,399, titled "SQUEEZING LAYER FOR ARTIFICIAL INTELLIGENCE-BASED BASE CALLING," filed on February 20, 2020 (Attorney Docket No., ILLM1030-1 / IP-1982-PRV), and U.S. Patent Application No. 17 / 180,480, titled "SPLIT ARCHITECTURE FOR ARTIFICIAL INTELLIGENCE-BASED BASE CALLER," filed on February 19, 2021 (Attorney Docket No. ILLM1030-2 / IP-1982-US). The priority applications are hereby incorporated by reference herein for all purposes as if fully set forth herein.

[0004] This PCT application claims the priority and benefit of U.S. Patent Application No. 17 / 180,513, titled "BUS NETWORK FOR ARTIFICIAL INTELLIGENCE-BASED BASE CALLER," filed on February 19, 2021 (Attorney Docket No. ILLM1031-2 / IP-1965-US). The priority applications are hereby incorporated by reference herein for all purposes as if fully set forth herein.

[0005] (Incorporated) The following documents are hereby incorporated by reference as if fully set forth herein: U.S. Provisional Patent Application No. 62 / 979,384, titled "ARTIFICIAL INTELLIGENCE-BASED BASE CALLING OF INDEX SEQUENCES," filed on February 20, 2020 (Attorney Docket No. ILLM 1015-1 / IP-1857-PRV), U.S. Provisional Patent Application No. 62 / 979,414, titled "ARTIFICIAL INTELLIGENCE-BASED MANY-TO-MANY BASE CALLING," filed on February 20, 2020 (Attorney Docket No. ILLM 1016-1 / IP-1858-PRV), U.S. Provisional Patent Application No. 62 / 979,385 (Attorney Docket No. ILLM 1017-1 / IP-1859-PRV), filed on February 20, 2020, entitled "KNOWLEDGE DISTILLATION-BASED COMPRESSION OF ARTIFICIAL INTELLIGENCE-BASED BASE CALLER", U.S. Provisional Patent Application No. 63 / 072,032 (Attorney Docket No. ILLM 1018-1 / IP-1860-PRV), filed on August 28, 2020, entitled "DETECTING AND FILTERING CLUSTERS BASED ON ARTIFICIAL INTELLIGENCE-PREDICTED BASE CALLS", U.S. Provisional Patent Application No. 62 / 979,412 (Attorney Docket No. ILLM 1020-1 / IP-1866-PRV), filed on February 20, 2020, entitled "MULTI-CYCLE CLUSTER BASED REAL TIME ANALYSIS SYSTEM", U.S. Non-Provisional Patent Application No. 16 / 825,987 (Attorney Docket No. ILLM 1008-16 / IP-1693-US), filed on March 20, 2020, entitled "TRAINING DATA GENERATION FOR ARTIFICIAL INTELLIGENCE-BASED SEQUENCING", U.S. Non-Provisional Patent Application No. 16 / 825,991 (Attorney Docket No. ILLM 1008-17 / IP-1741-US), filed on March 20, 2020, entitled "ARTIFICIAL INTELLIGENCE-BASED GENERATION OF SEQUENCING METADATA", U.S. Non-Provisional Patent Application No. 16 / 826,126 (Attorney Docket No. ILLM 1008-18 / IP-1744-US), filed on March 20, 2020, entitled "ARTIFICIAL INTELLIGENCE-BASED BASE CALLING", U.S. Non-Provisional Patent Application No. 16 / 826,134 (Attorney Docket No. ILLM 1008-19 / IP-1747-US) entitled "ARTIFICIAL INTELLIGENCE-BASED QUALITY SCORING", filed on March 20, 2020, and U.S. Non-Provisional Patent Application No. 16 / 826,168 (Attorney Docket No. ILLM 1008-20 / IP-1752-PRV-US) entitled "ARTIFICIAL INTELLIGENCE-BASED SEQUENCING", filed on March 21, 2020.

BACKGROUND ART

[0006] The subject matter considered in this section should not be assumed to be prior art merely as a result of mention in this section. Similarly, the problems mentioned in this section, or problems associated with the subject matter provided as background, should not be assumed to have been previously recognized in the prior art. The subject matter of this section merely represents different approaches and, as such, may itself also correspond to embodiments of the claimed technology.

[0007] Due to the rapid improvement of computing power, in recent years, in many computer vision tasks, deep convolutional neural networks (CNNs) have been able to achieve great success with significantly improved accuracy. During the inference stage, many applications require low-latency processing of one image with strict power consumption requirements, which reduces the efficiency of graphics processing units (GPUs) and other general-purpose platforms. This presents an opportunity for specific acceleration hardware, such as field-programmable gate arrays (FPGAs), to customize digital circuits to be particularly effective for the inference of deep learning algorithms. However, deploying CNNs in portable and embedded systems remains difficult due to large data volumes, intensive calculations, various algorithm structures, and frequent memory accesses.

[0008] Since convolution provides most of the operations in CNNs, convolution acceleration schemes will greatly affect the efficiency and performance of hardware CNN accelerators. Convolution involves multiply-and-accumulate (MAC) operations with four levels of loops that slide along the kernel and feature map. The first loop level calculates the MACs of the pixels within one kernel window. The second loop level accumulates the sum of the products of MACs across various different input feature maps. After completing the first and second loop levels, the final output pixel is obtained by adding the bias. The third loop level slides the kernel window within the input feature map. The fourth loop level generates various different output feature maps.

[0009] FPGAs have attracted more attention and become more widespread, especially for accelerating inference tasks. This is because FPGAs are superior to application specific integrated circuits (ASICs) in terms of (1) high reconfigurability, (2) the speed of development time required to catch up with the rapid evolution of CNNs, (3) having good performance, and (4) being more energy efficient compared to GPUs. The high performance and high efficiency of FPGAs can be achieved by synthesizing circuits customized for specific computations and directly processing billions of operations with a customized memory system. For example, the hundreds to thousands of digital signal processing (DSP) blocks in modern FPGAs support core convolution operations, such as multiply-accumulate operations with high parallel processing. Dedicated data buffers between external off-chip memory and on-chip processing engines (PEs) can be designed to achieve prioritized data flow by configuring dozens of megabytes of on-chip block random access memory (BRAM) on a field programmable gate array (FPGA) chip.

[0010] An efficient data flow and hardware architecture for CNN acceleration are desired to minimize data communication while maximizing resource utilization to achieve high performance. This presents an opportunity to design a methodology and framework for accelerating the inference processes of various CNN algorithms on acceleration hardware and achieving high performance, high efficiency, and high flexibility.

Summary of the Invention

Means for Solving the Problems

[0011] A base call artificial intelligence-based method, wherein the method Accessing a series of per-cycle analyte channel sets generated for the sequencing cycles of a sequencing run, and Processing, via a spatial network of a neural network-based base caller, a first window of the per-cycle analyte channel sets within the series for a first window of the sequencing cycles of the sequencing run to generate a respective sequence of a spatial output set for each sequencing cycle in the first window of the sequencing cycles; and Processing, via a compression network of the neural network-based base caller, each respective final spatial output set within each sequence of the spatial output set to generate a respective compressed spatial output set for each sequencing cycle in the first window of the sequencing cycles; and Generating a base call prediction for one or more sequencing cycles in the first window of the sequencing cycles based on each respective compressed spatial output set.

[0012] In the drawings, like reference characters generally refer to like parts throughout the different views. Also, the drawings are not necessarily to scale; instead, emphasis has been placed on 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. BRIEF DESCRIPTION OF THE DRAWINGS

[0013]

Fig. 1A

Fig. 1B

Fig. 1C

Fig. 1D

Fig. 1E

Fig. 1F

Fig. 1G

Fig. 1H

Fig. 2A

Fig. 2B

Fig. 2C

Fig. 3A

Fig. 3B

Fig. 3C

Fig. 4A

Fig. 4B

Fig. 4C

Fig. 5A

Fig. 5B

Fig. 6A

Fig. 6B

Fig. 7A

Fig. 7B

Fig. 8A

Fig. 8B

Fig. 9A

Fig. 9B

Fig. 10A

Fig. 10B

Fig. 11A

Fig. 11B

Fig. 12A

Fig. 12B

Fig. 13A

Fig. 13B

Fig. 14

Fig. 15

Fig. 16

Fig. 17

Fig. 18

Fig. 19A

Fig. 19B

Fig. 19C

Fig. 20A

Fig. 20B

Fig. 21

Fig. 22

Fig. 23

Fig. 24A

Fig. 24B

Fig. 24C

Fig. 25A

Fig. 25B

Fig. 25C

Fig. 26

Fig. 27

Fig. 28

Fig. 29

Fig. 30

Fig. 31

Fig. 32

Fig. 33

Mode for Carrying Out the Invention

[0014] The following considerations are presented to enable one of ordinary skill in the art to make and use the disclosed technology and are provided in relation to a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those of ordinary skill 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. Accordingly, 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.

[0015] Sequence image Base calling is the process of determining the nucleotide composition of a sequence. Base calling involves the analysis of image data, i.e., sequence images, generated during a sequencing run (or sequencing reaction) performed by sequencing instruments such as Illumina's iSeq, HiSeqX, HiSeq3000, HiSeq4000, HiSeq2500, NovaSeq6000, NextSeq550, NextSeq1000, NextSeq2000, NextSeqDx, MiSeq, and MiSeqDx.

[0016] The following explanation outlines, according to one embodiment, how sequence images are generated and what those images depict.

[0017] Base calling decodes the intensity data encoded in the sequence image into a nucleotide sequence. In one embodiment, the Illumina sequencing platform employs cyclic reversible termination (CRT) chemistry for base calling. This process relies on the growing nascent strand complementary to the template strand with fluorescently labeled nucleotides while tracking the emission signal of each newly added nucleotide. The fluorescently labeled nucleotides have a removable 3’ block that anchors a nucleotide-type fluorophore signal.

[0018] Sequencing is performed in iterative cycles, each of which includes the following three steps: (a) elongation of the nascent strand by adding fluorescently labeled nucleotides, (b) excitation of the fluorophore using one or more lasers of the optical system of the sequencing instrument and generation of a sequence image by imaging through different filters of the optical system, and (c) cleavage of the fluorophore and removal of the 3’ block in preparation for the next sequencing cycle. The incorporation and imaging cycles are repeated for a maximum specified number of sequencing cycles to define the read length. Using this approach, each cycle interrogates a new position along the template strand.

[0019] The incredible power of the Illumina sequencer results from its ability to simultaneously perform and detect millions or even billions of clusters (analytes) undergoing a CRT reaction. Although clusters vary in size and shape, each cluster contains approximately a thousand identical copies of the template strand. Clusters are grown from template strands by bridge amplification or exclusion amplification of the input library prior to the sequencing run. The purpose of amplification and cluster growth is to increase the intensity of the emitted signal because the imaging device cannot reliably detect the fluorophore signal of a single strand. However, because the physical distance between strands within a cluster is small, the imaging device perceives the cluster of strands as a single spot.

[0020] Sequencing is performed in a flow cell (or biosensor), a small glass slide that holds the input strands. The flow cell is connected to an optical system that includes a microscope imaging device, an excitation laser device, and fluorescence filters. The flow cell contains multiple chambers called lanes. The lanes are physically separated from each other and may contain differently tagged sequencing libraries and are distinguishable without cross-contamination of samples. In some embodiments, the flow cell includes a patterned surface. A "patterned surface" refers to the arrangement of different regions within or on the exposed layer of a solid support.

[0021] An imaging device (e.g., a solid-state imaging device 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 may be 64 or 96 tiles per lane. Each tile holds hundreds of thousands to millions of clusters.

[0022] The output of the sequencing run is a sequence image. The sequence image shows the intensity radiation of clusters using a grid (or array) of pixelated units (e.g., pixels, superpixels, sub-pixels) and the background surrounding them. The intensity radiation is stored as the intensity value of the pixelated unit. The sequence image has dimensions of w × h of the grid of pixelated units, where w (width) and h (height) are any numbers in the range of 1 to 100,000 (e.g., 115×115, 200×200, 1800×2000, 2200×25000, 2800×3600, 4000×400). In some embodiments, w and h are the same. In other embodiments, w and h are different. The sequence image shows the intensity radiation generated as a result of incorporating nucleotides into the nucleotide sequence during the sequencing run. The intensity radiation is derived from the associated clusters and the background surrounding them.

[0023] Neural network-based base caller The following discussion focuses on the neural network-based base caller 100 described herein. First, the input to the neural network-based base caller 100 according to one embodiment is described. Next, examples of the structure and form of the neural network-based base caller 100 are provided. Finally, the output of the neural network-based base caller 100 according to one embodiment is described.

[0024] The data flow logic provides the neural network-based base caller 100 with sequence images for base calling. The neural network-based base caller 100 accesses the sequence images patch by patch (or tile by tile). Each of the patches is a sub-grid (or sub-array) of pixelated units within a grid of pixelated units that form the sequence image. The patches have dimensions of q × r of the sub-grid of pixelated units, where q (width) and r (height) are any numbers in the range of 1 to 10,000 (e.g., 3×3, 5×5, 7×7, 10×10, 15×15, 25×25, 64×64, 78×78, 115×115). In some embodiments, q and r are the same. In other embodiments, q and r are different from each other. In some embodiments, the patches extracted from one sequence image are of the same size. In other embodiments, the patches are of different sizes. In some embodiments, the patches can have overlapping pixelated units (e.g., on the edges).

[0025] By sequencing, for each of the corresponding m image channels, m sequence images are generated for each sequencing cycle. That is, each of the sequence images has one or more image (or intensity) channels (similar to the red, green, and blue (RGB) channels of a color image). In one embodiment, each image channel corresponds to one of a plurality of filter wavelength bands. In another embodiment, each image channel corresponds to one of a plurality of imaging events in one sequencing cycle. In yet another embodiment, each image channel corresponds to a combination of illumination with a specific laser and imaging through a specific optical filter. Image patches are tiled (or accessed) from each of the m image channels 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 1, 3, or greater than 4.

[0026] For example, consider that the sequencing run is performed using two different imaging channels, namely, the blue channel and the green channel. Then, in each sequencing cycle, the sequencing run generates a blue image and a green image. In this way, for a series of k sequencing cycles of the sequencing run, a sequence of k pairs of blue and green images is generated as output and stored as sequence images. Accordingly, a sequence of k pairs of blue and green image patches is generated for patch-level processing by the neural network-based base coaler 100.

[0027] The input image data to the neural network-based base coaler 100 for one iteration (or forward pass or one instance of a single forward traversal) of the base call includes data for one sliding window that includes a plurality of sequencing cycles. The sliding window can include, for example, the current sequencing cycle, one or more preceding sequencing cycles, and one or more subsequent sequencing cycles.

[0028] In one embodiment, the input image data includes data for three sequencing cycles, and the data for the currently (time t) sequenced cycle that is base-called includes (i) data for the adjacent / context / previous / preceding / previous (time t - 1) sequencing cycle on the left side, and (ii) data for the adjacent / context / next / subsequent / subsequent (time t + 1) sequencing cycle on the right side.

[0029] In another embodiment, the input image data includes data for 5 sequencing cycles, and the data for the currently (time t) sequenced base call cycle is accompanied by (i) data for the first left adjacent / context / previous / preceding / previous (time t-1) sequencing cycle, (ii) data for the second left adjacent / context / previous / preceding / previous (time t-2) sequencing cycle, (iii) data for the first right adjacent / context / next / subsequent / subsequent (time t+1) sequencing cycle, and (iv) data for the second right adjacent / context / next / subsequent / subsequent (time t+2) sequencing cycle.

[0030] In yet another embodiment, the input image data includes data for 7 sequencing cycles, and the data for the currently (time t) sequenced base call cycle is accompanied by (i) data for the first left adjacent / context / previous / preceding / previous (time t-1) sequencing cycle, (ii) data for the second left adjacent / context / previous / preceding / previous (time t-2) sequencing cycle, (iii) data for the third left adjacent / context / previous / preceding / previous (time t-3) sequencing cycle, (iv) data for the first right adjacent / context / next / subsequent / subsequent (time t+1) sequencing cycle, (v) data for the second right adjacent / context / next / subsequent / subsequent (time t+2) sequencing cycle, and (vi) data for the third right adjacent / context / next / subsequent / subsequent (time t+3) sequencing cycle. In other embodiments, the input image data includes data for 1 sequencing cycle. In still other embodiments, the input image data includes data for 10, 15, 20, 30, 58, 75, 92, 130, 168, 175, 209, 225, 230, 275, 318, 325, 330, 525, or 625 sequencing cycles.

[0031] According to one embodiment, the neural network-based base caller 100 processes image patches through its convolutional layers and generates alternative representations. The alternative representations are then used by an output layer (e.g., a softmax layer) to generate a base call for the current sequencing cycle (time t), or for each of the sequencing cycles (i.e., the current sequencing cycle (time t), the first and second preceding sequencing cycles (time t-1, time t-2), and the first and second subsequent sequencing cycles (time t+1, time t+2)). The resulting base call forms a sequencing read.

[0032] In one embodiment, the neural network-based base caller 100 outputs a base call for a single target cluster for a particular sequencing cycle. In another embodiment, the neural network-based base caller 100 outputs base calls for each target cluster within a plurality of target clusters for a particular sequencing cycle. In yet another embodiment, the neural network-based base caller 100 outputs base calls for each target cluster within a plurality of target clusters for each sequencing cycle within a plurality of sequencing cycles, thereby generating a base call sequence for each target cluster.

[0033] In one embodiment, the neural network-based base corrector 100 is a Multilayer Perceptron (MLP). In another embodiment, the neural network-based base corrector 100 is a feedforward neural network. In yet another embodiment, the neural network-based base corrector 100 is a fully connected neural network. In a further embodiment, the neural network-based base corrector 100 is a fully convolutional neural network. In still a further embodiment, the neural network-based base corrector 100 is a semantic segmentation neural network. In yet another further embodiment, the neural network-based base corrector 100 is a generative adversarial network (GAN).

[0034] In one embodiment, the neural network-based base corrector 100 is a Convolutional Neural Network (CNN) having a plurality of convolutional layers. In another embodiment, the neural network-based base corrector 100 is a recurrent neural network (RNN) such as a long short-term memory network (LSTM), a bi-directional LSTM (Bi-LSTM), or a gated recurrent unit (GRU). In yet another embodiment, the neural network-based base corrector 100 includes both a CNN and an RNN.

[0035] In yet other embodiments, the neural network-based base collator 100 can use 1D convolution, 2D convolution, 3D convolution, 4D convolution, 5D convolution, dilated or atrous convolution, transposed convolution, depthwise separable convolution, pointwise convolution, 1×1 convolution, grouped convolution, flattened convolution, spatial and cross-channel convolution, shuffled grouped convolution, spatially separable convolution, and inverse convolution. The neural network-based base collator 100 can use one or more loss functions such as logistic regression / log loss, multi-class cross-entropy / softmax loss, binary cross-entropy loss, mean squared error loss, L1 loss, L2 loss, smooth L1 loss, and Huber loss. The neural network-based base collator 100 can use any parallel, efficiency, and compression methods such as TFRecord, compressed encoding (e.g., PNG), sharpening, parallel calls for map transformation, batching, prefetching, model parallelism, data parallelism, and synchronous / asynchronous stochastic gradient descent (SDG). The neural network-based base collator 100 can include non-linear transformation functions such as upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (such as LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, peephole connections, activation functions (e.g., non-linear transformation functions (rectifying linear unit (ReLU), leaky ReLU, exponential liner unit (ELU), sigmoid, and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or average pool), global average pool layers, and attention mechanisms).

[0036] The neural network-based base corrector 100 learns using a gradient update technique based on backpropagation. Exemplary gradient descent techniques that can be used for the neural network-based base corrector 100 to learn include stochastic gradient descent, batch gradient descent, and mini-batch gradient descent. Some examples of gradient descent optimization algorithms that can be used for the neural network-based base corrector 100 to learn include Momentum, Nestorov accelerated gradient, Adagrad, Adadelta, RMSprop, Adam, AdaMax, Nadam, and AMSGrad.

[0037] In one embodiment, the neural network-based base corrector 100 uses a dedicated architecture to separate the processing of data for different sequencing cycles. First, the motivation for using the above dedicated architecture will be explained. As described above, the neural network-based base corrector 100 processes image patches for the current sequencing cycle, one or more preceding sequencing cycles, and one or more subsequent sequencing cycles. The data for additional sequencing cycles provides a unique context for each sequence. The neural network-based base corrector 100 learns the unique context for each sequence during learning and bases on them. Further, the data for the pre- and post-sequencing cycles provides a secondary contribution of prefetching and fading signals to the current sequencing cycle.

[0038] However, the images captured in different sequencing cycles and within different image channels are misaligned and have a residual alignment error with each other. To account for this misalignment, the dedicated architecture includes a spatial convolutional layer that does not mix information between sequencing cycles but only mixes information within the same sequencing cycle.

[0039] The spatial convolution layer (or spatial logic) uses what is called "separated convolution" which manipulates separation by processing data independently for each of a plurality of sequencing cycles via a "dedicated non - shared" sequence of convolutions. Separated convolution convolves on the data and resulting feature maps within a given sequencing cycle only, i.e., without convolving on the data and resulting feature maps of any other sequencing cycle.

[0040] For example, consider that the input image data includes (i) the current image patch for the currently (time t) based sequencing cycle, (ii) the previous image patch for the previous (time t - 1) sequencing cycle, and (iii) the next image patch for the next (time t+1) sequencing cycle. Then, the dedicated architecture starts three separate convolution pipelines, namely, the current convolution pipeline, the previous convolution pipeline, and the next convolution pipeline. The current data - processing pipeline receives the current image patch for the current (time t) sequencing cycle as input and processes it independently through a plurality of spatial convolution layers to generate what is called the "current spatial convolution representation" as the output of the final spatial convolution layer. The previous convolution pipeline receives the previous image patch for the previous (time t - 1) sequencing cycle as input and processes it independently through a plurality of spatial convolution layers to generate what is called the "previous spatial convolution representation" as the output of the final spatial convolution layer. The next convolution pipeline receives the next data for the next (time t+1) sequencing cycle as input and processes it independently through a plurality of spatial convolution layers to generate what is called the "next spatial convolution representation" as the output of the final spatial convolution layer.

[0041] In some embodiments, the current, previous, and next convolution pipelines are executed in parallel. In some embodiments, the spatial convolution layer is part of a spatial convolution network (or sub - network) within the dedicated architecture.

[0042] The neural network-based base corrector 100 further includes a temporal convolutional layer (or temporal logic) that mixes information between sequencing cycles, i.e., between cycles. The temporal convolutional layer receives its inputs from the spatial convolutional network and operates on the spatial convolutional representations generated by the final spatial convolutional layer for each data processing pipeline.

[0043] The degree of freedom of operation between cycles of the temporal convolutional layer results from the fact that misalignment characteristics present in the image data supplied as input to the spatial convolutional network are purged from the spatial convolutional representation by a stack or cascade of separate convolutions executed by the sequence of spatial convolutional layers.

[0044] The temporal convolutional layer uses a so-called "combinatorial convolution" that convolves group by group on the input channels with subsequent inputs on a sliding window basis. In one embodiment, the subsequent inputs are the subsequent outputs generated by a previous spatial convolutional layer or a previous temporal convolutional layer.

[0045] In some embodiments, the temporal convolutional layer is part of a temporal convolutional network (or sub-network) within a dedicated architecture. The temporal convolutional network receives its input from the spatial convolutional network. In one embodiment, the first temporal convolutional layer of the temporal convolutional network combines the spatial convolutional representations between sequencing cycles group by group. In another embodiment, subsequent temporal convolutional layers of the temporal convolutional network combine the subsequent outputs of a previous temporal convolutional layer. The output of the final temporal convolutional layer is supplied to an output layer that generates an output. The output is used to base call one or more clusters in one or more sequencing cycles.

[0046] Additional details regarding the neural network-based base caller 100 can be found in U.S. Provisional Patent Application No. 62 / 821,766, entitled "ARTIFICIAL INTELLIGENCE-BASED SEQUENCING", filed on March 21, 2019 (Attorney Docket No. ILLM1008-9 / IP-1752-PRV), which is incorporated herein by reference.

[0047] Compression Network As described above, the dedicated architecture of the neural network-based base caller 100 processes the sliding window of the image patches of the corresponding sequencing cycle. There is an overlap between subsequent sequencing cycles of the sliding window. As a result, the neural network-based base caller 100 will redundantly process the overlapping image patches of the sequencing cycles. This results in a waste of computing resources. For example, in one embodiment, each spatial convolutional layer of the neural network-based base caller 100 has approximately 100 million multiplication operations. Then, for a window of 5 sequencing cycles and a cascade (or sequence) of 7 spatial convolutional layers, the spatial convolutional neural network performs approximately 620 million multiplication operations. Additionally, the temporal convolutional neural network performs approximately 10 million multiplication operations.

[0048] Since the image data for cycle N-1 in the current sliding window (or the current iteration of the base call) is processed as cycle N in the previous sliding window (or the previous iteration of the base call), there is an opportunity to store the intermediate results of the processing performed in the current sliding window and the intermediate results of the processing performed in subsequent windows, thereby avoiding (or eliminating) redundant processing (or reprocessing) of the input image data for overlapping sequencing cycles between subsequent sliding windows.

[0049] However, the intermediate results are several terabytes of data that require storage of a non - practical capacity. To overcome this technical problem, the disclosed technology compresses the intermediate results when they are first generated by the neural network - based base coiler 100, and then repurposes and utilizes the compressed intermediate results in subsequent sliding windows to avoid redundant calculations, thereby not regenerating (or generating only once) the intermediate results. In some embodiments, the disclosed technology saves approximately 80% of the convolutions in the spatial network of the neural network - based base coiler 100. In one embodiment, the 80% savings is observed in the spatial convolution when the repurposed utilization of the compression logic and the compressed feature maps is used for the input window of 5 sequencing cycles (e.g., cycle N, cycle N + 1, cycle N - 1, cycle N + 2, and cycle N - 2) in subsequent sequencing cycles. In another embodiment, 90% savings is observed in the spatial convolution when the repurposed utilization of the compression logic and the compressed feature maps in subsequent sequencing cycles is used for the input window of 10 sequencing cycles (e.g., cycle N, cycle N + 1, cycle N - 1, cycle N + 2, cycle N - 2, cycle N + 3, and cycle N - 3). That is, the larger the window size, the greater the savings from the use of the compression logic and the repurposing of the compressed feature maps, and the larger the window size, the better the base call performance due to the incorporation of a larger context from additional adjacent cycles. The greater savings for larger windows improves the overall performance for a given computational power.

[0050] The computational efficiency and compact computational footprint brought about by the compression logic facilitate the hardware implementation of the neural network-based base caller 100 on resource-constrained processors such as a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a Field Programmable Gate Array (FPGA), a Coarse-Grained Reconfigurable Architecture (CGRA), an Application Specific Integrated Circuit (ASIC), an Application Specific Instruction-set Processor (ASIP), and a Digital Signal Processor (DSP).

[0051] The computations saved by the compression logic enable the neural network-based base caller 100 to incorporate more convolution operators. Examples include adding more convolution filters in the spatial and temporal convolution layers, increasing the size of the convolution filters, and increasing the number of spatial and temporal convolution layers. The additional convolution operations improve the intensity pattern detection and overall base call accuracy of the neural network-based base caller 100.

[0052] The computations saved by the compression logic also enable the input image data of the target sliding window to be expanded to include more sequencing cycles. The expanded sliding window broadens the base call context by yielding surplus image patches from additional adjacent sequencing cycles.

[0053] Furthermore, any accuracy degradation that may occur due to the use of compressed intermediate results, as opposed to the original intermediate results, is compensated for by the incorporation of additional convolution operators and the expansion of the sliding window.

[0054] FIG. 1A shows one embodiment of the disclosed compression logic that generates a compressed space map set for a first iteration of a base call. In the illustrated example, the first window of the sequencing cycle includes sequencing cycles 1, 2, 3, 4, and 5. Each respective image patch 102, 112, 122, 132, and 142 (or analyte channel set per cycle) for each respective sequencing cycle 1, 2, 3, 4, and 5 is separately processed by spatial logic 104 (or a spatial network or a spatial sub-network or a spatial convolutional neural network) to generate respective spatial maps 106, 116, 126, 136, and 146 (or intermediate results or spatial output sets or spatial feature map sets) for each respective sequencing cycle 1, 2, 3, 4, and 5. The spatial convolutional network 104 can use 1D, 2D, or 3D convolution.

[0055] The spatial logic 104 includes a sequence (or cascade) of spatial convolutional layers. Each spatial convolutional layer has a filter bank having a plurality of spatial convolutional filters that implement separate convolutions. Thus, each spatial convolutional layer generates a plurality of spatial feature maps as outputs. The number of spatial feature maps generated by a given subject spatial convolutional layer is a function of the number of spatial convolutional filters configured in that given spatial convolutional layer. For example, if a given spatial convolutional layer has 14 spatial convolutional filters, the given spatial convolutional layer generates 14 spatial feature maps. From a collective perspective, the 14 spatial feature maps can be regarded as a volume (or tensor) of spatial feature maps with 14 channels (or depth dimension = 14).

[0056] Furthermore, the next spatial convolutional layer following the target spatial convolutional layer can also be composed of 14 spatial convolutional filters. In such a case, the next spatial convolutional layer processes 14 spatial feature maps as input to generate the target spatial convolutional layer, and the target spatial convolutional layer itself generates 14 new spatial feature maps as output. FIG. 1A shows five sets of spatial feature maps 106, 116, 126, 136, and 146 generated by the final spatial convolutional layer of the spatial network 104 for each of the respective sequencing cycles 1, 2, 3, 4, and 5. In the illustrated example, each of the five sets of spatial feature maps 106, 116, 126, 136, and 146 has 14 feature maps.

[0057] FIG. 1D shows a sequence of seven sets of spatial feature maps 196a, 196b, 196c, 196d, 196e, 196f, and 196g generated by a cascade of seven spatial convolutional layers of the spatial network 104. The per-cycle input patch data 194 for the target sequencing cycle i has a spatial dimension of 115×115 and a depth dimension of 2 (due to two image channels in the original sequence image). In one embodiment, each of the seven spatial convolutional layers uses a 3×3 convolution that reduces the spatial dimension of the subsequent spatial feature map volume by 2, e.g., from 10×10 to 8×8.

[0058] The first spatial feature map volume 196a has a spatial dimension of 113×113 (i.e., reduced from 115×115 by the 3×3 convolution of the first spatial convolutional layer) and a depth dimension of 14 (i.e., 14 feature maps or 14 channels by 14 spatial convolutional filters in the first spatial convolutional layer). The second spatial feature map volume 196b has a spatial dimension of 111×111 (i.e., reduced from 113×113 by the 3×3 convolution of the second spatial convolutional layer) and a depth dimension of 14 (i.e., 14 feature maps or 14 channels by 14 spatial convolutional filters in the second spatial convolutional layer). The third spatial feature map volume 196c has a spatial dimension of 109×109 (i.e., reduced from 111×111 by the 3×3 convolution of the third spatial convolutional layer) and a depth dimension of 14 (i.e., 14 feature maps or 14 channels by 14 spatial convolutional filters in the third spatial convolutional layer). The fourth spatial feature map volume 196d has a spatial dimension of 107×107 (i.e., reduced from 109×109 by the 3×3 convolution of the fourth spatial convolutional layer) and a depth dimension of 14 (i.e., 14 feature maps or 14 channels by 14 spatial convolutional filters in the fourth spatial convolutional layer). The fifth spatial feature map volume 196e has a spatial dimension of 105×105 (i.e., reduced from 107×107 by the 3×3 convolution of the fifth spatial convolutional layer) and a depth dimension of 14 (i.e., 14 feature maps or 14 channels by 14 spatial convolutional filters in the fifth spatial convolutional layer). The sixth spatial feature map volume 196f has a spatial dimension of 103×103 (i.e., reduced from 105×105 by the 3×3 convolution of the sixth spatial convolutional layer) and a depth dimension of 14 (i.e., 14 feature maps or 14 channels by 14 spatial convolutional filters in the sixth spatial convolutional layer).The seventh spatial feature map volume 196g has a spatial dimension of 101×101 (i.e., reduced from 103×103 by the 3×3 convolution of the seventh spatial convolutional layer) and a depth dimension of 14 (i.e., 14 feature maps or 14 channels by 14 spatial convolutional filters within the seventh spatial convolutional layer).

[0059] Similar to the multi - cycle example shown in FIG. 1A, for five sequencing cycles 1, 2, 3, 4, and 5 and five image patches 102, 112, 122, 132, and 142 for each cycle, the spatial logic 104 separately generates five respective sequences of the seven spatial feature map volumes 196a, 196b, 196c, 196d, 196e, 196f, and 196g. Note that the spatial maps 106, 116, 126, 136, and 146 in FIG. 1A are equivalent to five separate instances of the final spatial feature map volume 196g in FIG. 1D.

[0060] The compression logic 108 (or compression network or compression sub - network or compression layer or squeeze layer) processes the output of the spatial logic 104 and generates a compressed representation of the output. In one embodiment, the compression network 108 comprises a compression convolutional layer that reduces the number of depth dimensions of the feature maps generated by the spatial network 104.

[0061] For example, in FIG. 1A, the number of depth dimensions of the spatial maps 106, 116, 126, 136, and 146 is 14 (i.e., 14 feature maps or 14 channels per spatial output). The compression network 108 reduces the spatial maps 106, 116, 126, 136, and 146 to respective sets of compressed spatial maps 110, 120, 130, 140, and 150 for respective sequencing cycles 1, 2, 3, 4, and 5. Each of the sets of compressed spatial maps 110, 120, 130, 140, and 150 has a depth dimension number of 2 (i.e., 2 feature maps or 2 channels per compressed spatial output). In other embodiments, the sets of compressed spatial maps 110, 120, 130, 140, and 150 may have a depth dimension number of 3 or 4 (i.e., 3 or 4 feature maps or 3 or 4 channels per compressed spatial output). In still other embodiments, the sets of compressed spatial maps 110, 120, 130, 140, and 150 may have a depth dimension number of 1 (i.e., 1 feature map or 1 channel per compressed spatial output). In one embodiment, the compression layer 108 does not include an activation function such as ReLU. In other embodiments, the compression layer 108 can include an activation function. In other embodiments, the compression logic 108 can be configured to have respective sets of compressed spatial maps each having more than 4 feature maps.

[0062] Here, discuss how the compression logic 108 generates the compression output.

[0063] In one embodiment, the compression logic 108 uses 1×1 convolutions to reduce the number of feature maps (i.e., the depth dimension, or the number of channels) while introducing non-linearity. The 1×1 convolution has a kernel size of 1. The 1×1 convolution can transform the volume depth into another squeezed or expanded representation without changing the spatial dimensions. The 1×1 convolution operates like a fully connected linear layer across the input channels. This is useful for mapping from a feature map with many channels to a smaller number of feature maps. In FIG. 1E, a single 1×1 convolution is applied to an input tensor having two feature maps. The 1×1 convolution compresses the 2-channel input into a single-channel output.

[0064] The number of compression outputs (or compressed feature maps or compressed spatial maps or compressed temporal maps) generated by the compression layer 108 is a function of the number of 1×1 convolution filters (or compression convolution filters or compression filters) configured within the compression layer 108. In FIG. 1F, the compression layer 108 has two 1×1 convolution filters 198a and 198b. The first 1×1 convolution filter 198a processes the spatial feature volume 196g having 14 feature maps and generates a first feature map 199a while preserving the number of spatial dimensions of 101×101. The second 1×1 convolution filter 198b also processes the spatial feature volume 196g having 14 feature maps and generates a second feature map 199b while preserving the number of spatial dimensions of 101×101. Thus, the compression layer 108 reduces the spatial feature volume 196g having 14 feature maps to a compression output (i.e., compression ratio = 7) having two spatial feature maps 199a and 199b.

[0065] From a time-series perspective, the sequencing cycle 5 is the central sequencing cycle (N), the sequencing cycles 1 and 2 are the left adjacent sequencing cycles (N-1, N-2), and the sequencing cycles 4 and 5 are the left adjacent sequencing cycles (N+1, N+2). Therefore, the central compression output 130 is generated for the central sequencing cycle (N), the left adjacent compression output 120 is generated for the left adjacent sequencing cycle (N-1), the further left adjacent compression output 110 is generated for the further left adjacent sequencing cycle (N-2), the right adjacent compression output 140 is generated for the right adjacent sequencing cycle (N+1), and the further right adjacent compression output 150 is generated for the further right adjacent sequencing cycle (N+2).

[0066] From a pipeline perspective, the neural network-based base coder 100 executes five parallel and independent pipelines that process the image patches 102, 112, 122, 132, and 142 by the spatial logic 104 and the compression logic 108 (e.g., as multi-threaded execution or multi-clustered execution based on data parallel processing). Therefore, the five compression outputs 110, 120, 130, 140, and 150 are generated separately, simultaneously, and independently by the neural network-based base coder 100.

[0067] In some embodiments, the compression layer 108 can be regarded as the final spatial convolution layer of the spatial network 104. In other embodiments, the compression network 108 can be regarded as a separate network inside or outside the dedicated architecture of the neural network-based base coder 100.

[0068] Figure 1B shows an embodiment of processing the compressed space map sets 110, 120, 130, 140, and 150 via the time logic 160 (or time network or time subnet or time convolutional neural network) of the neural network-based base coiler 100. The time logic 160 is based on a sliding window and processes a group of consecutive compressed space map sets. For example, in Figure 1B, the time logic 160 processes the first group / window of the compressed space map sets 110, 120, and 130 corresponding to the sequencing cycles 1, 2, and 3 respectively, and generates, as output, a time map 172 (or time map set or time feature map or time feature map set). The time logic 160 processes the second group / window of the compressed space map sets 120, 130, and 140 corresponding to the respective sequencing cycles 2, 3, and 4, and generates, as output, a time map 174. The time logic 160 processes the third group / window of the compressed space map sets 130, 140, and 150 corresponding to the respective sequencing cycles 3, 4, and 5, and generates, as output, a time map 176. The time convolutional network 160 can use 1D, 2D, or 3D convolution.

[0069] The three instances of the time logic 160 shown in Figure 1B represent three filter banks of the first time convolutional layer of the time network 160. The first filter bank applies the first set of time convolutional filters to the first group of the compressed space maps 110, 120, and 130, and generates the first set of time maps 172. The second filter bank applies the second set of time convolutional filters to the second group of the compressed space maps 120, 130, and 140, and generates the second set of time maps 174. The third filter bank applies the third set of time convolutional filters to the third group of the compressed space maps 130, 140, and 150, and generates the third set of time maps 176.

[0070] The first set 172, the second set 174, and the third set 176 of the time maps are processed as a group by the time logic 160 to generate a time map 182. The fourth instance of the time logic 160 shown in FIG. 1B represents the second time convolutional layer of the time network 160, and this second time convolutional layer generates outputs for all sequencing cycles 1, 2, 3, 4, and 5. For all these sequencing cycles 1, 2, 3, 4, and 5, image patch pairs for each cycle are supplied as inputs to the neural network-based base corrector 100 of FIG. 1A.

[0071] The time network 160 has a cascade of time convolutional layers (e.g., two, three, four, five or more time convolutional layers arranged in a sequence). The cascade of time convolutional layers processes data in a hierarchical form with different levels of grouping. That is, at a given level, a sliding window approach processes the input at that given level in a grouped manner to generate an output, and this output is then processed in a grouped manner at the next level in a sliding window fashion.

[0072] The temporal convolutional layer is composed of temporal convolutional filters that implement combined convolution. Combined convolution mixes information between feature maps over multiple sequencing cycles. Combined convolution combines data between subsequent sequencing cycles in the current level of the target group / window within the temporal network 160. For example, the first temporal convolutional layer combines the first group of compressed spatial maps 110, 120, and 130 for the first group of sequencing cycles 1, 2, and 3 to generate the first set 172 of temporal maps, and the first temporal convolutional layer further combines the second group of compressed spatial maps 120, 130, and 140 for the second group of sequencing cycles 2, 3, and 4 to generate the second set 174 of temporal maps, and further, the first temporal convolutional layer combines the third group of compressed spatial maps 130, 140, and 150 for the third group of sequencing cycles 3, 4, and 5 to generate the third set 176 of temporal maps.

[0073] Combined convolution also combines data between consecutive groups of sequencing cycles in the current level of the target group / window within the temporal network 160. For example, the second temporal convolutional layer combines the first set 172, the second set 174, and the third set 176 of temporal maps to form the final set 182 of temporal maps. At level 2, the first, second, and third groups / windows of sequencing cycles from level 1 are grouped into the first group / window of sequencing cycles 1, 2, 3, 4, and 5.

[0074] The combinatorial convolution is configured to have the same number of kernels as the number of inputs being combined (i.e., the depth column or fiber of the temporal convolution filter matches the number of inputs in the target group / window at the current level). For example, when a temporal convolution layer combines three compressed spatial maps, the temporal convolution layer uses multiple temporal convolution filters, each having three kernels that perform element-wise multiplication and summation throughout the depth of the three compressed spatial maps.

[0075] The final set 182 of temporal maps is generated by the final (or last) temporal convolution layer of the temporal network 160. FIG. 1C shows one embodiment of processing the final temporal map set 182 via the disclosed output logic 190 (or output layer or output network or output sub-network) to generate basecall classification data. In one embodiment, multiple clusters are base-called simultaneously for one or more sequencing cycles. In the example shown in FIG. 1C, the basecall 192 is generated for many clusters only for the central sequencing cycle 3. In other embodiments, by the disclosed techniques, the output logic 190 generates a basecall for a given input window not only for the central sequencing cycle but also for adjacent sequencing cycles (shown by optional dotted lines) according to one embodiment. For example, in one embodiment, the disclosed techniques generate basecalls for cycle N, cycle N+1, cycle N−1, cycle N+2, cycle N−2, etc. for a given input window simultaneously. That is, in one forward propagation / traversal / basecall iteration of the neural network-based basecaller 102, basecalls for multiple sequencing cycles in the input window of the sequencing cycle are generated, which is referred to herein as "many-to-many basecalling".

[0076] Examples of the output layer 190 include a softmax function, a log-softmax function, an ensemble output average function, a multi-layer perceptron uncertainty function, a Bayesian Gaussian distribution function, and a cluster intensity function. In one embodiment, the output layer 190 generates probability quartiles for each cluster and for each sequencing cycle, on a per-cluster and per-cycle basis.

[0077] The following discussion focuses on the per-cluster, per-cycle probability quartiles, using the softmax function as an example. First, the softmax function and then the per-cluster, per-cycle probability quartiles will be described.

[0078] The softmax function is a preferred function for multi-class classification. The softmax function calculates the probability of each target class across all possible target classes. The output range of the softmax function is between zero and one, and the sum of all probabilities is equal to one. The softmax function calculates the exponent of a given input value and the sum of the exponent values of all input values. The ratio of the exponent of the input value to the sum of the exponent values is the output of the softmax function, referred to herein as "exponential normalization".

[0079] Formally, learning a so-called softmax classifier is rather a regression to class probabilities rather than a true classifier, as it returns a prediction of the reliability of the probabilities of each class rather than the classes themselves. The softmax function takes a certain kind of values and transforms them into probabilities that sum to one. The softmax function squeezes an n-dimensional vector of arbitrary real values into an n-dimensional vector of real values within the range of 0 to 1. Therefore, using the softmax function ensures that the output is a valid, exponentially normalized probability mass function (non-negative and summing to 1).

[0080] Intuitively, the softmax function is the "soft" version of the max function. The term "soft" comes from the fact that the softmax function is continuous and differentiable. Instead of selecting one maximum element, the vector is decomposed into parts such that the maximum input element gets a proportionally larger value while the others get proportionally smaller values. The property of outputting a probability distribution leads to a softmax function suitable for probabilistic interpretations in classification tasks.

[0081] Let's consider z as the vector of inputs to the softmax layer. The softmax layer units are the number of nodes within the softmax layer, and thus, the length of the z vector is the number of units within the softmax layer (if there are 10 output units, there are 10 z elements).

[0082] For an n - dimensional vector Z = [z1, z2,... z n , the softmax function uses the exponential normalization (exp) to generate another n - dimensional vector p(Z) with normalized values in the range [0, 1] such that their sum is 1.

[0083]

Equation

[0084] Figure 1G shows an exemplary softmax function. The softmax function is

[0085]

Equation

[0086] For each specific cluster and for each cycle, the probability quartiles identify the probabilities of A, C, T, and G, which are the bases incorporated into a specific cluster in a specific sequencing cycle. When the output layer of the neural network-based base caller 100 uses the softmax function, the probability for each cluster and the probability quartiles for each cycle are exponentially normalized classification scores that sum to 1. FIG. 1H shows an example of the probability quartiles 123 for each cluster and for each cycle generated by the softmax function for cluster 1 (121, shown in brown) and for sequencing cycles 1 to S (122). In other words, the first subset of sequencing cycles includes S sequencing cycles.

[0087] The unreliable cluster identifier 125 identifies unreliable clusters based on generating a filter value from the probability quartiles for each cluster and for each cycle. In the present application, the probability quartiles for each cluster and for each cycle are also referred to as base call classification scores or normalized base call classification scores or initial base call classification scores or normalized initial base call classification scores or initial base calls.

[0088] The filter computer 127 determines a filter value for the probability quartiles for each cluster and for each cycle based on the probabilities it identifies, thereby generating a sequence of filter values for each cluster. The sequence of filter values is stored as the filter value 124.

[0089] The filter value for the probability quartiles for each cluster and for each cycle is determined based on a calculation that includes one or more of the probabilities. In one embodiment, the calculation used by the filter computer 127 is subtraction. For example, in the embodiment shown in FIG. 1H, the filter value for the probability quartiles for each cluster and for each cycle is determined by subtracting the second highest probability (shown in blue) from the highest probability (shown in magenta) among the probabilities.

[0090] In another embodiment, the calculation used by the filter computer 116 is division. For example, for each cluster, the filter value for the cycle-by-cycle probability quartile is determined as the ratio of the second highest probability (shown in blue) among the probabilities to the highest probability (shown in magenta) among the probabilities. In yet another embodiment, the calculation used by the filter computer 127 is addition. In still further embodiments, the calculation used by the filter computer 127 is multiplication.

[0091] In one embodiment, the filter computer 127 uses a filtering function to generate the filter value 124. In one example, the filtering function is a chastity filter that defines chastity as the ratio of the brightest base intensity divided by the sum of the brightest base intensity and the second brightest base intensity. In another example, the filtering function is at least one of a maximum logarithmic probability function, a least squares error function, an average signal-to-noise ratio (SNR), and a least absolute error function.

[0092] The unreliable cluster identifier 125 uses the filter value 124 to identify some clusters within a plurality of clusters as unreliable clusters 128. Data identifying the unreliable clusters 128 can be in computer-readable form or on a medium. The unreliable clusters can be identified by instrument ID, run number on the device, flow cell ID, lane number, tile number, X coordinate of the cluster, Y coordinate of the cluster, and unique molecular identifier (UMI). The unreliable cluster identifier 125 identifies, as unreliable clusters, clusters within a plurality of clusters that contain a number “G” of filter values whose sequence of filter values is below a threshold “H”. In one embodiment, “G” ranges from 1 to 5. In another embodiment, “H” ranges from 0.5 to 0.99. In one embodiment, the unreliable clusters 128 identify pixels corresponding to (i.e., depicting their intensity radiation for) the unreliable clusters. Such pixels are filtered out and removed by filtering logic 502 as described later in this application.

[0093] A non - reliable cluster is a low - quality cluster that emits only a non - significant amount of the desired signal compared to the background signal. The signal - to - noise ratio of a non - reliable cluster is substantially low, for example, less than 1. In some embodiments, a non - reliable cluster may not generate any of the desired signal at all. In other embodiments, a non - reliable cluster may generate only a very small amount of signal compared to the background. In one embodiment, the signal is an optical signal, for example, intended to include fluorescence, luminescence, scattering, or absorption signals. The signal level means the amount of detected energy or encoded information having a desired or predetermined characteristic. For example, an optical signal can be quantified by one or more of intensity, wavelength, energy, frequency, power, luminance, 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 in a non - reliable cluster is understood to be a signal level of zero or a signal level that is not significantly distinguishable from noise.

[0094] There are many potential reasons for signals of insufficient quality in unreliable clusters. If there are polymerase chain reaction (PCR) errors in colony amplification such that a significant proportion of the approximately 1000 molecules in an unreliable cluster contain different bases at a particular position, signals for two bases can be observed, which are interpreted as signs of insufficient quality and termed phase errors. Phase errors occur when individual molecules within an unreliable cluster fail to incorporate nucleotides in some cycles (due to, for example, incomplete removal of 3’ terminators, called phasing) and lag behind other molecules, or when individual molecules incorporate more than one nucleotide in a single cycle (due to, for example, nucleotide incorporation without an effective 3’ block, called pre-phasing). This results in a loss of synchronization in the sequence copy readout. The proportion of sequences affected by phasing and pre-phasing in unreliable clusters increases with the number of cycles and is the main reason for the tendency for read quality to decline at high cycle numbers.

[0095] Unreliable clusters also result from fading. Fading is the exponential decay in the signal intensity of unreliable clusters as a function of the number of cycles. As the sequencing run progresses, the strands of unreliable clusters are overly washed, exposed to the laser emission that creates reaction species, and placed under harsh environmental conditions. All of these lead to the result that fragments are gradually lost in unreliable clusters, reducing their signal intensity.

[0096] Unreliable clusters also result from the small cluster size of unreliable clusters that produce colonies that are not fully grown, i.e., wells that are empty or only partially filled on the patterned flow cell. That is, in some embodiments, unreliable clusters exhibit empty wells, multi-clonal wells, and ambiguous wells on the patterned flow cell. Unreliable clusters also result from overlapping colonies caused by non-exclusive amplification. Unreliable clusters also result from insufficient or non-uniform illumination, e.g., due to being located at the edge of the flow cell. Unreliable clusters also result from impurities on the flow cell that obscure the emitted signal. Unreliable clusters also include multi-clonal clusters that occur when multiple clusters are deposited in the same well.

[0097] The first window of the sequencing cycles includes sequencing cycles 1, 2, 3, 4, and 5, and the first iteration of basecalling generates basecall 192 for central sequencing cycle 3. The second window of the sequencing cycles includes sequencing cycles 2, 3, 4, 5, and 6, and the second iteration of basecalling generates basecall 292 for central sequencing cycle 4. Thus, sequencing cycles 2, 3, 4, and 5 are overlapping sequencing cycles between the first window and the second window, or between the second iteration and the third iteration of basecalling.

[0098] The disclosed basecalling system and technology store the sets of compressed spatial maps 120, 130, 140, and 150 generated during the first iteration of basecalls for sequencing cycles 2, 3, 4, and 5 in memory (e.g., on-chip DRM, on-chip SRAM or BRAM, off-chip DRAM). During the second iteration of basecalls, the disclosed basecalling system and technology do not reprocess the respective input image patches 112, 122, 132, and 142 for overlapping cycles 2, 3, 4, and 5 through the spatial network 104. Instead, the disclosed basecalling system and technology reuse the previously generated sets of compressed spatial maps 120, 130, 140, and 150 in place of the respective input image patches 112, 122, 132, and 142 during the second iteration of basecalls.

[0099] The compression logic is further configured such that the sets of compressed spatial maps 120, 130, 140, and 150, and the respective input image patches 112, 122, 132, and 142 have the same number of cycle feature maps / channels. This ensures that the sets of compressed spatial maps 120, 130, 140, and 150 are lossless representations of the respective input image patches 112, 122, 132, and 142. That is, if each of the respective input image patches 112, 122, 132, and 142 has two feature maps / channels, the compression logic 108 configures the sets of compressed spatial maps 120, 130, 140, and 150 to also have two feature maps / channels. Similarly, if each of the respective input image patches 112, 122, 132, and 142 has three feature maps / channels, the compression logic 108 configures the sets of compressed spatial maps 120, 130, 140, and 150 to also have three feature maps / channels. Likewise, if each of the respective input image patches 112, 122, 132, and 142 has four feature maps / channels, the compression logic 108 configures the sets of compressed spatial maps 120, 130, 140, and 150 to also have four feature maps / channels.

[0100] Figure 2A shows that during the second iteration of the base call, by processing the input image data 222 by the spatial logic 104 and the compression logic 108, the spatial map 226 and the corresponding compressed spatial map 230 are generated only for the non-overlapping sequencing cycles 6. Thus, the input image patches 112, 122, 132, and 142 (highlighted by the gray shading in the legend) for the overlapping cycles 2, 3, 4, and 5 are not processed again to avoid overlapping convolutions.

[0101] Figure 2B shows that the set of compressed spatial maps 120, 130, 140, and 150 generated during the first iteration of the base call are used in conjunction with the set of compressed spatial maps 230 generated during the second iteration of the base call to generate the base call 292 for the central sequencing cycle 4. In Figure 2B, the set of temporal maps 174, 176, and 278 are generated by the first temporal convolution layer of the temporal network 160 in a manner similar to that discussed above with respect to Figure 1B. The set of temporal maps 282 is generated by the second and final temporal convolution layer of the temporal network 160 in a manner similar to that described above with respect to Figure 1B. Figure 2C shows that the output layer 190 processes the final set of temporal maps 282 generated during the second iteration of the base call to generate the base call 292 for the central sequencing cycle 4.

[0102] The third window of the sequencing cycles includes sequencing cycles 3, 4, 5, 6, and 7, and the third iteration of the base call generates the base call 392 for the central sequencing cycle 5. Thus, sequencing cycles 3, 4, 5, and 6 are overlapping sequencing cycles between the second window and the third window, or between the second iteration and the third iteration of the base call.

[0103] The disclosed base calling system and techniques store in memory (e.g., on-chip DRM, on-chip SRAM or BRAM, off-chip DRAM) the sets of compressed spatial maps 130, 140, and 150 generated during the first iteration of the base call for each of the sequencing cycles 3, 4, and 5, and the set of compressed spatial maps 230 generated during the second iteration of the base call for sequencing cycle 6. During the third iteration of the base call, the disclosed base calling system and techniques do not reprocess the respective input image patches 122, 132, 142, and 222 for the overlapping cycles 3, 4, 5, and 6 through the spatial network 104. Instead, during the third iteration of the base call, the disclosed base calling system and techniques reuse the previously generated sets of compressed spatial maps 130, 140, 150, and 230 in place of the respective input image patches 122, 132, 142, and 222.

[0104] Figure 3A shows that during the third iteration of the base call, by processing the input image data 322 by the spatial logic 104 and the compression logic 108, spatial map 326 and the corresponding compressed spatial map 330 are generated only for the non-overlapping sequencing cycle 7. Thus, the input image patches 122, 132, 142, and 222 (highlighted with gray hatching in the legend) for the overlapping cycles 3, 4, 5, and 6 are not processed again to avoid overlapping convolutions.

[0105] Figure 3B shows that the compressed space map sets 130, 140, 150, and 230 generated during the first and second iterations of the base call are used in conjunction with the compressed space map set 330 generated during the third iteration of the base call to generate the base call 392 for the central sequencing cycle 5. In Figure 3B, the time map sets 176, 278, and 378 are generated by the first time convolutional layer of the time network 160 in a manner similar to that described above with respect to Figure 1B. The time map set 382 is generated by the second and final time convolutional layer of the time network 160 in a manner similar to that described above with respect to Figure 1B. Figure 3C shows that the output layer 190 processes the final time map set 382 generated during the third iteration of the base call to generate the base call 392 for the central sequencing cycle 5.

[0106] Once a compressed space map set is generated for a given sequencing cycle, that compressed space map set can be reused to base call any subsequent sequencing cycle. Figure 4A shows the 14th iteration of the base call for basing the central sequencing cycle 16. Figure 4B shows generating the final time map set 482 for basing the central sequencing cycle 16 using the compressed space maps previously generated for sequencing cycles 1 - 29. Figure 4C shows that the output layer 190 processes the final time map set 482 generated during the 14th iteration of the base call to generate the base call 492 for the central sequencing cycle 16.

[0107] FIG. 5A shows an embodiment of using filtering logic 502 to filter compressed space map sets 110, 120, 130, 140, and 150 for respective sequencing cycles 1, 2, 3, 4, and 5 to generate respective filtered compressed space maps 510, 520, 530, 540, and 550 (showing only highly reliable clusters) during the first iteration of the base call. As discussed above, the low-reliability cluster data 128 identifies those portions (e.g., pixels) of the space map and the compressed space map that correspond to unreliable clusters. Such pixels can be identified, for example, based on the position coordinates of the unreliable clusters.

[0108] The filtering logic 502 uses the data 128 that identifies the unreliable clusters to filter out (or discard or remove) the pixels corresponding to the unreliable clusters (i.e., those depicting their intensity emissions) from the compressed space map sets 110, 120, 130, 140, and 150. In some embodiments, this results in 75% of the pixels being discarded from the compressed space map sets, thereby preventing many non-productive convolutions.

[0109] In FIG. 5A, to basecall the central sequencing cycle 3, a filtered set of time maps 572, 574, and 576 (showing only highly reliable clusters) are generated from the filtered compressed space maps 510, 520, 530, 540, and 550. The filtered set of time maps 572, 574, and 576 (showing only highly reliable clusters) are generated by the first temporal convolutional layer of the temporal network 160 in a manner similar to that described above with respect to FIG. 1B. The filtered set of time maps 582 (showing only highly reliable clusters) are generated by the second and final temporal convolutional layer of the temporal network 160 in a manner similar to that described above with respect to FIG. 1B. FIG. 5B shows that the output layer 190 processes the filtered final set of time maps 582 generated during the first iteration of the basecall to generate the basecall 592 of the central sequencing cycle 3.

[0110] FIG. 6A shows one embodiment of using filtering logic 502 to filter the set of compressed space maps 120, 130, 140, 150, and 230 for respective sequencing cycles 2, 3, 4, 5, and 6 to generate respective filtered compressed space maps 520, 530, 540, 550, and 650 (showing only highly reliable clusters) during the second iteration of the basecall. The filtering logic 502 uses data 128 that identifies unreliable clusters to filter out (or discard or remove) pixels corresponding to unreliable clusters (i.e., depicting their intensity emissions) from the set of compressed space maps 120, 130, 140, 150, and 230.

[0111] In FIG. 6A, to basecall the central sequencing cycle 4, filtered time map sets 574, 576, and 676 (showing only highly reliable clusters) are generated from the filtered compressed space maps 520, 530, 540, 550, and 650. The filtered time map sets 574, 576, and 676 (showing only highly reliable clusters) are generated by the first temporal convolutional layer of the temporal network 160 in a manner similar to that described above with respect to FIG. 1B. The filtered time map set 682 (showing only highly reliable clusters) is generated by the second and final temporal convolutional layer of the temporal network 160 in a manner similar to that described above with respect to FIG. 1B. FIG. 6B shows that the output layer 190 processes the filtered final time map set 682 generated during the second iteration of the basecall to generate the basecall 692 of the central sequencing cycle 4.

[0112] FIG. 7A shows one embodiment of using filtering logic 502 to filter the compressed space map sets 130, 140, 150, 230, and 330 for respective sequencing cycles 3, 4, 5, 6, and 7 to generate respective filtered compressed space maps 530, 540, 550, 650, and 750 (showing only highly reliable clusters) during the third iteration of the basecall. The filtering logic 502 uses data 128 that identifies unreliable clusters to filter out (or discard or remove) the pixels corresponding to the unreliable clusters (i.e., depicting their intensity emissions) from the compressed space map sets 130, 140, 150, 230, and 330.

[0113] In FIG. 7A, to basecall the central sequencing cycle 5, filtered time map sets 576, 676, and 776 (showing only highly reliable clusters) are generated from filtered compressed space maps 530, 540, 550, 650, and 750. The filtered time map sets 576, 676, and 776 (showing only highly reliable clusters) are generated by the first temporal convolutional layer of the temporal network 160 in a manner similar to that described above with respect to FIG. 1B. The filtered time map set 782 (showing only highly reliable clusters) is generated by the second and final temporal convolutional layer of the temporal network 160 in a manner similar to that described above with respect to FIG. 1B. FIG. 7B shows that the output layer 190 processes the filtered final time map set 782 generated during the third iteration of the basecall to generate the basecall 792 of the central sequencing cycle 5.

[0114] In other embodiments, the compression logic 108 can set the corresponding compressed time map sets to each have more than four feature maps.

[0115] The compression logic 108 described above with respect to the spatial feature maps is equally applicable to the compression of the temporal feature maps generated by the temporal logic 160. Reusing a generated compressed spatial feature map in subsequent sequencing cycles is also equally applicable to reusing a generated compressed temporal feature map in subsequent sequencing cycles.

[0116] In some embodiments, reusing the compressed temporal feature maps results in more than 100 times the efficiency and computing savings compared to reusing the compressed spatial feature maps, since the compressed temporal feature maps are generated from the compressed spatial feature maps at a later stage in the processing pipeline. Repurposing the intermediate results from a further processing engine (i.e., the temporal network 160) increases the number of preceding processing steps that can be skipped. That is, reusing the compressed spatial feature maps eliminates redundant processing of the original image data via the spatial network 104, but may include redundant processing of the compressed spatial feature maps via the temporal network 160. In contrast, reusing the compressed temporal feature maps eliminates both redundant processing of the original image data via the spatial network 104 and redundant processing of the compressed spatial feature maps via the temporal network 160.

[0117] FIG. 8A shows one embodiment in which the compression logic 108 processes a set 172, 174, and 176 of temporal feature maps generated during a first iteration of the base call to generate respective sets 802, 804, and 806 of compressed temporal feature maps. The sets 802, 804, and 806 of compressed temporal feature maps are generated by the compression logic 108 in a manner similar to that described above with respect to FIGS. 1E and 1F. That is, for example, if the first set 172 of temporal feature maps has, for example, 21 feature maps (or a channel or depth of 21), the compression logic 108 can set the corresponding set 802 of compressed temporal feature maps to have one, two, three, or four feature maps. The sets 802, 804, and 806 of compressed temporal feature maps are processed by a second temporal convolutional layer of the temporal network 160 in a manner similar to that described above with respect to FIG. 1B to generate a final set 814 of compressed temporal feature maps. FIG. 8B shows that the output layer 190 processes the final set 814 of compressed temporal feature maps generated during the first iteration of the base call to generate the base call 892 of the central sequencing cycle 3.

[0118] FIG. 9A shows an embodiment in which the compression time map generated in the first base call iteration is reused in the second base call iteration. That is, the first and second sets 804 and 806 of the compression time map are generated in FIG. 8A for the first base call iteration and are now repurposed in the second base call iteration shown in FIGS. 9A and 9B.

[0119] Note that the first and second sets 804 and 806 of the compression time map are generated in FIG. 8A from the first and second sets 172 and 174 of the time map. Further, the first and second sets 172 and 174 of the time map are generated in FIG. 1B from the compression space maps 110, 120, 130, and 140, and the compression space maps 110, 120, 130, and 140 are generated in FIG. 1A from the corresponding space maps 106, 116, 126, and 136, respectively, and the space maps 106, 116, 126, and 136 are generated in FIG. 1A from the corresponding image patches 102, 112, 122, and 132, respectively.

[0120] Unlike FIGS. 1B, 2B, and 3B that redundantly generate the overlapping time maps 172, 174, and 176, in FIG. 9A, the overlapping time maps 174 and 176 (shown in FIG. 9A with dashed lines and faint text) are not redundantly generated from FIG. 8A (the first base call iteration) to FIG. 9A (the second base call iteration). This occurs because the compression logic 108 is incorporated into the time network 160 to generate the first and second sets 804 and 806 of the compression time map in the first base call iteration, and these replace the overlapping time maps 174 and 176 in the second base call iteration. The compression time map can be stored in memory (e.g., on-chip DRM, on-chip SRAM, or BRAM, off-chip DRAM).

[0121] FIG. 9A also shows that the compression logic 108 processes non-overlapping time maps 278 (i.e., non-overlapping between the first base call iteration and the second base call iteration) to generate a compressed logic map 906. The compressed time map sets 804, 806, and 906 are processed by the second time convolution layer of the time network 160 in a manner similar to that described above with respect to FIG. 1B to generate a final compressed time feature map set 914. FIG. 9B shows that the output layer 190 processes the final compressed time feature map set 914 generated during the second iteration of the base call to generate the base call 992 of the central sequencing cycle 4.

[0122] Unlike FIGS. 1B, 2B, and 3B which redundantly generate overlapping time maps 174, 176, and 278, in FIG. 10A, the overlapping time maps 176 and 278 (shown in FIG. 10A with dashed lines and light text) are not redundantly generated from FIG. 9A (second base call iteration) to FIG. 10A (third base call iteration). This occurs because the compression logic 108 is incorporated into the time network 160 to generate the first and second sets 806 and 906 of compressed time maps in the first and second base call iterations, and these replace the overlapping time maps 176 and 278 in the third base call iteration. The compressed time maps can be stored in memory (e.g., on-chip DRM, on-chip SRAM, or BRAM, off-chip DRAM).

[0123] FIG. 10A also shows that the compression logic 108 processes non-overlapping time maps 378 (i.e., non-overlapping between the second base call iteration and the third base call iteration) to generate a compressed logic map 1006. The compressed time map sets 806, 906, and 1006 are processed by the second time convolution layer of the time network 160 in a manner similar to that described above with respect to FIG. 1B to generate a final compressed time feature map set 1014. FIG. 10B shows that the output layer 190 processes the final compressed time feature map set 1014 generated during the third iteration of the base call to generate a base call 1092 for the central sequencing cycle 5.

[0124] FIG. 11A shows an embodiment in which the compression logic 108 processes sets 572, 574, and 576 of filtered time feature maps generated during the first iteration of the base call to generate respective sets 1102, 1104, and 1306 of filtered compressed time feature maps. The filtered compressed time feature map sets 1102, 1104, and 1106 (showing only highly reliable clusters) are generated by the compression logic 108 in a manner similar to that described above with respect to FIGS. 1E and 1F. That is, for example, if the first set 572 of filtered time feature maps has, for example, 21 feature maps (or a channel or depth of 21), the compression logic 108 can configure the corresponding set 1102 of filtered compressed time feature maps to have one, two, three, or four feature maps. The sets 1102, 1104, and 1106 of filtered compressed time feature maps are processed by the second filtered time convolution layer of the filtered time network 160 in a manner similar to that described above with respect to FIG. 1B to generate a set 1114 of filtered final compressed time feature maps. FIG. 8B shows that the output layer 190 processes the set 1114 of filtered final compressed time feature maps generated during the first iteration of the base call to generate a base call 1192 for the central sequencing cycle 3.

[0125] In other embodiments, the compression logic 108 can be set to have a corresponding set of compressed feature maps, each having more than four feature maps.

[0126] FIG. 12A shows one embodiment of reusing the filtered compressed time map generated in the first base call iteration in the second base call iteration. That is, the first and second sets 1104 and 1106 of the filtered compressed time map were generated in FIG. 11A for the first base call iteration and are now repurposed in the second base call iteration shown in FIGS. 12A and 2B.

[0127] Note that the first and second sets 1104 and 1106 of the filtered compressed time map were generated in FIG. 11A from the first and second sets 572 and 574 of the filtered time map. Further, the first and second sets 572 and 574 of the filtered time map were generated in FIG. 5A from the filtered compressed spatial maps 510, 520, 530, and 540, and the filtered compressed spatial maps 510, 520, 530, and 540 were generated in FIG. 5A from the corresponding compressed spatial maps 110, 120, 130, and 140, respectively, and the compressed spatial maps 110, 120, 130, and 140 were generated in FIG. 1A from the corresponding spatial maps 106, 116, 126, and 136, respectively, and the spatial maps 106, 116, 126, and 136 were generated in FIG. 1A from the corresponding image patches 102, 112, 122, and 132, respectively.

[0128] Unlike FIGS. 5A, 6A, and 7A which redundantly generate filtered, overlapping time maps 572, 574, and 576, in FIG. 12A, the filtered, overlapping time maps 574 and 576 (shown in FIG. 12A by dashed lines and light text) are not redundantly generated from FIG. 11A (first base call iteration) to FIG. 12A (second base call iteration). This occurs because the compression logic 108 is incorporated into the filtered time network 160 to generate first and second sets 1104 and 1106 of filtered compressed time maps in the first base call iteration, and these replace the filtered, overlapping time maps 574 and 576 in the second base call iteration. The filtered compressed time maps can be stored in memory (e.g., site, on-chip DRM, on-chip SRAM, or BRAM, off-chip DRAM).

[0129] FIG. 12A also shows that the compression logic 108 processes a filtered non-overlapping time map 676 (i.e., non-overlapping between the first base call iteration and the second base call iteration) to generate a filtered compressed logic map 1206 (showing only reliable clusters). The sets 1104, 1106, and 1206 of filtered compressed time maps are processed by a second filtered time convolution layer of the time network 160 in a manner similar to that described above with respect to FIG. 1B to generate a set 1214 of filtered final compressed time feature maps. FIG. 12B shows that the output layer 190 processes the set 1214 of filtered final compressed time feature maps generated during the second iteration of the base call to generate a base call 1292 for the central sequencing cycle 4.

[0130] Unlike FIGS. 5A, 6A, and 7A that redundantly generate the filtered, overlapping time maps 574, 576, and 676, in FIG. 13A, the filtered, overlapping time maps 576 and 676 (shown in FIG. 13A with dashed lines and faint text) are not redundantly generated from FIG. 12A (the second base call iteration) to FIG. 132A (the third base call iteration). This occurs because the compression logic 108 is incorporated into the filtered time network 160 to generate the first and second sets 1106 and 1206 of the filtered compression time maps in the first and second base call iterations, and these replace the filtered, overlapping time maps 576 and 676 in the third base call iteration. The filtered compression time maps can be stored in memory (e.g., site, on-chip DRM, on-chip SRAM, or BRAM, off-chip DRAM).

[0131] FIG. 13A also shows that the compression logic 108 processes the filtered non-overlapping time map 776 (i.e., non-overlapping between the second base call iteration and the third base call iteration) to generate the filtered compression logic map 1306 (showing only reliable clusters). The sets 1106, 1206, and 1306 of the filtered compression time maps are processed by the second filtered time convolution layer of the time network 160 in a manner similar to that described above with respect to FIG. 1B to generate the set 1314 of the filtered final compression time feature maps. FIG. 13B shows that the output layer 190 processes the set 1314 of the filtered final compression time feature maps generated during the third iteration of the base call to generate the base call 1392 of the central sequencing cycle 5.

[0132] FIG. 14 shows a first exemplary architecture of the neural network-based base coiler 100. In the illustrated embodiment, the neural network-based base coiler 100 includes a spatial network 104, a compression network 108, and a temporal network 160. The spatial network 104 includes seven spatial convolutional layers. The compression network 108 includes a compression layer. The temporal network 160 includes two temporal convolutional layers.

[0133] Each of the seven spatial convolutional layers can have the same number of convolutional filters or a different number of convolutional filters. The first spatial convolutional layer can have a number of filters S1, where S1 can be, for example, 7, 14, 21, 64, 128, or 254. The second spatial convolutional layer can have a number of filters S2, where S2 can be, for example, 7, 14, 21, 64, 128, or 254. The third spatial convolutional layer can have a number of filters S3, where S3 can be, for example, 7, 14, 21, 64, 128, or 254. The fourth spatial convolutional layer can have a number of filters S4, where S4 can be, for example, 7, 14, 21, 64, 128, or 254. The fifth spatial convolutional layer can have a number of filters S5, where S5 can be, for example, 7, 14, 21, 64, 128, or 254. The sixth spatial convolutional layer can have a number of filters S6, where S6 can be, for example, 7, 14, 21, 64, 128, or 254. The seventh spatial convolutional layer can have a number of filters S7, where S7 can be, for example, 7, 14, 21, 64, 128, or 254.

[0134] The compression layer can have a number of filters C1, where C1 can be, for example, 1, 2, 3, 4, or more.

[0135] Each of the two temporal convolutional layers can have the same number of convolutional filters or a different number of convolutional filters. The first temporal convolutional layer can have a number of filters T1, where T1 can be, for example, 7, 14, 21, 64, 128, or 254. The second temporal convolutional layer can have a number of filters T2, where T2 can be, for example, 7, 14, 21, 64, 128, or 254. FIG. 14 also shows the feature maps 1412 generated by each of the layers of the neural network-based base coiler 100.

[0136] FIG. 15 shows a second exemplary architecture of the neural network-based base coiler 100. FIG. 15 shows the filtering logic 502 as part of the neural network-based base coiler 100. In other embodiments, the filtering logic 502 is not part of the neural network-based base coiler 100. The compressed feature map C1 has a spatial dimension of P1×P2. The filtering logic 502 filters and excludes the pixels corresponding to the unreliable clusters within the compressed feature map C1 to generate a filtered compressed feature map F1 having a spatial dimension of P3×P4. The filtered compressed feature map F1 shows only the reliable clusters. In one embodiment, the filtering logic 502 discards 75% of the pixels within the compressed feature map C1, so P3 is 25% of P1 and P4 is 25% of P2. FIG. 15 also shows the feature maps 1512 generated by each of the layers of the neural network-based base coiler 100.

[0137] FIG. 16 shows a third exemplary architecture of the neural network-based base coiler 100. FIG. 16 shows that the compression network 108 is used to compress the output of the spatial network 104 and the output of the temporal network 160. FIG. 16 also shows the feature maps 1612 generated by each of the layers of the neural network-based base coiler 100.

[0138] FIG. 17 shows a fourth exemplary architecture of the neural network-based base corrector 100. FIG. 17 shows that the filtering logic 502 is applied to the compressed output of the spatial network 104 to generate a compressed and filtered temporal output from the temporal network 160. FIG. 17 also shows the feature maps 1712 generated by each of the layers of the neural network-based base corrector 100.

[0139] FIG. 18 shows one embodiment of the filter configuration logic 1804 that configures the number (or large number) of convolutional filters in the compression layer 108 according to the number of channels in the input data. This enables the compressed feature map to be a lossless representation of the input data. In some embodiments, the input data can be overwritten in memory using the corresponding compressed representation for reuse in subsequent sequencing cycles.

[0140] In one embodiment, for each input per cycle (e.g., only one image channel), in the case of input data including only one channel 1812, the filter configuration logic 1804 configures the compression layer 108 to have only one convolutional filter 1816 that generates only one compressed feature map 1818 per sequencing cycle. In another embodiment, for each input per cycle (e.g., two image channels such as the blue and green image channels in the sequence images corresponding to the blue and green lasers), in the case of input data including two channels 1822, the filter configuration logic 1804 configures the compression layer 108 using two convolutional filters 1826 that generate two compressed feature maps 1828 per sequencing cycle. In yet another embodiment, for each input per cycle (e.g., only three image channels), in the case of input data including only three channels 1832, the filter configuration logic 1804 configures the compression layer 108 to have three convolutional filters 1836 that generate three compressed feature maps 1838 per sequencing cycle. In still further embodiments, for each input per cycle (e.g., four image channels such as the A, C, T, and G channels in the sequence image corresponding to nucleotides A, C, T, and G), in the case of input data including four channels 1842, the filter configuration logic 1804 configures the compression layer 108 using four convolutional filters 1846 that generate four compressed feature maps 1848 per sequencing cycle. In other embodiments, the compression logic 108 can be configured to have corresponding sets of compressed feature maps, each having more than four feature maps, and thus select more than four filters for the compression layer 108.

[0141] Figures 19A and 19B illustrate one embodiment of a sequencing system 1900A. The sequencing system 1900A includes a configurable processor 1946. The configurable processor 1946 implements the basecalling techniques disclosed herein. The sequencing system is also referred to as a "sequencer".

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

[0143] In certain embodiments, the sequencing system 1900A is a nucleic acid sequencing system configured for a variety of applications, including but not limited to De Novo sequencing, rearrangement of whole genomes or target genomic regions, and metagenomics. The sequencer may also be used for DNA or RNA analysis. In some embodiments, the sequencing system 1900A may also be configured to generate reaction sites within a biosensor. For example, the sequencing system 1900A can be configured to receive a sample and generate surface-bound clusters of amplified nucleic acids from the sample that are derived from a chronovirus. Each cluster may constitute or be part of a reaction site within the biosensor.

[0144] The exemplary sequencing system 1900A may include a system receiver or interface 1910 configured to interact with a biosensor 1912 to perform a desired reaction within the biosensor 1912. In the following description with respect to FIG. 19A, the biosensor 1912 is loaded within the system receiver 1910. However, it is understood that a cartridge containing the biosensor 1912 may be inserted into the system receiver 1910 and, in some cases, the cartridge may be removed temporarily or permanently. As described above, the cartridge may include, among other things, fluid control and fluid storage components.

[0145] In certain embodiments, the sequencing system 1900A is configured to perform a number of parallel reactions within the biosensor 1912. The biosensor 1912 includes one or more reaction sites where the desired reaction can occur. The reaction sites may be immobilized, for example, on the solid surface of the biosensor, or on beads (or other movable substrates) located within corresponding reaction chambers of the biosensor. The reaction sites can include, for example, clusters of clonally amplified nucleic acids. The biosensor 1912 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 channels that receive a solution from the sequencing system 1900A and direct the solution towards the reaction sites. Optionally, the biosensor 1912 can be configured to engage a heating element for transferring thermal energy to and from within the flow channels.

[0146] Sequencing system 1900A 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 1900A includes system controller 1906, which may communicate with various components, assemblies, and subsystems of sequencing system 1900A, as well as biosensor 1912. For example, in addition to system receptacle 1910, sequencing system 1900A may also include fluid control system 1908 for controlling the flow of fluid throughout the fluid network of sequencing system 1900A and biosensor 1912, fluid storage system 1914 configured to hold all fluids (e.g., gases or liquids) that may be used by the bioassay system, temperature control system 1904 capable of adjusting the temperature of the fluid within the fluid network, fluid storage system 1914, and / or biosensor 1912, and illumination system 1916 configured to illuminate biosensor 1912. As described above, when a cartridge having biosensor 1912 is loaded into system receptacle 1910, the cartridge may also include fluid control and fluid storage components.

[0147] Moreover, the sequencing system 1900A may include a user interface 1918 that interacts with the user. For example, the user interface 1918 can include a display 1920 that displays or requests information from the user and a user input device 1922 for receiving user input. In some embodiments, the display 1920 and the user input device 1922 are the same device. For example, the user interface 1918 may include a touch-sensitive display configured to detect the presence of individual touches and identify the location of the touches on the display. However, other user input devices 1922 such as a mouse, touchpad, keyboard, keypad, handheld scanner, voice recognition system, motion recognition system, etc. may also be used. As will be described in more detail below, the sequencing system 1900A may communicate with various components, including the biosensor 1912 (e.g., in the form of a cartridge), to perform a desired reaction. The sequencing system 1900A may also be configured to analyze data obtained from the biosensor to provide the user with the desired information.

[0148] The system controller 1906 includes 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 are not intended to limit the definition and / or meaning of the term system controller. In an exemplary embodiment, the system controller 1906 executes a set of instructions stored in one or more storage elements, memories, or modules to acquire and analyze detection 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 storage element may be in the form of an information source or a physical memory element within the sequencing system 1900A.

[0149] The command set may include various commands that direct the sequencing system 1900A or the biosensor 1912 to perform certain operations, such as the methods and processes of the various embodiments described herein. The set of commands may be in the form of a software program that may form a tangible non-transitory computer-readable medium or a part of the medium. As used herein, the terms "software" and "firmware" are interchangeable and include any computer program stored in a memory that is executed by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The memory types are merely exemplary and thus are not limited to the types of memory that can be used for storing computer programs.

[0150] Software may be in various forms, such as system software or application software. Further, software may be in the form of a collection of separate programs, or a program module or a part of a program module within a larger program. Software may also include modular programming in the form of object-oriented programming. After the detection data is obtained, the detection data may be automatically processed by the sequencing system 1900A processed in response to user input, or processed in response to a request made by another processing machine (e.g., a remote request via a communication link). In another illustrated embodiment, the system controller 1906 includes an analysis module 1944. In yet another embodiment, the system controller 1906 does not include the analysis module 1944, but instead has access to the analysis module 1944 (e.g., the analysis module 1944 may be separately hosted in the cloud).

[0151] System controller 1906 may be connected to biosensor 1912 and other components of sequencing system 1900A via a communication link. System controller 1906 may also be communicatively connected to an off-site system or server. The communication link may be wired, corded, or wireless. System controller 1906 may receive user input or commands from user interface 1918 and user input device 1922.

[0152] Fluid control system 1908 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 biosensor 1912 and fluid storage system 1914. For example, fluid may be selected from fluid storage system 1914 and directed towards biosensor 1912 in a controlled manner, or fluid may be drawn from biosensor 1912 and directed, for example, towards a waste reservoir within fluid storage system 1914. Although not shown, fluid control system 1908 may include a flow sensor that detects the flow rate or pressure of fluid within the fluid network. The sensor may communicate with system controller 1906.

[0153] Temperature control system 1904 is configured to regulate the temperature of fluid in different regions of the fluid network, fluid storage system 1914, and / or biosensor 1912. For example, temperature control system 1904 may interact with biosensor 1912 and include a thermal circulator that controls the temperature of fluid flowing along a reaction site within biosensor 1912. Temperature control system 1904 may also regulate the temperature of solid elements or components of sequencing system 1900A or biosensor 1912. Although not shown, temperature control system 1904 may include a sensor for detecting the temperature of fluid or other components. The sensor may communicate with system controller 1906.

[0154] The fluid storage system 1914 is in fluid communication with the biosensor 1912 and may store various reaction components or reactants used to perform a desired reaction. The fluid storage system 1914 may also store fluid for washing or cleaning the fluid network and the biosensor 1912 and for diluting reactants. For example, the fluid storage system 1914 may include various reservoirs for storing samples, reagents, enzymes, other biomolecules, buffers, aqueous, and nonpolar solutions. Further, the fluid storage system 1914 may also include a waste reservoir for receiving waste from the biosensor 1912. In an embodiment including a cartridge, the cartridge may include one or more of the fluid storage system, the fluid control system, or the temperature control system. Accordingly, one or more of the components described herein with respect to these systems may be housed within the cartridge housing. For example, the cartridge may have various reservoirs for storing samples, reagents, enzymes, other biomolecules, buffers, aqueous and nonpolar solutions, waste, and the like. Accordingly, one or more of the fluid storage system, the fluid control system, or the temperature control system may be removably engaged with the bioassay system via the cartridge or another biosensor.

[0155] The illumination system 1916 may include a light source (e.g., one or more Light-Emitting Diodes (LEDs)) for illuminating the biosensor and a plurality of optical components. Examples of the light source may include a laser, an arc lamp, an LED, or a laser diode. The optical components may be, for example, a reflector, a polarizer, a beam splitter, a collimator, a lens, a filter, a wedge, a prism, a mirror, a detector, etc. In an embodiment where the illumination system is used, the illumination system 1916 may be configured to direct the excitation light towards the reaction site. As an example, the fluorophore may be excited by the wavelength of green light, and thus the wavelength of the excitation light may be about 1932 nm. In one embodiment, the illumination system 1916 is configured to generate illumination parallel to the surface normal of the surface of the biosensor 1912. In another embodiment, the illumination system 1916 is configured to generate illumination at an off-angle with respect to the surface normal of the surface of the biosensor 1912. In yet another embodiment, the illumination system 1916 is configured to generate illumination having a plurality of angles including some parallel illumination and some off-angle illumination.

[0156] The system receptacle or interface 1910 is configured to engage with the biosensor 1912 in at least one of mechanical, electrical, and fluidic ways. The system receptacle 1910 can hold the biosensor 1912 in a desired orientation and facilitate the flow of fluid through the biosensor 1912. The system receptacle 1910 may also include electrical contacts configured to engage with the biosensor 1912, whereby the sequencing system 1900A may communicate with the biosensor 1912 and / or supply power to the biosensor 1912. Further, the system receptacle 1910 may include fluid ports (e.g., nozzles) configured to engage with the biosensor 1912. In some embodiments, the biosensor 1912 is removably coupled to the system receptacle 1910 mechanically, electrically, and fluidically.

[0157] In addition, the sequencing system 1900A may communicate remotely with other systems or networks, or with other bioassay systems 1900A. Detection data obtained by the bioassay system 1900A may be stored in a remote database.

[0158] FIG. 19B is a block diagram of a system controller 1906 that can be used in the system of FIG. 19A. In one embodiment, the system controller 1906 includes one or more processors or modules that can communicate with each other. Each of the processors or modules may include an algorithm (e.g., instructions stored on a tangible and / or non-transitory computer-readable storage medium) or sub-algorithm for performing a particular process. The system controller 1906 is conceptually illustrated as a set of modules, but may be implemented using any combination of dedicated hardware boards, DSPs, processors, etc. Alternatively, the system controller 1906 may be implemented using an off-the-shelf PC with a single processor or multiple processors, and the functional operations are 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, and the remaining modular functions are implemented using an off-the-shelf PC or the like. The modules may also be implemented as software modules within the processing unit.

[0159] During operation, communication port 1950 may transmit information (e.g., commands) to biosensor 1912 (FIG. 19A) and / or subsystems 1908, 1914, 1904 (FIG. 19A), or receive information (e.g., data) from them. In some embodiments, communication port 1950 can output multiple sequences of pixel signals. Communication link 1934 may receive user input from user interface 1918 (FIG. 19A), or transmit data or information to user interface 1918. Data from biosensor 1912 or subsystems 1908, 1914, 1904 may be processed in real time by system controller 1906 during a bioassay session. Additionally or alternatively, the data may be temporarily stored in system memory during a bioassay session and processed at a timing slower than real time or in an offline operation.

[0160] As shown in FIG. 19B, system controller 1906 may include a plurality of modules 1926 - 1948 that communicate with main control module 1924 along with a Central Processing Unit (CPU) 1952. Main control module 1924 may communicate with user interface 1918 (FIG. 19A). Although modules 1926 - 1948 are shown as communicating directly with main control module 1924, modules 1926 - 1948 may also communicate directly with each other, with user interface 1918, and with biosensor 1912. Also, modules 1926 - 1948 may communicate with main control module 1924 via other modules.

[0161] The plurality of modules 1926 - 1948 includes system modules 1928 - 1932, 1926 that communicate with subsystems 1908, 1914, 1904, and 1916 respectively. The fluid control module 1928 may communicate with the fluid control system 1908 to control the valves and flow sensors of the fluid network in order to control the flow of one or more fluids through the fluid network. The fluid storage module 1930 can notify the user when the storage amount of the fluid is low, or when the waste reservoir is full or nearly full. The fluid storage module 1930 may also communicate with the temperature control module 1932 so that the fluid can be stored at a desired temperature. The illumination module 1926 may communicate with the illumination system 1916 to illuminate the reaction site at a time specified in the protocol, such as after a desired reaction (e.g., a binding event) has occurred. In some embodiments, the illumination module 1926 can communicate with the illumination system 1916 to illuminate the reaction site at a specified angle.

[0162] The plurality of modules 1926 - 1948 may also include a device module 1936 that communicates with the biosensor 1912 and an identification module 1938 that determines identification information related to the biosensor 1912. The device module 1936 can communicate with, for example, the system receiver 1910 to confirm that the biosensor has established electrical and fluid connections with the sequencing system 1900A. The identification module 1938 may receive a signal that identifies the biosensor 1912. The identification module 1938 may use the identification information of the biosensor 1912 to provide other information to the user. For example, the identification module 1938 may determine and then display the lot number, the manufacturing date, or the protocol recommended to be executed with the biosensor 1912.

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

[0164] The analysis module 1944 is configured to acquire image data from a photodetector in each of a plurality of sequencing cycles. The image data is derived from the emission signals detected by the photodetector and processed for each of the plurality of sequencing cycles via a neural network-based basecaller 100 to generate basecalls 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., the CCD camera of Illumina's GAIIx that takes an image of the cluster on the biosensor 1912 from above), or part of the biosensor 1912 itself (e.g., the CMOS image sensor of Illumina's iSeq that is under the cluster on the biosensor 1912 and takes an image of the cluster from the bottom).

[0165] The output of the photodetector is a sequence image showing the intensity radiation of the clusters and their surrounding background, respectively. The sequence image shows the intensity radiation generated as a result of incorporating nucleotides into the sequence during sequencing. The intensity radiation is from the associated analytes and their surrounding background. The sequence image is stored in the memory 1948.

[0166] Protocol modules 1940 and 1942 communicate with the main control module 1924 to control the operation of subsystems 1908, 1914, and 1904 when implementing a predetermined assay protocol. The protocol modules 1940 and 1942 may include an instruction set for instructing the sequencing system 1900A to perform specific operations according to a predetermined protocol. As shown, the protocol module may be a Sequencing-By-Synthesis (SBS) module 1940 configured to issue various commands for performing a synthesis process for each sequencing. In SBS, the extension of nucleic acid primers along a nucleic acid template is monitored to determine the nucleotide sequence in the template. The underlying chemical process can be polymerization (e.g., catalyzed by a polymerase enzyme) or ligation (e.g., catalyzed by a ligase enzyme). In certain polymerase-based SBS embodiments, fluorescently labeled nucleotides are added to the primer (thereby extending the primer) in a template-dependent manner so that the sequence of the template can be determined using detection of the order and type of nucleotides added to the primer. 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 be detected through imaging events at these reaction sites where the incorporated labeled nucleotides can be detected. During the imaging event, the illumination system 1916 can provide excitation light to the reaction sites. Optionally, the nucleotide can further include a reversible termination property that terminates further primer extension when the nucleotide is added to the primer. For example, a nucleotide analog having a reversible terminator moiety can be added to the primer to prevent subsequent extension until a deblocking agent is delivered to remove that moiety.Thus, in another embodiment using a reversible terminator, 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 washing(s) between the various delivery steps. The cycle can then be repeated n times to extend the primer by n nucleotides, thereby detecting a sequence of length n. Exemplary sequencing techniques are described, for example, in Bentley et al., Nature 4196:193-199(20019), International Patent Application Publication No. 04 / 0119497, U.S. Patent No. 7,0197,026, International Patent Application Publication No. 91 / 066719, International Patent Application Publication No. 07 / 123744, U.S. Patent No. 7,329,492, U.S. Patent No. 7,211,414, U.S. Patent No. 7,3119,019, U.S. Patent No. 7,4019,2191, and U.S. Patent Application Publication No. 20019 / 01470190192, each of which is incorporated herein by reference.

[0167] In the nucleotide delivery step of the SBS cycle, any one of a 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 a nucleotide delivery configuration where only a single type of nucleotide is present at a time, different nucleotides can be distinguished based on the temporal separation unique to individualized delivery, so different nucleotides do not need to have distinct labels. Thus, the sequencing method or apparatus can use single-color detection. For example, the excitation source needs to provide excitation at only a single wavelength or a single wavelength range. At some point, in a nucleotide delivery configuration where the delivery results in multiple different nucleotides present in the flow cell, the sites incorporating different nucleotide types can be distinguished based on different fluorescent labels attached to each nucleotide type in the mixture. For example, four different nucleotides each having one of four different fluorophores can be used. In one embodiment, the 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 ranges of excitation radiation in the flow cell.

[0168] In some embodiments, fewer than four different colors can be detected in a mixture having four different nucleotides. For example, nucleotide pairs can be detected at the same wavelength, but are distinguishable based on a difference in intensity for one member of the pair, or based on a change (e.g., via performing a chemical modification, a photochemical modification, or a physical modification) to one member of the pair that results in the appearance or disappearance of a distinct signal as compared to the signal detected for the other member of the pair. Exemplary apparatuses and methods for distinguishing four different nucleotides using the detection of fewer than four colors are described, for example, in U.S. Patent Application Nos. 61 / 193,194 and 61 / 619,197, which are hereby incorporated by reference in their entirety. U.S. Patent Application No. 13 / 624,200, filed September 21, 2012, is also hereby incorporated by reference in its entirety.

[0169] The plurality of protocol modules may also include a sample preparation (or generation) module 1942 configured to issue commands to a fluid control system 1908 and a temperature control system 1904 for amplifying products within the biosensor 1912. For example, the biosensor 1912 may be engaged with a sequencing system 1900A. The amplification module 1942 can issue commands to the fluid control system 1908 to deliver the necessary amplification components to a reaction chamber within the biosensor 1912. 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 1942 may direct the temperature control system 1904 to cycle through different temperature stages according to a known amplification protocol. In some embodiments, amplification and / or nucleotide incorporation is performed isothermally.

[0170] The SBS module 1940 can issue commands to perform bridge PCR in which clusters of clonal amplicons are formed on local regions within the channels of the flow cell. After generating amplicons via bridge PCR, the amplicons may be "linearized" to create single-stranded template DNA, and the sstDNA and sequencing primers may hybridize to universal sequences adjacent to the region of interest. For example, reversible terminator-based sequencing by synthesis can be used as described above or as described below.

[0171] Each base call or sequencing cycle can extend sstDNA by a single base, which can be achieved, for example, by using a modified DNA polymerase and a mixture of four nucleotides. Different types of nucleotides can have unique fluorescent labels, and each nucleotide can further have a reversible terminator that allows only the incorporation of a single base to occur in each cycle. After adding a single base to the sstDNA, excitation light is incident on the reaction site, and fluorescence emission can be detected. After detection, the fluorescent label and the terminator can be chemically cleaved from the sstDNA. Another similar base call or sequencing cycle may follow. In such a sequencing protocol, the SBS module 1940 can instruct the fluid control system 1908 to direct the flow of reagent and enzyme solutions through the biosensor 1912. Exemplary reversible terminator-based SBS methods that can be used with the devices and methods described herein are described in U.S. Patent Application Publication No. 2007 / 01667019 (A1), U.S. Patent Application Publication No. 2006 / 01196*3901 (A1), U.S. Patent No. 7,0197,026, U.S. Patent Application Publication No. 2006 / 0240439 (A1), U.S. Patent Application Publication No. 2006 / 021914714709 (A1), International Patent Application Publication No. 019 / 0619514, U.S. Patent Application Publication No. 20019 / 014700900 (A1), International Patent Application Publication No. 06 / 019B199, and International Patent Application Publication No. 07 / 014702191 (each incorporated herein by reference in its entirety). Exemplary reagents for reversible terminator-based SBS are described in U.S. Patent No. 7,1941,444, U.S. Patent No. 7,0197,026, U.S. Patent No. 7,414,14716, U.S. Patent No. 7,427,673, U.S. Patent No. 7,1966,1937, U.S. Patent No. 7,1992,4319, International Patent Application Publication No. 07 / 14193193619, and the entireties of these documents are incorporated herein by reference.

[0172] In some embodiments, the amplification and SBS module may operate with a single assay protocol. For example, the template nucleic acid may be amplified and subsequently sequenced within the same cartridge.

[0173] Sequencing system 1900A may also enable a user to reconfigure the assay protocol. For example, sequencing system 1900A may provide options to the user through user interface 1918 to modify the determined protocol. For example, if biosensor 1912 is determined to be used for amplification, sequencing system 1900A may request the temperature of the annealing cycle. Further, sequencing system 1900A may issue a warning to the user if the user provides user input that is not generally allowed for the selected assay protocol.

[0174] In an embodiment, biosensor 1912 includes millions of sensors (or pixels), each of which generates a sequence of multiple pixel signals over subsequent base call cycles. Analysis module 1944 detects multiple sequences of pixel signals according to the row and / or column positions of the sensors on the sensor array and associates them with the corresponding sensors (or pixels).

[0175] FIG. 19C is a simplified block diagram of a system for analysis of sensor data from a sequencing system 1900A such as basecall sensor output. In the example of FIG. 19C, the system includes a configurable processor 1946. The configurable processor 1946 can execute a basecaller (e.g., a neural network-based basecaller 100) in cooperation with runtime program / logic 1980 executed by a central processing unit (CPU) 1952 (i.e., a host processor). The sequencing system 1900A includes a biosensor 1912 and a flow cell. The flow cell can include one or more tiles to which clusters of genetic material are exposed to a series of analyte flows used to cause reactions within the cluster to identify bases in the genetic material. The sensor detects the reaction for each cycle of the sequence in each tile of the flow cell to provide tile data. Genetic sequencing is a data-intensive operation, and this data-intensive operation converts basecall sensor data into a sequence of basecalls for each group of genetic material sensed during the basecall operation.

[0176] The system of this embodiment stores a CPU 1952 that executes runtime program / logic 1980 for adjusting the basecall operation, a memory 1948B that stores the sequence of an array of tile data, a basecall read generated by the basecall operation, and other information used in the basecall operation. Also, in this figure, the system includes a memory 1948A for storing a configuration file (or files), e.g., a field programmable gate array (FPGA) bit file, and model parameters used to configure and reconfigure the configurable processor 1946 and execute a neural network. The sequencing system 1900A can include a program for configuring the configurable processor and, in some embodiments, can include a reconfigurable processor that executes a neural network.

[0177] The sequencing system 1900A is coupled to the configurable processor 1946 by a bus 1989. The bus 1989 can be implemented using high-throughput technologies such as bus technologies that are compatible with the PCIe (Peripheral Component Interconnect Express) standard currently maintained and developed by the PCI-SIG (PCI Special Interest Group) in one example. Also, in this example, the memory 1948A is coupled to the configurable processor 1946 by a bus 1993. The memory 1948A may be on-board memory disposed on a circuit board having the configurable processor 1946. The memory 1948A is used for high-speed access by the configurable processor 1946 to the work data used in the base call operation. The bus 1993 can also be implemented using high-throughput technologies such as bus technologies that are compatible with the PCIe standard.

[0178] Configurable processors, including field programmable gate arrays (FPGAs), coarse grained reconfigurable arrays (CGRAs), and other configurable and reconfigurable devices, can be configured to implement various functions more efficiently or more rapidly than can be achieved using a general purpose processor that executes computer programs. Configuring a configurable processor includes editing a functional description to produce 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 circuitry to set a dataflow pattern and includes the use of distributed memory and other on-chip memory resources, the contents of lookup tables, the operation of configurable logic blocks, and the configurable interconnections of configurable logic blocks and other elements such as configurable execution units of a configurable array. A processor is reconfigurable if the configuration file can be changed by changing the loaded configuration file, if the configuration file can be changed within the field. For example, the configuration file may be stored within volatile SRAM elements, within non-volatile read-write memory elements, 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) (trademark), GX4 Rackmount Series (trademark), GX9 Rackmount Series (trademark), NVIDIA DGX-1 (trademark), Microsoft'Stratix V FPGA (trademark), Graphcore's Intelligent Processor Unit (IPU) (trademark), Qualcomm's Zeroth Platform (trademark) (Snapdragon processors (trademark), NVIDIA Volta (trademark), NVIDIA's Drive PX (trademark), NVIDIA's JETSON TX1 / TX2 MODULE (trademark), Intel's NirvanaTM, Movidius VPU (trademark), Fujitsu DPI (trademark), Arm DynamicIQ (trademark), IBM TrueNorth (trademark), Lambda GPU Server with Testa V100s (trademark), Xilinx Alveo (trademark) U200, Xilinx Alveo (trademark) U2190, Xilinx Alveo (trademark) U280, Intel / Altera Stratix (trademark) GX2800, Intel / Altera Stratix (trademark) GX2800, and Intel Stratix (trademark) GX10M. In some embodiments, the host CPU can be implemented on the same integrated circuit as the configurable processor.

[0179] The embodiments described herein implement the neural network-based base cooler 100 using the configurable processor 1946. The configuration file of the configurable processor 1946 can be implemented by specifying the logic functions executed using a high-level description language HDL or a register transfer level RTL language specification. This specification can be compiled using resources designed such that the selected configurable processor generates the configuration file. For the purpose of generating the design of an application-specific integrated circuit that may not be a configurable processor, the same or similar specifications can be compiled.

[0180] Accordingly, alternatives to the configurable processor 1946 in all embodiments described herein include a configured processor that includes an application-specific ASIC or a set of application-specific integrated circuits or integrated circuits, or a system-on-chip SOC device, or a system-on-chip SOC device configured to perform a neural-network-based basecall operation as described herein, or a graphics processing unit (GPU) processor or a coarse-grained reconfigurable architecture (CGRA) processor.

[0181] Generally, the configurable processors and configured processors described herein configured to perform the operations of a neural network are referred to herein as neural network processors.

[0182] The configurable processor 1946 is configured in this example using a program executed by the CPU 1952 or by a configuration file loaded from other sources that configure the array of configurable elements 1991 (e.g., configuration logic blocks (CLBs), such as look-up tables (LUTs), flip-flops, processing units (PMUs), and compute memory units (CMUs), configurable I / O blocks, programmable interconnects) to perform the basecall function. In this example, the configuration includes dataflow logic 1997 coupled to buses 1989 and 1993 and performing the function of distributing data and control parameters among the elements used in the basecall operation.

[0183] Also, the configurable processor 1946 is configured using data flow logic 1997 to execute the neural network-based base corrector 100. The logic 1997 includes a multi-cycle execution cluster (e.g., 1979), which in this embodiment includes execution cluster 1 via execution cluster X. The number of multi-cycle execution clusters can be selected according to the desired throughput of the operation and the available resources on the configurable processor 1946.

[0184] The multi-cycle execution cluster is coupled to the data flow logic 1997 by a data flow path 1999 implemented using configurable interconnect and memory resources on the configurable processor 1946. Also, the multi-cycle execution cluster is coupled to the data flow logic 1997, for example, by a control path 1995 implemented on the configurable processor 1946 using configurable interconnect and memory resources. It provides a control signal indicating the available execution clusters and is ready to provide an input unit for the execution of the operation of the neural network-based base corrector 100 to the available execution clusters, is ready to provide the learned parameters of the neural network-based base corrector 100, is ready to provide the output patch of the base call classification data, and is ready to provide other control data used for the execution of the neural network-based base corrector 100.

[0185] The configurable processor 1946 is configured to execute a run of the neural network-based base caller 100 using the learned parameters to generate classification data regarding the detection cycles of the base call operation. A run of the neural network-based base caller 100 is executed to generate classification data for the subject detection cycles of the base call operation. A run of the neural network-based base caller 100 operates in a sequence that includes the number N of arrays of tile data from each of the N detection cycles, and the N detection cycles provide sensor data for different base call operations for one base position for each operation in the time sequence in the examples described herein. Optionally, some of the N sensing cycles can be taken out of the sequence as needed according to a particular neural network model being executed. The number N can be any number greater than 1. In some of the examples described herein, the detection cycles of the N detection cycles represent a set of detection cycles for at least one detection cycle preceding the subject detection cycle and at least one detection cycle after the subject cycle. Examples are described herein where the number N is an integer of 5 or more.

[0186] The data flow logic 1997 is configured to move at least some of the learned parameters of the tile data and the model parameters from the memory 1948A to the configurable processor 1946 for a run of the neural network-based base caller 100 using an input unit for a given operation that includes the spatially aligned patches of tile data of the N arrays. The input unit can be moved by a direct memory access operation in one DMA operation or in smaller units that move during available time slots in cooperation with the execution of the deployed neural network.

[0187] The tile data of the sensing cycle described in this specification can include an array of sensor data having one or more features. For example, the sensor data can include two images that are 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 regarding the images and sensors. For example, in an implementation of the basecalling operation, the tile data can include information regarding the alignment of the image with a cluster, such as the distance from central information indicating the distance of each pixel within the array of sensor data from the center of the group of genetic material on the tile.

[0188] As described below, during the execution of the neural network-based basecaller 100, the tile data can also include data generated during the execution of the neural network-based basecaller 100. It is referred to as intermediate data that can be reused rather than recomputed during the run of the neural network-based basecaller 100. For example, during the execution of the neural network-based basecaller 100, the data flow logic 1997 can write intermediate data to the memory 1948A instead of sensor data for a given patch of the array of tile data. Such an implementation is described in more detail below.

[0189] As shown, a system for analyzing base call sensor output is described that includes a memory (e.g., 1948A) accessible by an execution-time program / logic 1980 that stores tile data including sensor data of tiles from a detection cycle of a base call operation. The system also includes a neural network processor such as a configurable processor 1946 having access to the memory. The neural network processor is configured to execute a run of the neural network using learned parameters to generate classification data for the detection cycle. As described herein, the operation of the neural network operates on a sequence of N arrays of tile data from each of N sensing cycles including a subject cycle to generate classification data for the subject cycle. Data flow logic 1997 is provided to move tile data and learned parameters from the memory to the neural network processor for execution of the neural network using an input unit that includes data of spatially aligned patches of N arrays from each of the N sensing cycles.

[0190] Also described is a system in which a neural network processor has access to a memory and includes a plurality of execution clusters, and an execution cluster within the plurality of execution clusters configured to execute the neural network. Data flow logic 1997 provides access to the memory and executes clusters within the plurality of execution clusters to provide an input unit of tile data to available execution clusters within the plurality of execution clusters, the input unit including the number N of spatially aligned patches of an array of tile data from each sensing cycle, and including a subject detection cycle, and applying N spatially aligned patches to the neural network in the execution cluster such that the execution cluster generates an output patch of classification data of the spatially aligned patches of the subject detection cycle, where N is greater than 1.

[0191] Figure 20A is a schematic diagram showing an aspect of the basecall operation, including the functions of the runtime program (e.g., runtime logic 1980) executed by the host processor. In this figure, the output of the image sensor from the flow cell is provided to the image processing thread 2001 on line 2000. The image processing thread 2001 can perform processes on the image such as alignment and placement of the sensor data of individual tiles within the array, and resampling of the image, and can be used by the process of calculating the tile cluster mask for each tile in the flow cell, and can be used by the process of identifying the pixels in the array of sensor data corresponding to the cluster of genetic material on the corresponding tile of the flow cell. The output of the image processing thread 2001 is provided to the dispatch logic 2003 within the CPU via line 2002, which transfers the array of tile data to neural network processor hardware 2007, such as the configurable processor 1946 of FIG. 19C, according to the state of the basecall operation, either on the high-speed bus 2004 or to the data cache 2005 (e.g., SSD storage device) on the high-speed bus 2006. The processed and transformed image can be stored on the data cache 2005 to detect previously used cycles. The hardware 2007 returns the classification data output by the neural network to the dispatch logic 2003, and the dispatch logic 2003 passes the information to the data cache 2005 or to the thread 2009 on line 2008, and can perform basecall and quality score calculations using the classification data and arrange the data in a standard format for basecall reading. The output of the thread 2009 that performs the basecall and quality score calculations is provided to the thread 2011 that aggregates the basecall reads on line 2010, performs other operations such as data compression, and writes the resulting basecall output to the destination specified for customer use.

[0192] In some embodiments, the host can include a thread (not shown) that performs the final processing of the output of the hardware 2007 that supports the neural network. For example, the hardware 2007 can provide the output of classification data from the final layer of a multi-cluster neural network. The host processor can perform output activation functions such as the softmax function beyond the classification data to set the data used by the base call and quality score thread 2002. Also, the host processor can perform input operations (not shown) such as batch normalization of tile data before input to the hardware 2007.

[0193] FIG. 20B is a simplified diagram of the configuration of configurable processor 1946 such as the configuration of FIG. 19C. In FIG. 20B, configurable processor 1946 includes an FPGA having a plurality of high-speed PCIe interfaces. The FPGA is configured using wrapper 2090 that includes data flow logic 1997 described with reference to FIG. 19C. Wrapper 2090 manages the interface and coordination with the runtime program in the CPU via CPU communication link 2077, and manages communication with on-board DRAM 2099 (e.g., memory 1448A) via DRAM communication link 2097. Data flow logic 1997 within wrapper 2090 provides patch data obtained by traversing an array of tile data on on-board DRAM 2099 to cluster 2085 for a number N cycles, obtains process data 2087 from cluster 2085, and distributes it to on-board DRAM 2099. Wrapper 2090 also manages the transfer of data between on-board DRAM 2099 and host memory for both the input array of tile data and the output patches of classification data. The wrapper transfers the patch data on line 2083 to the assigned cluster 2085. The wrapper provides learned parameters such as the weights and biases of line 2081 to cluster 2085 obtained from on-board DRAM 2099. The wrapper provides configuration and control data on line 2079 to cluster 2085 provided by or generated in response to the runtime program on the host via CPU communication link 2077. The cluster can also be used in cooperation with control signals from the host to provide spatially aligned patch data, and can provide status signals on line 2089 to wrapper 2090 that is used in cooperation with control signals from the host to execute a multi-cycle neural network over the patch data using the resources of cluster 2085.

[0194] As described above, multiple clusters may exist on a single configurable processor managed by a wrapper 2090 configured to execute on corresponding patches among a plurality of patches of tile data. Each cluster can be configured to provide classification data for base calls in a subject detection cycle using tile data of a plurality of sensing cycles described herein.

[0195] In an example of the system, model data including kernel data such as filter weights and biases can be sent from a host CPU to a configurable processor, and as a result, the model can be updated as a function of the number of cycles. The base call operation can include, in a representative example, in the order of hundreds of sensing cycles. The base call operation can include paired end reads in some embodiments. For example, the learned model parameters may 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 including paired end reads, where a sequence for a given string within a genetic cluster on a tile includes 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, the learned parameters can be updated at the transition from the first portion to the second portion.

[0196] In some embodiments, multiple cycles of image data of the sensed data for the tile can be sent from the CPU to the wrapper 2090. The wrapper 2090 can optionally perform preprocessing and conversion of a portion of the sensed data and write that information to the on-board DRAM 2099. The input tile data for each sensing cycle can include an array of sensor data including 4000×3000 pixels / tile or more per tile, and the two features can represent the colors of two images of the tile, and can include an array of sensor data including one or two bytes per pixel. For embodiments 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 on the order of hundreds of megabytes per tile. In some embodiments of the system, the tile data can also include an array of distance-from-cluster center (DFC) data from the cluster center stored once per tile, or other types of metadata related to the sensor data and the tile.

[0197] During 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 across the tile and sends it to the assigned cluster along with appropriate control and configuration information. The cluster is configured using sufficient memory on a configurable processor to have sufficient memory to hold the patch of data including the patch for multiple cycles in some systems where processing is done in place, and in various embodiments, is processed using ping-pong buffer technology or raster scan technology.

[0198] When the assigned cluster completes the operation of the neural network of the current patch and generates an output patch, it signals the wrapper. The wrapper reads the output patch from the assigned cluster, or the assigned cluster pushes the data to the wrapper. The wrapper then assembles an output patch for the processed tile in DRAM2099. When the processing of the entire tile is complete and the output patch of the data is transferred to the DRAM, the wrapper returns the processed output array to the host / CPU in a specific format. In some embodiments, the on-board DRAM2099 is managed by the memory management logic in the wrapper 2090. The runtime program can control the sequencing operation to complete the analysis of the array of all tile data for all cycles operating in a continuous flow to provide real-time analysis.

[0199] Figure 21 shows another embodiment of the disclosed data flow logic that creates a compressed spatial map generated during a first base call iteration, available during a second base call iteration, from off-chip memory (e.g., off-chip DRAM, host RAM, host high bandwidth memory (HBM)) 2116.

[0200] In one embodiment, a host memory (e.g., memory 1948B) attached to a host processor (e.g., CPU 1952) is configured to receive the progression of the sequence image 2102 as the sequencing run progresses. A configurable processor (e.g., configurable processor 1946) has an array of processing units. The processing units within the array of processing units are configured to execute a neural network-based base caller 100 to generate base call predictions. Data flow logic 1997 has access to the host memory, the host processor, and the configurable processor. For a first base call iteration, the data flow logic 1997 loads the sequence image of the first window of sequencing cycles (e.g., sequencing cycles 1-5 in FIG. 1A) from the host memory onto the configurable processor.

[0201] Runtime logic 1980 is configured to cause the processing units of the configurable processor to execute the spatial network 104 of the neural network-based base caller 100 on the sequence image 2102 for each cycle, and to generate a set of spatial feature maps 2106 for each of the sequencing cycles within the first window of sequencing cycles. In one embodiment, the runtime logic 1980 executes, in parallel, a plurality of processing clusters of the neural network-based base caller 100 on the tiled patches 2104 from the sequence image 2102. The plurality of processing clusters apply the spatial network 104 on the patch 2104 for each patch 2105.

[0202] At runtime, logic 1980 configures the processing unit of the configurable processor to execute the compressed network 108 of the neural network-based base caller 100 on the spatial feature map set 2106 every cycle, generating a compressed spatial feature map set 2107. Further, the compressed spatial feature map set 2107 is processed through the temporal network 160 and the output network 190 to generate a base call prediction 2111 for one or more sequencing cycles within the first window of the sequencing cycle. The temporal network 160 generates a temporal feature map 2108. The output network 190 generates a base call classification score 2110 (e.g., an unnormalized base-wise score). In one embodiment, the compressed spatial feature map set 2107 is stored on the off-chip memory 2116.

[0203] In one embodiment, data flow logic 1997 is configured to move the compressed spatial feature map set 2107 to the host memory 2116 and overwrite the corresponding ones of the sequence images 2102 with the compressed spatial feature map set 2107. In other embodiments, the corresponding ones of the patches 2104 are replaced by the compressed spatial feature map set 2107.

[0204] The second window of the sequencing cycle (sequencing cycles 2-6 in FIG. 2A) shares the first window of the sequencing cycle and one or more overlapping sequencing cycles (e.g., sequencing cycles 2-5) and has at least one non-overlapping sequencing cycle (e.g., test cycle 6). For the second base call iteration and for the second window of the sequencing cycle, the data flow logic 1997 is configured to load the compressed spatial feature map set 216 for the overlapping sequencing cycles and the sequence image 2122 (or patch 2124) for the non-overlapping sequencing cycles from the host memory to the configurable processor.

[0205] At runtime, logic 1980 configures the processing unit of the configurable processor to execute the spatial network 104 on a sequence image 2122 of non-overlapping sequencing cycles and generate a set of spatial feature maps 2126 for the non-overlapping sequencing cycles. In one embodiment, multiple processing clusters apply the spatial network 104 to patches 2124, patch by patch 2125.

[0206] At runtime, logic 1980 configures the processing unit of the configurable processor to execute the compression network 108 on the set of spatial feature maps 2126, generate a set of compressed spatial feature maps 2127 for non-overlapping sequencing cycles, process the set of compressed spatial feature maps 2126 for overlapping sequencing cycles, and process the set of compressed spatial feature maps 2127 for non-overlapping sequencing cycles via the temporal network 160 and the output network 190, and generate a basecall prediction 2131 for one or more sequencing cycles in a second window of the sequencing cycles. The temporal network 160 generates a temporal feature map 2128. The output network 190 generates a basecall classification score 2129 (e.g., an unnormalized basewise score). In one embodiment, the set of compressed spatial feature maps 2127 is stored on the off-chip memory 2116.

[0207] FIG. 22 shows an embodiment of the disclosed data flow logic that creates a compressed spatial map generated during a first base call iteration that is available during a second base call iteration from on-chip memory (e.g., on-chip DRAM, on-chip SRAM, on-chip BRAM, processor memory such as DRAM attached to a processor via an interconnect) 2216. In FIG. 22, compressed spatial feature map sets 2107 and 2127 are stored in on-chip memory 2216. Also in FIG. 22, data flow logic 1997 is configured to load a compressed spatial feature map set 2126 of overlapping sequencing cycles onto a processor configurable from on-chip memory 2216.

[0208] Partitioned architecture FIG. 23 shows an embodiment of a so-called partitioned architecture of a neural network-based base caller 100. As described above, the spatial convolutional network 104 processes, for each cycle of a series of sequencing cycles (cycles N+2, N+1, N, N-1, N-2, ) of a sequencing run, a window of the sequence image set for each cycle by convolving each cycle's sequence image set separately through respective sequences 2301, 2302, 2303, 2304, and 2405 of the spatial convolutional layer, and is configured to generate a spatial feature map set for each cycle for each sequencing cycle. For example, each of the five sequences 2301, 2302, 2303, 2304, and 2405 of the spatial convolutional layer has seven spatial convolutional layers (i.e., layers L1-L7 in FIG. 23).

[0209] Each of the sequences 2301, 2302, 2303, 2304, and 2405 of the spatial convolutional layers has a corresponding sequence of the spatial convolutional filter bank (for example, for the sequence 2301 of the spatial convolutional layer, it includes the spatial convolutional filter banks 2310, 2311, 2312, 2313, 2314, 2315, and 2316). In one embodiment, the learned coefficients (or weights) of the spatial convolutional filters in each sequence of the spatial convolutional filter bank vary among the sequences of the spatial convolutional layers within each sequence of the spatial convolutional layers.

[0210] For example, the spatial convolutional layer sequences 2301, 2302, 2303, 2304, and 2405 are configured using convolutional filters with different learned coefficients. In another example, the convolutional filters within the corresponding levels of the spatial convolutional layers have different learned coefficients (the convolutional filter banks 2382, 2383, 2384, 2385, and 2312 within the third spatial convolutional layer of each of the five sequences 2301, 2302, 2303, 2304, and 2405 of the spatial convolutional layer).

[0211] The temporal convolutional network 160 processes the per-cycle spatial feature map sets group by group by convolving each overlapping group (such as groups 2360, 2361, 2362) of the per-cycle spatial feature map sets in the per-cycle spatial feature map sets, and at this time, using the respective temporal convolutional filter banks 2321, 2322, and 2323 of the first temporal convolutional layer 2320, it is configured to generate a respective per-group temporal feature map set for each overlapping group of the per-cycle spatial feature map sets. In one embodiment, the learned coefficients (or weights) of the temporal convolutional filters within each temporal convolutional filter bank vary among the temporal convolutional filter banks 2321, 2322, and 2323 within each temporal convolutional filter bank.

[0212] Skip Architecture Figure 24A shows a residual (or skip) connection that reinserts previous information downstream via feature map addition. A residual connection involves re-injecting a previous representation into the downstream flow of data by adding a past output tensor to a later output tensor, which helps prevent information loss along the data processing flow. Residual connections are for addressing two common problems that plague any large-scale deep learning model: vanishing gradients and representational bottlenecks.

[0213] A residual connection involves making the output of a preceding layer available as an input to a subsequent layer, effectively creating a shortcut within a sequential network. Instead of being concatenated to a later activation, the preceding output is summed with the later activation. In this case, it is assumed that both activations are of the same size. If they are of different sizes, a linear transformation can be used to reshape the preceding activation to the target shape.

[0214] Figure 24B shows an embodiment of a residual block and skip connection. A residual network stacks several residual units to mitigate the degradation of learning accuracy. A residual block uses a special additive skip connection to counter the vanishing gradients in a deep neural network. At the start of a residual block, the data flow is split into two streams: the first stream carries the unchanged input to the block, while the second applies weights and non-linearity. At the end of the block, the two streams are merged using an element-wise sum. The main advantage of such a configuration is that it allows gradients to flow more easily through the network.

[0215] When composed of a residual network, in some embodiments, the neural network-based base corrector 100 can be easily learned and the accuracy can be improved for image classification and object detection. The neural network-based base corrector 100 connects the output of the l-th layer as the input of the (l + 1)-th layer, thereby enabling the transition to the next layer: x l =H l (x l-1 ). The residual block adds a skip connection that bypasses the non-linear transformation by the identification function x l =H l (x l-1 ) + x l-1 . The advantage of the residual block is that the gradient can flow directly through the identification function from the later layer to the earlier layer (for example, spatial and temporal convolutional layers). The output of the identification function and H l are combined by summation (addition).

[0216] FIG. 24C shows the residual architecture of the neural network-based base corrector 100 where the spatial convolutional layers are grouped into residual blocks with skip connections. In other embodiments, the temporal convolutional layers of the neural network-based base corrector 100 are grouped into residual blocks with skip connections.

[0217] In the embodiment shown in FIG. 24C, the second and third spatial convolutional layers are grouped into the first residual block 2412, the fourth and fifth spatial convolutional layers are grouped into the second residual block 2422, and the sixth and seventh spatial convolutional layers are grouped into the third residual block 2432.

[0218] Figure 25A shows details of the bus network of the neural network-based base cooler 100. In one embodiment, a given residual block 2585 of the bus network includes a set of spatial convolutional layers 2590 and 2592. The first spatial convolutional layer 2590 within the set of spatial convolutional layers receives, as input, a preceding output 2586 generated by a previous spatial convolutional layer that is not part of a given residual block 2585 (e.g., a zero spatial convolutional layer preceding the first spatial convolutional layer 2590 within the spatial network 104). The first spatial convolutional layer 2590 processes the preceding output 2586 and generates a first output 2591. The second spatial convolutional layer 2592 following the first spatial convolutional layer 2590 within the set of spatial convolutional layers receives the first output 2591, processes the first output 2591, and generates a second output 2593. In one embodiment, the first spatial convolutional layer 2590 has a non-linear activation function such as ReLU that generates the first output 2591. In another embodiment, the second spatial convolutional layer 2592 lacks a non-linear activation function.

[0219] The skip connection 2589 provides the preceding output 2586 to the adder 2594. The adder 2594 also receives the second output 2593 from the second spatial convolutional layer 2592. The adder 2594 combines the preceding output 2586 and the second output 2593 and generates a combined output 2595. The combined output 2595 is further processed through non-linear activation such as ReLU to generate a final combined output 2587. Then, in some embodiments, the final combined output 2587 is supplied as input to subsequent residual blocks. In some embodiments, the preceding output 2586 is modified to be dimensionally compatible with the second output 2593. For example, the edges of the feature map within the preceding output 2586 are trimmed to generate a feature map having the same spatial dimensionality as the feature map within the second output 2593.

[0220] FIG. 25B shows an exemplary operation of the disclosed bus network. In one embodiment, the bus network is configured to form buses (e.g., 2516, 2526, 2536, 2602, 2604, 2702, and 2712) between spatial convolutional layers within each sequence of spatial convolutional layers. The buses are configured to combine each set of spatial feature maps of each cycle generated by two or more spatial convolutional layers within a particular sequence of spatial convolutional layers for a particular sequencing cycle to form a combined set of spatial feature maps for each cycle, and to provide the combined set of spatial feature maps for each cycle as an input to another spatial convolutional layer within the particular sequence of spatial convolutional layers.

[0221] For example, here we take the first residual block 2412. Here, two or more spatial convolutional layers include the first spatial convolutional layer and the third spatial convolutional layer. The first spatial convolutional layer generates a set of spatial feature maps 2520 for each first cycle. The first spatial convolutional layer provides the set of spatial feature maps 2520 for each first cycle as an input to the second spatial convolutional layer. The second spatial convolutional layer processes the set of spatial feature maps 2520 for each first cycle and generates a set of spatial feature maps 2522 for each second cycle. The second spatial convolutional layer provides the set of spatial feature maps 2522 for each second cycle as an input to the third spatial convolutional layer. The third spatial convolutional layer processes the set of spatial feature maps 2522 for each second cycle and generates a set of spatial feature maps 2524 for each third cycle. A bus (e.g., skip bus 2519) is further configured to combine the first set of spatial feature maps 2520 and the set of spatial feature maps 2524 for each third cycle (e.g., summed or concatenated by combiner 2502) to form a set of spatial feature maps 2518 for each cycle. Then, another spatial convolutional layer is the fourth spatial convolutional layer that follows immediately after the third spatial convolutional layer within a particular sequence of spatial convolutional layers. The fourth spatial convolutional layer processes, as an input, the above-described combined set of spatial feature maps 2518 for each cycle. The same concept applies to the second and third residual blocks 2422 and 2432, but 2526 and 2536 are skip buses such as skip bus 2516, and are skip buses that cause combiners 2512 and 2532 to generate sets of spatial feature maps 2528 and 2538 for each cycle, respectively.

[0222] FIG. 25C shows an embodiment of dimension adaptation logic 2532 that ensures that, prior to combination, the input feature maps supplied by the skip bus are modified (e.g., trimmed) such that the input-side feature maps have the same spatial dimensions as the received-side feature maps that are combined by the combiner of the bus network.

[0223] FIG. 26 shows another example of the disclosed bus network in which skip bus 2602 combines the output of the first spatial convolutional layer with the output of the first residual block. FIG. 26 also shows that skip bus 2604 can combine feature maps across multiple residual blocks and across non-successive layers (e.g., from layer 1 to layer 5) to generate a combined representation that can be processed by another layer (e.g., layer 6).

[0224] FIG. 27 shows yet another example of the disclosed bus network, in which inputs and combined representations from multiple successive and / or non-successive layers (e.g., from layer 1, combiners 2502, and 2512) can be combined by exemplary skip buses 2702, 2604, and combiner 2712 to generate a combined representation that can be processed by another layer (e.g., layer 6).

[0225] FIG. 28 shows one embodiment of scaling logic 2832 that performs scaling (adjustment) on incoming feature maps supplied by a skip bus before they are combined with the receiving-side feature maps that they are to be combined by a combiner of the bus network. The values used by scaling logic 2832 can be in any range between 0 and 1, including, for example, 0 and 1. The scaling logic can be used, for example, to attenuate or amplify the intensity / magnitude / value of the incoming feature map (e.g., its feature quantity (e.g., a floating-point value)).

[0226] FIG. 29 shows one embodiment of skip connections between the temporal convolutional layers 2902, 2912, 2922, 2932, 2942, 2952, 2962, and 2972 of the temporal network 160. For example, skip connection 2922 supplies a temporal feature map from the first temporal convolutional layer 2902 to the third temporal convolutional layer 2932.

[0227] Figure 30 is a graph comparing the basecall performance of the network network-based basecaller 100 (sqz2 basecaller) composed of compression logic 108 against a network network-based basecaller 100 without compression logic 108 (used as a baseline for the neural model) and Illumina's non-neural network-based basecaller Real-Time Analysis (RTA) software (baseline for the conventional image processing model). As can be seen in the chart of Figure 30, the sqz2 basecaller (purple fit line) has a lower basecall error rate ("Error%" on the Y-axis) than the RTA basecaller (black fit line), and also has a lower rate than the two cases of the network network-based basecaller 100 without compression logic 108 (red and cyan fit lines).

[0228] Figure 31 shows the savings in RAM and DRAM usage brought about by the use of the disclosed compression logic 108.

[0229] Figure 32 is a graph comparing the basecall performance of the network network-based basecaller 100 composed of the split and skip architecture (split_res) against the RTA basecaller and another version of the network network-based basecaller 100 without the split and skip architecture (distilled). As can be seen in the chart of Figure 32, the split_res basecaller (orange fit line) has a lower basecall error rate ("Error count on the Y-axis") than the RTA basecaller (blue fit line).

[0230] As used herein, "logic" (e.g., data flow logic) can be implemented in the form of a computer product that includes a non-transitory computer-readable storage medium having computer-usable program code for performing the method steps described herein. "Logic" can be implemented in the form of an apparatus that includes a memory and at least one processor coupled to the memory and operative to perform exemplary method steps. "Logic" can be implemented in the form of means for performing one or more of the method steps described herein. The means can include (i) hardware module(s), (ii) software module(s) executed on one or more hardware processors, or (iii) a combination of hardware and software modules, and any of (i)-(iii) implements the specific techniques described herein, and the software module(s) are stored in a computer-readable storage medium (or media). In one embodiment, the logic implements data processing functions. The logic can be a general-purpose, single-core or multi-core processor with a computer program that specifies the functions, a digital signal processor with a computer program, logic such as an FPGA configurable with a configuration file, a dedicated circuit such as a state machine, or any combination thereof. Also, a computer program product can embody the computer program and the configuration file portion of the logic.

[0231] FIG. 33 is a computer system 3300 that can be used by a sequencing system 1900A to implement the techniques disclosed herein. The computer system 3300 includes at least one central processing unit (CPU) 3372 that communicates with a number of peripheral devices via a bus subsystem 3355. These peripheral devices can include a memory subsystem 3358, which can include, for example, a memory device and a file storage subsystem 3336, a user interface input device 3338, a user interface output device 3376, and a network interface subsystem 3374. The input and output devices enable user interaction with the computer system 3300. The network interface subsystem 3374 provides an interface to an external network that includes an interface to a corresponding interface device within other computer systems.

[0232] In one embodiment, the system controller 1906 is communicatively linked to the memory subsystem 3310 and the user interface input device 3338.

[0233] The user interface input device 3338 may include a keyboard, a pointing device such as a mouse, trackball, touchpad, or graphics tablet, a scanner, a touch screen incorporated into a display, an audio input device such as a voice recognition system and microphone, and other types of input devices. In general, the use of the term "input device" is intended to include all possible types of devices and methods for inputting information into the computer system 3300.

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

[0235] The memory subsystem 3358 stores programming and data constructs that provide some or all of the functionality of some of the modules and methods described herein. These software modules are generally executed by the deep learning processor 3378.

[0236] The deep learning processor 3378 can 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 (CGRA). The deep learning processor 3378 can be hosted by deep learning cloud platforms such as Google Cloud Platform (trademark), Xilinx (trademark), and Cirrascale (trademark). Examples of the deep learning processor 3378 include Google's Tensor Processing Unit (TPU) (trademark), rackmount solutions such as the GX4 Rackmount Series (trademark), the GX33 Rackmount Series (trademark), NVIDIA DGX-1 (trademark), Microsoft's Stratix V FPGA (trademark), Graphcore's Intelligent Processor Unit (IPU) (trademark), Qualcomm's Zeroth Platform (trademark) with Snapdragon processors (trademark), NVIDIA's Volta (trademark), NVIDIA's DRIVE PX (trademark), NVIDIA's JETSON TX1 / TX2 MODULE (trademark), Intel's Nirvana (trademark), Movidius VPU (trademark), Fujitsu DPI (trademark), ARM's DynamicIQ (trademark), IBM TrueNorth (trademark), Lambda GPU Server with Testa V100s (trademark), SambaNova's Reconfigurable Dataflow Unit (RDU) (trademark), and others.

[0237] The memory subsystem 3322 used in the memory subsystem 3358 can include a number of memories, such as a main random access memory (RAM) 3332 for storing instructions and data during program execution, and a read-only memory (ROM) 3334 in which fixed instructions are stored. The file storage subsystem 3336 can provide a persistent storage device for program and data files, and can include a hard disk drive, a related removable medium, a CD-ROM drive, an optical drive, or a removable media cartridge. Modules implementing the functions of a particular embodiment can be stored by the file storage subsystem 3336, within the storage subsystem 3358, or in other machines accessible by the processor.

[0238] The bus subsystem 3355 provides a mechanism for enabling the various components and subsystems of the computer system 3300 to communicate with each other as intended. Although the bus subsystem 3355 is shown schematically as a single bus, alternative embodiments of the bus subsystem can use multiple buses.

[0239] The computer system 3300 itself can be of various 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. Since computers and networks are of a constantly changing nature, the description of the computer system 3300 shown in FIG. 33 is intended only as a specific example for the purpose of illustrating a preferred embodiment of the present invention. Many other configurations of the computer system 3300 can have more or fewer components than the computer system shown in FIG. 33.

[0240] Item The inventors disclose the following items. Compression (squeeze) 1. A method based on artificial intelligence for a base call, the method comprising: accessing a series of per-cycle analyte channel sets generated for the sequencing cycles of a sequencing run; processing a first window of the per-cycle analyte channel sets within the series for a first window of the sequencing cycles of the sequencing run via a spatial network of a neural network-based base caller, and generating a respective sequence of respective spatial output sets for each of the sequencing cycles at the first window of the sequencing cycles; processing each respective final spatial output set within the respective sequences of spatial output sets via a compression network of the neural network-based base caller, and generating a respective compressed spatial output set for each of the sequencing cycles at the first window of the sequencing cycles; generating a base call prediction for one or more of the sequencing cycles at the first window of the sequencing cycles based on each respective compressed spatial output set. 2. The artificial intelligence-based method according to item 1, wherein each respective final spatial output set has M channels (feature maps), each respective compressed spatial output set has N channels (feature maps), and M is greater than N. 3. For a second window of the sequencing cycles of a sequencing run that shares a first window of the sequencing cycles, one or more overlapping sequencing cycles for which the spatial network has previously generated a spatial output set, and at least one non-overlapping sequencing cycle for which the spatial network has not yet generated a spatial output set Process, via a spatial network, a per-cycle analyte channel set for only non-overlapping sequencing cycles, generate a sequence of spatial output sets for the non-overlapping sequencing cycles, thereby avoiding reprocessing of each per-cycle analyte channel set for overlapping sequencing cycles via the spatial network, and Process, via a compression network, a final spatial output set within the sequence of spatial output sets to generate a compressed spatial output set for non-overlapping sequencing cycles, wherein the final spatial output has M channels (feature maps), the compressed spatial output has N channels (feature maps), and M is greater than N, and Generate a basecall prediction for one or more sequencing cycles within a second window of sequencing cycles based on the first window of sequencing cycles and each previously generated compressed spatial output set for overlapping sequencing cycles for the compressed spatial output set, thereby replacing each compressed spatial output set for overlapping sequencing cycles with each per-cycle analyte channel set for overlapping sequencing cycles. The artificial intelligence-based method according to item 1 further includes. For a third window of sequencing cycles of a sequencing run that shares the first and second windows of sequencing cycles, one or more overlapping sequencing cycles for which the spatial network has previously generated a spatial output set, and at least one non-overlapping sequencing cycle for which the spatial network has not yet generated a spatial output set, Process, via a spatial network, a per-cycle analyte channel set for only non-overlapping sequencing cycles, generate a sequence of spatial output sets for the non-overlapping sequencing cycles, thereby avoiding reprocessing of each per-cycle analyte channel set for overlapping sequencing cycles via the spatial network, and Processing the final spatial output set within a sequence of spatial output sets via a compression network and generating a compressed spatial output set for non-overlapping sequencing cycles, wherein the final spatial output has M channels (feature maps), the compressed spatial output has N channels (feature maps), and M is greater than N, and Based on the first and second windows of the sequencing cycle and the respective compressed spatial output sets for overlapping sequencing cycles previously generated for the compressed spatial output set, generating a basecall prediction for one or more sequencing cycles within the third window of the sequencing cycle, thereby replacing each compressed spatial output set for overlapping sequencing cycles with a respective per-cycle analyte channel set for overlapping sequencing cycles. The artificial intelligence-based method according to item 3 further includes. 5. The artificial intelligence-based method according to item 1, wherein each per-cycle analyte channel set in the series indicates an intensity registered in response to nucleotide incorporation into the analyte in the corresponding sequencing cycle in the sequencing run. 6. The spatial network has a sequence of spatial convolution layers that separately process the analyte channel sets for each cycle in a specific window of the analyte channel sets for each cycle in a series for a specific window of the sequencing cycle of the sequencing run. For each sequencing cycle within a specific window of the sequencing cycle, a sequence of spatial output sets is generated. Instead of between the analyte channel sets for each cycle of different sequencing cycles within a specific window of the sequencing cycle, the intensities are combined only within one analyte channel set for each cycle of the target sequencing cycle. Starting from the first spatial convolution layer, and subsequently performed by subsequent spatial convolution layers, the spatial outputs of the preceding spatial convolution layers are combined only within the target sequencing cycle, not between different sequencing cycles within a specific window of the sequencing cycle. The artificial intelligence-based method according to item 5, comprising the above. 7. Each spatial convolution layer in the sequence of spatial convolution layers has a different number of convolution filters, and the final spatial convolution layer in the sequence of spatial convolution layers has M convolution filters, where M is an integer greater than 4. The artificial intelligence-based method according to item 6. 8. Each spatial convolution layer in the sequence of spatial convolution layers has the same number of convolution filters, and that same number is M, where M is an integer greater than 4. The artificial intelligence-based method according to item 7. 9. The convolution filters in the spatial network use two-dimensional (2D) convolution. The artificial intelligence-based method according to item 8. 10. The convolution filters in the spatial network use three-dimensional (3D) convolution. The artificial intelligence-based method according to item 8. 11. A neural network-based base caller has a time network, and the time network has a sequence of time convolutional layers that group and process respective sets of compressed spatial outputs for windows of subsequent sequencing cycles within a specific window of a sequencing cycle, generating a sequence of time output sets for the specific window of the sequencing cycle, starting from a first time convolutional layer that combines sets of compressed spatial outputs between different sequencing cycles within the specific window of the sequencing cycle, and continuing with subsequent time convolutional layers that combine subsequent time outputs of the preceding time convolutional layers, the artificial intelligence-based method according to item 6. 12. For a first window of a sequencing cycle, processing, via a first time convolutional layer in a sequence of time convolutional layers of the time network, respective sets of compressed spatial outputs for windows of subsequent sequencing cycles within the first window of the sequencing cycle, and generating a plurality of time output sets for the first window of the sequencing cycle; processing the plurality of time output sets via a compression network to generate respective sets of compressed time outputs for respective ones of the plurality of time output sets, each time output set having M channels (feature maps) and each set of compressed time outputs having N channels (feature maps), where M is greater than N; processing each set of compressed time outputs via a final time convolutional layer in the sequence of time convolutional layers of the time network to generate a final time output set for the first window of the sequencing cycle; further comprising generating a basecall prediction for one or more sequencing cycles within the first window of the sequencing cycle based on the final time output set. The output layer processes the final time output set, generates a final output for the first window of the sequencing cycle, and the base call prediction is generated based on the final output. The method according to item 11 is an artificial intelligence-based method. 13. For the first window of the sequencing cycle, and one or more overlapping windows of subsequent sequencing cycles where the first time convolutional layer has previously generated a time output set, and at least one non-overlapping window of subsequent sequencing cycles where the first time convolutional layer has not yet generated a time output set, Through the first time convolutional layer, process each compression space output set only for each subsequent sequencing cycle in the non-overlapping windows of the subsequent sequencing cycles, generate a time output set for the non-overlapping windows of the subsequent sequencing cycles, thereby avoiding reprocessing each compression space output set through the first time convolutional layer for each subsequent sequencing cycle within the overlapping windows of the subsequent sequencing cycles, Process the time output set through the compression network to generate a compressed time output set for the non-overlapping windows of the subsequent sequencing cycles, where the time output set has M channels (feature maps) and the compressed time output has N channels (feature maps), and M is greater than N, Through the final time convolutional layer, process each previously generated compressed time output set for the overlapping windows of the subsequent sequencing cycles for the first window of the sequencing cycle and the compressed time output set, generate a final time output set for the second window of the sequencing cycle, thereby replacing each compressed time output set for the overlapping windows of the subsequent sequencing cycles with each cycle-by-cycle analyte channel set for the overlapping windows of the subsequent sequencing cycles, further comprising generating a base call prediction for one or more sequencing cycles within a second window of a sequencing cycle based on the final time output set; The output layer processes the final time output set to generate a final output for a second window of a sequencing cycle, and the base call prediction is generated based on the final output. The artificial intelligence-based method according to item 12. 14. For the first and second windows of a sequencing cycle, and one or more overlapping windows of subsequent sequencing cycles in which the first time convolutional layer has previously generated a time output set, and at least one non-overlapping window of subsequent sequencing cycles in which the first time convolutional layer has not yet generated a time output set, through the first time convolutional layer, processing each respective compressed space output set only for each sequencing cycle in the non-overlapping windows of subsequent sequencing cycles, generating a time output set for the non-overlapping windows of subsequent sequencing cycles, thereby avoiding reprocessing each respective compressed space output set through the first time convolutional layer for each sequencing cycle within the overlapping windows of subsequent sequencing cycles; processing the time output set through a compression network to generate a compressed time output set for the non-overlapping windows of subsequent sequencing cycles, wherein the time output set has M channels (feature maps), the compressed time output has N channels (feature maps), and M is greater than N; Process, via a final time convolutional layer, each respective compressed time output set for overlapping windows of a subsequent sequencing cycle that were previously generated for the first and second windows of the sequencing cycle and the compressed time output set, and generate a final time output set for a third window of the sequencing cycle, thereby replacing each respective compressed time output set for overlapping windows of a subsequent sequencing cycle with each respective analyte channel set for each cycle for overlapping windows of a subsequent sequencing cycle, and further comprising generating a basecall prediction for one or more sequencing cycles within a third window of the sequencing cycle based on the final time output set, The output layer processes the final time output set to generate a final output for a third window of the sequencing cycle, and the basecall prediction is generated based on the final output. The artificial intelligence-based method according to item 13. 15. The artificial intelligence-based method according to item 11, wherein each time convolutional layer in the sequence of time convolutional layers of the time network has a different number of convolutional filters, the first time convolutional layer has M convolutional filters, and M is an integer greater than 4. 16. The artificial intelligence-based method according to item 11, wherein each time convolutional layer in the sequence of time convolutional layers of the time network has the same number of convolutional filters, and that same number is M, and M is an integer greater than 4. 17. The artificial intelligence-based method according to item 16, wherein the convolutional filters in the time network use one-dimensional (1D) convolution. 18. The artificial intelligence-based method according to item 1, wherein the compression network uses 1×1 convolution to control the number of compressed space outputs in the compressed space output set, the compression network has N convolutional filters, and N is an integer less than or equal to 4. 19. Using data that identifies untrustworthy analytes, removing a portion of the compressed space outputs within the compressed space output set corresponding to the untrustworthy analytes to generate a filtered compressed space output set, replacing the compressed space output set, and further comprising generating basecall predictions only for those analytes that are not untrustworthy analytes, the artificial intelligence-based method according to item 1. 20. The artificial intelligence-based method according to item 19, further comprising processing the filtered compressed space output set via a time network instead of the corresponding compressed space output set. 21. The artificial intelligence-based method according to item 20, further comprising generating a compressed time output set from the filtered compressed space output set. 22. The artificial intelligence-based method according to item 19, wherein the data that identifies untrustworthy analytes identifies pixels that indicate the intensity of untrustworthy clusters. 23. The artificial intelligence-based method according to item 19, wherein the data that identifies untrustworthy analytes identifies pixels that do not show any intensity. 24. The artificial intelligence-based method according to item 20, wherein the compressed space output set has a total number of pixels that is 4 to 9 times the total number of pixels of the corresponding filtered compressed space output set. 25. The artificial intelligence-based method according to item 24, wherein the filtered compressed space output set causes the time network to operate with 75% fewer pixels, thereby reducing the computational operations, memory access, and memory occupancy of the time network by 75%. 26. Avoiding reprocessing via the spatial network reduces the computational operations, memory access, and memory occupancy for the time network by 80%, the artificial intelligence-based method according to item 5. 27. Avoiding reprocessing via the time network reduces the computational operations, memory access, and memory occupancy of the time network, the artificial intelligence-based method according to item 14. 28. The artificial intelligence-based method according to item 27, further comprising reallocating the computing resources made available by the compression network to the addition of supplementary convolutional filters in the spatial network and the temporal network. 29. The artificial intelligence-based method according to item 27, further comprising reallocating the computing resources made available by the compression network to the addition of a supplementary set of analyte channels per cycle within each window of the set of analyte channels per cycle used to generate base call predictions for a particular sequencing cycle. 30. The artificial intelligence-based method according to item 27, further comprising reallocating the computing resources made available by the compression network to the addition of supplementary spatial convolutional layers within the spatial network. 31. The artificial intelligence-based method according to item 27, further comprising reallocating the computing resources made available by the compression network to the addition of supplementary temporal convolutional layers within the temporal network. 32. The artificial intelligence-based method according to item 1, further comprising generating base call predictions for one or more sequencing cycles in the current window of the sequencing cycle, using one or more compressed spatial output sets generated for one or more preceding windows of the sequencing cycle in combination with one or more compressed spatial output sets generated for the current window of the sequencing cycle. 33. The artificial intelligence-based method according to item 1, further comprising generating base call predictions for one or more sequencing cycles in the current window of the sequencing cycle, using one or more compressed spatial output sets generated for the current window of the sequencing cycle in combination with one or more compressed spatial output sets generated for one or more subsequent windows of the sequencing cycle. 34. Further including generating a base call prediction for one or more sequencing cycles in the current window of the sequencing cycle using one or more sets of compressed time outputs generated for one or more preceding windows of the sequencing cycle, along with one or more sets of compressed time outputs generated for the current window of the sequencing cycle, the artificial intelligence-based method according to item 1. 35. Further including generating a base call prediction for one or more sequencing cycles in the current window of the sequencing cycle using one or more sets of compressed time outputs generated for one or more subsequent windows of the sequencing cycle, along with one or more sets of compressed time outputs generated for the current window of the sequencing cycle, the artificial intelligence-based method according to item 1. 36. The artificial intelligence-based method according to item 1, wherein the set of analyte channels per cycle encodes the analyte data of the analyte sequenced during the sequencing run. 37. The artificial intelligence-based method according to item 36, wherein the analyte data is image data that identifies the intensity radiation collected from the analyte. 38. The artificial intelligence-based method according to item 37, wherein the image data has a plurality of image channels (images). 39. The artificial intelligence-based method according to item 38, wherein the image channel (image) is generated by a combination of (i) illumination with a specific laser and (ii) imaging through a specific optical filter. 40. The artificial intelligence-based method according to item 36, wherein the analyte data is current and / or voltage data detected based on analyte activity. 41. The artificial intelligence-based method according to item 36, wherein the analyte data is pH scale data detected based on analyte activity. 42. The number of channels within each analyte channel per cycle set in series determines the number of convolutional filters in the compression network, and thus the number of channels in the compressed spatial output set and the compressed time output set, the artificial intelligence-based method according to item 1. 43. The artificial intelligence-based method according to item 1, wherein the compressed space output set, the compressed filter space output set, and the compressed time output set are stored in a quantized form. 44. A system, a host memory attached to a host processor and configured to receive the progression of a sequence image as the progression of a sequencing run, a configurable processor having an array of processing units, wherein the processing units within the array of processing units are configured to execute a neural network-based base caller to generate base call predictions, data flow logic having access to the host memory, the host processor, and the configurable processor, and configured to load a sequence image for a sequencing cycle within a first window of sequencing cycles on the configurable processor from the host memory, runtime logic configured to cause the processing units to execute a spatial network of a neural network-based base caller for each cycle on the sequence image of the sequencing cycle in the first window of sequencing cycles, and to generate a set of spatial feature maps for each of the sequencing cycles within the first window of sequencing cycles, runtime logic configured to cause the processing units to execute a compressed network of a neural network-based base caller for each cycle on the set of spatial feature maps, generate a set of compressed spatial feature maps, and process the set of compressed spatial feature maps through a temporal network and an output network to generate base call predictions for one or more sequencing cycles within the first window of sequencing cycles, the data flow logic is configured to move the set of compressed spatial feature maps to the host memory and overwrite the sequence image with the set of compressed spatial feature maps, One or more overlapping sequencing cycles are shared with a first window of the sequencing cycle, and for a second window of the sequencing cycle having at least one non - overlapping sequencing cycle, from a host memory onto a processor on which data flow logic can be configured, a compressed spatial feature map set is loaded for the overlapping sequencing cycles and a sequence image is loaded for the non - overlapping sequencing cycles, Runtime logic is configured to cause a processing unit to execute a spatial network on a sequence image of non - overlapping sequencing cycles and generate a set of spatial feature maps for the non - overlapping sequencing cycles, Runtime logic is configured such that the processing unit executes a compression network on the set of spatial feature maps, generates a set of compressed spatial feature maps for non - overlapping sequencing cycles, processes the set of compressed spatial feature maps for overlapping sequencing cycles, and processes the set of compressed spatial feature maps for non - overlapping sequencing cycles via a temporal network and an output network, and generates a base call prediction for one or more sequencing cycles in a second window of the sequencing cycle. A system. 45. A system, A host memory attached to a host processor and configured to receive the progression of a sequence image as the progression of a sequencing run, A configurable processor having an array of processing units attached to a processor memory, wherein the processing units within the array of processing units are configured to execute a neural network - based base caller to generate a base call prediction, Data flow logic having access to the host memory, the host processor, the configurable processor, and the processor memory and configured to load a sequence image for sequencing cycles within a first window of the sequencing cycle on the configurable processor from the host memory, The execution logic is configured to cause the processing unit to execute, for each cycle, the spatial network of the neural network-based base corrector on the sequence images of the sequence cycle in the first window of the sequencing cycle, and generate a set of spatial feature maps for each of the sequencing cycles within the first window of the sequencing cycle, where The execution logic is configured to cause the processing unit to execute, for each cycle, the compression network of the neural network-based base corrector on the set of spatial feature maps, generate a set of compressed spatial feature maps, and process the set of compressed spatial feature maps through the temporal network and the output network to generate a base call prediction for one or more sequencing cycles within the first window of the sequencing cycle, and The data flow logic is configured to move the set of compressed spatial feature maps to the processor memory, share one or more overlapping sequencing cycles with the first window of the sequencing cycle, and be configured to load, from the processor memory on a processor on which the data flow logic is configurable, the set of compressed spatial feature maps for the overlapping sequencing cycles and load the sequence images from the host memory for the non-overlapping sequencing cycles for a second window of the sequencing cycle having at least one non-overlapping sequencing cycle, The execution logic is configured to cause the processing unit to execute the spatial network on the sequence images of the non-overlapping sequencing cycles and generate a set of spatial feature maps for the non-overlapping sequencing cycles, A system in which the runtime logic is configured such that a processing unit executes a compression network on a set of spatial feature maps, generates a set of compressed spatial feature maps for non-overlapping sequencing cycles, processes the set of compressed spatial feature maps for overlapping sequencing cycles, and processes the set of compressed spatial feature maps via a temporal network and an output network for non-overlapping sequencing cycles, and generates a basecall prediction for one or more sequencing cycles within a second window of the sequencing cycles. 46. A system comprising: Neural network logic configured to perform a first traversal of a neural network graph to independently process each input in a first input set via first processing logic, generate an alternative representation of each input in the first input set without mixing information between the inputs in the first input set, and generate an output of the first traversal based on the alternative representation of each input in the first input set. Neural network logic configured to perform a second traversal of the neural network graph to independently process each input in a second input set via the first processing logic, generate an alternative representation of each input in the second input set without mixing information between the inputs in the second input set, and generate an output of the second traversal based on the alternative representation of each input in the second input set, wherein the first and second input sets have one or more overlapping inputs and at least one non-overlapping input. Runtime logic configured to perform a first traversal with the neural network logic to generate an alternative representation of each input in the first input set, store the alternative representation of each input in the first input set in memory in a compressed format, and generate an output for the first traversal based on the compressed alternative representation of each input in the first input set. Perform a second traversal to process only non-overlapping inputs via the first processing logic, generate alternative representations of the non-overlapping inputs, store the alternative representations of the non-overlapping inputs in memory in a compressed format, read out the respective alternative representations in compressed form of the overlapping inputs generated during the first traversal, as a compensation to avoid redundant generation of the respective alternative representations of the overlapping inputs in the second traversal, and generate an output for the second traversal based on the respective alternative representations in compressed form of the overlapping inputs and the alternative representations in compressed form of the non-overlapping inputs, an execution-time logic, and a system comprising the same. 47. The system according to item 46, wherein the memory is on-chip memory. 48. The system according to item 46, wherein the memory is off-chip memory. 49. The system according to item 46, wherein the number of channels in compressed form corresponds to the number of channels of the inputs in the first and second input sets. 50. A base call artificial intelligence-based method, the method comprising accessing a series of analyte channel sets per cycle generated for the sequencing cycle of the sequencing run, wherein the analyte channel set per cycle of interest encodes the analyte data detected for the analyte in the sequencing cycle of interest of the sequencing run, processing the analyte channel set per cycle of interest via a first processing module of the neural network to generate an intermediate representation of the analyte channel set per cycle of interest having M feature maps, processing the intermediate representation via a second processing module of the neural network to generate an intermediate representation of the analyte channel set per cycle of interest having a smaller number of N (where N is smaller than M) feature maps, Generating basecall predictions for an analyte in a target sequencing cycle and / or other sequencing cycles of a sequencing run using a smaller number of intermediate representations of an analyte channel set for each target cycle, in an artificial intelligence-based method. 51. The artificial intelligence-based method according to item 50, wherein the first processing module is a convolutional layer with M convolutional filters. 52. The artificial intelligence-based method according to item 50, wherein the second processing module is a convolutional layer with N convolutional filters. 53. An artificial intelligence-based method for basecalling, the method comprising: Processing the progression of an analyte channel set per cycle generated for the sequencing cycles of a sequencing run via a sliding window-based neural network-based basecaller such that consecutive sliding windows overlap each other; For a current window of sequencing cycles including one or more preceding sequencing cycles, a central sequencing cycle, and one or more subsequent sequencing cycles, Generating a spatial intermediate representation and a compressed intermediate representation for each of the preceding sequencing cycle, the central sequencing cycle, and the subsequent sequencing cycle, based on applying a neural network-based basecaller to the current window of the analyte channel set per cycle, wherein the spatial intermediate representation has M channels, the compressed intermediate representation has N channels, and M is greater than N; Basecalling at least the central sequencing cycle based on the compressed intermediate representations generated for the preceding sequencing cycle, the central sequencing cycle, and the subsequent sequencing cycle; An AI-based method that includes using compressed intermediate representations generated for a preceding sequencing cycle, a central sequencing cycle, and a subsequent sequencing cycle to base call at least the central sequencing cycle within the next window of the sequencing cycle. 54. An AI-based system for base calling, the system comprising: a host processor; a memory accessible by the host processor and storing analyte data for sequencing cycles of a sequencing run; a configurable processor having access to the memory, the configurable processor comprising: a plurality of execution clusters, an execution cluster within the plurality of execution clusters configured to execute a neural network; data flow logic having access to the memory and to the execution cluster within the plurality of execution clusters, the data flow logic providing analyte data to available execution clusters within the plurality of execution clusters, the execution clusters applying the analyte data to the neural network and generating an intermediate representation of the analysis data and a compressed intermediate representation for use in a current base call step, the compressed intermediate representation being fed back to the memory and configured to be used in future base call steps in place of the analysis data, the intermediate representation having M channels and the compressed intermediate representation having N channels, where M is greater than N; 55. A system comprising: runtime logic configured to execute a first iteration of a base caller to process an input and generate an intermediate representation of the input; compression logic configured to process the intermediate representation and generate a compressed intermediate representation of the input; wherein the runtime logic is configured to use the compressed intermediate representation in place of the input in subsequent iterations of the base caller. 56. A system comprising: Runtime logic configured to perform a first iteration of a base coiler to process an input and generate an intermediate representation of the input, compression logic configured to process the intermediate representation and generate a compressed intermediate representation, the compressed intermediate representation being configured to have the same number of channels as the input, and compression logic, A system in which the runtime logic is configured to use the compressed intermediate representation instead of the input in subsequent iterations of the base coiler. 57. The system according to item 56, wherein the channel corresponds to a feature map. 58. The system according to item 56, wherein the channel corresponds to a depth dimension. 59. The system according to item 56, wherein the channel corresponds to a spatial dimension.

[0241] Split 1. A system, A spatial convolutional network configured to process a window of a per-cycle sequence image set for each cycle of a series of sequencing cycles of a sequencing run by separately convolving each per-cycle sequence image set within the window of the per-cycle sequence image set through each sequence of spatial convolutional layers, thereby generating a per-cycle set of spatial feature maps for each sequencing cycle within the series of sequencing cycles, wherein each sequence of spatial convolutional layers has a corresponding sequence of spatial convolutional filter banks, and the spatial convolutional filters within the spatial convolutional filter banks of each sequence of spatial convolutional filter banks are varied across the sequences of spatial convolutional layers within the sequence of learned coefficients of the spatial convolutional layers, and a spatial convolutional network, A time convolutional network configured to process a per-cycle spatial feature map set group by group to generate a per-group time feature map set for each overlapping group of the per-cycle spatial feature map set, by convolving each overlapping group of the per-cycle spatial feature map set in the per-cycle spatial feature map set using each time convolutional filter bank of the first time convolutional layer. A system comprising: a time convolutional network that varies learned coefficients of time convolutional filters within each time convolutional filter bank across time convolutional filter banks within each time convolutional filter bank. 2. The system according to item 1, wherein the spatial convolutional filter uses segmented convolutions within a cycle. 3. The system according to item 1, wherein the time convolutional filter uses combined convolutions between cycles. 4. The system according to item 1, further configured to comprise a compression network that separately convolves each per-cycle spatial feature map set through each compression convolutional layer to generate a per-cycle compressed spatial feature map set for each sequencing cycle. 5. The system according to item 4, wherein the learned coefficients of the compression convolutional filters within each compression convolutional layer vary across compression convolutional layers within each compression convolutional layer. 6. The system according to item 5, wherein the time convolutional network is further configured to process a per-group time feature map set group by group to generate a respective further per-group time feature map set for each overlapping group of the per-group time feature map set, by performing convolution using each time convolutional filter bank of the second time convolutional layer on each overlapping group of the per-group time feature map set in the per-group time feature map set. 7. The system according to item 6, further configured to include an output network that processes the final set of time feature maps generated by the final time convolutional layer to generate a final output. 8. The system according to item 7, further configured to generate a base call prediction for one or more sequencing cycles in a series of sequencing cycles based on the final output. 9. A system, A spatial convolutional network configured to process, for each cycle, a window of the sequence image set for each cycle in a series of sequencing cycles of a sequencing run by separately convolving each sequence image set for each cycle within the window of the sequence image set for each cycle through each sequence of spatial convolutional layers, thereby generating, for each sequencing cycle in the series of sequencing cycles, a set of spatial feature maps for each cycle. A temporal convolutional network configured to process, for each cycle, the set of spatial feature maps for each cycle by convolving each overlapping group of the set of spatial feature maps for each cycle using each temporal convolutional filter bank, thereby generating, for each overlapping group in the set of spatial feature maps for each cycle, a set of temporal feature maps for each group with respect to the set of spatial feature maps for each cycle. A system comprising: a temporal convolutional network in which the learned coefficients of the temporal convolutional filters within each temporal convolutional filter bank vary between the temporal convolutional filter banks within each temporal convolutional filter bank. 10. The system according to item 9, wherein each sequence of spatial convolutional layers has each sequence of spatial convolutional filter banks, and the spatial convolutional filters within each sequence of spatial convolutional filter banks are shared between the sequences of spatial convolutional layers within each sequence of the learned coefficients of the spatial convolutional layers. 11. The system according to item 9, further configured to include a compression network that separately convolves each set of spatial feature maps for each cycle through each compression convolutional layer to generate a set of compressed spatial feature maps for each cycle corresponding to each sequencing cycle, wherein the compression convolutional filters within each compression convolutional layer vary between the compression convolutional layers by the learned coefficients thereof. 12. An AI-based method for a base call, the method comprising: Processing, for each cycle, a window of a set of sequence images for each cycle in a sequence of sequencing cycles of a sequencing run through a spatial convolutional network by separately convolving each set of sequence images for each cycle within the window of the set of sequence images for each cycle through each sequence of spatial convolutional layers, thereby generating a set of spatial feature maps for each cycle for each sequencing cycle within the sequence of sequencing cycles, wherein each sequence of spatial convolutional layers has a respective sequence of spatial convolutional filter banks, and the spatial convolutional filters within each sequence of spatial convolutional filter banks vary between the sequences of spatial convolutional layers by the learned coefficients of the spatial convolutional layers within each sequence, Processing, for each cycle, the set of spatial feature maps for each cycle in groups by convolving each overlapping group of the set of spatial feature maps for each cycle in the set of spatial feature maps for each cycle using respective temporal convolutional filter banks of a first temporal convolutional layer through a temporal convolutional network, thereby generating a set of temporal feature maps for each group for each overlapping group of the set of spatial feature maps for each cycle, An AI-based method including that the learned coefficients of the temporal convolution filters within each temporal convolution filter bank vary between the temporal convolution filter banks within each temporal convolution filter bank. 13. The AI-based method according to item 12, further including separately convolving each set of spatial feature maps for each cycle through each compression convolutional layer of the compression network to generate a set of compression spatial feature maps for each cycle for each sequencing cycle. 14. The AI-based method according to item 13, wherein the learned coefficients of the compression convolutional filters within each compression convolutional layer vary between the compression convolutional layers within each compression convolutional layer. 15. The AI-based method according to item 14, further including processing each set of group-wise temporal feature maps through a temporal convolution network by performing convolution on each overlapping group of each set of group-wise temporal feature maps in each set of group-wise temporal feature maps using each temporal convolution filter bank of the second temporal convolutional layer, and generating a respective further set of group-wise temporal feature maps for each overlapping group of each set of group-wise temporal feature maps. 16. The AI-based method according to item 15, further including processing the set of final temporal feature maps generated by the final temporal convolutional layer through an output network to generate a final output. 17. The AI-based method according to item 16, further including generating a basecall prediction for one or more sequencing cycles in a series of sequencing cycles based on the final output. 18. An AI-based method for basecalling, the method comprising Through each sequence of the spatial convolutional layers, by separately convolving each sequence image set for each cycle within the window of the sequence image set for each cycle, through the spatial convolutional network, for each cycle, process the window of the sequence image set for each cycle for the series of sequencing cycles of the sequencing run, and for each sequencing cycle within the series of sequencing cycles, generate a set of spatial feature maps for each cycle, Using each temporal convolutional filter bank of the first temporal convolutional layer, by convolving each overlapping group of the set of spatial feature maps for each cycle in the set of spatial feature maps for each cycle, through the temporal convolutional network, process the set of spatial feature maps for each cycle group by group, and generate a set of temporal feature maps for each group for each overlapping group of the set of spatial feature maps for each cycle, The learned coefficients of the temporal convolutional filters within each temporal convolutional filter bank vary between the temporal convolutional filter banks within each temporal convolutional filter bank, an artificial intelligence-based method. 19. The artificial intelligence-based method according to item 18, wherein each sequence of the spatial convolutional layers has each sequence of the spatial convolutional filter bank, and the spatial convolutional filters within the spatial convolutional filter bank of each sequence of the spatial convolutional filter bank are shared among the sequences of the spatial convolutional layers within each sequence of the learned coefficients of the spatial convolutional layers. 20. Further comprising separately convolving each set of spatial feature maps for each cycle through each compression convolutional layer of the compression network, and generating a set of compressed spatial feature maps for each cycle for each sequencing cycle, wherein the compression convolutional filters within each compression convolutional layer vary between the compression convolutional layers within each compression convolutional layer of the learned coefficients, the artificial intelligence-based method according to item 18. 21. A system, A spatial convolutional network configured to apply each sequence of the spatial convolutional layer to each cycle-by-cycle sequence image within a window of cycle-by-cycle sequence images. A system in which each sequence of the spatial convolutional layer has each sequence of a spatial convolutional filter bank that is different for each sequence of the spatial convolutional layer. 22. A system, A temporal convolutional network composed of a first temporal convolutional layer configured to apply each set of temporal convolutional filters to each sliding window of the spatial feature map. A system in which each set of temporal convolutional filters in the first temporal convolutional layer has a temporal convolutional filter that is different for each set of temporal convolutional filters. 23. The system according to item 22, wherein the temporal convolutional network is composed of a second temporal convolutional layer following the first temporal convolutional layer, and the second convolutional layer is configured to apply each set of temporal convolutional filters to each sliding window of the temporal feature map, and each set of temporal convolutional filters in the second temporal convolutional layer has a temporal convolutional filter that is different for each set of temporal convolutional filters.

[0242] Skip 1. A system, For a series of sequencing cycles of a sequencing run, a window of cycle-by-cycle sequence image sets is processed by passing each cycle-by-cycle sequence image set within the window of cycle-by-cycle sequence image sets through a respective spatial processing pipeline and processing each cycle-by-cycle sequence image set separately for each cycle. Each spatial processing pipeline is configured to convolve each cycle-by-cycle sequence image set through a respective sequence of spatial convolutional layers and generate a respective set of spatial feature maps for each sequencing cycle within the series of sequencing cycles. A spatial convolutional network and A bus network connected to a spatial convolutional network and configured to form a bus between spatial convolutional layers within each sequence of spatial feature maps of the spatial convolutional layer, the bus combining sets for each cycle generated by two or more spatial convolutional layers within a specific sequence of the spatial convolutional layer for a specific sequencing cycle to form a combined set of spatial feature maps for each cycle, and the combined set of spatial feature maps for each cycle being configured to be provided as an input to another spatial convolutional layer within a specific sequence of the spatial convolutional layer. A system comprising the bus network. 2. Two or more spatial convolutional layers include a first spatial convolutional layer and a third spatial convolutional layer, the first spatial convolutional layer generates a first set of spatial feature maps for each cycle, the first spatial convolutional layer provides the first set of spatial feature maps for each cycle as an input to a second spatial convolutional layer, the second spatial convolutional layer processes the first set of spatial feature maps for each cycle and generates a second set of spatial feature maps for each cycle, The second spatial convolutional layer provides the second set of spatial feature maps for each cycle as an input to the third spatial convolutional layer, and the third spatial convolutional layer processes the second set of spatial feature maps for each cycle and generates a third set of spatial functional maps for each cycle. The system according to item 1. 3. The system according to item 2, wherein the bus is further configured to combine the first set of spatial feature maps and the third set of spatial feature maps for each cycle into a combined set of spatial feature maps for each cycle. 4. Another spatial convolutional layer is a fourth spatial convolutional layer following immediately after the third spatial convolutional layer within a specific sequence of the spatial convolutional layer, and the fourth spatial convolutional layer processes the combined set of spatial feature maps for each cycle as an input. The system according to item 3. 5. Two or more spatial convolutional layers include a first spatial convolutional layer and a seventh spatial convolutional layer. The third spatial convolutional layer provides a set of spatial feature maps for each third cycle as an input to the fourth spatial convolutional layer. The fourth spatial convolutional layer processes the set of spatial feature maps for each third cycle and generates a set of spatial feature maps for each fourth cycle. The fourth spatial convolutional layer provides the set of spatial feature maps for each fourth cycle as an input to the fifth spatial convolutional layer. The fifth spatial convolutional layer processes the set of spatial feature maps for each fourth cycle and generates a set of spatial functional maps for each fifth cycle. The system according to item 2. 6. The bus is further configured to combine the first set of spatial feature maps and the fifth set of spatial feature maps into a combined set of spatial feature maps for each cycle. The system according to item 5. 7. Another spatial convolutional layer is a sixth spatial convolutional layer that follows immediately after the fifth spatial convolutional layer in a specific sequence of spatial convolutional layers. The sixth spatial convolutional layer processes the combined set of spatial feature maps for each cycle as an input. The system according to item 6. 8. Two or more spatial convolutional layers include a first spatial convolutional layer, a third spatial convolutional layer, and a fifth spatial convolutional layer. The bus is further configured to combine the first set of spatial feature maps for each cycle, the third set of spatial feature maps for each cycle, and the fifth set of spatial feature maps for each cycle into a combined set of spatial feature maps for each cycle. The system according to item 5. 9. Another spatial convolutional layer is a sixth spatial convolutional layer that processes the combined set of spatial feature maps for each cycle as an input. The system according to item 8. 10. The bus provides a set of sequence images for each cycle for a specific sequencing cycle as an input to the first spatial convolutional layer and is further configured to combine the third set of spatial feature maps into a combined set of spatial feature maps for each cycle. The system according to item 1. 11. The system according to item 10, wherein another spatial convolutional layer is a fourth spatial convolutional layer that processes, as input, a combined set of spatial feature maps for each cycle. 12. The system according to item 1, wherein the bus network includes dimensional compatibility logic configured to modify the spatial and depth dimensions of the incoming set of spatial feature maps for each cycle, which is combined with the receiving-side set of spatial feature maps for each cycle, and is further configured to generate a combined set of spatial feature maps for each cycle. 13. The system according to item 12, wherein the dimensional compatibility logic is a dimensionality reduction operation including convolution, pooling, or averaging. 14. The system according to item 12, wherein the bus network includes scaling logic configured to scale the feature values of the incoming set of spatial feature maps for each cycle, which is combined with the receiving-side set of spatial feature maps for each cycle, and is further configured to generate a set of spatial feature maps for each cycle. 15. The system according to item 1, further configured to include a temporal convolutional network configured to process the set of spatial feature maps for each cycle by convolving each overlapping group of the set of spatial feature maps for each cycle in the set of spatial feature maps for each cycle using each temporal convolutional filter bank of the first temporal convolutional layer, to generate a set of temporal feature maps for each group for each overlapping group of the set of spatial feature maps for each cycle. 16. A bus network connected to a temporal convolutional network and configured to form a bus between temporal convolutional layers within each sequence of the temporal convolutional layers, wherein the bus combines each cycle-wise set of temporal feature maps generated by two or more temporal convolutional layers within a particular sequence of the temporal convolutional layers for a particular sequencing cycle to form a combined, cycle-wise set of temporal feature maps, and is configured to provide the combined, cycle-wise set of temporal feature maps as an input to another temporal convolutional layer within a particular sequence of the temporal convolutional layers, and the system according to item 15 is further configured to include such a bus network. 17. An artificial intelligence-based method, for a series of sequencing cycles of a sequencing run, processing, via a spatial convolutional network, a window of a cycle-wise set of sequence images for each cycle by separately processing each cycle-wise set of sequence images within the window of the cycle-wise set of sequence images for each cycle through respective spatial processing pipelines, wherein each cycle-wise set of sequence images is convolved through respective sequences of spatial convolutional layers to generate a respective cycle-wise set of spatial feature maps for each sequencing cycle within the series of sequencing cycles, and combining each cycle-wise set of spatial feature maps generated by two or more spatial convolutional layers within a particular sequence of the spatial convolutional layers for a particular sequencing cycle to form a combined, cycle-wise set of spatial feature maps, and providing the combined, cycle-wise set of spatial feature maps as an input to another spatial convolutional layer within a particular sequence of the spatial convolutional layers, the artificial intelligence-based method comprising. 18. Two or more spatial convolutional layers include a first spatial convolutional layer and a third spatial convolutional layer. The first spatial convolutional layer generates a set of spatial feature maps for each first cycle, and the first spatial convolutional layer provides the set of spatial feature maps for each first cycle as an input to a second spatial convolutional layer. The second spatial convolutional layer processes the set of spatial feature maps for each first cycle and generates a set of spatial feature maps for each second cycle. The second spatial convolutional layer provides the set of spatial feature maps for each second cycle as an input to the third spatial convolutional layer. The third spatial convolutional layer processes the set of spatial feature maps for each second cycle and generates a set of spatial functional maps for each third cycle. The artificial intelligence-based method according to item 17. 19. The bus is further configured to combine the first set of spatial feature maps and the set of spatial feature maps for each third cycle into a combined set of spatial feature maps for each cycle. The artificial intelligence-based method according to item 18. 20. Another spatial convolutional layer is a fourth spatial convolutional layer that follows immediately after the third spatial convolutional layer in a specific sequence of spatial convolutional layers. The fourth spatial convolutional layer processes the combined set of spatial feature maps for each cycle as an input. The artificial intelligence-based method according to item 19.

[0243] Other embodiments of the methods described above can include a non-transitory computer-readable storage medium storing instructions executable by a processor to perform any of the methods described above. Still other embodiments of the methods described in this section can include a system including a memory and one or more processors operable to execute instructions stored in the memory, and can perform any of the methods described above.

Explanation of Signs

[0244] 1906 System Controller 3300 Computer System 3310 Memory Subsystem 3332 Random Access Memory 3334 Read-Only Memory 3336 File Storage Subsystem 3338 User Interface Input Device 3355 Bus Subsystem 3372 Central Processing Unit 3374 Network Interface Subsystem 3376 User Interface Output Device 3378 Deep Learning Processor

Claims

1. An artificial intelligence-based method for base calling, the method comprising: accessing a series of analyte channel sets for each cycle of an image indicating clusters, the image showing intensity emissions resulting from nucleotide incorporation in clusters of relevant analytes on a substrate during a sequencing cycle of a sequencing run, and the analyte channel sets for each cycle resulting from applying different illumination and / or filter wavelength bands; processing, via a spatial network of a convolutional neural network-based base caller, a first window of the analyte channel sets for each cycle of the image indicating clusters within the series, for a first window of the sequencing cycle of the sequencing run, applying 1D, 2D, or 3D convolution, and generating a respective sequence of a spatial output set for each sequencing cycle in the first window of the sequencing cycle; processing, via a compression network of the convolutional neural network-based base caller, each final spatial output set within each sequence of the spatial output sets, applying a convolutional filter to reduce the number of feature maps within each final spatial output set, and generating a respective compressed spatial output set for each sequencing cycle in the first window of the sequencing cycle; generating a base call prediction for one or more sequencing cycles in a first window of the sequencing cycle based on each respective compressed spatial output set. An artificial intelligence-based method comprising:

2. The artificial intelligence-based method according to claim 1, wherein each respective final spatial output set has M channels, each respective compressed spatial output set has N channels, and M is greater than N.

3. for a second window of the sequencing cycle of the sequencing run, the first window of the sequencing cycle sharing the first window of the sequencing cycle, one or more overlapping sequencing cycles for which the spatial network has previously generated a spatial output set, and at least one non-overlapping sequencing cycle; Process the analyte channel set for each cycle only for the at least one non-overlapping sequencing cycle via the spatial network, and generate a sequence of spatial output sets for the at least one non-overlapping sequencing cycle. Process the final spatial output set within the sequence of the spatial output sets via the compression network to generate a compressed spatial output set for the at least one non-overlapping sequencing cycle, where the final spatial output set has M channels, the compressed spatial output of the compressed spatial output set has N channels, and M is greater than N. Based on each compressed spatial output set for the one or more overlapping sequencing cycles previously generated for the first window of the sequencing cycle and the compressed spatial output set, generate a basecall prediction for one or more sequencing cycles in the second window of the sequencing cycle. The artificial intelligence-based method according to claim 1 or 2 further includes this.

4. For the first and second windows of the sequencing cycle, one or more overlapping sequencing cycles for which the spatial network has previously generated spatial output sets, and the third window of the sequencing cycles of the sequencing run that shares at least one non-overlapping sequencing cycle. Process the analyte channel set for each cycle only for the at least one non-overlapping sequencing cycle via the spatial network, and generate a sequence of spatial output sets for the at least one non-overlapping sequencing cycle. Process the final spatial output set within the sequence of the spatial output sets via the compression network to generate a compressed spatial output set for the at least one non-overlapping sequencing cycle, where the final spatial output set has M channels, the compressed spatial output of the compressed spatial output set has N channels, and M is greater than N. For each set of compressed space outputs for the one or more overlapping sequencing cycles previously generated for the first and second windows of the sequencing cycle, and based on the set of compressed space outputs, generating a basecall prediction for one or more sequencing cycles in a third window of the sequencing cycle. The artificial intelligence-based method according to claim 3 further includes this.

5. The spatial network has a sequence of spatial convolutional layers that separately process each cycle-by-cycle analyte channel set in a particular window of the cycle-by-cycle analyte channel sets in the series for a particular window of the sequencing cycle of the sequencing run. For each sequencing cycle within a particular window of the sequencing cycle, a sequence of spatial output sets is generated. Starting from a first spatial convolutional layer that combines intensities only within the cycle-by-cycle analyte channel set of the target sequencing cycle, rather than between the cycle-by-cycle analyte channel sets of different sequencing cycles within the particular window of the sequencing cycle. Subsequently, it continues with subsequent spatial convolutional layers that combine the spatial outputs of the preceding spatial convolutional layers only within the target sequencing cycle, rather than between the different sequencing cycles within the particular window of the sequencing cycle. The artificial intelligence-based method according to any one of claims 1 to 4 includes this.

6. Each spatial convolutional layer within the sequence of spatial convolutional layers has a different number of convolutional filters. The final spatial convolutional layer within the sequence of spatial convolutional layers has M convolutional filters, where M is an integer greater than 4. The artificial intelligence-based method according to claim 5.

7. Each spatial convolutional layer within the sequence of spatial convolutional layers has the same number of convolutional filters. The same number is M, where M is an integer greater than 4. The artificial intelligence-based method according to claim 5.

8. The convolutional filters within the spatial network use two-dimensional (2D) convolution. The artificial intelligence-based method according to any one of claims 1 to 7.

9. The method according to any one of claims 1 to 7, wherein the convolutional filter in the spatial network uses 3D (three-dimensional) convolution.

10. The convolutional neural network-based base caller has a time network, and the time network has a sequence of time convolutional layers that group and process respective sets of compressed spatial outputs for windows of subsequent sequencing cycles within a specific window of the sequencing cycle, generating a sequence of sets of time outputs for the specific window of the sequencing cycle, starting from a first time convolutional layer that combines sets of compressed spatial outputs between different sequencing cycles within the specific window of the sequencing cycle, and continuing with subsequent time convolutional layers that combine subsequent time outputs of preceding time convolutional layers, the method according to any one of claims 5 to 9.

11. For a first window of the sequencing cycle processing, via a first time convolutional layer in the sequence of time convolutional layers of the time network, the respective sets of compressed spatial outputs for windows of subsequent sequencing cycles within the first window of the sequencing cycle, and generating a plurality of sets of time outputs for the first window of the sequencing cycle; processing the plurality of sets of time outputs via the compression network to generate respective sets of compressed time outputs for the respective sets of time outputs, wherein each of the respective sets of time outputs has M channels and each of the respective sets of compressed time outputs has N channels, and M is greater than N; processing the respective sets of compressed time outputs via a final time convolutional layer in the sequence of time convolutional layers of the time network, and generating a final set of time outputs for the first window of the sequencing cycle; further comprising generating the base call prediction for one or more sequencing cycles in the first window of the sequencing cycle based on the final set of time outputs. The artificial intelligence-based method according to claim 10, wherein an output layer processes the final time output set to generate a final output for a first window of the sequencing cycle, and the base call prediction is generated based on the final output.

12. For a first window of the sequencing cycle, one or more overlapping windows of a subsequent sequencing cycle in which the first time convolutional layer previously generated a time output set, and at least one non-overlapping window of a subsequent sequencing cycle in which the first time convolutional layer has not yet generated a time output set, processing, via the first time convolutional layer, each compression space output set only for each sequencing cycle within at least one non-overlapping window of the subsequent sequencing cycle, and generating a time output set for at least one non-overlapping window of the subsequent sequencing cycle; processing, via the compression network, the time output set to generate a compressed time output set for at least one non-overlapping window of the subsequent sequencing cycle, wherein the time output set has M channels and the compressed time output set has N channels, and M is greater than N; processing, via the final time convolutional layer, each compressed time output set for the overlapping windows of the subsequent sequencing cycle previously generated for the first window of the sequencing cycle and the compressed time output set, and generating a final time output set for the second window of the sequencing cycle; generating, based on the final time output set, a base call prediction for one or more sequencing cycles in the second window of the sequencing cycle; and further comprising: The artificial intelligence-based method according to claim 11, wherein an output layer processes the final time output set to generate a final output for a second window of the sequencing cycle, and the base call prediction is generated based on the final output.

13. For the first and second windows of the sequencing cycle, one or more overlapping windows of a subsequent sequencing cycle in which the first time convolutional layer previously generated a time output set, and a third window of the sequencing cycle that shares at least one non-overlapping window of the subsequent sequencing cycle, Processing each compression space output set only for each sequencing cycle within at least one non-overlapping window of the subsequent sequencing cycle via the first time convolutional layer, and generating a time output set for at least one non-overlapping window of the subsequent sequencing cycle; Processing the time output set via the compression network to generate a compressed time output set for at least one non-overlapping window of the subsequent sequencing cycle, wherein the time output set has M channels and the compressed time output set has N channels, and M is greater than N; Processing each compressed time output set for the overlapping windows of the subsequent sequencing cycle previously generated for the first and second windows of the sequencing cycle and the compressed time output set via the final time convolutional layer, and generating a final time output set for the third window of the sequencing cycle; Further comprising generating the base call prediction for one or more sequencing cycles in the third window of the sequencing cycle based on the final time output set; The method according to claim 12, wherein the output layer processes the final time output set to generate a final output for the third window of the sequencing cycle, and the base call prediction is generated based on the final output. **Claim 14** The method according to any one of claims 10 to 13, wherein each time convolutional layer in the sequence of time convolutional layers of the time network has a different number of convolutional filters, the first time convolutional layer has M convolutional filters, and M is an integer greater than 4. **Claim 15** The method according to any one of claims 10 to 13, wherein each temporal convolutional layer within the sequence of the temporal convolutional layers of the temporal network has the same number of convolutional filters, the same number being M, and M being an integer greater than 4.

16. The method according to claim 14 or 15, wherein the convolutional filters within the temporal network use one-dimensional (1D) convolutions.

17. The method according to any one of claims 1 to 16, wherein the compression network uses 1×1 convolutions to control the number of compressed spatial outputs within the compressed spatial output set, and the compression network has N convolutional filters, where N is an integer not exceeding 4.

18. The method according to any one of claims 1 to 17, further comprising using data for identifying the untrustworthy analyte to remove a portion of the compressed spatial outputs within the compressed spatial output set corresponding to the untrustworthy analyte, generating a filtered compressed spatial output set to replace the compressed spatial output set, and generating base call predictions only for those analytes that are not the untrustworthy analyte.

19. The method according to claim 1, further comprising generating a base call for a target cluster of the clusters shown in the image of the first window of the analyte channel set for each cycle of the image based on the base call prediction for the one or more sequencing cycles.

20. The method according to claim 1, wherein a series of images of the analyte channel set for each cycle of the image are captured by an imaging device of a sequencing device.

Citation Information

Patent Citations

  • Machine learning enabled pulse and base calling for sequencing devices

    US20190237160A1