Efficient base calling for artificial intelligence-based index sequence
Patent Information
- Application Number
- CN202280043152.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-13
- Filing Date
- 2022-06-30
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2042-06-30
Smart Images

Figure CN117501373B_ABST
Abstract
Description
[0001] Priority application
[0002] This patent application claims priority to U.S. Nonprovisional Patent Application No. 17 / 839,331 (Attorney General's File No. ILLM 1046-2 / IP-2135-US), filed June 13, 2022, entitled "Efficient Base Detection Based on Artificial Intelligence Index Sequences," which claims the benefit of U.S. Provisional Patent Application No. 63 / 217,644 (Attorney General's File No. ILLM 1046-1 / IP-2135-PRV), filed July 1, 2021, entitled "Efficient Base Detection Based on Artificial Intelligence Index Sequences." This priority application is incorporated by reference for all purposes. Technical Field
[0003] The technologies disclosed in this invention relate to artificial intelligence-type computers and digital data processing systems, as well as corresponding data processing methods and products for simulating intelligence (i.e., knowledge-based systems, inference systems, and knowledge acquisition systems); and include systems for uncertainty inference (e.g., fuzzy logic systems), adaptive systems, machine learning systems, and artificial neural networks. Specifically, the disclosed technologies relate to using deep neural networks, such as deep convolutional neural networks, for data analysis.
[0004] Reference merging
[0005] The following references are incorporated herein by reference as if they were shown in their entirety in this document:
[0006] U.S. Patent Application No. 62 / 979,384, entitled “ARTIFICIAL INTELLIGENCE-BASED BASE CALLINGOF INDEX SEQUENCES”, filed on February 20, 2020 (Attorney’s File No. ILLM 1015-1 / IP-1857-PRV);
[0007] U.S. Patent Application No. 62 / 979,414, entitled “ARTIFICIAL INTELLIGENCE-BASED MANY-TO-MANYBASE CALLING”, filed on February 20, 2020 (Attorney’s File No. ILLM 1016-1 / IP-1858-PRV);
[0008] U.S. Patent Application No. 62 / 979,385 (Attorney’s File No. ILLM 1017-1 / IP-1859-PRV), filed on February 20, 2020, entitled “KNOWLEDGE DISTILLATION-BASED COMPRESSION OFARTIFICIAL INTELLIGENCE-BASED BASE CALLER”;
[0009] U.S. Patent Application No. 63 / 072,032, entitled “DETECTING AND FILTERING CLUSTERS BASED ON ARTIFICIAL INTELLIGENCE-PREDICTED BASE CALLS”, filed on August 28, 2020 (Attorney’s File No. ILLM 1018-1 / IP-1860-PRV);
[0010] U.S. Patent Application No. 62 / 979,412, entitled “MULTI-CYCLE CLUSTER BASED REAL TIMEANALYSIS SYSTEM”, filed on February 20, 2020 (Attorney’s File No. ILLM 1020-1 / IP-1866-PRV);
[0011] U.S. Patent Application No. 16 / 825,987, entitled “TRAINING DATA GENERATION FOR ARTIFICIALINTELLIGENCE-BASED SEQUENCING”, filed on March 20, 2020 (Attorney’s File No. ILLM1008-16 / IP-1693-US);
[0012] U.S. Patent Application No. 16 / 825,991, entitled “ARTIFICIAL INTELLIGENCE-BASED GENERATION OF SEQUENCING METADATA”, filed on March 20, 2020 (Attorney’s File No. ILLM 1008-17 / IP-1741-US);
[0013] U.S. Patent Application No. 16 / 826,126, entitled “ARTIFICIAL INTELLIGENCE-BASED BASE CALLING”, filed on March 20, 2020 (Attorney’s File No. ILLM 1008-18 / IP-1744-US);
[0014] U.S. Patent Application No. 16 / 826,134, entitled “ARTIFICIAL INTELLIGENCE-BASED QUALITYSCORING”, filed on March 20, 2020 (Attorney’s File No. ILLM 1008-19 / IP-1747-US);
[0015] U.S. Patent Application No. 16 / 826,168 (Attorney's File No. ILLM 1008-20 / IP-1752-PRV-US), filed on March 21, 2020, entitled "ARTIFICIAL INTELLIGENCE-BASED SEQUENCING"; and
[0016] U.S. Patent Application No. 17 / 179,395 (Attorney’s File No. ILLM1029-2 / IP-1964-US), filed on February 18, 2021, entitled “DATA COMPRESSION FOR ARTIFICIALINTELLIGENCE-BASED BASE CALLING”. Background Technology
[0017] The topics discussed in this section should not and should not be considered prior art simply because they are mentioned here, as these topics may, among other things, represent different methods that themselves may correspond to specific implementations of the claimed technology. Similarly, problems mentioned or identified in this section or associated with topics provided as background art should not and should not be considered as having been previously recognized in the prior art, as these problems may, among other things, be part of the proposed solutions.
[0018] Improvements in next-generation sequencing (NGS) technology have significantly increased sequencing speed and data output, enabling the relatively large sample throughput of current sequencing platforms. Approximately ten years ago, Illumina Genome Analyzer... TM Each run can generate up to 1GB of sequence data. Today, Illumina NovaSeq... TM The series can generate up to 2TB of data in two days, which means the capacity has increased by more than 2,000 times.
[0019] One aspect of achieving this increased capacity is multiplexing, which adds a unique sequence called an index to each DNA fragment during library preparation. This allows a large number of libraries to be assembled and sequenced simultaneously during a single sequencing run. The increased throughput from multiplexing introduces additional complexity because sequencing reads from the assembled libraries need to be computationally identified and ordered in a process called demultiplexing before final data analysis. Index assignment errors between multiplexed libraries are a known problem that has plagued NGS technology since the development of sample multiplexing.
[0020] An opportunity has emerged to use artificial intelligence and neural networks for base detection indexing sequences. This can achieve higher base detection throughput and increased base detection accuracy. Attached Figure Description
[0021] In the accompanying drawings, similar reference numerals generally refer to similar parts in all different views. Furthermore, the drawings are not necessarily drawn to scale, but rather emphasize the principles of the disclosed technology. In the following description, various specific embodiments of the disclosed technology are described with reference to the following drawings, wherein:
[0022] Figure 1 This illustrates a specific implementation of sequencing polynucleotides from an index library.
[0023] Figure 2 This illustrates a specific implementation of sequencing a target sequence to generate target reads and sequencing an index sequence to generate index reads.
[0024] Figure 3 A specific implementation of the disclosed neural network-based base detector is shown.
[0025] Figure 4A , Figure 4B and Figure 4C A specific implementation of a shuffled index image for processing by a disclosed neural network-based base detector is described.
[0026] Figure 5A , Figure 5B and Figure 5C Another specific implementation of the shuffled index image for processing by the disclosed neural network-based base detector is described.
[0027] Figure 6 A subset selector is described, which is configured to efficiently generate a reordered sequence image set (the reordered sequence image set) as a subset of the reordered sequence image set according to a specific implementation.
[0028] Figure 7A , Figure 7B and Figure 7C A subset of reordered sequencing images (also shown in Figure 4) is depicted in relation to a neural network-based base detector (also shown in Figure 4). Figure 6 (as shown in the image).
[0029] Figure 8A and Figure 8B Additional examples of reordered subsets of sequencing images in relation to a neural network-based base detector, based on additional specific implementations, are depicted.
[0030] Figure 9 The initial (first) training and further (second) training, based on two specific implementations, are described.
[0031] Figure 10 A method for training a neural network-based base detector according to a specific implementation is described.
[0032] Figure 11 Another method for training a neural network-based base detector, according to another specific implementation, is described.
[0033] Figure 12 A method for base detection of sequencing images according to a specific implementation is described.
[0034] Figure 13 Another method for training a neural network-based base detector, according to a specific implementation, is described.
[0035] Figure 14 A flowchart of a base detection system disclosed according to a specific implementation is shown.
[0036] Figure 15 The measured base detection error rate is shown as an example of the “enhancement” and “normalization” implementation of the previously disclosed neural network-based base detector 300, as applied to 1-Plex sequencing data.
[0037] Figure 16A , Figure 16B and Figure 16C The base detection error rates of three different implementations of the neural network-based base detector 300 were compared, as applied to different complexities (e.g., 96-Plex, 1-Plex, and 3-Plex).
[0038] Figure 17A , Figure 17B and Figure 17C The base detection error rates of three different implementations of the neural network-based base detector 300 were compared, as applied to different complexities (e.g., 4-Plex, 2-Plex, and 1-Plex).
[0039] Figure 18 The graph depicts the "demultiplexing" results of blocks running with different Plexities, comparing RTA (blue), the previously disclosed deep learning implementation (orange) (DL 3c Aug), and the currently disclosed joint training and shuffling implementation (green) (DL 5c Norm*).
[0040] Figure 19A and Figure 19B A specific implementation of the sequencing system is described.
[0041] Figure 19C This is a simplified block diagram of a system for analyzing sensor data (such as base detection sensor output) from a sequencing system.
[0042] Figure 20A This is a simplified diagram illustrating various aspects of a base detection operation, including the functionality of a runtime program executed by the host processor.
[0043] Figure 20B Configurable processors such as Figure 19C A simplified diagram of the configuration of the configurable processor.
[0044] Figure 21A A specific implementation of jointly training a neural network-based base detector 300 on reordered index images and sequencing images is shown.
[0045] Figure 21B It shows how to generate Figure 21A A specific implementation of the reordered indexed image 2132.
[0046] Figure 22 It is possible to be Figure 19A The sequencing system uses a computer system to implement the base detection technology disclosed herein.
[0047] Figure 23 An example depicting 96 indices.
[0048] Figure 24 and Figure 25 Various specific implementations of the disclosed technology are shown. Detailed Implementation
[0049] The following discussion is presented to enable any person skilled in the art to implement and use the disclosed technology, and is provided in the context of a particular application and its requirements. Various modifications to the specific embodiments disclosed will be apparent to those skilled in the art, and the general principles defined herein can be applied to other specific embodiments and applications without departing from the spirit and scope of the disclosed technology. Therefore, the disclosed technology is not intended to be limited to the specific embodiments shown, but is to be accorded the broadest scope consistent with the principles and features disclosed herein.
[0050] Multiplexing
[0051] Figure 1 This illustrates a specific implementation of sequencing polynucleotides from index libraries. When polynucleotides from different libraries are pooled or multiplexed for sequencing, the polynucleotides from each library are modified to include a library-specific index sequence. During sequencing, both the index sequence and the target polynucleotide sequence from the library are sequenced. The index sequence is associated with the target polynucleotide sequence, allowing identification of the library from which the target sequence originates.
[0052] Figure A illustrates index library 102. Here, during library preparation, unique index sequences (“indexes”) are added to two different libraries. The first index sequence (index A) has a barcode “CATTCG”. The second index sequence (index B) has a barcode “AACTGA”.
[0053] Figure B illustrates pooling 104. Here, the index library 102 is pooled together and loaded into the same circulation pool channel.
[0054] Figure C illustrates sequencing 106 and sequencing output 116. Here, the index library 102 is sequenced together during a single instrument run. All sequences are then exported to output file 116. Output file 116 includes sequence reads (shown in green) coupled to their corresponding index reads (shown in blue and magenta).
[0055] Figure D illustrates demultiplexing 108. Here, the demultiplexing algorithm categorizes the sequence reads into different files based on their indices.
[0056] Figure E illustrates alignment 110. Here, each set of demultiplexed sequence reads is aligned with the appropriate reference sequence.
[0057] Additional details regarding multiplexing, indexed sequences, and demultiplexing can be found in Illumina, “Indexed Sequencing Overview Guide,” document number 15057455, v.5, March 2019, and Illumina’s patent applications US 2018 / 0305751, US 2018 / 0334712, US 2016 / 0110498, US 2018 / 0334711, and WO 2019 / 090251, each of which is incorporated herein by reference.
[0058] Target sequence and index sequence
[0059] Figure 2 A specific implementation is shown of sequencing target sequence 222 to generate target read 202 (“GTCCGATA”) and sequencing index sequence 232 to generate index read 204 (“AACTGA”). Index sequence 232 can be a synthetic nucleotide sequence coupled to target sequence 222 during template preparation. Target sequence 222 can be naturally occurring DNA, RNA, or some other biomolecule. The length of index sequence 232 can range from two to twenty nucleotides. For example, index sequence 232 can be one to ten nucleotides long or four to six nucleotides long. A tetranucleotide index sequence provides the possibility of multiplexing 256 samples on the same array. A hexanucleotide index sequence enables the processing of 4096 samples on the same array.
[0060] During sequencing 106, target primer 212 traverses target sequence 222 and generates target read 202 (“GTCCGATA”), and index primer 224 traverses index sequence 232 and generates index read 204 (“AACTGA”). In some implementations, sequencing 106 is Illumina single-index sequencing. In other implementations, sequencing 106 is Illumina dual-index sequencing.
[0061] Base detection is the process of determining the nucleotide composition of target sequence 222 and index sequence 232, that is, the process of generating target read 202 (“GTCCGATA”) and index read 204 (“AACTGA”).
[0062] Sequencing images
[0063] Base interpretation involves analyzing image data, namely sequencing images, which are generated during sequencing runs (or sequencing reactions) performed by sequencing instruments such as Illumina's iSeq, HiSeqX, HiSeq 3000, HiSeq 4000, HiSeq 2500, NovaSeq 6000, NextSeq550, NextSeq 1000, NextSeq 2000, NextSeqDx, MiSeq, and MiSeqDx.
[0064] The following discussion outlines a method for generating sequencing images based on a specific implementation and describes its contents.
[0065] Base interpretation decodes intensity data encoded in the sequencing image into the nucleotide sequence. In one specific implementation, the Illumina sequencing platform employs cycle reversible termination (CRT) chemistry for base interpretation. This process relies on growing a nascent strand complementary to a template strand containing fluorescently labeled nucleotides, while tracking the emission signal of each newly added nucleotide. Each fluorescently labeled nucleotide has a 3' removable block of fluorophore signal anchored to its nucleotide type.
[0066] Sequencing is performed in repeated cycles, each cycle consisting of three steps: (a) elongating the nascent strand by adding fluorescently labeled nucleotides; (b) exciting the fluorophore using one or more lasers of the sequencing instrument's optical system and imaging it through different filters of the optical system to produce a sequencing image; and (c) lysing the fluorophore and removing the 3' block to prepare for the next sequencing cycle. The incorporation and imaging cycles are repeated until a specified number of sequencing cycles are reached, thereby defining the read length. Using this method, each cycle queries a new location along the template strand.
[0067] The immense power of Illumina sequencers stems from their ability to simultaneously execute and sense millions, or even billions, of clusters (also known as “analytes”) undergoing a CRT reaction. A cluster comprises approximately a thousand identical copies of the template strand, but differs in size and shape. Before sequencing, these clusters from the template strand are grown by bridging or exclusion amplification of the input library. The purpose of amplification and cluster growth is to increase the intensity of the emission signal, as imaging devices cannot reliably sense the fluorophore signal of a single strand. However, the strands within a cluster are physically close together, so the imaging device perceives the cluster of strands as a single point.
[0068] Sequencing occurs in a flow cell (or biosensor), a small glass slide that holds the input chain. The flow cell is connected to an optical system that includes microscopic imaging, an excitation laser, and a fluorescence filter. The flow cell comprises multiple chambers called channels. These channels are physically separated from each other and can contain different labeled sequencing libraries that can be distinguished in the absence of sample cross-contamination. In some implementations, 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.
[0069] Imaging devices in sequencing instruments (e.g., solid-state imaging devices such as charge-coupled devices (CCDs) or complementary metal-oxide-semiconductor (CMOS) sensors) take snapshots at multiple locations along the channel in a series of non-overlapping regions (called blocks). For example, each channel may contain sixty-four or ninety-six blocks. A block can hold hundreds of thousands to millions of clusters.
[0070] The output of a sequencing run is a sequencing image. The sequencing image depicts the intensity emission of clusters and their surrounding background using a grid (or array) of pixelated units (e.g., pixels, superpixels, subpixels). The intensity emission is stored as the intensity values of the pixelated units. The sequencing image has grid dimensions w, x, and h 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 implementations, w and h are the same. In other implementations, w and h are different.
[0071] The sequencing cycles that sequence the target sequence 222 are called "target sequencing cycles," while the sequencing cycles that sequence the index sequence 232 are called "index sequencing cycles." The sequencing images generated during the target sequencing cycles are called "target images," and the sequencing images generated during the index sequencing cycles are called "index images."
[0072] Neural Network-Based Base Detection
[0073] The following discussion focuses on the neural network-based base detector 300 described herein. First, the input to the neural network-based base detector 300 is described according to a specific embodiment. Then, examples of the structure and form of the neural network-based base detector 300 are provided. Finally, the output of the neural network-based base detector 300 is described according to a specific embodiment.
[0074] Data flow logic provides sequencing images to a neural network-based base detector 300 for base detection. The neural network-based base detector 300 accesses the sequencing images on a block-by-block (or region-by-block) basis. Each block is a sub-grid (or sub-array) of pixelated units within a grid of pixelated units that forms the sequencing image. A block has a size q×r for its pixelated sub-grid, where q (width) and r (height) are any numbers in the range of 1 to 10000 (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. In some embodiments, the blocks extracted from the sequencing image have the same size. In other embodiments, the blocks have different sizes. In some implementations, blocks may have overlapping pixelated units (e.g., at the edges).
[0075] Sequencing produces m sequencing images per sequencing cycle for corresponding m image channels. That is, each sequencing image has one or more image (or intensity) channels (similar to the red, green, and blue (RGB) channels in 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 a sequencing cycle. In yet another embodiment, each image channel corresponds to a combination of illumination using 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 specific sequencing cycle. In different embodiments such as four-channel chemistry, two-channel chemistry, and single-channel chemistry, m is 4 or 2. In other embodiments, m is 1, 3, or greater than 4.
[0076] For example, consider a sequencing run implemented using two different image channels (blue and green channels). Then, in each sequencing cycle, the sequencing run produces blue and green images. Thus, for a series of k sequencing cycles of the sequencing run, k pairs of blue and green image sequences are produced as output and stored as sequencing images. Therefore, a neural network-based base detector 300 generates sequences of k pairs of blue and green image blocks for block-level processing.
[0077] The input image data (or a single instance of forward pass or a single forward traversal) for a single iteration of the neural network-based base detector 300 used for base detection includes data for a sliding window used for multiple sequencing cycles. The sliding window may include, for example, the current sequencing cycle, one or more previous sequencing cycles, and one or more subsequent sequencing cycles.
[0078] In one specific implementation, the input image data includes data for three sequencing cycles, such that the base detection data to be performed for the current (time t) sequencing cycle is accompanied by (i) data for the left wing / context / previous / previous / before (time t-1) sequencing cycle and (ii) data for the right wing / context / next / follower / after (time t+1) sequencing cycle.
[0079] In another specific implementation, the input image data includes data for five sequencing cycles, such that the data for the current (time t) sequencing cycle for base detection is accompanied by: (i) data for the first left-wing / context / previous / next / previous (time t-1) sequencing cycle; (ii) data for the second left-wing / context / previous / next / previous (time t-2) sequencing cycle; (iii) data for the first right-wing / context / next / follow / after (time t+1) sequencing cycle; and (iv) data for the second right-wing / context / next / follow / after (time t+2) sequencing cycle.
[0080] In another embodiment, the input image data includes data for seven sequencing cycles, such that the data for the current (time t) sequencing cycle for base detection is accompanied by: (i) data for the first left-wing / context / previous / previous / before (time t-1) sequencing cycle; (ii) data for the second left-wing / context / previous / previous / before (time t-2) sequencing cycle; (iii) data for the third left-wing / context / previous / previous / before (time t-3) sequencing cycle; (iv) data for the first right-wing / context / next / follow / after (time t+1) sequencing cycle; (v) data for the second right-wing / context / next / follow / after (time t+2) sequencing cycle; and (vi) data for the third right-wing / context / next / follow / after (time t+3) sequencing cycle. In other embodiments, the input image data includes data for a single sequencing cycle. In other specific implementations, 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.
[0081] According to one specific implementation, a neural network-based base detector 300 processes image patches through its convolutional layers and generates alternative representations. The alternative representations are then used by the output layer (e.g., a softmax layer) to generate base detections only for the current (time t) sequencing cycle or each sequencing cycle within a sequencing cycle, i.e., the current (time t) sequencing cycle, the first and second previous (time t-1, time t-2) sequencing cycles, and the first and second subsequent (time t+1, time t+2) sequencing cycles. The resulting base reads form sequencing reads.
[0082] In one embodiment, the neural network-based base detector 300 outputs base detections for a single target cluster for a specific sequencing cycle. In another embodiment, the neural network-based base detector 300 outputs base detections for each of multiple target clusters used in a specific sequencing cycle. In yet another embodiment, the neural network-based base detector 300 outputs base detections for each of multiple target clusters used in each of multiple sequencing cycles, thereby generating a base detection sequence for each target cluster.
[0083] In one embodiment, the neural network-based base detector 300 is a multilayer perceptron (MLP). In another embodiment, the neural network-based base detector 300 is a feedforward neural network. In yet another embodiment, the neural network-based base detector 300 is a fully connected neural network. In yet another embodiment, the neural network-based base detector 300 is a fully convolutional neural network. In yet another embodiment, the neural network-based base detector 300 is a semantic segmentation neural network. In yet another embodiment, the neural network-based base detector 300 is a generative adversarial network (GAN).
[0084] In one embodiment, the neural network-based base detector 300 is a convolutional neural network (CNN) with multiple convolutional layers. In another embodiment, the neural network-based base detector 300 is a recurrent neural network (RNN), such as a long short-term memory network (LSTM), a bidirectional LSTM (Bi-LSTM), or a gated recurrent unit (GRU). In yet another embodiment, the neural network-based base detector 300 includes both CNN and RNN.
[0085] In other specific implementations, the neural network-based base detector 300 may use 1D convolution, 2D convolution, 3D convolution, 4D convolution, 5D convolution, dilated or dilated 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 deconvolution. The neural network-based base detector 300 may use one or more loss functions, such as logistic regression / logarithmic loss, multi-class cross-entropy / softmax loss, binary cross-entropy loss, mean squared error loss, L1 loss, L2 loss, smoothed L1 loss, and Huber loss. The neural network-based base detector 300 may use any parallelism, efficiency, and compression scheme, such as TFRecords, compressed encoding (e.g., PNG), sharding, parallel detection with map transformation, batch processing, prefetching, model parallelism, data parallelism, and synchronous / asynchronous stochastic gradient descent (SGD). The neural network-based base detector 300 may include upsampling layers, downsampling layers, recursive connections, gates and gate memory cells (such as LSTM or GRU), residual blocks, residual connections, high-speed connections, skip connections, peephole connections, activation functions (e.g., nonlinear transformation functions such as modified linear unit (ReLU), leaky ReLU, exponential lined unit (ELU), sigmoid, and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout layers, pooling layers (e.g., max or average pooling), global average pooling layers, and attention mechanisms.
[0086] The neural network-based base detector 300 is trained using a gradient update technique based on backpropagation. Exemplary gradient descent techniques that can be used to train the neural network-based base detector 300 include stochastic gradient descent, batch gradient descent, and microbatch gradient descent. Some examples of gradient descent optimization algorithms that can be used to train the neural network-based base detector 300 are Momentum, Nesterov accelerated gradient, Adagrad, Adadelta, RMSprop, Adam, AdaMax, Nadam, and AMSGrad.
[0087] In one specific implementation, the neural network-based base detector 300 uses a specialized architecture to separate the processing of data for different sequencing cycles. The motivation for using this specialized architecture is first described. As mentioned above, the neural network-based base detector 300 processes image patches for the current sequencing cycle, one or more previous sequencing cycles, and one or more subsequent sequencing cycles. Data from the additional sequencing cycles provides sequence-specific context. The neural network-based base detector 300 learns the sequence-specific context during training and performs base detection for the sequencing cycles. Furthermore, data from the previous and subsequent sequencing cycles provide second-order contributions of the pre-phase and phasing signals to the current sequencing cycle.
[0088] However, images captured at different sequencing cycles and in different image channels are misaligned relative to each other and have residual registration errors. To address this misalignment, a specialized architecture includes spatial convolutional layers that do not mix information between sequencing cycles and only mix information within a sequencing cycle.
[0089] Spatial convolutional layers (or spatial logic) use so-called “isolated convolutions,” which achieve isolation by processing data from each of multiple sequencing cycles independently via “dedicated, non-shared” convolutional sequences. This isolated convolution convolves only the data and resulting feature maps from a given sequencing cycle (i.e., within the cycle), without convolving the data and resulting feature maps from any other sequencing cycles.
[0090] For example, consider input image data including: (i) the current image patch for the current (time t) sequencing cycle to be used for base detection; (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. The specialized architecture then initiates three separate convolutional pipelines: the current convolutional pipeline, the previous convolutional pipeline, and the next convolutional 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 multiple spatial convolutional layers to produce a so-called "current spatial convolutional representation" as the output of the final spatial convolutional layer. The previous convolutional pipeline receives the previous image patch for the previous (time t-1) sequencing cycle as input and processes it independently through multiple spatial convolutional layers to produce a so-called "previous spatial convolutional representation" as the output of the final spatial convolutional layer. The next convolutional pipeline receives the next image patch as input for the next (time t+1) sequencing cycle and processes the next image patch independently through multiple spatial convolutional layers to produce the so-called "next spatial convolutional representation" as the output of the final spatial convolutional layer.
[0091] In some implementations, the current convolutional pipeline, the previous convolutional pipeline, and the next convolutional pipeline are executed in parallel. In some implementations, spatial convolutional layers are part of a spatial convolutional network (or subnetwork) within a specialized architecture.
[0092] The neural network-based base detector 300 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 input from the spatial convolutional network and operates on the spatial convolutional representation produced by the final spatial convolutional layer of the corresponding data processing pipeline.
[0093] The inter-cycle operability freedom of temporal convolutional layers stems from the fact that misalignment attributes are cleared from the spatial convolutional representation by stacking or cascading isolated convolutions performed by a sequence of spatial convolutional layers, which exist in the image data fed into the spatial convolutional network as input.
[0094] Temporal convolutional layers use so-called "combined convolutions," which convolve input channels in subsequent inputs group by group on a sliding window basis. In one specific implementation, these subsequent inputs are the subsequent outputs produced by previous spatial or temporal convolutional layers.
[0095] In some implementations, temporal convolutional layers are part of a temporal convolutional network (or subnetwork) within a specialized architecture. The temporal convolutional network receives its input from a spatial convolutional network. In one implementation, the first temporal convolutional layer of the temporal convolutional network combines spatial convolutional representations between sequencing cycles group by group. In another implementation, subsequent temporal convolutional layers of the temporal convolutional network combine subsequent outputs from previous temporal convolutional layers. The output of the final temporal convolutional layer is fed into an output layer that produces the final output. The output is used for base detection of one or more clusters at one or more sequencing cycles.
[0096] Figure 3 A diagram depicts a neural network-based base detector 300, implemented to efficiently process sequencing images generated during the sequencing process. (Reference) Figure 3 According to one exemplary embodiment, the system described herein can be used to perform a neural network-based base detector 300. It should be noted that... Figure 3The example shown can be referred to as a five-loop-input, one-loop-output neural network. Therefore, the input to the multi-loop neural network model comprises five (5) spatial alignment patches (e.g., 301), such as patches of block data arrays from five sensing cycles of a given block. In this example, the spatial alignment patches may have the same alignment row and column dimensions (x, y) as other patches in the set, such that the information pertains to the same clusters of genetic material on blocks in the sequence cycle. Additionally, the subject patch is a patch of block data arrays from cycle N, such that, for example, a set of five spatial alignment patches includes, for example, a patch from cycle N-2 two cycles before the subject patch (cycle N), a patch from cycle N-1 one cycle before the subject patch (cycle N), a patch from cycle N+1 one cycle after the patch from the subject cycle (cycle N), and a patch from cycle N+2 two cycles after the patch from the subject cycle (cycle N).
[0097] Figure 3 The model depicted (or the neural network-based base detector 300) also includes an isolation stack (e.g., isolation stack 302) of multiple layers of the neural network for each input patch. In other words, isolation stack 302 receives block data from patches of loop N-2 (301) as input, and it is isolated from stacks 304, 306, 308, and 310 that receive data from other loops, such that the isolation stacks do not share their input or intermediate data with each other.
[0098] In some implementations, all individual isolated stacks may have the same (or nearly the same) model and the same (or nearly the same) trained parameters. In other implementations, the model and trained parameters may vary (i.e., they may differ across different stacks). In any case, as an isolated stack, stack 302 may receive block data from the patch of cycle N-2 as input. Stack 304 may receive block data from the patch of cycle N-1 as input. Stack 306 may receive block data from the patch of cycle N as input. Stack 308 may receive block data from the patch of cycle N+1 as input. Stack 310 may receive block data from the patch of cycle N+1 as input.
[0099] Refer again Figure 3The isolated stacked layers (e.g., 312, 322, 332, 342, 352, 362, and 372) can each perform one or more convolutional operations with one or more kernels, including multiple filters for their respective input data. As an example, a patch associated with loop N-2 can include three (3) features when its input is passed to the first layer (i.e., layer 312). However, the output of layer 312 can include more features, such as 10 to 20 features. Similarly, the output of each of layers 322, 332, 342, 352, 362, and 372 can actually include any number of features suitable for a particular implementation. The parameters of the filters can be trained parameters of the neural network, such as weights and biases. The output feature set (intermediate data) from each stack in stacks 302, 304, 306, and 310 is provided as input to the inverse hierarchy 382 of the temporal combination layer, where intermediate data from multiple loops are combined. Figure 3 In the depicted example, the inverse hierarchy 382 includes a first layer 384 and a second layer 386, such that the first layer includes three combined layers, each of which receives intermediate data from three isolated stacks in the isolated stack, and the second (or last) layer includes a combined layer that receives intermediate data from three time layers.
[0100] The output of the second (or final) combining layer 382 can be an output patch of classification data for clusters located in corresponding patches from blocks of cycle N. Alternatively, the output patches can be assembled into an output array of classification data for blocks of cycle N. In some embodiments, the output patches may have a different size and dimension than the input patches. In some embodiments, the output patches may include pixel-wise data that can be host-filtered to select cluster data.
[0101] Depending on the specific implementation, the output classification data can then be applied to a softmax function 394 (or other output activation function) optionally executed by the host or on a configurable processor. Output functions other than the softmax function 394 can also be used (e.g., to generate base detection output parameters based on the maximum output, and then to give base quality using a learned nonlinear mapping with context / network output).
[0102] Finally, the output of the softmax function 394 can be provided as the base detection prediction 396 for loop N and stored in host memory for use in subsequent processing. Other systems can use another function (e.g., another nonlinear model) for calculating the output probability.
[0103] The hierarchical structure 382 of the time combination layers 384 and 386 can jointly represent the temporal logic of the neural network-based base detector 300, and the isolated stacks 302, 304, 306, 308 and 310 can jointly represent the spatial logic of the neural network-based base detector 300.
[0104] The neural network-based base detector 300 can be implemented, for example, using a configurable processor with multiple execution clusters, such that the evaluation of a block cycle is completed within a duration equal to or close to the time interval of a sensing cycle, effectively providing output data in real time. The data flow logic can be configured to distribute the block data and the input units with trained parameters to the execution clusters, and to distribute output patches for aggregation in memory.
[0105] Further details regarding the neural network-based base detector 300 can be found, for example, in U.S. Provisional Patent Application No. 62 / 821,766 (Attorney’s File No. ILLM 1008-9 / IP-1752-PRV), filed March 21, 2019, entitled “ARTIFICIAL INTELLIGENCE-BASED SEQUENCING,” which is incorporated herein by reference.
[0106] Indexed Images
[0107] The index image depicts nucleotides with low-complexity patterns, where some of the four bases A, C, T, and G are represented at frequencies of less than 15%, 10%, or 5% of all nucleotides. This is because, for any given index sequencing cycle, the index image depicts (1) intensity emission from multiple analytes originating from the same sample and sharing the same index sequence, and (2) intensity emission from analytes belonging to different samples and having different index sequences.
[0108] In other words, the first type of analyte has the same index bases for each index sequencing cycle. Therefore, the index image ultimately depicts the same nucleotides from multiple analytes. This reduces the nucleotide diversity of the index image.
[0109] The nucleotide diversity of the index image is further reduced when second-type analytes also end up with the same index bases for certain index sequencing cycles. This occurs for two reasons. First, index sequences are short sequences with two to twenty index bases, and therefore there are not enough positions to generate significant mismatches between different index sequences. Second, typically only twenty samples are pooled for simultaneous sequencing. Therefore, the number of different index sequences that can be depicted by the index image is not large. These factors lead to different index sequences having matching index bases at the same positions (base collisions), which in turn causes analytes with different index sequences to have the same index bases for some index sequencing cycles.
[0110] The low nucleotide diversity in index images results in intensity patterns lacking signal diversity (contrast). Target images, on the other hand, depict nucleotides with highly complex patterns, where each of the four bases A, C, T, and G is represented at a frequency of at least 20%, 25%, or 30% of all nucleotides. This is because target sequences are typically long (e.g., 150 bases) and unique for each analyte, regardless of the source sample. Therefore, unlike index images, target images possess sufficient signal diversity.
[0111] The convolutional kernels and filters of the neural network-based base detector 300 are primarily trained on the target image. Therefore, when an unprocessed indexed image (the original indexed image) is presented to the trained neural network-based base detector 300 during inference, the base detection accuracy of the base detector for indexed reads decreases because its convolutional kernels and filters are trained to detect intensity based on contrast.
[0112] Bypassing preprocessing by training a neural network-based base detector 300 on a large number of raw index images to introduce signal diversity is not feasible, as only so many index sequences are published and publicly available. Furthermore, it is not uncommon for users to design custom index sequences and use them in place of the published ones. Therefore, when trained only on raw index images, the neural network-based base detector 300 may fail to "generalize" well or efficiently during inference and may be prone to a problem that can be termed "overfitting."
[0113] Improved technology
[0114] Improved techniques for base detection of indexed images include reordering of sequencing images and training of a neural network-based base detector 300, in which "temporal" logic (or components or layers) can be effectively "frozen" (or bypassed). Furthermore, improved techniques include various combinations, such as combining "normalization" of sequencing images with reordering of sequencing images and / or with effective "freezing" of temporal logic.
[0115] According to one aspect, sequencing image sets can be reordered to generate one or more reordered sequencing image sets. In addition to target images (e.g., template strands) associated with the target being analyzed, the reordered sequencing image sets (reordered sequencing images) may also include index images providing one or more indexes for one or more libraries used for multiplexing. In any case, reordering of sequencing images can provide several additional sequencing images as additional training data for training a neural network-based base detector 300, because multiple reordered sequencing image sets may be generated based on a single sequencing image set (e.g., images from its original sequential sequencing cycles (e.g., cycle 1, cycle 2, ..., cycle M)). For example, for a sequential sequencing cycle starting from cycle 1, cycle 2, ..., cycle 8, where M = 8, it is possible to generate approximately (M... N -1) or only about M N A rearranged set of sequencing images, where N may represent, for example, the selection window size of the dataset (e.g., 3, 4, 5, 6, 7), is provided as a training ground for a neural network-based base detector 300 (e.g., 8). 5 8 6 8 7 The training data.
[0116] Therefore, given the relatively low diversity and / or limited availability of index images, reordering of sequencing image sets can be particularly useful for index images. It should be noted that reordering of sequencing images can be achieved in various ways. For example, according to one or more embodiments, a “shuffling” technique can be used to reorder the sequencing image set by effectively maintaining one or more images (e.g., the third image in a sequence of five consecutively numbered images from one to five) fixed in the center position, while exchanging the positions of one or more other images relative to the center position between the left wing (e.g., the first image, the second image) and the right wing (e.g., the fourth image, the fifth image). Other techniques for reordering sequencing images include, for example, permutations, combinations, etc., with or without repetition. According to additional embodiments, this technique can be used to efficiently generate rearrangements of sequencing image sets based on one or more parameters (e.g., set size, selection window size). Again, given the relatively low level of diversity of index images, rearranging sequencing images can be particularly useful for index images.
[0117] In addition to reordering the sequencing images, the temporal logic of the neural network-based base detector 300 can also be effectively “frozen” or bypassed, according to another approach, to effectively prevent the temporal logic from learning temporal dependencies (e.g., sequential, chronological, or continuous patterns). In doing so, the temporal logic may have already been trained to at least some extent (e.g., previously trained on a first dataset). Therefore, the “freezing” or bypassing of the neural network’s temporal logic can be achieved through further (or additional) training on a second training dataset that trains the spatial logic but not the temporal logic (e.g., weight updates), at least in terms of backpropagation. Given the relatively low level of diversity in indexed images, “freezing” or bypassing the neural network’s temporal logic may be particularly useful for indexed images.
[0118] According to another aspect, the neural network-based base detector 300 can be trained over multiple training iterations, such that in each iteration, each sequencing image in the corresponding sequencing image is processed by the neural network-based base detector 300 to generate a corresponding base detection prediction. In doing so, one or more weights of the neural network-based base detector can be effectively improved (e.g., via backpropagation) based on a comparison between the corresponding base detection prediction and the corresponding underlying base detection facts.
[0119] As mentioned above, according to other aspects, the improved technique also includes various combinations, including, for example, combining the "normalization" of sequencing images with the reordering of sequencing images and / or with effective "freeze" time logic. Given the following combinations... Figures 4A to 2 As described in 1, these and other aspects and specific implementations will become more apparent. Since freezing is applied during the training of the neural network-based base detector 300, it can be combined with reordering and / or normalization of sequencing images during training. In other specific implementations, the frozen-trained neural network-based base detector 300 can utilize reordering and / or normalization of sequencing images during inference.
[0120] To explain in further detail, Figure 4A Another multi-recurrent neural network model (or a neural network-based base detector 300) is depicted according to another specific implementation. Reference Figure 4A The neural network-based base detector 300 can efficiently process the sequencing image 406 generated during the sequencing process. It should be noted that the sequencing image 406 may include an index image associated with one or more indexes of one or more libraries (e.g., Figure 1 The indexes A and B shown, as well as the target image associated with the target (e.g., the template chain itself without an index).
[0121] Essentially, a neural network-based base detector 300 can be implemented to process the sequencing image 406 as input, for example, similar to or substantially similar to the above-described neural network-based base detector 300. Figure 3 The process described in the diagram is shown below. Again, a five-loop input, one-loop output neural network is shown here as an example. Therefore, Figure 4A The input to the multi-recurrent neural network model (or neural network-based base detector 300) depicted herein may include five spatially aligned patches of a block data array from five sensing cycles of a given block. However, for simplicity, the isolation stack and other components of the neural network-based base detector 300 are not shown in the diagram. Figure 4A As shown in (in Figure 3 (As depicted in the text). On the contrary, in Figure 4A In the sequenced images 406, each is depicted as having multiple datasets with multiple channels corresponding to the multiple channels used to generate the images sequentially.
[0122] In any case, refer to Figure 4A A neural network-based base detector 300 is configured to access a sequencing image set 406. It should be noted that the sequencing images 406 can be a sequence of sequencing images arranged in a sequential order, for example, according to the order in which they were generated as an index or read in a sequencing cycle. In other words, the sequencing images in the sequencing image set 406 can be arranged as follows: Figure 4A The sequencing cycles N-2, N-1, N, N+1, N+2 (or cycles 1, 2, 3, 4, and 5) are arranged as shown. Therefore, the neural network-based base detector 300 can be arranged in the same manner as described above regarding the neural network-based base detector 300. Figure 3 The sequencing image 406, which is the input, is processed in a manner similar to that described in the diagram.
[0123] When processing the sequencing images 406 as input, the neural network-based base detector 300 can be efficiently trained and / or trained for base detection over multiple training iterations (i.e., trained neural network-based base detector 300), such that each training iteration in a given training iteration processes its corresponding sequencing image set (406) through the neural network-based base detector 300 (through its stacks and / or layers) to generate a corresponding base detection prediction (e.g., base detection 422 for cycle N (or cycle 3)). In doing so, errors can be determined based on their associated underlying facts. For example, error 424 can be determined based on the underlying fact 426 of cycle N (or cycle 3). Based on error 424, the weights of the neural network-based base detector 300 can be updated via backpropagation 432.
[0124] Furthermore, the neural network-based base detector 300 can also be configured to reorder and / or process one or more reordered sequencing images 406, as will be described in more detail below (e.g., rearranging the sequencing images in an order different from the sequential order of the images in the sorting cycle used to generate the images). Generally, sequencing images 406 can be reordered (or rearranged) from a first order to a second order different from the first order, as will be described in more detail below. For ease of illustration, a more specific method, namely "washing," will be presented first, rather than a more general method, before presenting a more general approach (including, for example, "permutations" that can produce more reordering options).
[0125] Reordering via shuffling
[0126] To explain in further detail, Figure 4B A neural network-based base detector 300 is described in relation to a reordered sequencing image set 446, according to a specific implementation. Although Figure 4B Not shown, but it should be noted that the neural network-based base detector 300 can also be configured to generate a reordered sequencing image set 446 by effectively reordering the sequencing images 406 and then processing the reordered sequencing image set 446 as input. Alternatively, the neural network-based base detector 300 can also be configured to process only the reordered sequencing image set 446 as input without generating the reordered sequencing image set 446. For simplicity, the neural network-based base detector 300 is described herein as receiving the reordered sequencing image set 446 as input, but it is clear that it can also be configured to reorder the sequencing image set in a first order (e.g., sequencing image 406) to generate a sequencing image set (e.g., sequencing image 446) reordered in a second order different from the first order.
[0127] like Figure 4B As shown, the neural network-based base detector 300 can receive a reordered sequencing image set 446 as input. In any case, the reordered sequencing image set 446 is a reordering of the (original) sequencing image set 406 representing a first order, i.e., cycle 1, cycle 2, cycle 3, cycle 4, and cycle 5 (e.g., the original sequencing cycles at the time of image acquisition). Therefore, the sequencing images of the reordered sequencing image set 446 are in a second order, different from the first order. Figure 4B In the example shown, the reordered sequencing image set 446 is depicted as having the following reordering: cycle 4, cycle 5, cycle 3, cycle 1, and cycle 2. Therefore, Figure 4AThe reordering depicted in the image illustrates an example where the image at the center (cycle) position (i.e., cycle N) remains fixed at its center position (cycle 3), while images from the left wing cycles (N-2 and N-1) corresponding to cycles 1 and 2 are effectively swapped with images from cycles 4 and 5 corresponding to the right wing cycles (N+1 and N+2) relative to the fixed center position (cycle). This reordering, swapping, or exchange can be referred to as "shuffling".
[0128] More generally, during reordering of a sequencing image set via a “wash” (e.g., sequencing image 406), one or more specific images in the sequencing image set may remain in their positions, while the positions of one or more sequencing images in other sequencing images may change. In other words, at least one sequencing image in the right-wing and / or left-wing positions may change between a first order in the first sequencing image set (e.g., sequencing image 406) and a second order (or reordering) in the same sequencing image set (e.g., sequencing image 446). As another example, at least some sequencing images in one or more right-wing and / or one or more left-wing positions may remain fixed between the first and second orders.
[0129] When processing the sequencing images 446 as input, the neural network-based base detector 300 can be efficiently trained and / or trained for base detection over multiple training iterations (i.e., trained neural network-based base detector 300), such that each training iteration in a given training iteration processes its corresponding sequencing image set (446) through the neural network-based base detector 300 (through its stacks and / or layers) to generate a corresponding base detection prediction (e.g., base detection 452 for cycle N (or cycle 3)). In doing so, errors can be determined based on their associated underlying facts. For example, error 454 can be determined based on the underlying fact 426 of cycle N (or cycle 3). Based on error 454, the weights of the neural network-based base detector 300 can be updated via backpropagation 462.
[0130] To provide another example, Figure 4CAnother exemplary sequencing image set 476 is depicted as "Loop 1, Loop 4, Loop 3, Loop 2, and Loop 5". When processing the sequencing images 476 as input, the neural network-based base detector 300 can efficiently perform training and / or be trained for base detection over multiple training iterations (i.e., training the neural network-based base detector 300), such that each training iteration in the corresponding training iteration processes its corresponding sequencing image set (476) through the neural network-based base detector 300 (through its stacks and / or layers) to generate a corresponding base detection prediction (e.g., base detection 482 for Loop N (or Loop 3)). In doing so, errors can be determined based on their associated underlying facts. For example, error 484 can be determined based on the underlying fact 426 of Loop N (or Loop 3). Based on error 484, the weights of the neural network-based base detector 300 can be updated via backpropagation 492.
[0131] Similarly, Figure 5A , Figure 5B and Figure 5C The diagram depicts yet another exemplary reordered sequencing image set 506, 546, and 576 according to yet another exemplary embodiment, wherein the image in the central loop (N) (or loop 3) remains fixed, while one or more other images in one or more loops have been reordered. For example, in reordered sequencing image set 506, loops 2 and 3 both remain in their original positions, but in reordered sequencing image sets 546 and 576, only loop 3 remains fixed, while one or more other loops may have been altered and / or swapped between the left and right wings relative to loop 3, which remains fixed in its central position.
[0132] refer to Figure 5A , Figure 5B and Figure 5C It should be noted that the neural network-based base detector 300 can process each of the reordered (or shuffled) sequencing image sets 506, 546, and 576 in a manner similar to that described above regarding the neural network-based base detector 300. When processing the reordered sequencing image sets 506, 546, and 576, the neural network-based base detector 300 can be effectively trained, or it can be trained for base detection over multiple training iterations (i.e., the neural network-based base detector 300 can be trained), such that each training iteration in the corresponding training iteration processes the corresponding set in its reordered sequencing image sets 506, 546, and 576 through the neural network (not shown) in the neural network-based base detector 300, through its stacks and / or its layers (not shown), to generate the corresponding base detection prediction (e.g., as shown). Figure 5AThe base detection for cycle N (or cycle 3) described in the text is 522). In doing so, errors can be determined based on their associated underlying facts. For example, errors 524 can be determined based on the underlying fact 526 of cycle N (or cycle 3), as well as... Figure 5A As described in the text. Therefore, as an important part of the training iteration, one or more factors (e.g., weights) can be updated via a process commonly known as backpropagation. As an example, Figure 5A Backpropagation 532 is depicted. Errors 554 and 584, and other examples of their corresponding backpropagation 562 and 592, are also depicted.
[0133] The above reordering examples represent more specific exemplary implementations, where, for example, one or more sequencing images in a sequencing image may be determined to remain fixed in their original positions (e.g., the center position N remains fixed, such as...). Figure 4A , Figure 4B and Figure 4C (as shown), or one or more sequencing images may be determined to have been moved from their original locations. However, it should be understood that the sequencing image set may be virtually reordered in any possible and / or desired manner, including, for example, by using random selection with or without replacements (or with or without duplicates).
[0134] Furthermore, it should be understood that reordering a sequencing image set into one or more reordered sequencing image sets can be achieved through even more methods, which can address the need for base detection using a neural network-based base detector 300, and may even better address it. By way of example, a subset selector (e.g., a subset selector component, subset selector logic) can be configured to efficiently generate a reordering (reordered sequencing image set) of the sequencing image set based on one or more parameters, as will be described below with reference to other specific implementations.
[0135] Random arrangement
[0136] To explain in further detail, Figure 6 A subset selector 612 (e.g., subset selector component, subset selector logic) is described, which is configured to efficiently generate a reordered sequencing image set (the reordered sequencing image set) as a subset of the reordered sequencing images based on two (2) parameters according to a specific implementation. Reference Figure 6 The first parameter (M) represents the sequencing image set (e.g., a complete sequencing image set that can be generated during a sequencing run, which in some existing implementations is currently eight (8) or ten (10)). For simplicity, in Figure 6 In this context, the first parameter (M) is described as eight (8), representing eight (8) consecutive cycles (cycle 1, cycle 2, ..., cycle 8) 602. Additionally, in Figure 6In this context, the second parameter (N) is depicted as five (5), six (6), or seven (7). Generally, the second parameter (N) may represent the size of the subset used to select from the set of M images. Thus, the second parameter (N) may, for example, represent a “window” used to select the input to the neural network-based base detector 300. Although not shown, it should be noted that the subset selector 612 may, for example, be provided by the neural network-based base detector 300 (shown in FIG. 4). Of course, the subset selector 612 may also be provided as a separate entity configured as will be readily understood by those skilled in the art. The reordering logic implemented by the subset selector 612 may be random or driven by sequentially proceeding to different permutations and combinations until exhaustion or until premature exit due to the satisfaction of a termination condition.
[0137] In any case, such as Figure 6 As depicted, subset selector 612 can efficiently obtain (e.g., determine, identify, receive as input) M sets, or in this example eight consecutive cycles 602 (ordered consecutively from cycle 1 to cycle 8), and generate N (e.g., five (5)) various cycles of various reordered subsets as reordered sequencing image subsets 626, 636, 646, etc. As shown in the exemplary rearranged sequencing image subset 626, there may be repetition of cycles, for example, cycle 8 (or more precisely, the images in cycle 8) may be repeated in the reordered sequencing image subset 626 generated by subset selector 612.
[0138] For example Figure 6 The reordered sequencing image subsets 656 and 666 depicted in the figure illustrate examples where N is six (6) and seven (7), respectively. In general, for a set of M (e.g., eight (8)) elements, when duplicates exist, approximately M raised to the power of N (MN) can be determined. N (For example, 8) 5 A subset (i.e., the same cycle can be repeated). If repetition is not allowed and / or not expected, the number of possible subsets may be slightly smaller, as will be readily apparent to those skilled in the art. As will also be readily understood to those skilled in the art, various “permutations” and “combinations” may be selected from the original sequencing image (e.g., sequencing image 602 with cycles 1-8) based on one or more parameters (e.g., M and N parameters).
[0139] Generally, multiple subsets of N sequencing images can be selected from a set of M sequencing images, where M > N. In other words, multiple images can exist within a single cycle, where each of the multiple images may, for example, correspond to a single channel, e.g., for... Figure 6The sequencing images shown depict two channels. It should also be noted that the corresponding subsets within the selected subsets can arrange N sequencing images within the corresponding sequences of N sequencing images. Furthermore, the corresponding sequences can have different combinations of N sequencing images (i.e., the combination of N sequencing images can vary with the sequence). Additionally, these combinations can be combinations with or without substitutions. Similarly, the permutations can be permutations with or without substitutions. The corresponding sequences can be arranged with N sequencing images according to continuous or non-continuous sequencing cycles. It should also be noted that for the selection of the corresponding subsets within the multiple selected subsets, N can be determined as a constant, or N can be chosen as a variable such that N varies among the corresponding subsets of the multiple selected subsets. Furthermore, the corresponding subsets of the multiple selected subsets can be selected as sequencing images with or without any overlap.
[0140] Training of the neural network-based base detector 300 can be implemented over multiple training iterations, wherein each training iteration processes the corresponding sequences of its N sequencing images through the neural network-based base detector 300 to generate a corresponding base detection prediction, and updates the weights of the neural network-based base detector 300 (e.g., via backpropagation) based on a comparison between the corresponding base detection prediction and the corresponding base detection underlying facts.
[0141] As mentioned above, subset selector 612 ( Figure 6 The sequence image shown (as shown) can be provided, for example, by a neural network-based base detector 300 (shown in Figure 4) or as a separate entity. However, for simplicity, an additional specific implementation depicts the neural network-based base detector 300 as receiving a reordered (or rearranged) sequencing image. The reordered sequencing image depicted can be provided, for example, by a subset selector 612 (… Figure 6 (As shown) generated.
[0142] More specifically, according to a specific implementation, Figure 7A A subset of 626 reordered sequencing images was depicted (also in...) Figure 6 As shown in the figure, it can be, for example, by subset selector 612 ( Figure 6 (As shown) This is generated by combining a neural network-based base detector 300 (as shown in Figure 4). Reference Figure 7A The neural network-based base detector 300 can receive a reordered subset of sequencing images 626 as input. The neural network-based base detector 300 can then process the reordered subset of sequencing images 626 in a similar manner to generate one or more base detection predictions 702, while taking into account errors 704 and utilizing the underlying base detection facts 706 in backpropagation 712.
[0143] Similarly, Figure 7B and Figure 7CNeural network-based base detection 300 is described in conjunction with reordered subsets of sequencing images 636 and 646, respectively, where base detection predictions 722 and 742 can be performed, while taking into account errors 724 and 744, utilizing the base detection underlying facts 726 and 746 in backpropagation 732 and 752 in a manner similar to that not used above. Although not shown, additional reordered subsets of sequencing images can be fed to the neural network-based base detector 300 and processed by the neural network-based base detector 300 for efficient training of its neural network for base detection. In this way, a neural network-based base detector 300 can be trained over several training iterations, wherein each training iteration processes the corresponding reordered sequences of its N (e.g., five) sequencing images by the neural network-based base detector 300 to generate a corresponding base detection prediction, and updates the weights of the neural network-based base detector 300 (e.g., via backpropagation) based on a comparison between the corresponding base detection prediction and the corresponding base detection underlying facts.
[0144] To explain in further detail, Figure 8A and Figure 8B Additional examples of reordered sequencing image subsets 656 and 666 were depicted using a neural network-based base detector 300 (also in...). Figure 6 (as shown in the diagram), wherein the reordered sequencing image subsets 656 and 666 can also be used individually or in combination with other training iterations (e.g., in combination with training iterations using reordered sequencing image subsets 626, 636, and 646 according to an additional specific implementation) Figure 7A , Figure 7B and Figure 7C As shown in the diagram, the training process will involve performing backpropagation iterations 812 and 832 based on comparing base detection predictions 802 and 822 with base detection underlying facts 806 and 826, respectively, to determine errors 804 and 824.
[0145] Retraining that bypasses the trained temporal logic
[0146] As mentioned above and discussed with respect to some exemplary embodiments, a reordered set of sequencing images can be generated according to one embodiment of the disclosed technology. According to another aspect, the neural network-based base detector 300 can be trained (or further trained) using only the spatial logic of the neural network-based base detector 300 (or previously trained). In other words, the temporal logic of the neural network-based base detector 300 can be effectively “frozen” or bypassed in the second (or further) training, where only the spatial logic (not the temporal logic) is trained, at least in terms of backpropagation (e.g., weight updates). After initial (or first) training based on the initial (or first) training dataset, a different (or second) training dataset can be used in the second (or further) training phase.
[0147] In addition to the spatial logic in the neural network-based base detector 300, temporal logic can also be provided. (Return to reference) Figure 3 The hierarchical structure 382 of the time combination layer 382 can represent the temporal logic of the neural network-based base detector 300, and the isolated stacks 302, 304, 306, 308 and 310 can collectively represent the spatial logic of the neural network-based base detector 300.
[0148] To explain in further detail, Figure 9 The initial (first) training 902 and the further (second) training 932, based on two specific implementations, are described. (Reference) Figure 9 The initial training 902 can be used to effectively train the neural network-based base detector 300 (also shown in Figure 4) for base detection prediction. In doing so, the neural network-based base detector 300 can receive a first training dataset 912 and process it through its two components (i.e., spatial logic 914 and temporal logic 916). As described above, the temporal logic 916 can, for example, be provided as a temporal combination layer 382 (in... Figure 3 (as depicted in the text), and spatial logic 914 can be provided, for example, for use with Figure 9 The isolation stacks 302, 304, 306, 308, and 310 of the neural network-based base detector 300 depicted in the image (also in...) Figure 3 (Depicted in Chinese).
[0149] When processing the first training dataset 912 first via spatial logic 914 and then via temporal logic 916, the neural network-based base detector 300 can utilize backpropagation to update the weights 926 and 928 associated with spatial logic 914 and temporal logic 916, respectively. In other words, both spatial logic 914 and temporal logic 916 can be updated via backpropagation in a similar manner to that described above. It should be noted that the first training dataset 912 can be a sorted set of sequencing images or a reordered set of sequencing images (a reordered set) generated in a similar manner to that described above. However, for at least some applications, it may be desirable to initially use a sorted set of images in the original consecutive order of the sequencing images (cycle 1, cycle 2, ..., cycle M) during the initial training 902 before further training 932 (or a second training) occurs.
[0150] In any case, further (or second) training 932 may be performed after the initial (or first) training 902 has been completed. (See reference) Figure 9 Further (or second) training 932 can be performed by a neural network-based base detector 300. In doing so, the neural network-based base detector 300 receives and processes the second training dataset 942 through its two components: trained spatial logic 944 and trained temporal logic 946. While processing the second training dataset 942, the neural network-based base detector 300 can utilize backpropagation to update only the weights 956 of the trained spatial logic 944. That is, during further (or second) training 932, backpropagation does not update the weights of the trained temporal logic 946 to effectively "freeze" or bypass the trained temporal logic 946. In other words, backpropagation bypasses gradient updates via the trained temporal logic 946 during further (or second) training 932. This means that in further (or second) training 932, backpropagation is performed only through trained spatial logic 944, where gradient updates are determined based on a comparison of base detection predictions with the underlying base detection facts only for trained spatial logic 944 (not for trained temporal logic 946).
[0151] refer to Figure 9The second training dataset 942 may be a set of sorted sequencing images initially obtained during sequencing, or a set of reordered sequencing images generated in a similar manner as described above (the reordered set). For example, the sequencing images in the first training dataset 912 may include read sequencing images generated by read sequencing cycles for a sequencing run. As another example, the second training dataset 942 may include index sequencing images generated by index sequencing cycles for a sequencing run. In this example, the index sequencing images may be reordered sequencing images or sequencing images obtained in a sequential order. As yet another example, the sequencing images in the second training dataset 942 may include a combination of read sequencing images and index sequencing images.
[0152] refer to Figure 9 It should be noted that further (or second) training 932 can effectively retrain the trained spatial logic 944 to provide it as retrained spatial logic (not shown). The retrained spatial logic may differ from the trained spatial logic 944 in its original state before further (or second) training 932 begins, while the trained temporal logic 946 can be effectively “frozen” to remain unchanged after further (or second) training 932. After further (or second) training 932 is completed, the combination of the retrained spatial logic (not shown) and the trained temporal logic 946 can be applied to or used for inference to generate new base detection predictions for (new) sequencing image sets. It should be understood that bypassing the backpropagation update (i.e., retraining) of the trained temporal logic 946 can prevent the neural network-based base detector 300 from learning temporal dependencies (e.g., sequential, chronological, or continuous patterns) between intensity features of indexed sequencing images. Learning temporal dependencies may hinder the effectiveness of training for detecting indexed images at inference time. As a result of avoiding learning time dependence during further (or second) training 932, while allowing the trained spatial logic 944 to be further trained by using backward scaling to provide weight updates 956, even more accurate base detection can be achieved during inference.
[0153] To explain in further detail, Figure 10 A method 1000 for training a neural network-based base detector according to a specific implementation is described. Method 1000 may, for example, be composed of a neural network-based base detector 300 (…). Figure 9 (As shown) is used to train its neural network. It should be noted that a neural network-based base detector may include spatial logic and temporal logic, the spatial logic being configured to extract intensity features limited to each cycle of sequencing images in the input, and the temporal logic being configured to extract intensity features across the entire cycle of sequencing images in the input. Reference Figure 10Initially, the spatial and temporal logic of a neural network-based base detector is trained (1002) on a first training dataset of sequenced images to generate trained spatial and temporal logic. Next, further (or additional) training (1012) is performed using a second training dataset of sequenced images, training only the spatial logic of the neural network-based base detector on a second training dataset of sequenced images to generate retrained spatial logic. It should be noted that further training (1012) may include forward propagation of the sequenced images in the second training dataset through the trained spatial and temporal logic to generate further base detection predictions. However, in further training (1012), backpropagation is restricted only by the trained spatial logic (not the temporal logic), allowing further gradient updates to be determined based on a comparison of the further (or additional) base detection predictions with the underlying facts of further base detection, thus bypassing further gradient updates through backpropagation of the trained temporal logic. Following further training (1012), the neural network-based base detector is retrained (further trained) only on a second training dataset of sequencing images to generate retrained / further / additionally trained spatial logic. Method 1000 may continue to apply (1022) the retrained spatial logic and trained temporal logic of the neural network-based base detector to generate new base detection predictions for new sequencing images (or on new sequencing images) at inference time or during inference, where, for example, base detection may be performed on target samples or template strands with added indexes. Method 1000 may terminate after generating new base detection predictions at inference time or during inference. For example, the sequencing images in the first training dataset may include read sequencing images generated for a read sequencing cycle of a sequencing run, as described above. As another example, the second training dataset may include indexed sequencing images generated for an indexed sequencing cycle of a sequencing run. As yet another example, the sequencing images in the second training dataset may include a combination of read sequencing images and indexed sequencing images.
[0154] To explain in further detail, Figure 11 Another method 1100 for training a neural network-based base detector, according to another specific embodiment, is described. Method 1100 can be used, for example, by a neural network-based base detector 300 to train its neural network. Method 1000 can be related to the above-described method 1000 (in... Figure 10The process is similar to that discussed in the diagram, to train (1102) the spatial and temporal logic of the neural network-based base detector on the first sequencing image training dataset to generate trained spatial and temporal logic. Alternatively, further (or additional) training (1112) can be performed on the second training dataset to generate retrained spatial logic by further training only the spatial logic of the neural network-based base detector on the second sequencing image training dataset in a similar manner to that described above. However, as... Figure 11 As described herein, method 1100 can be configured (1122) with retrained spatial logic and trained temporal logic to perform (or be configured to perform or be configured for the purpose of performing) future base detections (e.g., during inference) using retrained spatial logic and a neural network-based base detector.
[0155] More generally, according to one aspect, a neural network-based base detector can be trained for base detection in sequencing images. To elaborate further, Figure 12 A method 1200 for base detection of sequencing images, according to a specific implementation, is described. Method 1200 can be used, for example, by a neural network-based base detector 300 to train its neural network. Reference Figure 12 Initially, multiple sequences from N sequencing images are obtained (e.g., accessed, received, identified, recognized). Subsequently, a neural network-based base detector (1212) is trained through multiple training iterations, such that in each iteration, the corresponding sequences from the N sequencing images are processed by the neural network-based base detector to generate corresponding base detection predictions. In doing so, one or more weights of the neural network-based base detector can be effectively improved (e.g., via backpropagation), for example, based on a comparison of the corresponding base detection predictions with the corresponding base detection underlying facts.
[0156] To explain in further detail, Figure 13 Another method 1300 for training a neural network-based base detector, according to a specific implementation, is described. Method 1300 can be used, for example, by a neural network-based base detector 300 to train its neural network. Reference Figure 13First, the sequencing image set (1302) is accessed. It should be noted that the sequencing images in this set are arranged in a first order. Next, the sequencing images in one or more reordered sequencing image sets are reordered (1312) (e.g., randomly shuffled, arranged, one or more images remain fixed in their original positions, while one or more other images are repositioned from their original positions in the sequence), such that the sequencing images in the reordered sets are arranged in a second order different from the first order. After reordering the sequencing images from the first order 1312 to the second order, the reordered sequencing image set is processed (1322) to generate at least one base detection prediction. Finally, a neural network-based base detector can be trained (1332) over multiple training iterations, such that each training iteration in a given training iteration processes the corresponding reordered sequencing image set through the neural network-based base detector to generate the corresponding base detection prediction. During training (1332) over multiple training iterations, each training iteration in the corresponding training iteration may also improve the weights of the neural network-based base detector based on one or more comparisons between the corresponding base detection prediction and the corresponding base detection underlying facts (e.g., via backpropagation).
[0157] It should be noted that the above-described techniques and embodiments can be combined with other techniques and embodiments, including the improved techniques described herein and other techniques (e.g., index image normalization). For example, one or more techniques involving reordering (e.g., shuffling, arranging) sequencing images and effectively “freezing” or bypassing trained temporal logic can be combined with one or more normalization techniques, for example, by using one or more normalization techniques provided in U.S. Patent Application No. 62 / 979,384 (Attorney’s File No. ILLM 1015-1 / IP-1857-PRV), filed February 20, 2020, entitled “ARTIFICIAL INTELLIGENCE-BASED BASE CALLING OF INDEX SEQUENCES,” the entire contents of which are incorporated herein by reference and used for all purposes. For example, according to one specific implementation, the index image from the current index sequencing cycle may be normalized based on one or more of the following: (i) the intensity values of the index images from one or more previous index sequencing cycles, (ii) the intensity values of the index images from one or more subsequent index sequencing cycles, and (iii) the intensity values of the index image from the current index sequencing cycle.
[0158] Figure 14A flowchart 1400 of a base detection system disclosed according to a specific implementation is shown. At step 1402, access logic is configured to access a sequencing image set. The sequencing images in this sequencing image set are arranged in a first order. At step 1412, reordering logic is configured to reorder the sequencing images in the reordered sequencing image set. The sequencing images in the reordered sequencing image set are arranged in a second order. The first order differs from the second order. Processing logic is configured to process the reordered sequencing image set and generate at least one base detection prediction 1422.
[0159] Normalization of indexed images
[0160] Generally, normalization across indexed sequencing cycles also includes normalization of image channels within the image data across the indexed sequencing cycles. For example, consider three indexed sequencing cycles: a first indexed sequencing cycle, a second indexed sequencing cycle, and a third indexed sequencing cycle. Also consider that each of the first, second, and third indexed sequencing cycles has two indexed images: a first indexed image (e.g., a red indexed image) in a first image channel (e.g., the red channel) and a second indexed image (e.g., a green indexed image) in a second image channel (e.g., the green channel). The red indexed image from the second indexed sequencing cycle is normalized based on (i) the intensity values of the red and green images from the first indexed sequencing cycle, (ii) the intensity values of the red and green images from the third indexed sequencing cycle, and (iii) the intensity values of the red and green images from the second indexed sequencing cycle. The green index image from the second index sequencing cycle is normalized based on (i) the intensity values of the green image from the first index sequencing cycle, (ii) the intensity values of the red image from the third index sequencing cycle, and (iii) the intensity values of the red image from the second index sequencing cycle. In other specific embodiments, the image may be in the blue and purple channels instead of the red and green channels, or in any other way besides the red and green channels. For example, additional details of the “normalization” technique are provided in U.S. Patent Application No. 62 / 979,384 (Attorney General’s File No. ILLM 1015-1 / IP-1857-PRV), filed February 20, 2020, entitled “Artificial Intelligence-Based Base Calling of Index Sequences,” the entire contents of which are incorporated herein by reference for all purposes.
[0161] Furthermore, normalization may include index images from flanking index sequencing cycles, because, collectively, the nucleotides depicted by index images from the current index sequencing cycle, previous index sequencing cycles, and subsequent index sequencing cycles accumulate to be more diverse than those depicted by an index image from the current index sequencing cycle alone. Extending normalization to index images from flanking index sequencing cycles also includes at least one index image from previous and / or subsequent index sequencing cycles, which depicts one or more nucleotides in a detectable signal state.
[0162] It should be noted that the normalization of sequencing images (e.g., index images) can be performed before or after the sequencing images are reordered. Similarly, during the first and / or second training phases of the neural network-based base detector 300, sequencing images can be selectively or as a complete set normalized for the first and / or second datasets of sequencing images. For example, according to an exemplary embodiment, in further (or second) training of the neural network, one or more index images provided in the second training dataset can be normalized in conjunction with effectively “freezing” the temporal logic of the neural network.
[0163] Enhancement of indexed images
[0164] To further illustrate this point, the exemplary embodiments described above, as well as another embodiment involving a combination of sequencing image normalization and reordering, are discussed below. Furthermore, measurements are compared with other techniques used to train the neural network-based base detector 300 (e.g., "enhancement"). For example, one embodiment using enhancement preprocessing can be used, where the image enhancer uses an enhancement function to preprocess the index image and the target image. In one example, the image enhancer may multiply the intensity values of the index image and the target image by a scaling factor and add an offset value to the result of the multiplication. In another exemplary embodiment, the image enhancer alters the contrast of the index image and the target image. In yet another exemplary embodiment, the image enhancer alters the focus of the index image and the target image. For example, additional details of the “enhanced” technique are provided in U.S. Patent Application No. 62 / 979,384 (Attorney’s File No. ILLM 1015-1 / IP-1857-PRV), filed February 20, 2020, entitled “ARTIFICIAL INTELLIGENCE-BASED BASE CALLING OF INDEX SEQUENCES”, the entire contents of which are incorporated herein by reference for all purposes.
[0165] Technical effects and performance results as objective indicators of creativity
[0166] Illumina enrichment kits (DNA and RNA based) help isolate and enrich specific regions of interest in the genome or transcriptome for sequencing. For example, the TruSight Cancer Group's Illumina DNA Preparation Enrichment (formerly known as Nextera Flex Enrichment) targets 94 genes and 284 SNPs associated with various cancers. The principles of enrichment reactions and commonly used terminology when describing Illumina enrichment kits are explained below. For enrichment kits, a "reaction" (abbreviated as "rxn") refers to the number of enrichment reactions provided by the kit. "Plexity" (abbreviated as "plex") refers to the number of pre-enriched libraries pooled together in an enrichment reaction. For example, an 8-rxn × 12-plex kit has enough reagents to perform eight enrichments. In each enrichment reaction, 12 libraries can be pooled. Therefore, a total of 96 samples can be prepared using this kit. The following figure illustrates how three libraries can be pooled in one enrichment reaction. Figure 23 An example depicting 96 indices.
[0167] Figure 15 The diagram shows measured base detection error rates for previously disclosed “enhanced” and “normalized” implementations of the neural network-based base detector 300, applied to 1-Plex sequencing data. The results show that when training the neural network-based base detector 300 using index loops with single-loop normalization (red), the error rate is indeed high for some loops. The blue and green curves show implementations using the enhanced and unnormalized neural network-based base detector 300. They exhibit reasonable performance but are more difficult to implement due to the additional floating-point complexity. This indicates a need for better solutions.
[0168] Figure 16A , Figure 16B and Figure 16C The measured base detection error rates of three different embodiments of the neural network-based base detector 300 were compared, applied to different complexities (e.g., 96-Plex, 1-Plex, and 3-Plex). The first embodiment (red) is a "reordering" or "shuffling" embodiment of the neural network-based base detector 300 currently disclosed using the aforementioned joint training technique. The second embodiment (blue) is a "freezing" embodiment of the neural network-based base detector 300 currently disclosed using the aforementioned joint training technique. The third embodiment (green) is a "non-normalized enhancement" embodiment of the previously disclosed neural network-based base detector 300. As shown in the performance graphs, both of the currently disclosed embodiments outperform the previously disclosed embodiments.
[0169] Figure 17A , Figure 17B and Figure 17C The measured base detection error rates of three different embodiments of the neural network-based base detector 300 were compared, for applications with different complexities (e.g., 4-Plex, 2-Plex, and 1-Plex). The first embodiment (red) is a "reordering" or "shuffling" embodiment of the neural network-based base detector 300 using the aforementioned joint training technique. The second embodiment (green) is a "freezing" embodiment of the neural network-based base detector 300 using the aforementioned joint training technique. The third embodiment (blue) is a "random permutation" embodiment of the neural network-based base detector 300 using the aforementioned joint training technique. Figure 6 As the performance charts show, all three currently disclosed implementations have comparable performance, with randomized permutations showing slightly better results.
[0170] Figure 18 The graph depicts the "demultiplexing" results of blocks running with different Plexities, comparing RTA (blue), a previously disclosed deep learning implementation (orange) (DL 3c Aug), and the currently disclosed joint training and shuffling implementation (green) (DL 5c Norm*). The results from the new implementation are particularly better for 1-Plex runs compared to RTA and the previously disclosed deep learning implementation. Demultiplexing refers to the percentage of bases in an index sequence that can be resolved to a unique index with allowed mismatches.
[0171] sequencing system
[0172] Figure 19A and Figure 19B A specific implementation of the sequencing system 1900A is described. The sequencing system 1900A includes a configurable processor 1946. The configurable processor 1946 implements the base detection technology disclosed herein. The sequencing system is also referred to as a "sequencing instrument".
[0173] The sequencing system 1900A is operable to obtain any information or data relating to at least one instance of a biological or chemical substance. In some specific embodiments, the sequencing system 1900A is a workstation that may resemble a desktop device or desktop computer. For example, most (or all) of the systems and components used to perform the desired reaction may be located within a common housing 1902.
[0174] In certain specific implementations, the Sequencing System 1900A is a nucleic acid sequencing system configured for a variety of applications, including but not limited to de novo sequencing, resequencing of whole or target genome regions, and metagenomics. The sequencer can also be used for DNA or RNA analysis. In some implementations, the Sequencing System 1900A can also be configured to generate reaction sites in biosensors. For example, the Sequencing System 1900A can be configured to receive a sample and generate surface-attached clusters of clonal amplified nucleic acids derived from the sample. Each cluster can constitute a reaction site in a biosensor or be part of it.
[0175] An exemplary sequencing system 1900A may include a system socket or interface 1910 configured to interact with a biosensor 1912 to perform a desired reaction within the biosensor 1912. (The following is about...) Figure 19A In the description, the biosensor 1912 is loaded into the system socket 1910. However, it should be understood that a cartridge including the biosensor 1912 can be inserted into the system socket 1910, and in some states, the cartridge can be temporarily or permanently removed. As described above, among other things, the cartridge may also include fluid control components and fluid storage components.
[0176] In a particular implementation, the sequencing system 1900A is configured to perform a large number of parallel reactions within a biosensor 1912. The biosensor 1912 includes one or more reaction sites where the desired reaction can occur. These reaction sites may be, for example, fixed to a solid surface of the biosensor or to a bead (or other movable substrate) located within a corresponding reaction chamber of the biosensor. The reaction sites may include, for example, clusters of cloned amplified nucleic acids. The biosensor 1912 may include a solid-state imaging device (e.g., a CCD or CMOS imaging device) and a flow cell mounted thereon. The flow cell may include one or more flow channels that receive a solution from the sequencing system 1900A and direct the solution to the reaction sites. Optionally, the biosensor 1912 may be configured to incorporate a thermal element for transferring heat energy into or out of the flow channels.
[0177] The sequencing system 1900A may include various components, parts, and systems (or subsystems) that interact with each other to perform predetermined methods or assay protocols for biological or chemical analysis. For example, the sequencing system 1900A includes a system controller 1906 that can communicate with the various components, parts, and subsystems of the sequencing system 1900A and the biosensor 1912. For example, in addition to the system socket 1910, the sequencing system 1900A may also include: a fluid control system 1908 for controlling fluid flow through the entire fluid network of the sequencing system 1900A and the biosensor 1912; a fluid storage system 1914 configured to contain all fluids (e.g., gases or liquids) usable by the bioassay system; a temperature control system 1904 for regulating the temperature of the fluids in the fluid network, the fluid storage system 1914, and / or the biosensor 1912; and an illumination system 1916 configured to illuminate the biosensor 1912. As described above, if a cartridge with a biosensor 1912 is loaded into a system socket 1910, the cartridge may also include fluid control components and fluid storage components.
[0178] As also shown in the figure, the sequencing system 1900A may include a user interface 1918 for user interaction. For example, the user interface 1918 may include a display 1920 for displaying or requesting 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 an individual touch, and the touch-sensitive display may also be configured to identify the location of the touch on the display. However, other user input devices 1922 may be used, such as a mouse, touchpad, keyboard, keypad, handheld scanner, voice recognition system, motion recognition system, etc. As will be discussed in more detail below, the sequencing system 1900A may communicate with various components, including a biosensor 1912 (e.g., in the form of a cartridge), to perform desired responses. The sequencing system 1900A may also be configured to analyze data obtained from the biosensors to provide the user with the required information.
[0179] System controller 1906 may include any processor-based or microprocessor-based system, including those using microcontrollers, reduced instruction set computers (RISC), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), coarse-grained reconfigurable architectures (CGRAs), logic circuits, and any other circuitry or processor capable of performing the functions described herein. The examples above are merely illustrative and are therefore not intended to limit the definition and / or meaning of the term "system controller" in any way. In an exemplary specific implementation, system controller 1906 executes a set of instructions stored in one or more storage elements, memories, or modules to perform at least one of the following: acquiring detection data and / or analyzing detection data. Detection data may include multiple pixel signal sequences, such that pixel signal sequences from each of millions of sensors (or pixels) can be detected within numerous base detection cycles. Storage elements may be in the form of information sources or physical memory elements within the sequencing system 1900A.
[0180] The instruction set may include various commands instructing the sequencing system 1900A or biosensor 1912 to perform specific operations (such as the methods and procedures described herein in various specific embodiments). The instruction set may be in the form of a software program that forms part of one or more tangible, non-transitory computer-readable media. As used herein, the terms “software” and “firmware” are interchangeable and include any computer program stored in memory for execution by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above memory types are merely exemplary and therefore do not limit the types of memory that can be used to store computer programs.
[0181] The software can take various forms, such as system software or application software. Furthermore, the software can be a collection of independent programs, or a program module or part of a program module within a larger program. The software may also include modular programming in the form of object-oriented programming. After the detection data is obtained, the detection data can be processed automatically by the sequencing system 1900A in response to user input or in response to a request from another processor (e.g., a remote request via a communication link). In the illustrated embodiment, the system controller 1906 includes an analysis module 1944. In other embodiments, the system controller 1906 does not include the analysis module 1944, but the analysis module 1944 is accessible (e.g., the analysis module 1944 may be hosted separately in the cloud).
[0182] The system controller 1906 can be connected via a communication link to the biosensor 1912 and other components of the sequencing system 1900A. The system controller 1906 can also be communicatively connected to off-site systems or servers. The communication link can be hardwired, wired, or wireless. The system controller 1906 can receive user input or commands from the user interface 1918 and the user input device 1922.
[0183] The fluid control system 1908 includes a fluid network and is configured to guide and regulate the flow of one or more fluids through the fluid network. The fluid network may be in fluid communication with a biosensor 1912 and a fluid storage system 1914. For example, selected fluid may be drawn from the fluid storage system 1914 and guided in a controlled manner to the biosensor 1912, or fluid may be drawn from the biosensor 1912 and directed toward, for example, a waste reservoir in the fluid storage system 1914. Although not shown, the fluid control system 1908 may include a flow sensor that detects the velocity or pressure of the fluid within the fluid network. The sensor may communicate with a system controller 1906.
[0184] Temperature control system 1904 is configured to regulate the temperature of fluids at different regions of the fluid network, fluid storage system 1914, and / or biosensor 1912. For example, temperature control system 1904 may include a thermal cycler that interfaces with biosensor 1912 and controls the temperature of fluid flowing along reaction sites in biosensor 1912. Temperature control system 1904 may also regulate the temperature of solid-state elements or components of sequencing system 1900A or biosensor 1912. Although not shown, temperature control system 1904 may include sensors for detecting the temperature of fluids or other components. These sensors may communicate with system controller 1906.
[0185] Fluid storage system 1914 is in fluid communication with biosensor 1912 and can store various reaction components or reactants for carrying out the desired reaction therein. Fluid storage system 1914 can also store fluids for washing or cleaning the fluid network and biosensor 1912, as well as for diluting reactants. For example, fluid storage system 1914 may include various reservoirs for storing samples, reagents, enzymes, other biomolecules, buffer solutions, aqueous solutions, and nonpolar solutions, etc. Furthermore, fluid storage system 1914 may include a waste reservoir for receiving waste from biosensor 1912. In embodiments including a cartridge, the cartridge may include one or more of a fluid storage system, a fluid control system, or a temperature control system. Therefore, one or more components related to those systems described herein may be housed within a cartridge housing. For example, the cartridge may have various reservoirs for storing samples, reagents, enzymes, other biomolecules, buffer solutions, aqueous solutions, and nonpolar solutions, waste, etc. Therefore, one or more of the fluid storage system, fluid control system, or temperature control system may be removably coupled to the bioassay system via the cartridge or other biosensor.
[0186] The illumination system 1916 may include a light source (e.g., one or more LEDs) and multiple optical components for illuminating the biosensor. Examples of light sources may include lasers, arc lamps, LEDs, or laser diodes. Optical components may be, for example, reflectors, dichroic mirrors, beam splitters, collimators, lenses, filters, wedge mirrors, prisms, mirrors, detectors, etc. In a specific embodiment using the illumination system, the illumination system 1916 may be configured to direct excitation light to the reaction site. As an example, the fluorophore may be excited by light of a green wavelength; therefore, the wavelength of the excitation light may be approximately 1932 nm. In one embodiment, the illumination system 1916 is configured to produce illumination parallel to the surface normal of the surface of the biosensor 1912. In another embodiment, the illumination system 1916 is configured to produce illumination at an angle relative to the surface normal of the surface of the biosensor 1912. In yet another embodiment, the illumination system 1916 is configured to produce illumination with multiple angles, including some parallel illumination and some angled illumination.
[0187] System socket or interface 1910 is configured to engage biosensor 1912 in at least one of mechanical, electrical, or fluidic means. System socket 1910 may hold biosensor 1912 in a desired orientation to facilitate fluid flow through biosensor 1912. System socket 1910 may also include electrical contacts configured to engage biosensor 1912, enabling sequencing system 1900A to communicate with and / or power biosensor 1912. Furthermore, system socket 1910 may include a fluid port (e.g., a nozzle) configured to engage biosensor 1912. In some embodiments, biosensor 1912 is removably coupled to system socket 1910 in a mechanical, electrical, and fluidic manner.
[0188] Furthermore, the sequencing system 1900A can communicate remotely with other systems or networks, or with other bioassay systems 1900A. Detection data obtained by the bioassay system 1900A can be stored in a remote database.
[0189] Figure 19B It is possible Figure 19A The block diagram of the system controller 1906 used in the system is shown below. In one specific implementation, 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 a sub-algorithm for performing a particular process. The system controller 1906 is conceptually exemplified as a collection 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, wherein functional operations are distributed among the processors. As a further alternative, the modules described below may be implemented using a hybrid configuration, wherein some modular functions are executed using dedicated hardware, while other modular functions are executed using an off-the-shelf PC, etc. Modules may also be implemented as software modules within a processing unit.
[0190] During operation, communication port 1950 can communicate with biosensor 1912 ( Figure 19A ) and / or subsystems 1908, 1914, 1904 ( Figure 19A It transmits information (e.g., commands) or receives information (e.g., data) from it. In a specific implementation, communication port 1950 may output a sequence of multiple pixel signals. Communication link 1934 may be connected to user interface 1918 ( Figure 19AThe system receives user input and transmits data or information to the user interface 1918. Data from the biosensor 1912 or subsystems 1908, 1914, 1904 can be processed in real time by the system controller 1906 during a bioassay session. Alternatively, data can be temporarily stored in the system memory during a bioassay session and processed at a slower rate than in real-time or offline operation.
[0191] like Figure 19B As shown, the system controller 1906 may include multiple modules 1926-1948 that communicate with the main control module 1924 and the central processing unit (CPU) 1952. The main control module 1924 may communicate with the user interface 1918. Figure 19A Communication. Although modules 1926-1948 are shown communicating directly with the main control module 1924, modules 1926-1948 can also communicate directly with each other, and directly with the user interface 1918 and the biosensor 1912. Additionally, modules 1926-1948 can communicate with the main control module 1924 through other modules.
[0192] Multiple modules 1926-1948 include system modules 1928-1932, 1926 that communicate with subsystems 1908, 1914, 1904, and 1916. Fluid control module 1928 can communicate with fluid control system 1908 to control valves and flow sensors in the fluid network, thereby controlling the flow of one or more fluids through the fluid network. Fluid storage module 1930 can notify the user when the fluid level is low or when the waste reservoir is at or near its capacity. Fluid storage module 1930 can also communicate with temperature control module 1932 to allow fluid to be stored at a desired temperature. Illumination module 1926 can communicate with illumination system 1916 to illuminate the reaction site at a specified time during the protocol, such as after a desired reaction (e.g., a binding event) has occurred. In some embodiments, illumination module 1926 can communicate with illumination system 1916 to illuminate the reaction site at a specified angle.
[0193] Multiple 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 associated with the biosensor 1912. The device module 1936 may, for example, communicate with a system socket 1910 to confirm that the biosensor has established electrical and fluid connections with the sequencing system 1900A. The identification module 1938 may receive signals identifying the biosensor 1912. The identification module 1938 may use the identity of the biosensor 1912 to provide additional information to the user. For example, the identification module 1938 may determine and subsequently display a batch number, manufacturing date, or suggested protocols for operation with the biosensor 1912.
[0194] Multiple modules 1926-1948 also include an analysis module 1944 (also referred to as a signal processing module or signal processor) for receiving and analyzing signal data (e.g., image data) from the biosensor 1912. The analysis module 1944 includes memory (e.g., RAM or flash memory) for storing the detection / image data. The detection data may include multiple pixel signal sequences, such that pixel signal sequences from each of millions of sensors (or pixels) can be detected within numerous base detection cycles. The signal data may be stored for subsequent analysis or transmitted to a user interface 1918 to display desired information to the user. In some specific implementations, the signal data may be processed by a solid-state imaging device (e.g., a CMOS image sensor) before being received by the analysis module 1944.
[0195] Analysis module 1944 is configured to acquire image data from a photodetector at each of multiple sequencing cycles. Image data is derived from the emission signals detected by the photodetector. Analysis module 1944 processes the image data of each of the multiple sequencing cycles via a neural network-based base detector 300, and generates base detections for at least some of the analytes at each of the multiple sequencing cycles. The photodetector may be part of one or more top-view cameras (e.g., an Illumina GAIIx CCD camera that images the clusters on biosensor 1912 from above), or it may be part of biosensor 1912 itself (e.g., an Illumina iSeq CMOS image sensor located below the clusters on biosensor 1912 and imaged from the bottom).
[0196] The output of the photodetector is a sequencing image, each depicting the intensity emission of the cluster and its surrounding background. The sequencing image depicts the intensity emission resulting from nucleotide incorporation into the sequence during sequencing. The intensity emission originates from the associated analyte and its surrounding background. The sequencing images are stored in memory 1948.
[0197] Protocol modules 1940 and 1942 communicate with main control module 1924 to control the operation of subsystems 1908, 1914, and 1904 during a predetermined assay protocol. Protocol modules 1940 and 1942 may include a set of instructions for instructing 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 the sequencing-by-synthesis process. In SBS, the extension of nucleic acid primers along a nucleic acid template is monitored to determine the sequence of nucleotides in the template. The underlying chemical process may be polymerization (e.g., catalyzed by a polymerase) or ligation (e.g., catalyzed by a ligase). In a specific polymerase-based SBS implementation, fluorescently labeled nucleotides are added to primers in a template-dependent manner (causing primer extension), such that detection of the sequence and type of nucleotides added to the primers can be used to determine the sequence of the template. For example, to initiate a first SBS cycle, a command can be issued to deliver one or more labeled nucleotides, DNA polymerase, etc., to / through a flow cell containing an array of nucleic acid templates. The nucleic acid templates may be located at corresponding reaction sites. Those reaction sites where primer extension results in the incorporation of labeled nucleotides can be detected by an imaging event. During the imaging event, illumination system 1916 can provide excitation light to the reaction sites. Optionally, the nucleotides may also include a reversible termination property that terminates further primer extension once the nucleotide is added to the primer. For example, a nucleotide analog with a reversible termination moiety can be added to the primer, such that subsequent extension does not occur until a deblocking agent is delivered to remove that moiety. Thus, in a specific implementation using reversible termination, a command can be issued to deliver a deblocking agent to the flow cell (before or after detection). One or more commands can be issued to perform washing between the various delivery steps. This 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 in, for example, Bentley et al., Nature 4196:193-199(20019), WO 04 / 0119497, US 7,0197,026, WO 91 / 066719, WO 07 / 123744, US 7,329,492, US7,211,414, US 7,3119,019, US 7,4019,2191, and US20019 / 01470190192, each of which is incorporated herein by reference.
[0198] For the nucleotide delivery step in the SBS cycle, a single type of nucleotide can be delivered at once, or multiple different nucleotide types (e.g., A, C, T, and G together) can be delivered. For nucleotide delivery configurations where only a single type of nucleotide is present at a time, the different nucleotides do not need to have different labels, as they can be distinguished based on the inherent time intervals in individualized delivery. Therefore, sequencing methods or apparatus can use monochromatic detection. For example, the excitation source only needs to provide excitation at a single wavelength or within a single wavelength range. For nucleotide delivery configurations where delivery results in the simultaneous presence of multiple different nucleotides in the flow cell, the sites incorporating different nucleotide types can be distinguished based on different fluorescent labels attached to the corresponding nucleotide types in the mixture. For example, four different nucleotides, each with one of four different fluorophores, can be used. In one specific implementation, excitation in four different regions of the spectrum can be used to distinguish the four different fluorophores. For example, four different excitation radiation sources can be used. Alternatively, fewer than four different excitation sources can be used, but optical filtering of excitation radiation from a single source can be used to generate different ranges of excitation radiation at the flow cell.
[0199] In some specific implementations, fewer than four different colors can be detected in a mixture containing four different nucleotides. For example, nucleotide pairs can be detected at the same wavelength, but distinguished based on the intensity difference of one member relative to the other, or based on a change in the presence or absence of a signal in one member that results in a signal that is significantly different from the signal of the other member of that pair (e.g., by chemical modification, photochemical modification, or physical modification). Exemplary apparatuses and methods for distinguishing four different nucleotides using detection with fewer than four colors are described, for example, in U.S. Patent Application Serial Nos. 61 / 19319.294 and 61 / 619.19719, the entire contents of which are incorporated herein by reference. U.S. Application 13 / 624,200, filed September 21, 2012, is also incorporated herein by reference in its entirety.
[0200] Multiple protocol modules may also include a sample preparation (or generation) module 1942, configured to command a fluid control system 1908 and a temperature control system 1904 to amplify the product within the biosensor 1912. For example, the biosensor 1912 may be coupled to a sequencing system 1900A. The amplification module 1942 may instruct the fluid control system 1908 to deliver necessary amplification components to the reaction chamber within the biosensor 1912. In other embodiments, the reaction site may already contain components for amplification, such as template DNA and / or primers. After the amplification components are delivered to the reaction chamber, the amplification module 1942 may instruct the temperature control system 1904 to cycle through different temperature phases according to a known amplification protocol. In some embodiments, amplification and / or nucleotide incorporation are performed isothermally.
[0201] The SBS module 1940 can issue commands to perform bridged PCR, in which clusters of cloned amplicones are formed on localized regions within the channels of the flow cell. After amplicon generation via bridged PCR, the amplicones can be "linearized" to prepare single-stranded template DNA or sstDNA, and sequencing primers can be hybridized to universal sequences side-linked to regions of interest. For example, sequencing-by-synthesis methods based on reversible terminators can be used as described above or as follows.
[0202] Each base detection or sequencing cycle can be performed by extending sstDNA with a single base, which can be accomplished, for example, by using a modified DNA polymerase and a mixture of four types of nucleotides. Different types of nucleotides can have unique fluorescent labels, and each nucleotide can also have a reversible terminator that allows only single-base incorporation in each cycle. After adding a single base to the sstDNA, excitation light can be incident on the reaction site and fluorescence emission can be detected. After detection, the fluorescent label and terminator can be chemically cleaved from the sstDNA. This can then be followed by another similar base detection or sequencing cycle. In such sequencing protocols, the SBS module 1940 instructs the fluid control system 1908 to guide the flow of reagents and enzyme solutions through the biosensor 1912. Exemplary SBS methods based on reversible terminators that can be used with the apparatus and methods described herein are described in U.S. Patent Application Publication 2007 / 0166705A1, U.S. Patent Application Publication 2006 / 0188901A1, U.S. Patent 7,057,026, U.S. Patent Application Publication 2006 / 0240439A1, U.S. Patent Application Publication 2006 / 0281109A1, PCT Publication WO 05 / 065814, U.S. Patent Application Publication 2005 / 0100900A1, PCT Publication WO 06 / 064199, and PCT Publication WO 07 / 010251, each of which is incorporated herein by reference in its entirety. Exemplary reagents for SBS based on reversible terminators are described in U.S. Patents 7,541,444, 7,057,026, 7,414,116, 7,427,673, 7,566,537, 7,592,435, and WO 07 / 135368, each of which is incorporated herein by reference in its entirety.
[0203] In some implementations, the amplification module and the SBS module can operate in a single assay protocol, where, for example, template nucleic acids are amplified and subsequently sequenced within the same kit.
[0204] The sequencing system 1900A also allows users to reconfigure assay protocols. For example, the sequencing system 1900A can provide users with options for modifying the determined protocol via the user interface 1918. For instance, if it is determined that the biosensor 1912 will be used for amplification, the sequencing system 1900A can request the temperature of the annealing cycle. Furthermore, the sequencing system 1900A can issue a warning to the user if they have provided user input that is generally unacceptable for the selected assay protocol.
[0205] In a specific implementation, the biosensor 1912 comprises millions of sensors (or pixels), each sensor (or pixel) generating multiple pixel signal sequences in a subsequent base detection cycle. The analysis module 1944 detects the multiple pixel signal sequences based on the row-by-row and / or column-by-column positions of the sensors on the sensor array and assigns them to the corresponding sensors (or pixels).
[0206] Figure 19C This is a simplified block diagram of a system used to analyze sensor data (such as base detection sensor output) from a sequencing system 1900A. Figure 19C In the example, the system includes a configurable processor 1946. The configurable processor 1946 can coordinate with a runtime program / logic 1980 executed by a central processing unit (CPU) 1952 (i.e., the host processor) to execute a base detector (e.g., a neural network-based base detector 300). The sequencing system 1900A includes a biosensor 1912 and a flow cell. The flow cell may include one or more blocks in which clusters of genetic material are exposed to a sequence of analytical streams, the sequence of which is used to elicit a reaction in the clusters to identify bases in the genetic material. The sensor senses the reaction of each cycle of that sequence in each block of the flow cell to provide block data. Genetic sequencing is a data-intensive operation that converts base detection sensor data into base detection sequences for each cluster of genetic material sensed during the base detection operation.
[0207] The system in this example includes a CPU 1952 that executes runtime program / logic 1980 to coordinate base detection operations, a memory 1948B for storing sequences of block data arrays, base detection reads generated by the base detection operations, and other information used in the base detection operations. Additionally, in this illustration, the system includes a memory 1948A for storing configuration files (or multiple files) such as FPGA bit files and model parameters for configuring and reconfiguring the neural network of the configurable processor 1946, and for executing the neural network. The sequencing system 1900A may include programs for configuring the configurable processor and, in some specific implementations, a reconfigurable processor to execute the neural network.
[0208] The sequencing system 1900A is coupled to a configurable processor 1946 via a bus 1989. The bus 1989 can be implemented using high-throughput technologies, such as, in one example, a bus technology compatible with the PCIe standard (Rapid Peripheral Component Interconnect) currently maintained and developed by the PCI-SIG (PCI Special Interest Group). Also in this example, a memory 1948A is coupled to the configurable processor 1946 via a bus 1993. The memory 1948A can be on-board memory disposed on a circuit board having the configurable processor 1946. The memory 1948A is used by the configurable processor 1946 to access working data used in base detection operations at high speed. The bus 1993 can also be implemented using high-throughput technologies such as bus technologies compatible with the PCIe standard.
[0209] Configurable processors, including field-programmable gate arrays (FPGAs), coarse-grained reconfigurable arrays (CGRAs), and other configurable and reconfigurable devices, can be configured to perform a variety of functions more efficiently or faster than a general-purpose processor that executes a computer program. Configuring a configurable processor involves compiling a functional description to produce a configuration file, sometimes called a bitstream or bitfile, and distributing the configuration file to configurable elements on the processor. This configuration file defines the logical functions to be performed by the configurable processor by configuring circuitry to set data flow patterns, the use of distributed memory and other on-chip memory resources, lookup table contents, the operation of configurable logic blocks and configurable execution units (such as multiply-accumulate units, configurable interconnects, and other elements of the configurable array). A configurable processor is reconfigurable if the configuration file can be changed in the field by changing the loaded configuration file. For example, the configuration file can be stored in volatile SRAM elements, non-volatile read-write memory elements, and combinations thereof, distributed across an array of configurable elements on the configurable or reconfigurable processor. A variety of commercially available configurable processors are suitable for base detection operations as described herein. Examples include Google's Tensor Processing Unit (TPU). TM Rackmount solutions (such as GX4 Rackmount Series) TM GX9 Rackmount Series TM NVIDIA DGX-1 TM Microsoft's Stratix V FPGA TM , Graphcore’s Intelligent Processor Unit (IPU) TM Qualcomm's Snapdragon processors TM Zeroth Platform TMNVIDIA's Volta TM NVIDIA's Drive PX TM , NVIDIA's JETSON TX1 / TX2 MODULE TM Intel's Nirvana TM Movidius VPU TM ,Fujitsu DPI TM ARM's DynamicIQ TM IBM TrueNorth TM It has Testa V100s TM Lambda GPU servers, Xilinx Alveo TM U200, Xilinx Alveo TM U2190, Xilinx Alveo TM U280, Intel / Altera Stratix TM GX2800, Intel / Altera Stratix TM GX2800 and Intel Stratix TM GX10M. In some examples, the host CPU can be implemented on the same integrated circuit as the configurable processor.
[0210] The specific implementation described herein uses a configurable processor 1946 to implement a neural network-based base detector 300. The configuration file for the configurable processor 1946 can be implemented by specifying the logic functions to be performed using a high-level description language (HDL) or register-transfer level RTL language specification. The specification can be compiled to generate the configuration file using resources designed for the selected configurable processor. The same or similar specifications can be compiled to generate designs for application-specific integrated circuits (ASICs) that may not be configurable processors.
[0211] Therefore, in all the specific embodiments described herein, alternative embodiments of the configurable processor 1946 include a configured processor comprising an application-specific ASIC or application-specific integrated circuit or integrated circuit group, or a system-on-a-chip (SoC) device, or a graphics processing unit (GPU) processor or a coarse-grained reconfigurable architecture (CGRA) processor, the configured processor being configured to perform the neural network-based base detection operation as described herein.
[0212] Generally speaking, the configurable processor and the configured processor described herein, which are configured to execute the operation of a neural network, are referred to herein as neural network processors.
[0213] In this example, the configurable processor 1946 is configured by a configuration file loaded by a program executed using CPU 1952, or by other sources configuring an array of configurable elements 1991 (e.g., configuration logic blocks (CLBs), such as lookup tables (LUTs), flip-flops, computational processing units (PMUs) and computational memory units (CMUs), configurable I / O blocks, programmable interconnects) on the configurable processor to perform base detection functionality. In this example, the configuration includes data flow logic 1997, coupled to buses 1989 and 1993, and performs functions for distributing data and control parameters among the elements used in the base detection operation.
[0214] Furthermore, the configurable processor 1946 is configured with data flow logic 1997 to execute a neural network-based base detector 300. Logic 1997 includes multiple loop execution clusters (e.g., 1979), which in this example include execution clusters 1 through X. The number of multiple loop execution clusters can be selected based on a trade-off between the required throughput of the operation and the available resources on the configurable processor 1946.
[0215] The multi-loop execution cluster is coupled to the data flow logic 1997 via a data flow path 1999 implemented using configurable interconnects and memory resources on the configurable processor 1946. Additionally, the multi-loop execution cluster is coupled to the data flow logic 1997 via a control path 1995 implemented, for example, using configurable interconnects and memory resources on the configurable processor 1946. This control path provides indications of available execution clusters, prepares input units for providing to the available execution clusters for executing the neural network-based base detector 300, prepares to provide trained parameters to the neural network-based base detector 300, prepares to provide output blocks of base detection classification data, and other control data for executing the neural network-based base detector 300.
[0216] Configurable processor 1946 is configured to execute the operation of neural network-based base detector 300 using trained parameters to generate classification data for sensing cycles used in base detection operations. The execution of neural network-based base detector 300 generates classification data for subject sensing cycles used in base detection operations. The operation of neural network-based base detector 300 operates on a sequence comprising a digital array of N block data from corresponding sensing cycles of N sensing cycles, wherein the N sensing cycles, in the examples described herein, provide sensor data for a different base detection operation at a base position for each operation in the time series. Optionally, some of the N sensing cycles may be out of order, depending on the specific neural network model being executed, if desired. The number N can be any number greater than 1. In some examples described herein, the sensing cycles in the N sensing cycles represent a set of sensing cycles that precede at least one sensing cycle and follow at least one sensing cycle in the time series. Examples described herein are integers where the number N is equal to or greater than five.
[0217] Dataflow logic 1997 is configured to move at least some trained parameters of block data and model parameters from memory 1948A to a configurable processor 1946 for the operation of a neural network-based base detector 300 using input units for a given run. These input units include block data for spatially aligned blocks of N arrays. The input units can be moved via a direct memory access operation in a DMA operation, or in smaller units that move in coordination with the execution of the deployed neural network during available time slots.
[0218] Block data for sensing cycles, as described herein, may include an array of sensor data having one or more features. For example, the sensor data may include two images, which are analyzed to identify one of four bases at a base position in the genetic sequence of DNA, RNA, or other genetic material. The block data may also include metadata about the images and the sensors. For example, in a specific implementation of a base detection operation, the block data may include information about the alignment of the image with the clusters, such as information about the distance from the center, which indicates the distance of each pixel in the sensor data array from the center of the cluster of genetic material on the block.
[0219] During the execution of the neural network-based base detector 300 as described below, the block data may also include data generated during the execution of the neural network-based base detector 300, referred to as intermediate data, which can be reused instead of being recalculated during the operation of the neural network-based base detector 300. For example, during the execution of the neural network-based base detector 300, data flow logic 1997 may write intermediate data into memory 1948A instead of sensor data for a given block of the block data array. Specific implementations similar to this are described in more detail below.
[0220] As shown in the figure, a system for analyzing the output of a base detection sensor is described. This system includes a memory (e.g., 1948A) accessible by a runtime program / logic 1980, which stores block data including sensor data from blocks of sensing loops of a base detection operation. Additionally, the system includes a neural network processor, such as a configurable processor 1946 with access to the memory. The neural network processor is configured to execute the operation of a neural network using trained parameters to generate classification data for the sensing loops. As described herein, the operation of the neural network operates on a sequence of N arrays of block data from the corresponding sensing loops (including the subject loop) of N sensing loops to generate classification data for the subject loop. Data flow logic 1997 is provided to move the block data and trained parameters from the memory to the neural network processor for the operation of the neural network using input units (including data from spatially aligned patches of the N arrays of the corresponding sensing loops of the N sensing loops).
[0221] Additionally, a system is described in which a neural network processor has access to memory and includes multiple execution clusters configured to execute a neural network. Dataflow logic 1997 accesses memory and the execution clusters to provide input units of block data to available execution clusters among the multiple execution clusters. The input units include N spatial alignment blocks from an array of block data from a corresponding sensing loop (including a subject sensing loop), and cause the execution clusters to apply the N spatial alignment blocks to the neural network to produce output blocks of classification data for the spatial alignment blocks of the subject sensing loop, where N is greater than 1.
[0222] Figure 20AThis is a simplified diagram illustrating various aspects of a base detection operation, including the functionality of a runtime program (e.g., runtime logic 1980) executed by the host processor. In this diagram, the output from the image sensor in the flow cell is provided on line 2000 to image processing thread 2001, which performs image processing such as alignment and arrangement in an array of sensor data for individual blocks, and image resampling. The image sensor output can also be used by a process that computes a block cluster mask for each block in the flow cell, which identifies pixels in the sensor data array corresponding to genetic material clusters on the corresponding block of the flow cell. Depending on the state of the base detection operation, the output of image processing thread 2001 is provided on line 2002 to scheduling logic 2003 in the CPU, which routes the block data array to a data cache 2005 (e.g., an SSD storage device) on high-speed bus 2004, or to neural network processor hardware 2007, such as... Figure 19C The configurable processor 1946. Processed and transformed images can be stored on data cache 2005 for use in previously used sensing loops. Hardware 2007 returns the classification data output by the neural network to scheduling logic 2003, which passes the information to data cache 2005, or to thread 2009 on line 2008 to perform base detection and quality score calculation using the classification data, and can arrange the data for base detection reads in a standard format. On line 2010, the output of thread 2009 performing base detection and quality score calculation is provided to thread 2011, which aggregates base detection reads, performs other operations such as data compression, and writes the resulting base detection output to a specified destination for client use.
[0223] In some implementations, the host may include final processing of the output of hardware 2007 to support threads of the neural network (not shown). For example, hardware 2007 may provide output of classification data from the final layer of a multi-cluster neural network. The host processor may perform output activation functions such as a softmax function on the classification data to configure the data for use by the base detection and quality scoring threads 2002. Additionally, the host processor may perform input operations (not shown), such as batch normalization of block data before it is input to hardware 2007.
[0224] Figure 20B It is a configurable processor 1946, such as Figure 19C A simplified diagram of the configuration of the configurable processor. In Figure 20B In this configuration, the configurable processor 1946 includes an FPGA with multiple high-speed PCIe interfaces. The FPGA is configured with a package 2090, which includes a reference... Figure 19CThe data flow logic 1997 is described. The package 2090 manages the interface and coordination with the runtime program in the CPU via CPU communication link 2077, and manages communication with the onboard DRAM 2099 (e.g., memory 1448A) via DRAM communication link 2097. The data flow logic 1997 in the package 2090 provides block data retrieved by traversing a block data array of N cycles on the onboard DRAM 2099 to cluster 2085, and retrieves process data 2087 from cluster 2085 to deliver back to the onboard DRAM 2099. The package 2090 also manages data transfer between the onboard DRAM 2099 and host memory for both the input array of block data and the output blocks of classified data. The package transfers block data on line 2083 to the assigned cluster 2085. The package provides trained parameters such as weights and biases on line 2081 to the cluster 2085 retrieved from the onboard DRAM 2099. The wrapper on line 2079 provides configuration and control data to cluster 2085, which is provided from or generated in response to a runtime program on the host via CPU communication link 2077. The cluster can also provide status signals on line 2089 to wrapper 2090, which cooperate with control signals from the host to manage the traversal of the block data array, thereby providing spatially aligned block data and using the resources of cluster 2085 to perform multi-recurrent neural networks on the block data.
[0225] As described above, multiple clusters may exist on a single configurable processor managed by the wrapper 2090, and these clusters are configured to execute on corresponding blocks of multiple blocks of block data. Each cluster may be configured to provide classification data for base detection in a subject sensing cycle using block data from multiple sensing cycles as described herein.
[0226] In system examples, model data (including kernel data such as filter weights and biases) can be sent from the host CPU to a configurable processor, allowing the model to be updated based on the number of loops. As a representative example, a base detection operation may include approximately several hundred sensing loops. In some implementations, the base detection operation may include paired-end reads. For example, model training parameters may be updated every 20 loops (or another number of loops), or according to an update pattern implemented for a specific system and neural network model. In some implementations that include paired-end reads, where the sequence of a given string in a genetic cluster on a block comprises a first portion extending down (or up) along the string from a first end and a second portion extending up (or down) along the string from a second end, trained parameters may be updated during the transition from the first portion to the second portion.
[0227] In some examples, image data from multiple cycles of the sensing data of a block can be sent from the CPU to the packager 2090. The packager 2090 may optionally perform some preprocessing and transformation on the sensing data and write the information to the onboard DRAM 2099. The input block data for each sensing cycle may include a sensor data array comprising approximately 4000 × 3000 pixels or more per block per sensing cycle, where two features represent the colors of two images of the block, and each feature is one or two bytes per pixel. For a specific implementation where the number N is three sensing cycles to be used in each run of the multi-recurrent neural network, the block data array for each run of the multi-recurrent neural network may consume approximately several hundred megabytes per block. In some specific implementations of the system, the block data may also include an array of distance-to-cluster-center (DFC) data stored once per block, or another type of metadata about the sensor data and the block.
[0228] In operation, when a multi-cycle cluster becomes available, the wrapper allocates a patch to the cluster. The wrapper retrieves the next patch of block data during block traversal and sends it, along with appropriate control and configuration information, to the allocated cluster. The cluster can be configured to have sufficient memory on a configurable processor to hold data patches, including those from multiple cycles in several systems and currently being processed in-situ, as well as data patches to be processed when the current patch is processed using either ping-pong buffering or raster scanning techniques in various implementations.
[0229] When an assigned cluster completes its neural network operation on the current patch and produces an output patch, it signals the packager. The packager reads the output patch from the assigned cluster, or alternatively, the assigned cluster pushes data to the packager. The packager then assembles the processed blocks into an output block from the DRAM 2099. When the processing of the entire block is complete and the output patch of data has been transferred to the DRAM, the packager sends the processed output array of the block back to the host / CPU in a specified format. In some implementations, the onboard DRAM 2099 is managed by memory management logic in the packager 2090. The runtime program can control the sequencing operation to perform analysis of all arrays of block data in all loops during operation in a continuous streaming manner, thereby providing real-time analysis.
[0230] Joint training
[0231] Figure 21AA specific implementation of jointly training a neural network-based base detector 300 on reordered index images and sequencing images is shown. Training data 2102 for training the neural network-based base detector 300 includes index image 2112 and sequencing image 2114. To compensate for the low sequence diversity in index image 2112, reordering / shuffling logic 2122 reorders index image 2112 into a reordered index image 2132. The reordered index image 2132 comprises index image 2112 rearranged / sorted in N orders.
[0232] Then, joint training 2126 is performed, which trains a neural network-based base detector 300 on both the sequenced image 2114 and the reordered index image 2132. The training is based on, for example, multiple backpropagation iterations, each of which can then be used as input to different sorting combinations and / or permutations of the index image 2112.
[0233] Figure 21B It shows how to generate Figure 21A One embodiment of the reordered index image 2132. In one embodiment, this includes the following steps: (i) accessing an index image sequence 2142 generated for an index sequencing cycle for a sequencing run and selecting multiple index image subsequences 2152 from the index image sequence; (ii) generating multiple reordered index image subsequences 2164, 2166, and 2168 for corresponding index image subsequences 2154, 2156, and 2158 in the multiple index image subsequences 2152; (iii) accessing a target image sequence generated for a target sequencing cycle for a sequencing run and selecting multiple target image subsequences from the target image sequence; and (iv) training a neural network-based base detector 300 using the multiple reordered index image subsequences and the multiple target image subsequences.
[0234] The target sequencing cycle is an early target sequencing cycle in the sequencing run. Multiple reordered index image subsequences compensate for low sequence diversity in the index image sequences. These steps further include: generating a trained neural network-based base detector 300 based on training; and applying the trained neural network-based base detector 300 to base detection during inference.
[0235] Figure 24 and Figure 25 Various specific implementations of the disclosed technology are shown.
[0236] Computer System
[0237] Figure 22A computer system 2200 is available for use by the sequencing system 1900A to implement the base detection technology disclosed herein. The computer system 2200 includes at least one central processing unit (CPU) 2272 that communicates with a plurality of peripheral devices via a bus subsystem 2255. These peripheral devices may include a storage subsystem 2210 (including, for example, memory devices and a file storage subsystem 2236), a user interface input device 2238, a user interface output device 2276, and a network interface subsystem 2274. The input and output devices allow users to interact with the computer system 2200. The network interface subsystem 2274 provides an interface to an external network, including interfaces to corresponding interface devices in other computer systems.
[0238] In one implementation, the system controller 1906 may be communicatively linked to the storage subsystem 2210 and the user interface input device 2238.
[0239] User interface input device 2238 may include: a keyboard; pointing devices such as a mouse, trackball, touchpad, or graphics tablet; a scanner; a touchscreen integrated into a display; audio input devices such as a voice recognition system and a microphone; and other types of input devices. Generally, the term "input device" is intended to include all possible types of devices and methods for inputting information into computer system 2200.
[0240] User interface output device 2276 may include a display subsystem, a printer, a fax machine, or a non-visual display (such as an audio output device). The display subsystem may include an LED display, a cathode ray tube (CRT), a flat panel device such as a liquid crystal display (LCD), a projection device, or other mechanisms for producing visible images. The display subsystem may also provide non-visual displays, such as audio output devices. Generally, the term "output device" is intended to encompass all possible types of devices and methods for outputting information from computer system 2200 to a user or to another machine or computer system.
[0241] The storage subsystem 2210 stores the programming and data structures that provide the functionality of some or all of the modules and methods described herein. These software modules are typically executed by the deep learning processor 2278.
[0242] The deep learning processor 2278 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 2278 can be provided by deep learning cloud platforms such as Google Cloud Platform. TM Xilinx TM and CirrascaleTM Hosted. Examples of deep learning processors include Google's Tensor Processing Unit (TPU). TM Rackmount solutions (such as GX4 Rackmount Series) TM GX22 Rackmount Series TM NVIDIA DGX-1 TM Microsoft's Stratix V FPGA TM , Graphcore’s Intelligent Processor Unit (IPU) TM Qualcomm's Snapdragon processors TM Zeroth Platform TM NVIDIA's Volta TM NVIDIA's Drive PX TM , NVIDIA's JETSON TX1 / TX2MODULE TM Intel's Nirvana TM Movidius VPU TM ,Fujitsu DPI TM ARM's DynamicIQ TM IBM TrueNorth TM It has Testa V100s TM Lambda GPU servers, etc.
[0243] The memory subsystem 2222 used in the storage subsystem 2210 may include multiple memories, including a main random access memory (RAM) 2232 for storing instructions and data during program execution and a read-only memory (ROM) 2234 for storing fixed instructions. The file storage subsystem 2236 may provide persistent storage for program files and data files and may include hard disk drives, floppy disk drives and associated removable media, CD-ROM drives, optical disk drives, or removable media enclosures. Modules implementing certain specific functionalities may be stored by the file storage subsystem 2236 within the storage subsystem 2210 or on other machines accessible to the processor.
[0244] Bus subsystem 2255 provides mechanisms for enabling various components and subsystems of computer system 2200 to communicate with each other as intended. Although bus subsystem 2255 is schematically shown as a single bus, alternative implementations of this bus subsystem may use multiple buses.
[0245] The computer system 2200 itself can be of different types, including personal computers, portable computers, workstations, computer terminals, network computers, televisions, mainframes, server clusters, a loosely networked group of widely distributed computers, or any other data processing system or user equipment. Due to the constantly evolving nature of computers and networks, [the following applies]. Figure 22 The description of the computer system 2200 depicted herein is intended only as a specific example for illustrating a preferred embodiment of the invention. The computer system 2200 may also have many other configurations, in which the components differ... Figure 22 The computer systems depicted in the book are more or fewer.
[0246] Terms and Conditions
[0247] The following terms are part of this disclosure:
[0248] 1. A computer-implemented method, comprising:
[0249] Access sequencing image set,
[0250] The sequencing images in this sequencing image set are arranged in the first order;
[0251] The sequencing images in the reordered sequencing image set are reordered.
[0252] The sequencing images in the reordered sequencing image set are arranged in a second order, and
[0253] Where the first order is different from the second order; and
[0254] The reordered sequenced image set is processed and at least one base detection prediction is generated.
[0255] 2. The computer-implemented method according to Clause 1, further comprising training a neural network-based base detector over multiple training iterations, wherein a corresponding training iteration in the plurality of training iterations processes a corresponding reordered sequenced image set through the neural network-based base detector to generate a corresponding base detection prediction, and updates the weights of the neural network-based base detector based on a comparison of the corresponding base detection prediction with a corresponding base detection underlying fact.
[0256] 3. The computer-implemented method according to Clause 2, wherein the sequencing image is arranged at a central position, one or more right wing positions, and one or more left wing positions.
[0257] 4. The computer-implemented method according to Clause 3, wherein a particular sequencing image in the sequencing image is held fixed at the central position between the first sequence and the second sequence.
[0258] 5. The computer-implemented method according to Clause 4, wherein at least some of the sequencing images at the right wing position and the left wing position are arranged between the first order and the second order.
[0259] 6. The computer-implemented method according to Clause 5, wherein at least some of the sequencing images at the right wing position and the left wing position remain fixed between the first order and the second order.
[0260] 7. The computer-implemented method according to Clause 6, further comprising training the neural network-based base detector on a first training iteration, the first training iteration processing the sequencing image set through the neural network-based base detector to generate a first base detection prediction, and updating the weights of the neural network-based base detector based on a comparison of the first base detection prediction with a first base detection underlying fact.
[0261] 8. The computer-implemented method according to Clause 7, further comprising training the neural network-based base detector on a second training iteration, the second training iteration processing the reordered sequencing image set through the neural network-based base detector to generate a second base detection prediction, and updating the weights of the neural network-based base detector based on a comparison of the second base detection prediction with second base detection underlying facts.
[0262] 9. The computer-implemented method according to Clause 1, wherein a corresponding sequencing image in the sequencing image is generated for a corresponding sequencing cycle performed in the first order.
[0263] 10. The computer-implemented method according to Clause 9, wherein the corresponding sequencing image in the sequencing image is a corresponding index image generated for the corresponding index sequencing cycle of the sequencing run performed in the first order.
[0264] 11. The computer-implemented method according to Clause 1 further includes:
[0265] Multiple subsets of N sequencing images are selected from a set of M sequencing images, wherein the corresponding subsets in the multiple subsets arrange the N sequencing images in the corresponding sequences of the N sequencing images; and M>N.
[0266] 12. The computer-implemented method according to Clause 11, wherein the corresponding sequence has different combinations of the N sequencing images.
[0267] 13. The computer-implemented method according to Clause 12, wherein the combination is a combination with substitutions.
[0268] 14. The computer-implemented method according to Clause 12, wherein the combination is a combination without substitution.
[0269] 15. The computer-implemented method according to Clause 11, wherein the corresponding sequence has different arrangements of the N sequencing images.
[0270] 16. The computer-implemented method according to Clause 15, wherein the arrangement is a repeating arrangement.
[0271] 17. The computer-implemented method according to Clause 15, wherein the arrangement is a non-repeating arrangement.
[0272] 18. The computer-implemented method according to Clause 11, wherein the corresponding sequence is arranged according to a successive sequencing cycle to form the N sequencing images.
[0273] 19. The computer-implemented method according to Clause 11, wherein the corresponding sequence is arranged according to a non-continuous sequencing cycle to arrange the N sequencing images.
[0274] 20. The computer-implemented method according to Clause 11, wherein the corresponding sequence is arranged in the N sequencing images according to a combination of sequential sequencing cycles and non-sequential sequencing cycles.
[0275] 21. The computer-implemented method according to Clause 11, wherein the N varies between the corresponding sequences.
[0276] 22. The computer-implemented method according to Clause 11, wherein the N is constant between the corresponding sequences.
[0277] 23. The computer-implemented method according to Clause 11, wherein the corresponding sequence has overlapping sequencing images.
[0278] 24. The computer-implemented method according to Clause 11, wherein the corresponding sequence does not have overlapping sequencing images.
[0279] 25. The computer-implemented method according to claim 11, further comprising training the neural network-based base detector on corresponding training iterations, the corresponding training iterations processing the corresponding sequences of the N sequencing images by the neural network-based base detector to generate corresponding base detection predictions, and updating the weights of the neural network-based base detector (e.g., via backpropagation) based on a comparison of the corresponding base detection predictions with corresponding base detection underlying facts.
[0280] 26. The computer-implemented method according to Clause 11, wherein the M sequencing images are generated for a continuous sequencing cycle.
[0281] 27. The computer-implemented method according to Clause 11, wherein the M sequencing images are generated for a non-continuous sequencing cycle.
[0282] 28. The computer-implemented method according to Clause 11, wherein the M sequencing images are generated for a combination of sequential and non-sequential sequencing cycles.
[0283] 29. A computer-implemented method, comprising:
[0284] Access multiple sequences from N sequencing images; and
[0285] A neural network-based base detector is trained on multiple training iterations, wherein the corresponding training iterations in the multiple training iterations process the corresponding sequences of the N sequencing images in the multiple sequences in a corresponding order through the neural network-based base detector to generate corresponding base detection predictions, and the weights of the neural network-based base detector are updated based on a comparison of the corresponding base detection predictions with the corresponding base detection underlying facts (e.g., via backpropagation).
[0286] 30. The computer-implemented method according to Clause 29, wherein the corresponding sequence arranges the N sequencing images at a central position, one or more right wing positions, and one or more left wing positions.
[0287] 31. The computer-implemented method according to Clause 30, wherein a particular sequencing image among the N sequencing images remains fixed at the central position between the corresponding sequences.
[0288] 32. The computer-implemented method according to Clause 31, wherein at least some of the N sequencing images at the right wing position and the left wing position vary between the corresponding sequences.
[0289] 33. The computer-implemented method according to Clause 29, wherein the N sequencing images are selected from M sequencing images, where M>N.
[0290] 34. The computer-implemented method according to Clause 33, wherein the corresponding sequence has different combinations of the N sequencing images.
[0291] 35. The computer-implemented method according to Clause 34, wherein the combination is a combination with substitutions.
[0292] 36. The computer-implemented method according to Clause 34, wherein the combination is a combination without substitution.
[0293] 37. The computer-implemented method according to Clause 33, wherein the corresponding sequence has different arrangements of the N sequencing images.
[0294] 38. The computer-implemented method according to Clause 37, wherein the arrangement is a repeating arrangement.
[0295] 39. The computer-implemented method according to Clause 37, wherein the arrangement is a non-repeating arrangement.
[0296] 40. The computer-implemented method according to Clause 29, wherein the corresponding sequence is arranged according to a successive sequencing cycle to form the N sequencing images.
[0297] 41. The computer-implemented method according to Clause 29, wherein the corresponding sequence is arranged according to a non-continuous sequencing cycle to arrange the N sequencing images.
[0298] 42. The computer-implemented method according to Clause 29, wherein the corresponding sequence is arranged in the N sequencing images according to a combination of sequential sequencing cycles and non-sequential sequencing cycles.
[0299] 43. The computer-implemented method according to Clause 29, wherein the N varies between the corresponding sequences.
[0300] 44. The computer-implemented method according to Clause 29, wherein N is constant between the corresponding sequences.
[0301] 45. The computer-implemented method according to Clause 29, wherein the corresponding sequence has overlapping sequencing images.
[0302] 46. The computer-implemented method according to Clause 29, wherein the corresponding sequence does not have overlapping sequencing images.
[0303] 47. The computer-implemented method according to Clause 33, wherein the M sequencing images are generated for a continuous sequencing cycle.
[0304] 48. The computer-implemented method according to Clause 33, wherein the M sequencing images are generated for a non-continuous sequencing cycle.
[0305] 49. The computer-implemented method according to Clause 33, wherein the M sequencing images are generated for a combination of sequential and non-sequential sequencing cycles.
[0306] 50. The computer-implemented method according to Clause 29, wherein the M sequencing images are indexed sequencing images generated for an indexed sequencing cycle of a sequencing run.
[0307] 51. A computer-implemented method for training a neural network-based base detector, the neural network-based base detector comprising spatial logic and temporal logic, the spatial logic being configured to extract intensity features limited to each cycle of sequencing images in the input, and the temporal logic being configured to extract intensity features across a full cycle of sequencing images in the input, the method comprising:
[0308] The spatial logic and temporal logic of the neural network-based base detector are trained on a first sequencing image training dataset to generate trained spatial logic and trained temporal logic, wherein the training includes forward propagation of sequencing images in the first training dataset through the spatial logic and the temporal logic to generate base detection predictions, and backward propagation of gradient updates determined by comparison between the base detection predictions and the base detection underlying facts through the temporal logic and the spatial logic.
[0309] Further, the trained spatial logic of the neural network-based base detector is trained only on the second sequencing image training dataset to generate a retrained spatial logic. This further training includes forward propagation of sequencing images in the second training dataset through the trained spatial logic and the trained temporal logic to generate further base detection predictions, and backpropagation of further gradient updates determined by comparing the further base detection predictions with the underlying facts of further base detection, solely through the trained spatial logic, thereby bypassing backpropagation of the further gradient updates through the trained temporal logic.
[0310] During inference, the retrained spatial logic and the trained temporal logic of the neural network-based base detector are applied to new sequencing images to generate new base detection predictions.
[0311] 52. The computer-implemented method according to Clause 51, wherein the sequencing image in the first sequencing image training dataset is a read sequencing image generated for a read sequencing loop during a sequencing run.
[0312] 53. The computer-implemented method according to Clause 51, wherein the sequencing image in the second sequencing image training dataset is an indexed sequencing image generated by an indexed sequencing loop run for the sequencing.
[0313] 54. The computer-implemented method according to Clause 53, wherein the sequencing images in the second sequencing image training dataset comprise a combination of the read sequencing images and the index sequencing images.
[0314] 55. The computer-implemented method according to Clause 53, wherein the bypass prevents the trained temporal logic from learning the temporal dependencies between intensity features of the indexed sequencing image.
[0315] 56. A computer-implemented method for training a neural network-based base detector, the neural network-based base detector comprising spatial logic and temporal logic, the spatial logic being configured to extract intensity features limited to each cycle of sequencing images in the input, and the temporal logic being configured to extract intensity features across a full cycle of sequencing images in the input, the method comprising:
[0316] The spatial logic and temporal logic of the neural network-based base detector are trained on the first sequencing image training dataset to generate trained spatial logic and trained temporal logic.
[0317] The trained spatial logic of the neural network-based base detector is further trained on the second sequencing image training dataset to generate a retrained spatial logic; and
[0318] The retrained spatial logic and the trained temporal logic are used to configure the neural network-based base detector to perform future base detection.
[0319] 57. A computer-implemented method for training a neural network-based base detector, the neural network-based base detector comprising spatial logic and temporal logic, the spatial logic being configured to extract intensity features limited to each cycle of sequencing images in the input, and the temporal logic being configured to extract intensity features across a full cycle of sequencing images in the input, the method comprising:
[0320] The spatial logic and temporal logic of the neural network-based base detector are trained on the first sequencing image training dataset to generate trained spatial logic and trained temporal logic.
[0321] The trained spatial logic of the neural network-based base detector is further trained on the second indexed sequencing image training dataset to generate a retrained spatial logic; and
[0322] The retrained spatial logic and the retrained temporal logic are used to configure the neural network-based base detector to perform future base detections in the index sequencing cycle.
[0323] 58. A system comprising:
[0324] Access logic, configured to access sequencing image sets.
[0325] The sequencing images in this sequencing image set are arranged in the first order;
[0326] Reordering logic, configured to reorder the sequencing images in the reordered sequencing image set.
[0327] The sequencing images in the reordered sequencing image set are arranged in a second order, and
[0328] Where the first order is different from the second order; and
[0329] The processing logic is configured to process the reordered sequencing image set and generate at least one base detection prediction.
[0330] 59. The system as described in Clause 58, further comprising:
[0331] A normalization logic configured to normalize one or more sequencing images in the reordered sequencing image set.
[0332] 60. The system according to Clause 58, wherein one or more sequencing images in the sorted and / or reordered sequencing image set are normalized sequencing images.
[0333] 61. A computer-implemented method for training a neural network-based base detector to perform base detection on an indexed sequence, the method comprising:
[0334] Access the indexed image sequence generated by the indexed sequencing cycle for the sequencing run, and select multiple indexed image subsequences from that indexed image sequence;
[0335] For each indexed image subsequence in the multiple indexed image subsequences, generate multiple reordered indexed image subsequences, wherein the reordered indexed image subsequences generated for a given indexed image subsequence each have a different order.
[0336] Access the target image sequence generated by the target sequencing cycle for this sequencing run, and select multiple target image subsequences from the target image sequence;
[0337] A neural network-based base detector is trained using the corresponding multiple reordered index image subsequences and the multiple target image subsequences.
[0338] 62. The computer-implemented method according to Clause 61, wherein the target sequencing cycle is an early target sequencing cycle of the sequencing run.
[0339] 63. The computer-implemented method according to Clause 61, wherein the corresponding plurality of reordered indexed image subsequences compensate for low sequence diversity in the indexed image sequence.
[0340] 64. The computer-implemented method according to Clause 61, further comprising: generating a trained neural network-based base detector based on the training; and applying the trained neural network-based base detector to base detection during inference.
[0341] 65. A non-transitory computer-readable storage medium having printed computer program instructions for training a neural network-based base detector to perform base detection on an indexed sequence, the instructions, when executed on a processor, implementing a method comprising:
[0342] Access the indexed image sequence generated by the indexed sequencing cycle for the sequencing run, and select multiple indexed image subsequences from that indexed image sequence;
[0343] For each indexed image subsequence in the multiple indexed image subsequences, generate multiple reordered indexed image subsequences, wherein the reordered indexed image subsequences generated for a given indexed image subsequence each have a different order.
[0344] Access the target image sequence generated by the target sequencing cycle for this sequencing run, and select multiple target image subsequences from the target image sequence;
[0345] A neural network-based base detector is trained using the corresponding multiple reordered index image subsequences and the multiple target image subsequences.
[0346] 66. The non-transitory computer-readable storage medium as described in Clause 64, wherein the target sequencing cycle is an early target sequencing cycle of the sequencing run.
[0347] 67. The non-transitory computer-readable storage medium according to Clause 64, wherein the corresponding plurality of reordered indexed image subsequences compensate for low sequence diversity in the indexed image sequence.
[0348] 68. The computer-implemented method according to Clause 64, further comprising: generating a trained neural network-based base detector based on the training; and applying the trained neural network-based base detector to base detection during inference.
[0349] 69. A system including one or more processors coupled to a memory, the memory being loaded with computer instructions for training a neural network-based base detector to perform base detection on an index sequence, the instructions, when executed on the processor, performing actions including:
[0350] Access the indexed image sequence generated by the indexed sequencing cycle for the sequencing run, and select multiple indexed image subsequences from that indexed image sequence;
[0351] For each indexed image subsequence in the multiple indexed image subsequences, generate multiple reordered indexed image subsequences, wherein the reordered indexed image subsequences generated for a given indexed image subsequence each have a different order.
[0352] Access the target image sequence generated by the target sequencing cycle for this sequencing run, and select multiple target image subsequences from the target image sequence;
[0353] A neural network-based base detector is trained using the corresponding multiple reordered index image subsequences and the multiple target image subsequences.
[0354] 70. The system according to Clause 69, wherein the target sequencing cycle is an early target sequencing cycle of the sequencing run.
[0355] 71. The system according to Clause 69, wherein the corresponding plurality of reordered indexed image subsequences compensate for low sequence diversity in the indexed image sequence.
[0356] 72. The system according to Clause 69 further implements actions including: generating a trained neural network-based base detector based on the training; and applying the trained neural network-based base detector to base detection during inference.
[0357] 73. A trained base detector, the trained base detector comprising:
[0358] The weights of the neural network trained on the training data, which include:
[0359] (i) For a given index image subsequence, a plurality of reordered index image subsequences are generated, wherein the reordered index image subsequences generated for a given index image subsequence each have a different order, and wherein the plurality of index image subsequences are selected from the index image sequence generated by an index sorting loop run for the sorting; and
[0360] (ii) Multiple target image subsequences selected from the target image sequences generated by the target sequencing cycle for the sequencing run.
[0361] 74. The trained base detector as described in Clause 73, wherein the target sequencing cycle is an early target sequencing cycle of the sequencing run.
[0362] Other specific embodiments of the methods described in this section may include a non-transitory computer-readable storage medium storing instructions executable by a processor to perform any of the methods described above. Yet another specific embodiment of the methods described in this section may include a system comprising a memory and one or more processors operable to execute instructions stored in the memory to perform any of the methods described above.
[0363] While the invention has been disclosed with reference to the preferred embodiments and examples described in detail above, it should be understood that these examples are intended to be illustrative and not limiting. Modifications and combinations will likely be readily apparent to those skilled in the art, and these modifications and combinations will fall within the spirit of the invention and the scope of the following claims.
Claims
1. A computer-based method for efficient base detection of indexed sequences using artificial intelligence, comprising: Access the sequencing image set, wherein the sequencing images in the sequencing image set are arranged in a first order; The sequencing images in the sequencing image set arranged in a first order are reordered to generate a reordered sequencing image set arranged in a second order, wherein the first order is different from the second order; as well as The neural network-based base detector is trained using the following method: The reordered sequenced image set is processed by the neural network-based base detector to generate at least one base detection prediction. as well as The weights of the neural network-based base detector are updated based on a comparison between the at least one base detection prediction and the corresponding base detection underlying facts.
2. The computer-implemented method of claim 1, wherein each sequencing image from the sequencing image set is arranged in one of the following locations: a central location, one or more right wing locations, or one or more left wing locations.
3. The computer-implemented method of claim 2, wherein a particular sequencing image in the sequencing image set remains fixed at the central position between the first sequence and the second sequence.
4. The computer-implemented method of claim 2, wherein at least some sequencing images in the sequencing image set at the one or more right wing positions and the one or more left wing positions are arranged between the first order and the second order.
5. The computer-implemented method of claim 2, wherein at least some sequencing images in the sequencing image set at the one or more right wing positions and the one or more left wing positions remain fixed between the first order and the second order.
6. The computer-implemented method of claim 1, wherein corresponding images in the sequencing image set are generated for corresponding sequencing cycles of sequencing runs performed in the first order.
7. The computer-implemented method of claim 1, wherein the corresponding images in the sequencing image set are corresponding index images generated for the corresponding index sequencing cycle of the sequencing run performed in the first order.
8. The computer-implemented method according to claim 1, further comprising: Multiple subsets of N sequencing images are selected from a set of M sequencing images, wherein the corresponding subsets in the multiple subsets arrange the N sequencing images in the corresponding sequences of the N sequencing images, and wherein M>N.
9. The computer-implemented method according to claim 8, wherein: The corresponding sequence has different combinations of the N sequencing images; and The different combinations are either combinations with substitutions or combinations without substitutions.
10. The computer-implemented method according to claim 8, wherein: The corresponding sequences have different arrangements of the N sequencing images; and The different arrangements are either arrangements with repetition or arrangements without repetition.
11. The computer-implemented method of claim 8, wherein the corresponding sequences are arranged according to one of the following: continuous sequencing cycles, non-continuous sequencing cycles, or a combination of continuous and non-continuous sequencing cycles.
12. The computer-implemented method of claim 8, wherein multiple subsets of the N sequencing images vary among the corresponding sequences.
13. The computer-implemented method of claim 8, wherein the corresponding sequences have overlapping sequencing images.
14. The computer-implemented method of claim 8, wherein the set of the M sequencing images is generated for one of the following: continuous sequencing cycles, non-continuous sequencing cycles, or a combination of continuous and non-continuous sequencing cycles.
15. A system for achieving efficient base detection of indexed sequences based on artificial intelligence, comprising: At least one processor; and A non-transitory computer-readable medium comprising instructions that, when executed by the at least one processor, cause the system to: Access the sequencing image set, wherein the sequencing images in the sequencing image set are arranged in a first order; The sequencing images in the sequencing image set arranged in a first order are reordered to generate a reordered sequencing image set arranged in a second order, wherein the first order is different from the second order; as well as The neural network-based base detector is trained using the following method: The reordered sequenced image set is processed by the neural network-based base detector to generate at least one base detection prediction. as well as The weights of the neural network-based base detector are updated based on a comparison between the at least one base detection prediction and the corresponding base detection underlying facts.
16. The system of claim 15, wherein each sequencing image from the sequencing image set is arranged at one of the following locations: a central location, one or more right wing locations, or one or more left wing locations.
17. The system according to claim 16, wherein: At least some sequencing images in the sequencing image set at one or more right wing positions and one or more left wing positions are arranged between the first order and the second order; or At least some sequencing images in the sequencing image set at one or more right wing positions and one or more left wing positions remain fixed between the first order and the second order.
18. A non-transitory computer-readable medium storing instructions, which, when executed by at least one processor, cause a computing device to perform actions including: Access the sequencing image set, wherein the sequencing images in the sequencing image set are arranged in a first order; The sequencing images in the sequencing image set arranged in a first order are reordered to generate a reordered sequencing image set arranged in a second order, wherein the first order is different from the second order; as well as The neural network-based base detector is trained using the following method: The reordered sequenced image set is processed by the neural network-based base detector to generate at least one base detection prediction. as well as The weights of the neural network-based base detector are updated based on a comparison between the at least one base detection prediction and the corresponding base detection underlying facts.
19. The non-transitory computer-readable medium of claim 18, further comprising instructions that, when executed by the at least one processor, cause the computing device to further perform the action, the action comprising selecting multiple subsets of N sequencing images from a set of M sequencing images, wherein the respective subsets of the multiple subsets arrange the N sequencing images in corresponding sequences of the N sequencing images, and wherein M>N.
20. The non-transitory computer-readable medium of claim 19, wherein the corresponding sequences are arranged according to one of the following: continuous sequencing cycles, non-continuous sequencing cycles, or a combination of continuous and non-continuous sequencing cycles.
Citation Information
Patent Citations
Artificial intelligence-based generation of sequencing metadata
US11210554B2
Training data generation for artificial intelligence-based sequencing
US11347965B2
Artificial intelligence-based quality scoring
US11676685B2
Method of nucleic acid amplification
US20050100900A1
Labelled nucleotides
US20060188901A1