WO2020191390A2 - Artificial intelligence-based quality scoring - Google Patents
Artificial intelligence-based quality scoring Download PDFInfo
- Publication number
- WO2020191390A2 WO2020191390A2 PCT/US2020/024091 US2020024091W WO2020191390A2 WO 2020191390 A2 WO2020191390 A2 WO 2020191390A2 US 2020024091 W US2020024091 W US 2020024091W WO 2020191390 A2 WO2020191390 A2 WO 2020191390A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- neural network
- base
- quality
- sequencing
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23211—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with adaptive number of clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/69—Microscopic objects, e.g. biological cells or cellular parts
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
- G16B40/10—Signal processing, e.g. from mass spectrometry [MS] or from PCR
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
- G16B40/20—Supervised data analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
- G06V20/47—Detecting features for summarising video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/03—Recognition of patterns in medical or anatomical images
Definitions
- the technology disclosed relates to artificial intelligence type computers and digital data processing systems and corresponding data processing methods and products for emulation of intelligence (i.e., knowledge based systems, reasoning systems, and knowledge acquisition systems); and including systems for reasoning with uncertainty (e.g., fuzzy logic systems), adaptive systems, machine learning systems, and artificial neural networks.
- intelligence i.e., knowledge based systems, reasoning systems, and knowledge acquisition systems
- systems for reasoning with uncertainty e.g., fuzzy logic systems
- adaptive systems e.g., machine learning systems
- artificial neural networks e.g., neural network
- BACKGROUND deep convolutional neural networks
- Deep neural networks are a type of artificial neural networks that use multiple nonlinear and complex transforming layers to successively model high-level features. Deep neural networks provide feedback via backpropagation which carries the difference between observed and predicted output to adjust parameters. Deep neural networks have evolved with the availability of large training datasets, the power of parallel and distributed computing, and sophisticated training algorithms. Deep neural networks have facilitated major advances in numerous domains such as computer vision, speech recognition, and natural language processing.
- Convolutional neural networks and recurrent neural networks (RNNs) are components of deep neural networks.
- Convolutional neural networks have succeeded particularly in image recognition with an architecture that comprises convolution layers, nonlinear layers, and pooling layers.
- Recurrent neural networks are designed to utilize sequential information of input data with cyclic connections among building blocks like perceptrons, long short-term memory units, and gated recurrent units.
- many other emergent deep neural networks have been proposed for limited contexts, such as deep spatio-temporal neural networks, multi-dimensional recurrent neural networks, and convolutional auto-encoders.
- the goal of training deep neural networks is optimization of the weight parameters in each layer, which gradually combines simpler features into complex features so that the most suitable hierarchical representations can be learned from data.
- a single cycle of the optimization process is organized as follows. First, given a training dataset, the forward pass sequentially computes the output in each layer and propagates the function signals forward through the network. In the final output layer, an objective loss function measures error between the inferenced outputs and the given labels. To minimize the training error, the backward pass uses the chain rule to backpropagate error signals and compute gradients with respect to all weights throughout the neural network. Finally, the weight parameters are updated using optimization algorithms based on stochastic gradient descent.
- stochastic gradient descent provides stochastic approximations by performing the updates for each small set of data examples.
- optimization algorithms stem from stochastic gradient descent.
- the Adagrad and Adam training algorithms perform stochastic gradient descent while adaptively modifying learning rates based on update frequency and moments of the gradients for each parameter, respectively.
- regularization refers to strategies intended to avoid overfitting and thus achieve good generalization performance.
- weight decay adds a penalty term to the objective loss function so that weight parameters converge to smaller absolute values.
- Dropout randomly removes hidden units from neural networks during training and can be considered an ensemble of possible subnetworks.
- maxout a new activation function
- mnDrop a variant of dropout for recurrent neural networks
- batch normalization provides a new regularization method through normalization of scalar features for each activation within a mini-batch and learning each mean and variance as parameters.
- Convolutional neural networks have been adapted to solve sequence -based problems in genomics such as motif discovery, pathogenic variant identification, and gene expression inference. Convolutional neural networks use a weight-sharing strategy that is especially useful for studying DNA because it can capture sequence motifs, which are short, recurring local patterns in DNA that are presumed to have significant biological functions. A hallmark of convolutional neural networks is the use of convolution filters.
- convolution filters perform adaptive learning of features, analogous to a process of mapping raw input data to the informative representation of knowledge.
- the convolution filters serve as a series of motif scanners, since a set of such filters is capable of recognizing relevant patterns in the input and updating themselves during the training procedure.
- Recurrent neural networks can capture long-range dependencies in sequential data of varying lengths, such as protein or DNA sequences.
- nucleic acid cluster-based sequencing technologies still face considerable obstacles that limit the amount of throughput that can be achieved.
- determining the nucleic acid sequences of two or more clusters that are physically too close to one another to be resolved spatially, or that in fact physically overlap on the solid support can pose an obstacle.
- current image analysis software can require valuable time and computational resources for determining from which of two overlapping clusters an optical signal has emanated.
- compromises are inevitable for a variety of detection platforms with respect to the quantity and/or quality of nucleic acid sequence information that can be obtained.
- High density nucleic acid cluster-based genomics methods extend to other areas of genome analysis as well.
- nucleic acid cluster-based genomics can be used in sequencing
- nucleic acid cluster-based genomics technologies are limited when there is an inability to resolve data generated from closely proximate or spatially overlapping nucleic acid clusters.
- nucleic acid sequencing data that can be obtained rapidly and cost-effectively for a wide variety of uses, including for genomics (e.g., for genome characterization of any and all animal, plant, microbial or other biological species or populations), pharmacogenomics, transcriptomics, diagnostics, prognostics, biomedical risk assessment, clinical and research genetics, personalized medicine, drug efficacy and drug interactions assessments, veterinary medicine, agriculture, evolutionary and biodiversity studies, aquaculture, forestry, oceanography, ecological and environmental management, and other purposes.
- genomics e.g., for genome characterization of any and all animal, plant, microbial or other biological species or populations
- pharmacogenomics e.g., for genome characterization of any and all animal, plant, microbial or other biological species or populations
- transcriptomics e.g., for genome characterization of any and all animal, plant, microbial or other biological species or populations
- diagnostics e.g., for prognostics
- biomedical risk assessment e.g., for genetic characterization
- the technology disclosed provides neural network-based methods and systems that address these and similar needs, including increasing the level of throughput in high-throughput nucleic acid sequencing technologies, and offers other related advantages.
- Figure 1 shows the processing stages used by the RTA base caller for base calling, according to one implementation.
- Figure 2 illustrates one implementation of base calling using the disclosed neural network- based base caller.
- Figure 3 is one implementation of transforming, from subpixel domain to pixel domain, location/position information of cluster centers identified from the output of the neural network-based template generator.
- Figure 4 is one implementation of using cycle -specific and image channel-specific transformations to derive the so-called“transformed cluster centers” from the reference cluster centers.
- Figure 5 illustrates an image patch that is part of the input data fed to the neural network- based base caller.
- Figure 6 depicts one implementation of determining distance values for a distance channel when a single target cluster is being base called by the neural network-based base caller.
- Figure 7 shows one implementation of pixel-wise encoding the distance values that are calculated between the pixels and the target cluster.
- Figure 8a depicts one implementation of determining distance values for a distance channel when multiple target clusters are being simultaneously base called by the neural network-based base caller.
- Figure 8b shows, for each of the target clusters, some nearest pixels determined based on the pixel center-to-nearest cluster center distances.
- Figure 9 shows one implementation of pixel-wise encoding the minimum distance values that are calculated between the pixels and the nearest one of the clusters.
- Figure 10 illustrates one implementation using pixel-to-cluster
- cluster shape data classification/attribution/categorization
- Figure 11 shows one implementation of calculating the distance values using the cluster shape data.
- Figure 12 shows one implementation of pixel-wise encoding the distance values that are calculated between the pixels and the assigned clusters.
- Figure 13 illustrates one implementation of the specialized architecture of the neural network-based base caller that is used to segregate processing of data for different sequencing cycles.
- Figure 14 depicts one implementation of segregated convolutions.
- Figure 15a depicts one implementation of combinatory convolutions.
- Figure 15b depicts another implementation of the combinatory convolutions.
- Figure 16 shows one implementation of convolution layers of the neural network-based base caller in which each convolution layer has a bank of convolution fdters.
- Figure 17 depicts two configurations of the scaling channel that supplements the image channels.
- Figure 18a illustrates one implementation of input data for a single sequencing cycle that produces a red image and a green image.
- Figure 18b illustrates one implementation of the distance channels supplying additive bias that is incorporated in the feature maps generated from the image channels.
- Figures 19a, 19b, and 19c depict one implementation of base calling a single target cluster.
- Figure 20 shows one implementation of simultaneously base calling multiple target clusters.
- Figure 21 shows one implementation of simultaneously base calling multiple target clusters at a plurality of successive sequencing cycles, thereby simultaneously producing a base call sequence for each of the multiple target clusters.
- Figure 22 illustrates the dimensionality diagram for the single cluster base calling implementation.
- Figure 23 illustrates the dimensionality diagram for the multiple clusters, single sequencing cycle base calling implementation.
- Figure 24 illustrates the dimensionality diagram for the multiple clusters, multiple sequencing cycles base calling implementation.
- Figure 25a depicts an example arrayed input configuration the multi-cycle input data.
- Figure 25b shows an example stacked input configuration the multi-cycle input data.
- Figure 26a depicts one implementation of refraining pixels of an image patch to center a center of a target cluster being base called in a center pixel.
- Figure 26b depicts another example reframed/shifted image patch in which (i) the center of the center pixel coincides with the center of the target cluster and (ii) the non-center pixels are equidistant from the center of the target cluster.
- Figure 27 shows one implementation of base calling a single target cluster at a current sequencing cycle using a standard convolution neural network and the reframed input.
- Figure 28 shows one implementation of base calling multiple target clusters at the current sequencing cycle using the standard convolution neural network and the aligned input.
- Figure 29 shows one implementation of base calling multiple target clusters at a plurality of sequencing cycles using the standard convolution neural network and the aligned input.
- Figure 30 shows one implementation of training the neural network-based base caller.
- Figure 31a depicts one implementation of a hybrid neural network that is used as the neural network-based base caller.
- Figure 31b shows one implementation of 3D convolutions used by the recurrent module of the hybrid neural network to produce the current hidden state representations.
- Figure 32 illustrates one implementation of processing, through a cascade of convolution layers of the convolution module, per-cycle input data for a single sequencing cycle among the series of t sequencing cycles to be base called.
- Figure 33 depicts one implementation of mixing the single sequencing cycle’s per-cycle input data with its corresponding convolved representations produced by the cascade of convolution layers of the convolution module.
- Figure 34 shows one implementation of arranging flattened mixed representations of successive sequencing cycles as a stack.
- Figure 35a illustrates one implementation of subjecting the stack of Figure 34 to recurrent application of 3D convolutions in forward and backward directions and producing base calls for each of the clusters at each of the t sequencing cycles in the series.
- Figure 35b shows one implementation of processing a 3D input volume x(t), which comprises groups of flattened mixed representations, through an input gate, an activation gate, a forget gate, and an output gate of a long short-term memory (LSTM) network that applies the 3D convolutions.
- the LSTM network is part of the recurrent module of the hybrid neural network.
- Figure 36 shows one implementation of balancing trinucleotides (3-mers) in the training data used to train the neural network-based base caller.
- Figure 37 compares base calling accuracy of the RTA base caller against the neural network- based base caller.
- Figure 38 compares tile-to-tile generalization of the RTA base caller with that of the neural network-based base caller on a same tile.
- Figure 39 compares tile-to-tile generalization of the RTA base caller with that of the neural network-based base caller on a same tile and on different tiles.
- Figure 40 also compares tile-to-tile generalization of the RTA base caller with that of the neural network-based base caller on different tiles.
- Figure 41 shows how different sizes of the image patches fed as input to the neural network- based base caller effect the base calling accuracy.
- Figures 42, 43, 44, and 45 show lane-to-lane generalization of the neural network-based base caller on training data from A.baumanni and E.coli.
- Figure 46 depicts an error profde for the lane-to-lane generalization discussed above with respect to Figures 42, 43, 44, and 45.
- Figure 47 attributes the source of the error detected by the error profde of Figure 46 to low cluster intensity in the green channel.
- Figure 48 compares error profdes of the RTA base caller and the neural network-based base caller for two sequencing runs (Read 1 and Read 2).
- Figure 49a shows run-to-run generalization of the neural network-based base caller on four different instruments.
- Figure 49b shows run-to-run generalization of the neural network-based base caller on four different runs executed on a same instrument.
- Figure 50 shows the genome statistics of the training data used to train the neural network- based base caller.
- Figure 51 shows the genome context of the training data used to train the neural network- based base caller.
- Figure 52 shows the base calling accuracy of the neural network-based base caller in base calling long reads (e.g., 2 x 250).
- Figure 53 illustrates one implementation of how the neural network-based base caller attends to the central cluster pixel(s) and its neighboring pixels across image patches.
- Figure 54 shows various hardware components and configurations used to train and run the neural network-based base caller, according to one implementation. In other implementations, different hardware components and configurations are used.
- Figure 55 shows various sequencing tasks that can be performed using the neural network- based base caller.
- Figure 56 is a scatter plot visualized by t-Distributed Stochastic Neighbor Embedding (t- SNE) and portrays base calling results of the neural network-based base caller.
- Figure 57 illustrates one implementation of selecting the base call confidence probabilities made by the neural network-based base caller for quality scoring.
- Figure 58 shows one implementation of the neural network-based quality scoring.
- Figures 136a-59b depict one implementation of correspondence between the quality scores and the base call confidence predictions made by the neural network-based base caller.
- Figure 60 shows one implementation of inferring quality scores from base call confidence predictions made by the neural network-based base caller during inference.
- Figure 61 shows one implementation of training the neural network-based quality scorer to process input data derived from the sequencing images and directly produce quality indications.
- Figure 62 shows one implementation of directly producing quality indications as outputs of the neural network-based quality scorer during inference.
- Figures 63A and 63B depict one implementation of a sequencing system.
- the sequencing system comprises a configurable processor.
- Figure 63C is a simplified block diagram of a system for analysis of sensor data from the sequencing system, such as base call sensor outputs.
- Figure 64A is a simplified diagram showing aspects of the base calling operation, including functions of a runtime program executed by a host processor.
- Figure 64B is a simplified diagram of a configuration of a configurable processor such as the one depicted in Figure 63C.
- Figure 65 is a computer system that can be used by the sequencing system of Figure 63A to implement the technology disclosed herein.
- Figure 66 shows different implementations of data pre-processing, which can include data normalization and data augmentation.
- Figure 67 shows that the data normalization technique (DeepRTA (norm)) and the data augmentation technique (DeepRTA (augment)) of Figure 66 reduce the base calling error percentage when the neural network-based base caller is trained on bacterial data and tested on human data, where the bacterial data and the human data share the same assay (e.g., both contain intronic data).
- Figure 68 shows that the data normalization technique (DeepRTA (norm)) and the data augmentation technique (DeepRTA (augment)) of Figure 66 reduce the base calling error percentage when the neural network-based base caller is trained on non-exonic data (e.g., intronic data) and tested on exonic data.
- Data normalization technique (DeepRTA (norm)
- DeepRTA data augmentation technique
- the neural network processes multiple image channels in a current cycle together with image channels of past and future cycles.
- some of the strands may run ahead or behind the main course of synthesis, which out-of-phase tagging is known as pre-phasing or phasing.
- pre-phasing or phasing out-of-phase tagging.
- transformation can be used to reframe image data and to resolve offsets for cluster centers.
- Refraining image data means interpolating image data, typically by applying an affine transformation. Refraining can put a cluster center of interest in the middle of the center pixel of a pixel patch. Or, it can align an image with a template, to overcome jitter and other discrepancies during image collection. Reframing involves adjusting intensity values of all pixels in the pixel patch. Bi-linear and bi cubic interpolation and weighted area adjustments are alternative strategies.
- cluster center coordinates can be fed to a neural network as an additional image channel.
- Distance signals also can contribute to base classification. Several types of distance signals reflect separation of regions from cluster centers. The strongest optical signal is deemed to coincide with the cluster center. The optical signal along the cluster perimeter sometimes includes a stray signal from a nearby cluster. Classification has been observed to be more accurate when contribution of signal component is attenuated according to its separation from the cluster center.
- Distance signals that work include a single cluster distance channel, a multi -cluster distance channel, and a multi -cluster shape-based distance channel. A single cluster distance channel applies to a patch with a cluster center in the center pixel. Then, distance of all regions in the patch is a distance from the cluster center in the center pixel.
- a multi-cluster distance channel pre-calculates distance of each region to the closest cluster center. This has the potential of connecting a region to the wrong cluster center, but that potential is low.
- a multi -cluster shape-based distance channel associates regions (sub-pixels or pixels) through adjoining regions to a pixel center that produces a same base classification. At some computational expense, this avoids the possibility of measuring a distance to the wrong pixel.
- the multi cluster and multi -cluster shape-based approaches to distance signals have the advantage of being subject to pre-calculation and use with multiple clusters in an image.
- Shape information can be used by a neural network to separate signal from noise, to improve the signal-to-noise ratio.
- regions can be marked as background, as not being part of a cluster, to define cluster edges.
- a neural network can be trained to take advantage of the resulting information about irregular cluster shapes.
- Distance information and background classification can be combined or used separately. Separating signals from abutting clusters will be increasingly important as cluster density increases.
- One direction for increasing the scale of parallel processing is to increase cluster density on the imaged media.
- Increasing density has the downside of increasing background noise when reading a cluster that has an adjacent neighbor.
- base classification scores also can be leveraged to predict quality.
- the technology disclosed includes correlating classification scores, directly or through a prediction model, with traditional Sanger or Phred quality Q-scores. Scores such as Q20,
- Correlation of class scores with Q scores can be performed using a multi-output neural network or multi variate regression analysis.
- An advantage of real time calculation of quality scores, during base classification, is that a flawed sequencing run can be terminated early. Applicant has found that occasional (rare) decisions to terminate runs can be made one-eighth to one-quarter of the way through the analysis sequence. A decision to terminate can be made after 50 cycles or after 25 to 75 cycles. In a sequential process that would otherwise run 300 to 1000 cycles, early termination results in substantial resource savings.
- Specialized convolutional neural network (CNN) architectures can be used to classify bases over multiple cycles.
- One specialization involves segregation among digital image channels during initial layers of processing.
- Convolution filters stacks can be structured to segregate processing among cycles, preventing cross-talk between digital image sets from different cycles.
- the motivation for segregating processing among cycles is that images taken at different cycles have residual registration error and are thus misaligned and have random translational offsets with respect to each other. This occurs due to the finite accuracy of the movements of the sensor’s motion stage and also because images taken in different frequency channels have different optical paths and wavelengths.
- the motivation for using image sets from successive cycles is that the contribution of pre phasing and post-phasing to signals in a particular cycle is a second order contribution. It follows that it can be helpful for the convolutional neural network to structurally segregate lower layer convolution of digital image sets among image collection cycles.
- the convolutional neural network structure also can be specialized in handling information about clustering. Templates for cluster centers and/or shapes provide additional information, which the convolutional neural network combines with the digital image data. The cluster center classification and distance data can be applied repeatedly across cycles.
- the convolutional neural network can be structured to classify multiple clusters in an image field.
- the distance channel for a pixel or subpixel can more compactly contain distance information relative to either the closest cluster center or to the adjoining cluster center, to which a pixel or subpixel belongs.
- a large distance vector could be supplied for each pixel or subpixel, or at least for each one that contains a cluster center, which gives complete distance information from a cluster center to all other pixels that are context for the given pixel.
- Performing base classification in the pixel domain has the advantage of not calling for an increase in calculations, such as 16 fold, which results from upsampling.
- even the top layer of convolutions may have sufficient cluster density to justify performing calculations that would not be harvested, instead of adding logic to cancel unneeded calculations.
- classification focuses on a particular cluster.
- pixels on the perimeter of a cluster may have different modified intensity values, depending on which adjoining cluster is the focus of classification.
- the template image in the subpixel domain can indicate that an overlap pixel contributes intensity value to two different clusters.
- optical pixel we refer to optical pixel as an “overlap pixel” when two or more adjacent or abutting clusters both overlap the pixel; both contribute to the intensity reading from the optical pixel.
- Watershed analysis named after separating rain flows into different watersheds at a ridge line, can be applied to separate even abutting clusters.
- the template image can be used to modify intensity data for overlap pixels along the perimeter of clusters.
- the overlap pixels can have different modified intensities, depending on which cluster is the focus of classification.
- the modified intensity of a pixel can be reduced based on subpixel contribution in the overlap pixel to a home cluster (i.e., the cluster to which the pixel belongs or the cluster whose intensity emissions the pixel primarily depicts), as opposed to an away cluster (i.e., the non-home cluster whose intensity emissions the pixel depicts).
- a home cluster i.e., the cluster to which the pixel belongs or the cluster whose intensity emissions the pixel primarily depicts
- an away cluster i.e., the non-home cluster whose intensity emissions the pixel depicts.
- 7 subpixels contribute intensity to the home or away cluster.
- the overlap pixel is reduced in intensity by 7/16, because 7 of the 16 subpixels contribute intensity to the home or away cluster.
- intensity is reduced by 5/16, based on the area of subpixels contributing to the home cluster divided by the total number of subpixels.
- intensity is reduced by 5/7, based on the area of subpixels contributing to the home cluster divided by the total area of contributing subpixels. The latter two calculations change when the focus turns to the away cluster, producing fractions with“2” in the numerator.
- the modified pixel values are convolved through layers of a neural network- based classifier to produce modified images.
- the modified images are used to classify bases in successive sequencing cycles.
- classification in the pixel domain can proceed in parallel for all pixels or all clusters in a chunk of an image. Only one modification of a pixel value can be applied in this scenario to assure reusability of intermediate calculations. Any of the fractions given above can be used to modify pixel intensity, depending on whether a smaller or larger attenuation of intensity is desired.
- pixels and surrounding context can be convolved through layers of a neural network-based classifier to produce modified images.
- Performing convolutions on an image chunk allows reuse of intermediate calculations among pixels that have shared context.
- the modified images are used to classify bases in successive sequencing cycles.
- This description can be paralleled for application of area weights in the subpixel domain.
- the parallel is that weights can be calculated for individual subpixels.
- the weights can, but do not need to, be the same for different subpixel parts of an optical pixel.
- the assignment of intensity to a subpixel belonging to the home cluster can be 7/16, 5/16 or 5/7 of the pixel intensity. Again, further reduction in intensity can be applied if a distance channel is being considered along with a subpixel map of cluster shapes.
- subpixel intensities for the image chunk have been modified using the template image
- subpixels and surrounding context can be convolved through layers of a neural network-based classifier to produce modified images.
- Performing convolutions on an image chunk allows reuse of intermediate calculations among subpixels that have shared context.
- the modified images are used to classify bases in successive sequencing cycles.
- Another alternative is to apply the template image as a binary mask, in the subpixel domain, to image data interpolated into the subpixel domain.
- the template image can either be arranged to require a background pixel between clusters or to allow subpixels from different clusters to abut.
- the template image can be applied as a mask. The mask determines whether an interpolated pixel keeps the value assigned by interpolation or receives a background value (e.g., zero), if it is classified in the template image as background.
- subpixels and surrounding context can be convolved through layers of a neural network-based classifier to produce modified images.
- Performing convolutions on an image chunk allows reuse of intermediate calculations among subpixels that have shared context.
- the modified images are used to classify bases in successive sequencing cycles.
- Shared context is substantial in some implementations. For instance, 15-by-15 optical pixel context may contribute to accurate base classification. An equivalent 4x up sampled context would be 60- by-60 sub pixels. This extent of context helps the neural network recognize impacts of non-uniform illumination and background during imaging.
- the technology disclosed uses small filters at a lower convolution layer to combine cluster boundaries in template input with boundaries detected in digital image input. Cluster boundaries help the neural network separate signal from background conditions and normalize image processing against the background.
- the technology disclosed substantially reuses intermediate calculations. Suppose that 20 to 25 cluster centers appear within a context area of 15 -by- 15 optical pixels. Then, first layer convolutions stand to be reused 20 to 25 times in blockwise convolution roll-ups. The reuse factor is reduced layer-by- layer until the penultimate layer, which is the first time that the reuse factor at optical resolution drops below lx.
- Blockwise roll-up training and inference from multiple convolution layers applies successive roll-ups to a block of pixels or sub pixels.
- an overlap zone in which data used during roll-up of a first data block overlaps with and can be reused for a second block of roll ups.
- Within the block in a center area surrounded by the overlap zone, are pixel values and intermediate calculations that can be rolled up and that can be reused.
- convolution results that progressively reduce the size of a context field, for instance from 15 -by- 15 to 13 -by- 13 by application of a 3-by-3 filter, can be written into the same memory block that holds the values convolved, conserving memory without impairing reuse of underlying calculations within the block.
- sharing intermediate calculations in the overlap zone requires less resources. With smaller blocks, it can be possible to calculate multiple blocks in parallel, to share the intermediate calculations in the overlap zones.
- the input channels for template data can be chosen to make the template structure consistent with classifying multiple cluster centers in a digital image field.
- Two alternatives described above do not satisfy this consistency criteria: reframing and distance mapping over an entire context. Reframing places the center of just one cluster in the center of an optical pixel. Better for classifying multiple clusters is supplying center offsets for pixels classified as holding cluster centers.
- Distance mapping if provided, is difficult to perform across a whole context area unless every pixel has its own distance map over a whole context. Simpler distance maps provide the useful consistency for classifying multiple clusters from a digital image input block.
- a neural network can learn from classification in a template of pixels or sub pixels at the boundary of a cluster, so a distance channel can be supplanted by a template that supplies binary or ternary classification, accompanied by a cluster center offset channel.
- a distance map can give a distance of a pixel from a cluster center to which the pixel (or subpixel) belongs. Or the distance map can give a distance to the closest cluster center.
- the distance map can encode binary classification with a flag value assigned to background pixels or it can be a separate channel from pixel classification. Combined with cluster center offsets, the distance map can encode ternary classification. In some implementations, particularly ones that encode pixel classifications with one or two bits, it may be desirable, at least during development, to use separate channels for pixel classification and for distance.
- the technology disclosed can include reduction of calculations to save some calculation resources in upper layers.
- the cluster center offset channel or a ternary classification map can be used to identify centers of pixel convolutions that do not contribute to an ultimate classification of a pixel center.
- performing a lookup during inference and skipping a convolution roll up can be more efficient in upper layer(s) than performing even nine multiplies and eight adds to apply a 3-by-3 filter.
- every pixel can be classified within the pipeline. Then, the cluster center map can be used after the final convolution to harvest results for only pixels that coincide with cluster centers, because an ultimate classification is only desired for those pixels.
- Figure 1 shows the processing stages used by the RTA base caller for base calling, according to one implementation.
- Figure 1 also shows the processing stages used by the disclosed neural network- based base caller for base calling, according to two implementations.
- the neural network-based base caller 218 can streamline the base calling process by obviating many of the processing stages used by the RTA base caller. The streamlining improves base calling accuracy and scale.
- the neural network-based base caller 218 it performs base calling using location/position information of cluster centers identified from the output of the neural network-based template generator 1512.
- the neural network-based base caller 218 does not use the location/position information of the cluster centers for base calling.
- the second implementation is used when a patterned flow cell design is used for cluster generation.
- the patterned flow cell contains nanowells that are precisely positioned relative to known fiducial locations and provide prearranged cluster distribution on the patterned flow cell.
- the neural network-based base caller 218 base calls clusters generated on random flow cells.
- Figure 2 illustrates one implementation of base calling using the neural network 206.
- the main input to the neural network 206 is image data 202.
- the image data 202 is derived from the sequencing images 108 produced by the sequencer 222 during a sequencing run.
- the image data 202 comprises n x n image patches extracted from the sequencing images 222, where n is any number ranging from 1 and 10,000.
- the sequencing run produces m image(s) per sequencing cycle for corresponding m image channels, and an image patch is extracted from each of the m image(s) to prepare the image data for a particular sequencing cycle.
- m is 4 or 2.
- m is 1, 3, or greater than 4.
- the image data 202 is in the optical, pixel domain in some implementations, and in the upsampled, subpixel domain in other implementations.
- the image data 202 comprises data for multiple sequencing cycles (e.g., a current sequencing cycle, one or more preceding sequencing cycles, and one or more successive sequencing cycles).
- the image data 202 comprises data for three sequencing cycles, such that data for a current (time t) sequencing cycle to be base called is accompanied with (i) data for a left
- flanking/context/previous/preceding/prior (time t- 1) sequencing cycle and (ii) data for a right flanking/context/next/successive/subsequent (time H-l) sequencing cycle.
- the image data 202 comprises data for a single sequencing cycle.
- the image data 202 depicts intensity emissions of one or more clusters and their surrounding background.
- the image patches are extracted from the sequencing images 108 in such a way that each image patch contains the center of the target cluster in its center pixel, a concept referred to herein as the“target cluster-centered patch extraction”.
- the image data 202 is encoded in the input data 204 using intensity channels (also called image channels). For each of the m images obtained from the sequencer 222 for a particular sequencing cycle, a separate image channel is used to encode its intensity data.
- intensity channels also called image channels.
- the input data 204 comprises (i) a first red image channel with n x n pixels that depict intensity emissions of the one or more clusters and their surrounding background captured in the red image and (ii) a second green image channel with n x n pixels that depict intensity emissions of the one or more clusters and their surrounding background captured in the green image.
- a biosensor comprises an array of light sensors.
- a light sensor is configured to sense information from a corresponding pixel area (e.g., a reaction site/well/nano well) on the detection surface of the biosensor.
- An analyte disposed in a pixel area is said to be associated with the pixel area, i.e., the associated analyte.
- the light sensor corresponding to the pixel area is configured to detect/capture/sense emissions/photons from the associated analyte and, in response, generate a pixel signal for each imaged channel.
- each imaged channel corresponds to one of a plurality of filter wavelength bands.
- each imaged channel corresponds to one of a plurality of imaging events at a sequencing cycle.
- each imaged channel corresponds to a combination of illumination with a specific laser and imaging through a specific optical filter.
- Pixel signals from the light sensors are communicated to a signal processor coupled to the biosensor (e.g., via a communication port). For each sequencing cycle and each imaged channel, the signal processor produces an image whose pixels respectively
- a pixel in the image corresponds to: (i) a light sensor of the biosensor that generated the pixel signal depicted by the pixel, (ii) an associated analyte whose emissions were detected by the
- Pixels in the red and green images have one-to-one correspondence within a sequencing cycle. This means that corresponding pixels in a pair of the red and green images depict intensity data for the same associated analyte, albeit in different imaged channels. Similarly, pixels across the pairs of red and green images have one-to-one correspondence between the sequencing cycles. This means that corresponding pixels in different pairs of the red and green images depict intensity data for the same associated analyte, albeit for different acquisition events/timesteps (sequencing cycles) of the sequencing run.
- Corresponding pixels in the red and green images can be considered a pixel of a“per-cycle image” that expresses intensity data in a first red channel and a second green channel.
- a per-cycle image whose pixels depict pixel signals for a subset of the pixel areas, i.e., a region (tile) of the detection surface of the biosensor, is called a“per-cycle tile image.”
- a patch extracted from a per-cycle tile image is called a“per-cycle image patch.”
- the patch extraction is performed by an input preparer.
- the image data comprises a sequence of per-cycle image patches generated for a series of k sequencing cycles of a sequencing run.
- the pixels in the per-cycle image patches contain intensity data for associated analytes and the intensity data is obtained for one or more imaged channels (e.g., a red channel and a green channel) by corresponding light sensors configured to detect emissions from the associated analytes.
- imaged channels e.g., a red channel and a green channel
- the per-cycle image patches are centered at a center pixel that contains intensity data for a target associated analyte and non-center pixels in the per-cycle image patches contain intensity data for associated analytes adjacent to the target associated analyte.
- the image data is prepared by an input preparer.
- the input data to the neural network-based base caller 218 and the neural network-based quality scorer 6102 is based on pH changes induced by the release of hydrogen ions during molecule extension.
- the pH changes are detected and converted to a voltage change that is proportional to the number of bases incorporated (e.g., in the case of Ion Torrent).
- the input data to the neural network-based base caller 218 and the neural network-based quality scorer 6102 is constructed from nanopore sensing that uses biosensors to measure the disruption in current as an analyte passes through a nanopore or near its aperture while determining the identity of the base.
- nanopore sensing that uses biosensors to measure the disruption in current as an analyte passes through a nanopore or near its aperture while determining the identity of the base.
- the Oxford Nanopore Technologies (ONT) sequencing is based on the following concept: pass a single strand of DNA (or RNA) through a membrane via a nanopore and apply a voltage difference across the membrane. The nucleotides present in the pore will affect the pore’s electrical resistance, so current measurements over time can indicate the sequence of DNA bases passing through the pore.
- This electrical current signal (the‘squiggle’ due to its appearance when plotted) is the raw data gathered by an ONT sequencer. These measurements are stored as 16-bit integer data acquisition (DAC) values, taken at 4kHz frequency (for example). With a DNA strand velocity of -450 base pairs per second, this gives approximately nine raw observations per base on average. This signal is then processed to identify breaks in the open pore signal corresponding to individual reads. These stretches of raw signal are base called - the process of converting DAC values into a sequence of DNA bases.
- the input data comprises normalized or scaled DAC values. Supplemental Input: Distance Channels
- the image data 202 is accompanied with supplemental distance data (also called distance channels).
- Distance channels supply additive bias that is incorporated in the feature maps generated from the image channels. This additive bias contributes to base calling accuracy because it is based on pixel center-to-cluster center(s) distances, which are pixel-wise encoded in the distance channels.
- a supplemental distance channel identifies distances of its pixels’ centers from the center of a target cluster containing its center pixel and to be base called. The distance channel thereby indicates respective distances of pixels of an image patch from a center pixel of the image patch.
- a supplemental distance channel identifies each pixel’s center-to-center distance from a nearest one of the clusters selected based on center-to-center distances between the pixel and each of the clusters.
- a supplemental distance channel identifies each cluster pixel’s center-to- center distance from an assigned cluster selected based on classifying each cluster pixel to only one cluster.
- the image data 202 is accompanied with supplemental scaling data (also called scaling channel) that accounts for different cluster sizes and uneven illumination conditions.
- Scaling channel also supplies additive bias that is incorporated in the feature maps generated from the image channels. This additive bias contributes to base calling accuracy because it is based on mean intensities of central cluster pixel(s), which are pixel-wise encoded in the scaling channel.
- the location/position information 216 (e.g., x-y coordinates) of cluster center(s) identified from the output of the neural network-based template generator 1512 is fed as supplemental input to the neural network 206.
- the neural network 206 receives, as supplemental input, cluster attribution information that classifies which pixels or subpixels are: background pixels or subpixels, cluster center pixels or subpixels, and cluster/cluster interior pixels or subpixels depicting/contributing to/belonging to a same cluster.
- the decay map, the binary map, and/or the ternary map or a variation of those is fed as supplemental input to the neural network 206.
- the input data 204 does not contain the distance channels, but instead the neural network 206 receives, as input, modified image data that is modified based on the output of the neural network-based template generator 1512 1512, i.e., the decay map, the binary map, and/or the ternary map.
- the intensities of the image data 202 are modified to account for the absence of distance channels.
- the image data 202 is subjected to one or more lossless
- transformation operations e.g., convolutions, deconvolutions, Fourier transforms
- the resulting modified image data is fed as input to the neural network 206.
- the neural network 206 is also referred to herein as the“neural network-based base caller” 218.
- the neural network-based base caller 218 is a multilayer perceptron (MLP).
- the neural network-based base caller 218 is a feedforward neural network. In yet another implementation, the neural network-based base caller 218 is a fully-connected neural network. In a further implementation, the neural network-based base caller 218 is a fully convolutional neural network. In yet further implementation, the neural network-based base caller 218 is a semantic segmentation neural network.
- the neural network-based base caller 218 is a convolutional neural network (CNN) with a plurality of convolution layers.
- CNN convolutional neural network
- RNN recurrent neural network
- LSTM long short-term memory network
- Bi-LSTM bi-directional LSTM
- GRU gated recurrent unit
- it includes both a CNN and a RNN.
- the neural network-based base caller 218 can use ID convolutions, 2D convolutions, 3D convolutions, 4D convolutions, 5D convolutions, dilated or atrous convolutions, transpose convolutions, depthwise separable convolutions, pointwise convolutions, l x l convolutions, group convolutions, flattened convolutions, spatial and cross-channel convolutions, shuffled grouped convolutions, spatial separable convolutions, and deconvolutions.
- It can use one or more loss functions such as logistic regression/log loss, multi-class cross-entropy/softmax loss, binary cross entropy loss, mean-squared error loss, LI loss, L2 loss, smooth LI loss, and Huber loss. It can use any parallelism, efficiency, and compression schemes such TFRecords, compressed encoding (e.g., PNG), sharding, parallel calls for map transformation, batching, prefetching, model parallelism, data parallelism, and synchronous/asynchronous SGD. It can include upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (like an LSTM or GRU), residual blocks, residual
- the neural network-based base caller 218 processes the input data 204 and produces an alternative representation 208 of the input data 204.
- the alternative representation 208 is a convolved representation in some implementations and a hidden representation in other implementations.
- the alternative representation 208 is then processed by an output layer 210 to produce an output 212.
- the output 212 is used to produce the base call(s), as discussed below.
- the neural network-based base caller 218 outputs a base call for a single target cluster for a particular sequencing cycle. In another implementation, it outputs a base call for each target cluster in a plurality of target clusters for the particular sequencing cycle. In yet another implementation, it outputs a base call for each target cluster in a plurality of target clusters for each sequencing cycle in a plurality of sequencing cycles, thereby producing a base call sequence for each target cluster.
- Figure 3 is one implementation of transforming, from subpixel domain to pixel domain, location/position information of cluster centers identified from the output of the neural network-based template generator 1512.
- Cluster center location/position information is used for the neural network-based base calling at least (i) to construct the input data by extracting image patches from the sequencing images 108 that contain the centers of target clusters to be base called in their center pixels, (ii) to construct the distance channel that identifies distances of an image patch’s pixels’ centers from the center of a target cluster contained its center pixel, and/or (iii) as supplemental input 216 to the neural network-based base caller 218.
- the cluster center location/position information is identified from the output of the neural network-based template generator 1512 in the upsampled, subpixel resolution.
- the neural network-based base caller 218 operates on image data that is in optical, pixel-resolution. Therefore, in one implementation, the cluster center location/position information is transformed into the pixel domain by downscaling coordinates of the cluster centers by the same upsampling factor used to upsample image data fed as input to the neural network-based template generator 1512.
- the image patches data fed as input to the neural network-based template generator 1512 are derived by upsampling sequencing images 108 from some initial sequencing cycles by an upsampling factor f.
- the coordinates of the cluster centers 302, produced by the neural network-based template generator 1512 by the post-processor 1814 and stored in the template/template image 304 are divided by / (the divisor).
- These downscaled cluster center coordinates are referred to herein as the“reference cluster centers” 308 and stored in the
- the downscaling is performed by a downscaler 306.
- Figure 4 is one implementation of using cycle -specific and image channel-specific transformations to derive the so-called“transformed cluster centers” 404 from the reference cluster centers 308. The motivation for doing so is discussed first.
- Sequencing images taken at different sequencing cycles are misaligned and have random translational offsets with respect to each other. This occurs due to the finite accuracy of the movements of the sensor’s motion stage and also because images taken in different image/frequency channels have different optical paths and wavelengths. Consequently, an offset exists between the reference cluster centers and locations/positions of the cluster centers in the sequencing images. This offset varies between images captured at different sequencing cycles and within images captured at a same sequencing cycle in different image channels.
- cycle-specific and image channel-specific transformations are applied to the reference cluster centers to produce respective transformed cluster centers for image patches of each sequencing cycle.
- the cycle-specific and image channel-specific transformations are derived by an image registration process that uses image correlation to determine a full six-parameter affine transformation (e.g., translation, rotation, scaling, shear, right reflection, left reflection) or a Procrustes transformation (e.g., translation, rotation, scaling, optionally extended to aspect ratio), additional details of which can be found in Appendices 1, 2, 3, and 4.
- the cycle-specific and image channel-specific transformations are ⁇ a r 3 , b 3 , c 3 , d 3 , e 3 , f ⁇ for the red image and ⁇ a , b , X g 3 , 5 g 3 , s g 3 , f ⁇ ⁇ for the green image.
- the cycle -specific and image channel-specific transformations are ⁇ a] , bI ' , c] , ⁇ ’ , e] , f ⁇ for the red image and ⁇ a g , /T , / g , 5 g , s g , g ⁇ for the green image.
- the transformations are performed by a transformer 402.
- a different distance formula can be used such as distance squared, e A -distance, and e A -distance squared.
- Figure 5 illustrates an image patch 502 that is part of the input data fed to the neural network-based base caller 218.
- the input data includes a sequence of per-cycle image patch sets generated for a series of sequencing cycles of a sequencing run.
- Each per-cycle image patch set in the sequence has an image patch for a respective one of one or more image channels.
- the sequencing run uses the 2-channel chemistry which produces a red image and a green image at each sequencing cycle, and the input data comprises data spanning a series of three sequencing cycles of the sequencing run: a current (time t) sequencing cycle to be base called, a previous (time t- 1) sequencing cycle, and a next (time /+ 1 ) sequencing cycle.
- the input data comprises the following sequence of per-cycle image patch sets: a current cycle image patch set with a current red image patch and a current green image patch respectively extracted from the red and green sequencing images captured at the current sequencing cycle, a previous cycle image patch set with a previous red image patch and a previous green image patch respectively extracted from the red and green sequencing images captured at the previous sequencing cycle, and a next cycle image patch set with a next red image patch and a next green image patch respectively extracted from the red and green sequencing images captured at the next sequencing cycle.
- each image patch can be n x n.
- n can be any number ranging from 1 and
- Each image patch can be in the optical, pixel domain or in the upsampled, subpixel domain.
- the extracted image page 502 has pixel intensity data for pixels that cover/depict a plurality of clusters 1 -m and their surrounding background. Also, in the illustrated implementation, the image patch 502 is extracted in such a way that is contains in its center pixel the center of a target cluster being base called.
- cluster centers are depicted by a purple circle and have floating point location/position coordinates.
- Figure 6 depicts one implementation of determining distance values 602 for a distance channel when a single target cluster is being base called by the neural network-based base caller 218.
- the center of the target cluster is contained in the center pixels of the image patches that are fed as input to the neural network-based base caller 218.
- the distance values are calculated on a pixel-by-pixel basis, such that, for each pixel, the distance between its center and the center of the target cluster is determined. Accordingly, a distance value is calculated for each pixel in each of the image patches that are part of the input data.
- Figure 6 shows three distance values dl, dc, and dn for a particular image patch.
- the distance values 602 are calculated using the following distance formula:
- d j( x 2 ) 2 +(y 2 - Ti) 2 ⁇ which operates on the transformed cluster centers 404.
- a different distance formula can be used such as distance squared, e A -distance, and e A - distance squared.
- the distance values 602 are calculated in the subpixel domain.
- the distance channels are calculated only with respect to the target cluster being base called.
- Figure 7 shows one implementation of pixel-wise encoding 702 the distance values 602 that are calculated between the pixels and the target cluster.
- the distance values 602 as part of the distance channel, supplement each corresponding image channel (image patch) as“pixel distance data”.
- the input data comprises a red distance channel and a green distance channel that supplement the red image channel and the green image channel as pixel distance data, respectively.
- the distance channels are encoded on a subpixel-by-subpixel basis.
- Figure 8a depicts one implementation of determining distance values 802 for a distance channel when multiple target clusters 1 -m are being simultaneously base called by the neural network- based base caller 218.
- the distance values are calculated on a pixel-by-pixel basis, such that, for each pixel, the distance between its center and respective centers of each of the multiple clusters 1 -m is determined and the minimum distance value (in red) is assigned to the pixel.
- the distance channel identifies each pixel’s center-to-center distance from a nearest one of the clusters selected based on center-to-center distances between the pixel and each of the clusters.
- Figure 8a shows pixel center-to-cluster center distances for two pixels and four cluster centers. Pixel 1 is nearest to cluster 1 and pixel n is nearest to cluster 3.
- a different distance formula can be used such as distance squared, e A -distance, and e A - distance squared.
- the distance values 802 are calculated in the subpixel domain.
- the distance channels are calculated with respect to the nearest cluster from among a plurality of clusters.
- Figure 8b shows, for each of the target clusters 1 -m, some nearest pixels determined based on the pixel center-to-nearest cluster center distances 804 ⁇ dl, d2, d23, d29, d24, d32, dn, dl 3, dl4, and etc.).
- Figure 9 shows one implementation of pixel-wise encoding 902 the minimum distance values that are calculated between the pixels and the nearest one of the clusters.
- the distance channels are encoded on a subpixel-by-subpixel basis.
- Figure 10 illustrates one implementation using pixel-to-cluster
- classification/attribution/categorization 1002 referred to herein as“cluster shape data” or“cluster shape information”, to determine cluster distance values 1102 for a distance channel when multiple target clusters 1 -m are being simultaneously base called by the neural network-based base caller 218.
- the output of the neural network-based template generator 1512 is used to classify the pixels as: background pixels, center pixels, and cluster/cluster interior pixels
- This pixel-to-cluster classification information is used to attribute each pixel to only one cluster, irrespective of the distances between the pixel centers and the cluster centers, and is stored as the cluster shape data.
- FIG. 11 shows one implementation of calculating the distance values 1102 using the cluster shape data. First, we explain why distance information calculated without accounting for cluster shapes is prone to error. We then explain how the cluster shape data overcomes this limitation.
- the center-to-center distance value for a pixel is calculated with respect to the nearest cluster from among a plurality of clusters.
- the pixel is assigned a distance value that is calculated with respect to cluster B (to which it does not belong), instead of being assigned a distance value vis-a-vis cluster A (to which it truly belongs).
- The“multi-cluster shape-based” base calling implementation avoids this by using the true pixel-to-cluster mapping, as defined in the raw image data and produced by the neural network-based template generator 1512.
- the cluster pixels depict cluster intensities and the background pixels depict background intensities.
- the cluster distance values identify each cluster pixel’s center-to-center distance from an assigned one of the clusters selected based on classifying each cluster pixel to only one of the clusters.
- the background pixels are assigned a predetermined background distance value, such as 0 or 0.1, or some other minimum value.
- a different distance formula can be used such as distance squared, e A -distance, and e A -distance squared.
- the cluster distance values 1102 are calculated in the subpixel domain and the cluster and background attribution 1002 occurs on a subpixel-by-subpixel basis.
- the distance channels are calculated with respect to an assigned cluster from among a plurality of clusters.
- the assigned cluster is selected based on classifying each cluster pixel to only one of the clusters in accordance with the true pixel-to-cluster mapping defined in the raw image data.
- Figure 12 shows one implementation of pixel-wise encoding the distance values 1002 that are calculated between the pixels and the assigned clusters.
- the distance channels are encoded on a subpixel-by- subpixel basis.
- CNN convolutional neural network
- GPU general purpose graphics processing units
- MLP multi-layer perceptron
- Figure 13 illustrates one implementation of the specialized architecture of the neural network-based base caller 218 that is used to segregate processing of data for different sequencing cycles. The motivation for using the specialized architecture is described first.
- the neural network-based base caller 218 processes data for a current sequencing cycle, one or more preceding sequencing cycles, and one or more successive sequencing cycles. Data for additional sequencing cycles provides sequence -specific context. The neural network- based base caller 218 learns the sequence-specific context during training and base call them.
- data for pre and post sequencing cycles provides second order contribution of pre-phasing and phasing signals to the current sequencing cycle.
- the specialized architecture comprises spatial convolution layers that do not mix information between sequencing cycles and only mix information within a sequencing cycle.
- Spatial convolution layers use so-called“segregated convolutions” that operationalize the segregation by independently processing data for each of a plurality of sequencing cycles through a “dedicated, non-shared” sequence of convolutions.
- the segregated convolutions convolve over data and resulting feature maps of only a given sequencing cycle, i.e., intra-cycle, without convolving over data and resulting feature maps of any other sequencing cycle.
- the input data comprises (i) current data for a current (time t) sequencing cycle to be base called, (ii) previous data for a previous (time t- 1) sequencing cycle, and (iii) next data for a next (time /+ 1) sequencing cycle.
- the specialized architecture then initiates three separate data processing pipelines (or convolution pipelines), namely, a current data processing pipeline, a previous data processing pipeline, and a next data processing pipeline.
- the current data processing pipeline receives as input the current data for the current (time t) sequencing cycle and independently processes it through a plurality of spatial convolution layers to produce a so-called“current spatially convolved representation” as the output of a final spatial convolution layer.
- the previous data processing pipeline receives as input the previous data for the previous (time t- 1) sequencing cycle and
- the next data processing pipeline receives as input the next data for the next (time /+ 1 ) sequencing cycle and independently processes it through the plurality of spatial convolution layers to produce a so-called“next spatially convolved representation” as the output of the final spatial convolution layer.
- the current, previous, and next processing pipelines are executed in parallel.
- the spatial convolution layers are part of a spatial convolutional network (or subnetwork) within the specialized architecture.
- the neural network-based base caller 218 further comprises temporal convolution layers that mix information between sequencing cycles, i.e., inter-cycles.
- the temporal convolution layers receive their inputs from the spatial convolutional network and operate on the spatially convolved representations produced by the final spatial convolution layer for the respective data processing pipelines.
- the inter-cycle operability freedom of the temporal convolution layers emanates from the fact that the misalignment property, which exists in the image data fed as input to the spatial
- convolutional network is purged out from the spatially convolved representations by the cascade of segregated convolutions performed by the sequence of spatial convolution layers.
- Temporal convolution layers use so-called“combinatory convolutions” that groupwise convolve over input channels in successive inputs on a sliding window basis.
- the successive inputs are successive outputs produced by a previous spatial convolution layer or a previous temporal convolution layer.
- the temporal convolution layers are part of a temporal
- the temporal convolutional network receives its inputs from the spatial convolutional network.
- a first temporal convolution layer of the temporal convolutional network groupwise combines the spatially convolved representations between the sequencing cycles.
- subsequent temporal convolution layers of the temporal convolutional network combine successive outputs of previous temporal convolution layers.
- the output of the final temporal convolution layer is fed to an output layer that produces an output.
- the output is used to base call one or more clusters at one or more sequencing cycles.
- the specialized architecture processes information from a plurality of inputs in two stages.
- segregation convolutions are used to prevent mixing of information between the inputs.
- combinatory convolutions are used to mix information between the inputs.
- the results from the second stage are used to make a single inference for the plurality of inputs.
- the specialized architecture maps the plurality of inputs to the single inference.
- the single inference can comprise more than one prediction, such as a classification score for each of the four bases (A, C, T, and G).
- the inputs have temporal ordering such that each input is generated at a different time step and has a plurality of input channels.
- the plurality of inputs can include the following three inputs: a current input generated by a current sequencing cycle at time step (/), a previous input generated by a previous sequencing cycle at time step (t- 1), and a next input generated by a next sequencing cycle at time step (/+ 1 ).
- each input is respectively derived from the current, previous, and next inputs by one or more previous convolution layers and includes k feature maps.
- each input can include the following five input channels: a red image channel (in red), a red distance channel (in yellow), a green image channel (in green), a green distance channel (in purple), and a scaling channel (in blue).
- each input can include k feature maps produced by a previous convolution layer and each feature map is treated as an input channel.
- Figure 14 depicts one implementation of the segregated convolutions.
- Segregated convolutions process the plurality of inputs at once by applying a convolution filter to each input in parallel.
- the convolution filter combines input channels in a same input and does not combine input channels in different inputs.
- a same convolution filter is applied to each input in parallel.
- a different convolution filter is applied to each input in parallel.
- each spatial convolution layer comprises a bank of k convolution filters, each of which applies to each input in parallel.
- Combinatory convolutions mix information between different inputs by grouping corresponding input channels of the different inputs and applying a convolution filter to each group.
- the grouping of the corresponding input channels and application of the convolution filter occurs on a sliding window basis.
- a window spans two or more successive input channels representing, for instance, outputs for two successive sequencing cycles. Since the window is a sliding window, most input channels are used in two or more windows.
- the different inputs originate from an output sequence produced by a preceding spatial or temporal convolution layer. In the output sequence, the different inputs are arranged as successive outputs and therefore viewed by a next temporal convolution layer as successive inputs. Then, in the next temporal convolution layer, the combinatory convolutions apply the convolution fdter to groups of corresponding input channels in the successive inputs.
- the successive inputs have temporal ordering such that a current input is generated by a current sequencing cycle at time step (/). a previous input is generated by a previous sequencing cycle at time step (/- 1 ). and a next input is generated by a next sequencing cycle at time step (H-l).
- each successive input is respectively derived from the current, previous, and next inputs by one or more previous convolution layers and includes k feature maps.
- each input can include the following five input channels: a red image channel (in red), a red distance channel (in yellow), a green image channel (in green), a green distance channel (in purple), and a scaling channel (in blue).
- each input can include k feature maps produced by a previous convolution layer and each feature map is treated as an input channel.
- the depth B of the convolution filter is dependent upon the number of successive inputs whose corresponding input channels are groupwise convolved by the convolution filter on a sliding window basis. In other words, the depth B is equal to the number of successive inputs in each sliding window and the group size.
- each temporal convolution layer comprises a bank of k convolution filters, each of which applies to the successive inputs on a sliding window basis.
- Figure 16 shows one implementation of convolution layers of the neural network-based base caller 218 in which each convolution layer has a bank of convolution filters.
- each convolution layer has a bank of convolution filters.
- five convolution layers are shown, each of which has a bank of 64 convolution filters.
- each spatial convolution layer has a bank of k convolution filters, where k can be any number such as 1, 2, 8, 64, 128, 256, and so on.
- each temporal convolution layer has a bank of k convolution filters, where k can be any number such as 1, 2, 8, 64, 128, 256, and so on.
- Figure 17 depicts two configurations of the scaling channel that supplements the image channels.
- the scaling channel is pixel-wise encoded in the input data that is fed to the neural network- based base caller 218. Different cluster sizes and uneven illumination conditions result in a wide range of cluster intensities being extracted.
- the additive bias supplied by the scaling channel makes cluster intensities comparable across clusters.
- the scaling channel is encoded on a subpixel-by-subpixel basis.
- the scaling channel assigns a same scaling value to all the pixels.
- the scaling channels assign different scaling values to groups of pixels based on the cluster shape data.
- Scaling channel 1710 has a same scaling value (si) for all the pixels.
- Scaling value (si) is based on a mean intensity of the center pixel that contains the center of the target cluster.
- the mean intensity is calculated by averaging intensity values of the center pixel observed during two or more preceding sequencing cycles that produced an A and a T base call for the target cluster.
- Scaling channel 1708 has different scaling values (si, s2, s3, sm) for respective pixel groups attributed to corresponding clusters based on the cluster shape data.
- Each pixel group includes a central cluster pixel that contains a center of the corresponding cluster.
- Scaling value for a particular pixel group is based on the mean intensity of its central cluster pixel.
- the mean intensity is calculated by averaging intensity values of the central cluster pixel observe during two or more preceding sequencing cycles that produced an A and a T base call for the corresponding cluster.
- the background pixels are assigned a background scaling value (sb), which can be 0 or 0.1, or some other minimum value.
- the scaling channels 1706 and their scaling values are determined by an intensity scaler 1704.
- the intensity scaler 1704 uses cluster intensity data 1702 from preceding sequencing cycles to calculate the mean intensities.
- the supplemental scaling channel can be provided as input in a different way, such as prior to or to the last layer of the neural network-based base caller 218, prior to or to the one or more intermediate layers of the neural network-based base caller 218, and as a single value instead of encoding it pixel-wise to match the image size.
- Input Data Image Channels. Distance Channels, and Scaling Channel
- Figure 18a illustrates one implementation of input data 1800 for a single sequencing cycle that produces a red image and a green image.
- the input data 1800 comprises the following:
- Red intensity data 1802 (in red) for pixels in an image patch extracted from the red image.
- the red intensity data 1802 is encoded in a red image channel.
- Red distance data 1804 (in yellow) that pixel-wise supplements the red intensity data 1802.
- the red distance data 1804 is encoded in a red distance channel.
- Green intensity data 1806 (in green) for pixels in an image patch extracted from the green image.
- the green intensity data 1806 is encoded in a green image channel.
- Green distance data 1808 (in purple) that pixel-wise supplements the green intensity data 1806.
- the green distance data 1808 is encoded in a green distance channel.
- Scaling data 1810 (in blue) that pixel-wise supplements the red intensity data 1802 and the green intensity data 1806.
- the scaling data 1810 is encoded in a scaling channel.
- the input data can include fewer or greater number of image channels and supplemental distance channels.
- the input data comprises four image channels for each sequencing cycle and four supplemental distance channels.
- Figure 18b illustrates one implementation of the distance channels supplying additive bias that is incorporated in the feature maps generated from the image channels.
- This additive bias contributes to base calling accuracy because it is based on pixel center-to-cluster center(s) distances, which are pixel- wise encoded in the distance channels.
- An image patch s pixels depict intensity emissions of a plurality of clusters (e.g., 10 to 200 clusters) and their surround background. Additional clusters incorporate information from a wider radius and contribute to base call prediction by discerning the underlying base whose intensity emissions are depicted in the image patch. In other words, intensity emissions from a group of clusters cumulatively create an intensity pattern that can be assigned to a discrete base (A, C, T, or G).
- the distance channels convey to the convolution filters which pixels contain the cluster centers and which pixels are farther away from the cluster centers.
- the convolution filters use this information to assign a sequencing signal to its proper source cluster by attending to (a) the central cluster pixels, their neighboring pixels, and feature maps derived from them more than (b) the perimeter cluster pixels, background pixels, and feature maps derived from them.
- the distance channels supply positive additive biases that are incorporated in feature maps resulting from (a), but supply negative additive biases that are incorporated in feature maps resulting from (b).
- the distance channels have the same dimensionality as the image channels. This allows the convolution fdters to separately evaluate the image channels and the distance channels within a local receptive field and coherently combine the evaluations.
- the distance channels identify only one central cluster pixel at the center of the image patches.
- the distance channels identify multiple central cluster pixels distributed across the image patches.
- A“single cluster” distance channel applies to an image patch that contains the center of a single target cluster to be base called in its center pixel.
- the single cluster distance channel includes center-to-center distance of each pixel in the image patch to the single target cluster.
- the image patch also includes additional clusters that are adjacent to the single target cluster, but the additional clusters are not base called.
- A“multi-cluster” distance channel applies to an image patch that contains the centers of multiple target clusters to be base called in its respective central cluster pixels.
- the multi-cluster distance channel includes center-to-center distance of each pixel in the image patch to the nearest cluster from among the multiple target clusters. This has the potential of measuring a center-to-center distance to the wrong cluster, but that potential is low.
- A“multi-cluster shape-based” distance channel applies to an image patch that contains the centers of multiple target clusters to be base called in its respective central cluster pixels and for which pixel-to-cluster attribution information is known.
- the multi-cluster distance channel includes center-to- center distance of each cluster pixel in the image patch to the cluster to which it belongs or is attributed to from among the multiple target clusters. Background pixels can be flagged as background, instead of given a calculated distance.
- Figure 18b also illustrates one implementation of the scaling channel supplying additive bias that is incorporated in the feature maps generated from the image channels.
- This additive bias contributes to base calling accuracy because it is based on mean intensities of central cluster pixel(s), which are pixel- wise encoded in the scaling channel.
- the discussion about additive biasing in the context of the distance channels analogously applies to the scaling channel.
- Figure 18b further shows an example of how the additive biases are derived from the distance and scaling channels and incorporated into the features maps generated from the image channels.
- convolution filter i 1814 evaluates a local receptive field 1812 (in magenta) across the two image channels 1802 and 1806, the two distance channels 1804 and 1808, and the scaling channel 1810. Because the distance and scaling channels are separately encoded, the additive biasing occurs when the intermediate outputs 1816a-e of each of the channel-specific convolution kernels (or feature detectors) 1816a-e (plus bias 1816f) are channel-wise accumulated 1818 as the final output/feature map element 1820 for the local receptive field 1812.
- the additive biases supplied by the two distance channels 1804 and 1808 are the intermediate outputs 1816b and 1816d, respectively.
- the additive bias supplied by the scaling channel 1810 is the intermediate output 1816e.
- the additive biasing guides the feature map compilation process by putting greater emphasis on those features in the image channels that are considered more important and reliable for base calling, i.e., pixel intensities of central cluster pixels and their neighboring pixels.
- the scaling channel additive bias 1816e derived from the scaling channel 1810 can positively or negatively bias the convolved representation 1820 of the pixels.
- Figure 18b shows application of a single convolution filter i 1814 on the input data 1800 for a single sequencing cycle.
- convolution filters e.g., a filter bank of k filters, where k can be 8, 16, 32, 64,
- the distance and scaling channels instead of being separately encoded, are directly applied to the image channels to generate modulated pixel multiplication) since the distance and scaling channels and the image channels have the same dimensionality.
- weights of the convolution kernels are determined based on the distance and image channels so as to detect most important features in the image channels during the elementwise multiplication.
- the distance and scaling channels instead of being fed to a first layer, are provided as auxiliary input to downstream layers and/or networks (e.g., to a fully-connected network or a classification layer).
- the distance and scaling channels are fed to the first layer and re-fed to the downstream layers and/or networks (e.g., via a residual connection).
- volumetric input is a 4D tensor with dimensions k x l x w x h, with / being the additional dimension, length.
- Each individual kernel is a 4D tensor swept in a 4D tensor, resulting in a 3D tensor (the channel dimension is collapsed because it is not swept across).
- the distance and scaling channels are separately encoded on a subpixel-by-subpixel basis and the additive biasing occurs at the subpixel level.
- Figures 19a, 19b, and 19c depict one implementation of base calling a single target cluster.
- the specialized architecture processes the input data for three sequencing cycles, namely, a current (time t) sequencing cycle to be base called, a previous (time t- 1) sequencing cycle, and a next (time /+ 1 ) sequencing cycle and produces a base call for the single target cluster at the current (time t) sequencing cycle.
- Figures 19a and 19b show the spatial convolution layers.
- Figure 19c shows the temporal convolution layers, along with some other non-convolution layers.
- vertical dotted lines demarcate spatial convolution layers from the feature maps and horizontal dashdotted lines demarcate the three convolution pipelines corresponding to the three sequencing cycles.
- the input data includes a tensor of dimensionality n x n x m (e.g., the input tensor 1800 in Figure 18a), where n represents the width and height of a square tensor and m represents the number of input channels, making the dimensionality of the input data for the three cycles n x n x m x t.
- n represents the width and height of a square tensor
- m represents the number of input channels
- each per-cycle tensor contains, in the center pixel of its image channels, a center of the single target cluster. It also depicts intensity emissions of the single target cluster, of some adjacent clusters, and of their surrounding background captured in each of the image channels at a particular sequencing cycle.
- Figure 19a two example image channels are depicted, namely, the red image channel and the green image channel.
- Each per-cycle tensor also includes distance channels that supplement corresponding image channels (e.g., a red distance channel and a green distance channel).
- the distance channels identify center-to-center distance of each pixel in the corresponding image channels to the single target cluster.
- Each per-cycle tensor further includes a scaling channel that pixel-wise scales intensity values in each of the image channels.
- the specialized architecture has five spatial convolution layers and two temporal convolution layers.
- Each spatial convolution layer applies segregated convolutions using a bank of k convolution filters of dimensionality / x / x d, where j represents the width and height of a square filter and d represents its depth.
- Each temporal convolution layer applies combinatory convolutions using a bank of k convolution filters of dimensionality / x / x a, where j represents the width and height of a square filter and a represents its depth.
- the specialized architecture has pre-classification layers (e.g., a flatten layer and a dense layer) and an output layer (e.g., a softmax classification layer).
- the pre-classification layers prepare the input for the output layer.
- the output layer produces the base call for the single target cluster at the current (time t) sequencing cycle.
- Figures 19a, 19b, and 19c also show the resulting feature maps (convolved representations or intermediate convolved representations or convolved features or activation maps) produced by the convolution filters.
- the spatial dimensionality of the resulting feature maps reduces by a constant step size from one convolution layer to the next, a concept referred to herein as the“consistently reducing spatial dimensionality”.
- an example constant step size of two is used for the consistently reducing spatial dimensionality.
- the consistently reducing spatial dimensionality causes the convolution filters to progressively narrow the focus of attention on the central cluster pixels and their neighboring pixels and generate feature maps with features that capture local dependencies among the central cluster pixels and their neighboring pixels. This in turn helps with accurately base calling the clusters whose centers are contained in the central cluster pixels.
- the combinatory convolutions of the two temporal convolution layers mix information between the three sequencing cycles.
- the first temporal convolution layer convolves over the next and current spatially convolved representations respectively produced for the next and current sequencing cycles by a final spatial convolution layer. This yields a first temporal output.
- the first temporal convolution layer also convolves over the current and previous spatially convolved representations respectively produced for the current and previous sequencing cycles by the final spatial convolution layer. This yields a second temporal output.
- the second temporal convolution layer convolves over the first and second temporal outputs and produces a final temporal output.
- the final temporal output is fed to the flatten layer to produce a flattened output.
- the flattened output is then fed to the dense layer to produce a dense output.
- the dense output is processed by the output layer to produce the base call for the single target cluster at the current (time t) sequencing cycle.
- the output layer produces likelihoods (classification scores) of a base incorporated in the single target cluster at the current sequencing cycle being A, C, T, and G, and classifies the base as A, C, T, or G based on the likelihoods (e.g., the base with the maximum likelihood is selected, such the base A in Figure 19a).
- the likelihoods are exponentially normalized scores produced by a softmax classification layer and sum to unity.
- the output layer derives an output pair for the single target cluster.
- the output pair identifies a class label of a base incorporated in the single target cluster at the current sequencing cycle being A, C, T, or G, and base calls the single target cluster based on the class label.
- a class label of 1, 0 identifies an A base
- a class label of 0, 1 identifies a C base
- a class label of 1, 1 identifies a T base
- a class label of 0, 0 identifies a G base.
- a class label of 1, 1 identifies an A base
- a class label of 0, 1 identifies a C base
- a class label of 0.5, 0.5 identifies a T base
- a class label of 0, 0 identifies a G base.
- a class label of 1, 0 identifies an A base
- a class label of 0, 1 identifies a C base
- a class label of 0.5, 0.5 identifies a T base
- a class label of 0, 0 identifies a G base.
- a class label of 1, 2 identifies an A base
- a class label of 0, 1 identifies a C base
- a class label of 1, 1 identifies a T base
- a class label of 0, 0 identifies a G base.
- the output layer derives a class label for the single target cluster that identifies a base incorporated in the single target cluster at the current sequencing cycle being A, C, T, or G, and base calls the single target cluster based on the class label.
- a class label of 0.33 identifies an A base
- a class label of 0.66 identifies a C base
- a class label of 1 identifies a T base
- a class label of 0 identifies a G base.
- a class label of 0.50 identifies an A base
- a class label of 0.75 identifies a C base
- a class label of 1 identifies a T base
- a class label of 0.25 identifies a G base.
- the output layer derives a single output value, compares the single output value against class value ranges corresponding to bases A, C, T, and G, based on the comparison, assigns the single output value to a particular class value range, and base calls the single target cluster based on the assignment.
- the single output value is derived using a sigmoid function and the single output value ranges from 0 to 1.
- a class value range of 0-0.25 represents an A base
- a class value range of 0.25-0.50 represents a C base
- a class value range of 0.50-0.75 represents a T base
- a class value range of 0.75-1 represents a G base.
- the specialized architecture can process input data for fewer or greater number of sequencing cycles and can comprise fewer or greater number of spatial and temporal convolution layers.
- the dimensionality of the input data, the per-cycle tensors in the input data, the convolution fdters, the resulting feature maps, and the output can be different.
- the number of convolution fdters in a convolution layer can be different. It can use different padding and striding configurations. It can use a different classification function (e.g., sigmoid or regression) and may or may not include a fully-connected layer.
- ID convolutions 2D convolutions, 3D convolutions, 4D convolutions, 5D convolutions, dilated or atrous convolutions, transpose convolutions, depthwise separable convolutions, pointwise convolutions, l x l convolutions, group convolutions, flattened convolutions, spatial and cross-channel convolutions, shuffled grouped convolutions, spatial separable convolutions, and deconvolutions.
- loss functions such as logistic regression/log loss, multi-class cross-entropy/softmax loss, binary cross-entropy loss, mean-squared error loss, LI loss, L2 loss, smooth LI loss, and Huber loss.
- It can include upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (like an LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, peephole connections, activation functions (e.g., non-linear transformation functions like rectifying linear unit (ReLU), leaky ReLU, exponential liner unit (ELU), sigmoid and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or average pooling), global average pooling layers, and attention mechanisms.
- ReLU rectifying linear unit
- ELU exponential liner unit
- sigmoid and hyperbolic tangent sigmoid and hyperbolic tangent
- a tile includes twenty thousand to three hundred thousand clusters.
- Illumina’s NovaSeq sequencer has up to four million clusters per tile. Therefore, a sequencing image of the tile (tile image) can depict intensity emissions from twenty thousand to three hundred thousand clusters and their surrounding background. So, in one implementation, using input data which includes the entire tile image results in three hundred thousand clusters being simultaneously base called on a per- input basis. In another implementation, using image patches of size 15 x 15 pixels in the input data results in less than hundred clusters being simultaneously base called on a per-input basis.
- these numbers can vary depending on the sequencing configuration, the parallelism strategy, the details of the architecture (e.g., based on optimal architecture hyperparameters), and available compute.
- Figure 20 shows one implementation of simultaneously base calling multiple target clusters.
- the input data has three tensors for the three sequencing cycles discussed above.
- Each per-cycle tensor e.g., the input tensor 1800 in Figure 18a
- some additional adjacent clusters, which are not base called, are also included for context.
- each per-cycle tensor includes distance channels that supplement corresponding image channels (e.g., a red distance channel and a green distance channel).
- the distance channels identify center-to-center distance of each pixel in the corresponding image channels to the nearest cluster from among the multiple target clusters.
- each per-cycle tensor includes distance channels that supplement corresponding image channels (e.g., a red distance channel and a green distance channel).
- the distance channels identify center-to-center distance of each cluster pixel in the corresponding image channels to the cluster to which it belongs or is attributed to from among the multiple target clusters.
- Each per-cycle tensor further includes a scaling channel that pixel-wise scales intensity values in each of the image channels.
- each per-cycle tensor is great than that shown in Figure 19a. That is, in the single target cluster base calling implementation in Figure 19a, the spatial dimensionality of each per-cycle tensor is 15 x 15, whereas in the multiple cluster base calling implementation in Figure 20, the spatial dimensionality of each per-cycle tensor is 114 x 114. Having greater amount of pixelated data that depicts intensity emissions of additional clusters improves the accuracy of base calls simultaneously predicted for the multiple clusters, according to some
- the image channels in each per-cycle tensor are obtained from the image patches extracted from the sequencing images.
- there are overlapping pixels between extracted image patches that are spatially contiguous e.g., left, right, top, and bottom contiguous. Accordingly, in one implementation, the overlapping pixels are not subjected to redundant convolutions and results from a prior convolution are reused in later instances when the overlapping pixels are part of the subsequent inputs.
- a first image patch of size x n pixels is extracted from a sequencing image and a second image patch of size m x m pixels is also extracted from the same sequencing image, such that the first and second image patches are spatially contiguous and share an overlapping region ofo x o pixels.
- the o x o pixels are convolved as part of the first image patch to produce a first convolved representation that is stored in memory. Then, when the second image patch is convolved, the o x o pixels are not convolved again and instead the first convolved representation is retrieved from memory and reused.
- n m. In other implementations, they are not equal.
- the input data is then processed through the spatial and temporal convolution layers of the specialized architecture to produce a final temporal output of dimensionality w ; x u ; x k.
- the spatial dimensionality is reduced by a constant step size of two at each convolution layer. That is, starting with a n x n spatial dimensionality of the input data, a w x w spatial dimensionality of the final temporal output is derived.
- an output layer produces a base call for each unit in the w x w set of units.
- the output layer is a softmax layer that produces four-way classification scores for the four bases (A, C, T, and G) on a unit- by-unit basis. That is, each unit in the w x w set of units is assigned a base call based on the maximum classification score in a corresponding softmax quadruple, as depicted in Figure 20.
- the w x w set of units is derived as a result of processing the final temporal output through a flatten layer and a dense layer to produce a flattened output and a dense output, respectively.
- the flattened output has vr x vr x k elements and the dense output has w x w elements that form the w x w set of units.
- Base calls for the multiple target clusters are obtained by identifying which of the base called units in the w x w set of units coincide with or correspond to central cluster pixels, i.e., pixels in the input data that contain the respective centers of the multiple target clusters.
- a given target cluster is assigned the base call of the unit that coincides with or corresponds to the pixel that contains the center of the given target cluster.
- base calls of units that do not coincide with or correspond to the central cluster pixels are filtered out.
- This functionality is operationalized by a base call filtering layer, which is part of the specialized architecture in some implementations, or implemented as a post processing module in other implementations.
- base calls for the multiple target clusters are obtained by identifying which groups of base called units in the w x w set of units cover a same cluster, i.e., identifying pixel groups in the input data that depict a same cluster. Then, for each cluster and its corresponding pixel group, an average of classification scores (softmax probabilities) of the respective four base classes (A, C, T, and G) is calculated across pixels in the pixel group and the base class that has the highest average classification score is selected for base calling the cluster.
- classification scores softmax probabilities
- ground truth comparison and error computation occurs only for those units that coincide with or correspond to the central cluster pixels, such that their predicted base calls are evaluated against the correct base calls identified as ground truth labels.
- Figure 21 shows one implementation of simultaneously base calling multiple target clusters at a plurality of successive sequencing cycles, thereby simultaneously producing a base call sequence for each of the multiple target clusters.
- base call at one sequencing cycle is predicted using data for three sequencing cycles (the current (time t), the previous/left flanking (time t- ⁇ ), and the next/right flanking (time t+ 1) sequencing cycles), where the right and left flanking sequencing cycles provide sequence-specific context for base triplet motifs and second order contribution of pre-phasing and phasing signals.
- the f h sequencing cycle and the first sequencing cycle serve as right and left flanking contexts x, and y sequencing cycles between them are base called.
- Each per-cycle tensor includes image channels, corresponding distance channels, and a scaling channel, such as the input tensor 1800 in Figure 18a.
- the input data with t per-cycle tensors is then processed through the spatial and temporal convolution layers of the specialized architecture to produce y final temporal outputs, each of which corresponds to a respective one of the y sequencing cycles being base called.
- Each of the y final temporal outputs has a dimensionality of u ; x u ; x k.
- the spatial dimensionality is reduced by a constant step size of two at each convolution layer. That is, starting with a n x n spatial dimensionality of the input data, a w x w spatial dimensionality of each of they final temporal outputs is derived.
- each of the y final temporal outputs is processed in parallel by an output layer.
- the output layer produces a base call for each unit in the w x w set of units.
- the output layer is a softmax layer that produces four-way classification scores for the four bases (A, C, T, and G) on a unit-by-unit basis. That is, each unit in the w x w set of units is assigned a base call based on the maximum classification score in a corresponding softmax quadruple, as depicted in Figure 20.
- the w x w set of units is derived for each of the y final temporal outputs as a result of respectively processing the later through a flatten layer and a dense layer to produce corresponding flattened outputs and dense outputs.
- each flattened output has w x w x k elements and each dense output has w x w elements that form the w x w set of units.
- base calls for the multiple target clusters are obtained by identifying which of the base called units in the corresponding w x w set of units coincide with or correspond to central cluster pixels, i.e., pixels in the input data that contain the respective centers of the multiple target clusters.
- a given target cluster is assigned the base call of the unit that coincides with or corresponds to the pixel that contains the center of the given target cluster. In other words, base calls of units that do not coincide with or correspond to the central cluster pixels are filtered out.
- base call filtering layer which is part of the specialized architecture in some implementations, or implemented as a post-processing module in other implementations.
- ground truth comparison and error computation occurs only for those units that coincide with or correspond to the central cluster pixels, such that their predicted base calls are evaluated against the correct base calls identified as ground truth labels.
- rectangles represent data operators like spatial and temporal convolution layers and softmax classification layer, and rounded comer rectangles represent data (e.g., feature maps) produced by the data operators.
- Figure 22 illustrates the dimensionality diagram 2200 for the single cluster base calling implementation.
- the“cycle dimension” of the input is three and continues to be that for the resulting feature maps up until the first temporal convolution layer.
- Cycle dimension of three presents the three sequencing cycles, and its continuity represents that feature maps for the three sequencing cycles are separately generated and convolved upon and no features are mixed between the three sequencing cycles.
- the segregated convolution pipelines are effectuated by the depth-wise segregated convolution filters of the spatial convolution layers.
- the“depth dimensionality” of the depth-wise segregated convolution filters of the spatial convolution layers is one.
- depth dimensionality of the depth-wise combinatory convolution filters of the temporal convolution layers is two. This is what enables the depth-wise combinatory convolution filters to groupwise convolve over resulting features maps from multiple sequencing cycles and mix features between the sequencing cycles.
- a vector with four elements is exponentially normalized by the softmax layer to produce classification scores (i.e., confidence scores, probabilities, likelihoods, softmax scores) for the four bases (A, C, T, and G).
- classification scores i.e., confidence scores, probabilities, likelihoods, softmax scores
- the base with the highest (maximum) softmax score is assigned to the single target cluster being base called at the current sequencing cycle.
- the illustrated dimensionalities can vary depending on the sequencing configuration, the parallelism strategy, the details of the architecture (e.g., based on optimal architecture hyperparameters), and available compute.
- Figure 23 illustrates the dimensionality diagram 2300 for the multiple clusters, single sequencing cycle base calling implementation.
- the softmax layer operates independently on each of the 10,000 units and produces a respective quadruple of softmax scores for each of the 10,000 units.
- the quadruple corresponds to the four bases (A, C, T, and G).
- the 10,000 units are derived from the
- the base with the highest softmax score in each quadruple is assigned to a respective one of the 10,000 units.
- those 2500 units are selected which correspond the 2,500 central cluster pixels containing respective centers of the 2,500 target clusters being simultaneously base called at the current sequencing cycle.
- the bases assigned to the selected 2,500 units are in turn assigned to the corresponding ones of the 2,500 target clusters.
- the illustrated dimensionalities can vary depending on the sequencing configuration, the parallelism strategy, the details of the architecture (e.g., based on optimal architecture hyperparameters), and available compute.
- Figure 24 illustrates the dimensionality diagram 2400 for the multiple clusters, multiple sequencing cycles base calling implementation.
- the above discussion about the cycle, depth, and spatial dimensionality with respect to the single cluster base calling applies to this implementation.
- the softmax-based base call classification of the 2,500 target clusters occurs in parallel for each of the thirteen sequencing cycles base called, thereby simultaneously producing thirteen base calls for each of the 2,500 target clusters.
- the illustrated dimensionalities can vary depending on the sequencing configuration, the parallelism strategy, the details of the architecture (e.g., based on optimal architecture hyperparameters), and available compute.
- the first configuration is called“arrayed input” and the second configuration is called“stacked input”.
- the arrayed input is shown in Figure 25a and is discussed above with respect to Figures 19a to 24.
- the arrayed input encodes each sequencing cycle’s input in a separate column/block because image patches in the per-cycle inputs are misaligned with respect to each other due to residual registration error.
- the specialized architecture is used with the arrayed input to segregate processing of each of the separate columns/blocks. Also, the distance channels are calculated using the transformed cluster centers to account for the misalignments between image patches in a cycle and between image patches across cycles.
- the stacked input shown in Figure 25b, encodes the inputs from different sequencing cycles in a single column/block. In one implementation, this obviates the need of using the specialized architecture because the image patches in the stacked input are aligned with each other through affine transformation and intensity interpolation, which eliminate the inter-cycle and intra-cycle residual registration error. In some implementations, the stacked input has a common scaling channel for all the inputs.
- intensity interpolation is used to reframe or shift the image patches such that the center of the center pixel of each image patch coincides with the center of the single target cluster being base called. This obviates the need of using the supplemental distance channels because all the non-center pixels are equidistant from the center of the single target cluster. Stacked input without the distance channels is referred to herein as the“refrained input” and is illustrated in Figure 27.
- the refraining may not be feasible with base calling implementations involving multiple clusters because there the image patches contain multiple central cluster pixels that are base called.
- Stacked input without the distance channels and without the reframing is referred to herein as the “aligned input” and is illustrated in Figures 28 and 29.
- Aligned input may be used when calculation of the distance channels is not desired (e.g., due to compute limitations) and reframing is not feasible.
- Figure26a depicts one implementation of reframing 2600a pixels of an image patch 2602 to center a center of a target cluster being base called in a center pixel.
- the center of the target cluster (in purple) falls within the center pixel of the image patch 2602, but is at an offset (in red) from the center pixel’s center, as depicted in Figure 2600a.
- a reframer 2604 shifts the image patch 2602 by interpolating intensity of the pixels to compensate for the refraining and produces a reframed/shifted image patch 2606.
- the center of the center pixel coincides with the center of the target cluster.
- the non-center pixels are equidistant from the center of the target cluster.
- the interpolation can be performed by nearest neighbor intensity extraction, Gaussian based intensity extraction, intensity extraction based on average of 2 x 2 subpixel area, intensity extraction based on brightest of 2 x 2 subpixel area, intensity extraction based on average of 3 x 3 subpixel area, bilinear intensity extraction, bicubic intensity extraction, and/or intensity extraction based on weighted area coverage.
- Figure 26b depicts another example reframed/shifted image patch 2600b in which (i) the center of the center pixel coincides with the center of the target cluster and (ii) the non-center pixels are equidistant from the center of the target cluster.
- Figure 27 shows one implementation of base calling a single target cluster at a current sequencing cycle using a standard convolution neural network and the reframed input.
- the reframed input includes a current image patch set for a current (t) sequencing cycle being base called, a previous image patch set for a previous (t-1) sequencing cycle, and a next image patch set for a next (t+1) sequencing cycle.
- Each image patch set has an image patch for a respective one of one or more image channels.
- Figure 27 depicts two image channels, a red channel and a green channel.
- Each image patch has pixel intensity data for pixels covering a target cluster being base called, some adjacent clusters, and their surrounding background.
- the reframed input also includes a common scaling channel.
- the reframed input does not include any distance channels because the image patches are reframed or shifted to center at the center the target cluster, as explained above with respect to Figures 26a-b. Also, the image patches are aligned with each other to remove inter-cycle and intra-cycle residual registration error. In one implementation, this is done using affine transformation and intensity interpolation, additional details of which can be found in Appendices 1, 2, 3, and 4. These factors obviate the need of using the specialized architecture, and instead a standard convolutional neural network is used with the refrained input.
- the standard convolutional neural network 2700 includes seven standard convolution layers that use standard convolution filters. This means that there are no segregated convolution pipelines to prevent mixing of data between the sequencing cycles (since the data is aligned and can be mixed).
- the consistently reducing spatial dimensionality phenomenon is used to teach the standard convolution filters to attend to the central cluster center and its neighboring pixels more than to other pixels.
- the reframed input is then processed through the standard convolution layers to produce a final convolved representation.
- the base call for the target cluster at the current sequencing cycle is obtained in the similar fashion using flatten, dense, and classification layers as discussed above with respect to Figure 19c.
- the process is iterated over a plurality of sequencing cycles to produce a sequence of base calls for the target cluster.
- the process is iterated over a plurality of sequencing cycles for a plurality of target clusters to produce a sequence of base calls for each target cluster in the plurality of target clusters.
- Aligned Input Aligned Image Patches without the Distance Channels and the Reframing
- Figure 28 shows one implementation of base calling multiple target clusters at the current sequencing cycle using the standard convolution neural network and the aligned input.
- the reframing is not feasible here because the image patches contain multiple central cluster pixels that are being base called. As a result, the image patches in the aligned input are not reframed. Further, the supplemental distance channels are not included due to compute considerations, according to one implementation.
- the aligned input is then processed through the standard convolution layers to produce a final convolved representation.
- a base call for each of the target clusters is obtained at the current sequencing cycle in the similar fashion using flatten (optional), dense (optional), classification, and base call filtering layers as discussed above with respect to Figure 20.
- Figure 29 shows one implementation of base calling multiple target clusters at a plurality of sequencing cycles using the standard convolution neural network and the aligned input.
- the aligned input is processed through the standard convolution layers to produce a final convolved representation for each of the y sequencing cycles being base called.
- a base call for each of the target clusters is obtained for each of the y sequencing cycles being base called in the similar fashion using flatten (optional), dense (optional), classification, and base call filtering layers as discussed above with respect to Figure 21.
- convolutional neural network can process reframed input for fewer or greater number of sequencing cycles and can comprise fewer or greater number of standard convolution layers. Also, the dimensionality of the reframed input, the per-cycle tensors in the refrained input, the convolution filters, the resulting feature maps, and the output can be different. Also, the number of convolution filters in a convolution layer can be different.
- ID convolutions 2D convolutions, 3D convolutions, 4D convolutions, 5D convolutions, dilated or atrous convolutions, transpose convolutions, depthwise separable convolutions, pointwise convolutions, l x l convolutions, group convolutions, flattened convolutions, spatial and cross-channel convolutions, shuffled grouped convolutions, spatial separable convolutions, and deconvolutions.
- loss functions such as logistic regression/log loss, multi-class cross-entropy/softmax loss, binary cross-entropy loss, mean-squared error loss, LI loss, L2 loss, smooth LI loss, and Huber loss. It can use any parallelism, efficiency, and compression schemes such
- TFRecords compressed encoding (e.g., PNG), sharding, parallel calls for map transformation, batching, prefetching, model parallelism, data parallelism, and synchronous/asynchronous SGD. It can include upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (like an LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, peephole connections, activation functions (e.g., non-linear transformation functions like rectifying linear unit (ReLU), leaky ReLU, exponential liner unit (ELU), sigmoid and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or average pooling), global average pooling layers, and attention mechanisms.
- ReLU rectifying linear unit
- ELU exponential liner unit
- sigmoid and hyperbolic tangent tangent
- Figure 30 shows one implementation of training 3000 the neural network-based base caller 218.
- the neural network-based base caller 218 is trained using a backpropagation-based gradient update technique that compares the predicted base calls 3004 against the correct base calls 3008 and computes an error 3006 based on the comparison.
- the error 3006 is then used to calculate gradients, which are applied to the weights and parameters of the neural network-based base caller 218 during backward propagation 3010.
- the training 3000 is operationalized by the trainer 1510 using a stochastic gradient update algorithm such as ADAM.
- the trainer 1510 uses training data 3002 (derived from the sequencing images 108) to train the neural network-based base caller 218 over thousands and millions of iterations of the forward propagation 3012 that produces the predicted base calls 3004 and the backward propagation 3010 that updates the weights and parameters based on the error 3006. Additional details about the training 3000 can be found in Appendix entitled“Deep Learning Tools”.
- Figure 31a depicts one implementation of a hybrid neural network 3100a that is used as the neural network-based base caller 218.
- the hybrid neural network 3100a comprises at least one convolution module 3104 (or convolutional neural network (CNN)) and at least one recurrent module 3108 (or recurrent neural network (RNN)).
- the recurrent module 3108 uses and/or receives inputs from the convolution module 3104.
- the convolution module 3104 processes input data 3102 through one or more convolution layers and produces convolution output 3106.
- the input data 3102 includes only image channels or image data as the main input, as discussed above in the Section entitled“Input”.
- the image data fed to the hybrid neural network 3100a can be the same as the image data 202 described above.
- the input data 3102 in addition to the image channels or the image data, also includes supplemental channels such as the distance channels, the scaling channel, the cluster center coordinates, and/or cluster attribution information, as discussed above in the Section entitled“Input”.
- the image data (i.e., the input data 3102) depicts intensity emissions of one or more clusters and their surrounding background.
- the convolution module 3104 processes the image data for a series of sequencing cycles of a sequencing run through the convolution layers and produces one or more convolved representations of the image data (i.e., the convolved output 3106).
- the series of sequencing cycles can include image data for t sequencing cycles that are to be base called, where t is any number between 1 and 1000 We observe accurate base calling results when t is between fifteen and twenty-one.
- the recurrent module 3110 convolves the convolved output 3106 and produces recurrent output 3110.
- the recurrent module 3110 produces current hidden state representations (i.e., the recurrent output 3110) based on convolving the convolved representations and previous hidden state representations.
- the recurrent module 3110 applies three-dimensional (3D) convolutions to the convolved representations and previous hidden state representations and produces the current hidden state representations, mathematically formulated as: h t represents a current hidden state representation produced at a current time step t ,
- V t represents a set or group of convolved representations that form an input volume at a current sliding window at the current time step t ,
- Wl 3 DCONV represents weights of a first 3D convolution filter applied to V t ,
- W 2 3DCONV represents weights of a second 3D convolution filter applied to h t l .
- W ⁇ 3DC0NV and W2 3DCONV are the same because the weights are shared.
- An output module 3112 then produces base calls 3114 based on the recurrent output 3110.
- the output module 3112 comprises one or more fully-connected layers and a classification layer (e.g., softmax).
- the current hidden state representations are processed through the fully-connected layers and the outputs of the fully-connected layers are processed through the classification layer to produce the base calls 3114.
- the base calls 3114 include a base call for at least one of the clusters and for at least one of the sequencing cycles. In some implementations, the base calls 3114 include a base call for each of the clusters and for each of sequencing cycles. So, for example, when the input data 3102 includes image data for twenty-five clusters and for fifteen sequencing cycles, the base calls 3102 include a base call sequence of fifteen base calls for each of the twenty-five clusters.
- Figure 31b shows one implementation of 3D convolutions 3100b used by the recurrent module 3110 of the hybrid neural network 3100b to produce the current hidden state representations.
- a 3D convolution is a mathematical operation where each voxel present in the input volume is multiplied by a voxel in the equivalent position of the convolution kernel. At the end, the sum of the results is added to the output volume.
- Figure 31b it is possible to observe the representation of the 3D convolution operation, where the voxels 3116a highlighted in the input 3116 are multiplied with their respective voxels in the kernel 3118. After these calculations, their sum 3120a is added to the output
- K is the convolution kernel, and (p, q,r) are the coordinates of K .
- 3D convolutions in addition to extracting spatial information from matrices like 2D convolutions, extract information present between consecutive matrices. This allows them to map both spatial information of 3D objects and temporal information of a set of sequential images.
- Figure 32 illustrates one implementation of processing, through a cascade of convolution layers 3200 of the convolution module 3104, per-cycle input data 3202 for a single sequencing cycle among the series of t sequencing cycles to be base called.
- the convolution module 3104 separately processes each per-cycle input data in a sequence of per-cycle input data through the cascade of convolution layers 3200.
- the sequence of per-cycle input data is generated for a series of t sequencing cycles of a sequencing run that are to be base called, where t is any number between 1 and 1000. So, for example, when the series includes fifteen sequencing cycles, the sequence of per-cycle input data comprises fifteen different per-cycle input data.
- each per-cycle input data includes only image channels (e.g., a red channel and a green channel) or image data (e.g., the image data 202 described above).
- the image channels or the image data depict intensity emissions of one or more clusters and their surrounding background captured at a respective sequencing cycle in the series.
- each per- cycle input data in addition to the image channels or the image data, also includes supplemental channels such as the distance channels and the scaling channel (e.g., the input data 1800 described above).
- the per-cycle input data 3202 includes two image channels, namely, a red channel and a green channel, for the single sequencing cycle among the series of t sequencing cycles to be base called.
- Each image channel is encoded in an image patch of size 15 x 15.
- the convolution module 3104 comprises five convolution layers. Each convolution layer has a bank of twenty-five convolution filters of size 3 x 3. Further, the convolution filters use so-called SAME padding that preserves the height and width of the input images or tensors. With the SAME padding, a padding is added to the input features such that the output feature map has the same size as the input features. In contrast, so-called VALID padding means no padding.
- the first convolution layer 3204 processes the per-cycle input data 3202 and produces a first convolved representation 3206 of size 15 x 15 x 25.
- the second convolution layer 3208 processes the first convolved representation 3206 and produces a second convolved representation 3210 of size 15 x 15 x 25.
- the third convolution layer 3212 processes the second convolved representation 3210 and produces a third convolved representation 3214 of size 15 x 15 x 25.
- the fourth convolution layer 3216 processes the third convolved representation 3214 and produces a fourth convolved representation 3218 of size 15 x 15 x 25.
- the fifth convolution layer 3220 processes the fourth convolved representation 3218 and produces a fifth convolved representation 3222 of size 15 x 15 x 25.
- the SAME padding preserves the spatial dimensions of the resulting convolved representations (e.g., 15 x 15).
- the number of convolution filters in the convolution layers are a power of two, such as 2, 4, 16, 32, 64, 128, 256, 512, and 1024.
- Figure 33 depicts one implementation of mixing 3300 the single sequencing cycle’s per- cycle input data 3202 with its corresponding convolved representations 3206, 3210, 3214, 3218, and 3222 produced by the cascade of convolution layers 3200 of the convolution module 3104.
- the convolved representations 3206, 3210, 3214, 3218, and 3222 are concatenated to form a sequence of convolved representations 3304, which in turn is concatenated with the per-cycle input data 3202 to produce a mixed representation 3306.
- summation is used instead of concatenation.
- the mixing 3300 is operationalized by the mixer 3302.
- a flattener 3308 then flattens the mixed representation 3306 and produces a per-cycle flattened mixed representation 3310.
- the flattened mixed representation 3310 is a high dimensional vector or two-dimensional (2D) array that shares at least one dimension size with the per-cycle input data 3202 and the convolved representations 3206, 3210, 3214, 3218, and 3222 (e.g., 15 x 1905, i.e., same row-wise dimension). This induces symmetry in the data that facilitates feature extraction in downstream 3D convolutions.
- Figures 32 and 33 illustrate processing of the per-cycle image data 3202 for the single sequencing cycle among the series of t sequencing cycles to be base called.
- the convolution module 3104 separately processes respective per-cycle image data for each of the t sequencing cycles and produces a respective per-cycle flattened mixed presentation for each of the t sequencing cycles.
- Figure 34 shows one implementation of arranging flattened mixed representations of successive sequencing cycles as a stack 3400.
- fifteen flattened mixed representations 3204a to 3204o for fifteen sequencing cycles are stacked in the stack 3400.
- Stack 3400 is a 3D input volume that makes available features from both spatial and temporal dimensions (i.e., multiple sequencing cycles) in a same receptive field of a 3D convolution filter.
- the stacking is operationalized by the stacker 3402.
- stack 3400 can be a tensor of any dimensionality (e.g., ID, 2D, 4D, 5D, etc ).
- a current hidden state representation at a current time step is a function of (i) the previous hidden state representation from a previous time step and (ii) the current input at the current time step.
- the recurrent module 3108 subjects the stack 3400 to recurrent application of 3D convolutions (i.e., recurrent processing 3500) in forward and backward directions and produces base calls for each of the clusters at each of the t sequencing cycles in the series.
- the 3D convolutions are used to extract spatio-temporal features from a subset of the flattened mixed representations in the stack 3400 on a sliding window basis.
- Each sliding window (w) corresponds to a respective sequencing cycle and is highlighted in Figure 35a in orange.
- w is parameterized to be 1, 2, 3, 5, 7, 9, 15, 21, etc., depending on the total number of sequencing cycles being simultaneously base called.
- w is a fraction of the total number of sequencing cycles being simultaneously base called.
- each sliding window contains three successive flattened mixed representations from the stack 3400 that comprises the fifteen flattened mixed representations 3204a to 3204o. Then, the first three flattened mixed representations 3204a to 3204c in the first sliding window correspond to the first sequencing cycle, the next three flattened mixed representations 3204b to 3204d in the second sliding window correspond to the second sequencing cycle, and so on. In some
- padding is used to encode adequate number of flattened mixed representations in the final sliding window corresponding to the final sequencing cycle, starting with the final flattened mixed representation 3204o.
- each current input x(t) is a 3D volume of a plurality of flattened mixed representations (e.g., 1, 2, 3, 5, 7, 9, 15, or 21 flattened mixed representations, depending on w).
- each current input x(t), at each time step is a 3D volume with dimensions 15 x 1905 x 7.
- the recurrent module 3108 applies a first 3D convolution ( W ⁇ 3DC0NV ) to the current input x(t) and a second 3D convolution ( W 2 3DCONV ) to the previous hidden state representation h(t-l) to produce the current hidden state representation h(t).
- W 3DC0NV and W2 3DCONV are the same because the weights are shared.
- the recurrent module 3108 processes the current input x(t) and the previous hidden state representation h(t-l) through a gated network such as long short-term memory (LSTM) network or gated recurrent unit (GRU) network.
- LSTM long short-term memory
- GRU gated recurrent unit
- Figure 35b shows one implementation of processing 3500b the current input x(t) and the previous hidden state representation h(t-l) through an LSTM unit that applies 3D convolutions to the current input x(t) and the previous hidden state representation h(t-l) and produces the current hidden state representation h(t) as output.
- the weights of the input, activation, forget, and output gates apply 3D convolutions.
- the gated units do not use the non-recordable gated units
- linearity/squashing functions like hyperbolic tangent and sigmoid.
- the current input x(t), the previous hidden state representation h(t-l), and the current hidden state representation h(t) are all 3D volume with same dimensionality and are processed through or produced by the input, activation, forget, and output gates as 3D volume.
- the 3D convolutions of the recurrent module 3108 use a bank of twenty-five convolution filters of size 3 x 3, along with the SAME padding.
- the size of the convolution filters is 5 x 5.
- the number of convolution filters used by the recurrent module 3108 are factorized by a power of two, such as 2, 4, 16, 32, 64, 128, 256, 512, and 1024.
- the recurrent module 3108 first processes the stack 3400 from the beginning to the end (top- down) on the sliding window basis and produces a sequence of current hidden state representations
- the recurrent module 3108 then processes the stack 3400 from the end to the beginning (bottom-up) on the sliding window basis and produces a sequence of current hidden state representations
- the processing uses the gates of an LSTM or a GRU. For example, at each time step, a forward current input x(t) is processed through the input, activation, forget, and output gates of an LSTM unit to produce a forward current hidden state representation and a backward current input x(t) is processed through the input, activation, forget, and output gates of another LSTM unit to produce a backward current hidden state representation .
- the combined hidden representation ⁇ is then processed through one or more fully- connected networks to produce a dense representation.
- the dense representation is then processed through a softmax layer to produce likelihoods of bases incorporated in each of the clusters at a given sequencing cycle being A, C, T, and G.
- the bases are classified as A, C, T, or G based on the likelihoods. This is done for each of the t sequencing cycles in the series (or each time step/sliding window), either in parallel or sequentially.
- the hybrid architecture can process input data for fewer or greater number of sequencing cycles and can comprise fewer or greater number of convolution and recurrent layers.
- the dimensionality of the input data, the current and previous hidden representations, the convolution filters, the resulting feature maps, and the output can be different.
- the number of convolution filters in a convolution layer can be different. It can use different padding and striding configurations. It can use a different classification function (e.g., sigmoid or regression) and may or may not include a fully-connected layer.
- ID convolutions 2D convolutions, 3D convolutions, 4D convolutions, 5D convolutions, dilated or atrous convolutions, transpose convolutions, depthwise separable convolutions, pointwise convolutions, l x l convolutions, group convolutions, flattened convolutions, spatial and cross-channel convolutions, shuffled grouped convolutions, spatial separable convolutions, and deconvolutions.
- loss functions such as logistic regression/log loss, multi-class cross-entropy/softmax loss, binary cross-entropy loss, mean-squared error loss, LI loss, L2 loss, smooth LI loss, and Huber loss.
- It can include upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (like an LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, peephole connections, activation functions (e.g., non-linear transformation functions like rectifying linear unit (ReLU), leaky ReLU, exponential liner unit (ELU), sigmoid and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or average pooling), global average pooling layers, and attention mechanisms.
- ReLU rectifying linear unit
- ELU exponential liner unit
- sigmoid and hyperbolic tangent sigmoid and hyperbolic tangent
- Figure 36 shows one implementation of balancing trinucleotides (3-mers) in the training data used to train the neural network-based base caller 218. Balancing results in very little learning of statistics about genome in the training data and in turn improves generalization.
- Heat map 3602 shows balanced 3- mers in the training data for a first organism called“A.baumanni”.
- Heap map 3604 shows balanced 3- mers in the training data for a second organism called“E.coli”.
- Figure 37 compares base calling accuracy of the RTA base caller against the neural network- based base caller 218. As illustrated in Figure 37, the RTA base caller has a higher error percentage in two sequencing runs (Read: 1 and Read: 2). That is, the neural network-based base caller 218 outperforms the RTA base caller in both the sequencing runs.
- Figure 38 compares tile-to-tile generalization of the RTA base caller with that of the neural network-based base caller 218 on a same tile. That is, with the neural network-based base caller 218, the inference (testing) is performed on data for the same tile whose data is used in the training.
- Figure 39 compares tile-to-tile generalization of the RTA base caller with that of the neural network-based base caller 218 on a same tile and on different tiles. That is, the neural network-based base caller 218 is trained on data for clusters on a first tile, but performs inference on data from clusters on a second tile. In the same tile implementation, the neural network-based base caller 218 is trained on data from clusters on tile five and tested on data from clusters on tile five. In the different tile implementation, the neural network-based base caller 218 is trained on data from clusters on tile ten and tested on data from clusters on tile five.
- Figure 40 also compares tile-to-tile generalization of the RTA base caller with that of the neural network-based base caller 218 on different tiles.
- the neural network-based base caller 218 is once trained on data from clusters on tile ten and tested on data from clusters on tile five, and then trained on data from clusters on tile twenty and tested on data from clusters on tile five.
- Figure 41 shows how different sizes of the image patches fed as input to the neural network- based base caller 218 effect the base calling accuracy.
- the error percentage decreases as the patch size increases from 3 x 3 to 11 x 11. That is, the neural network- based base caller 218 produces more accurate base calls with larger image patches.
- base calling accuracy is balanced against compute efficiency by using image patches that are not larger than 100 x 100 pixels.
- image patches as large as 3000 x 3000 pixels (and larger) are used.
- Figures 42, 43, 44, and 45 show lane-to-lane generalization of the neural network-based base caller 218 on training data from A.baumanni and E.coli.
- the neural network-based base caller 218 is trained on E.coli data from clusters on a first lane of a flow cell and tested on A.baumanni data from clusters on both the first and second lanes of the flow cell.
- the neural network- based base caller 218 is trained on A.baumanni data from clusters on the first lane and tested on the A.baumanni data from clusters on both the first and second lanes.
- the neural network-based base caller 218 is trained on E.coli data from clusters on the second lane and tested on the A.baumanni data from clusters on both the first and second lanes.
- the neural network-based base caller 218 is trained on A.baumanni data from clusters on the second lane and tested on the A.baumanni data from clusters on both the first and second lanes.
- the neural network-based base caller 218 is trained on E.coli data from clusters on a first lane of a flow cell and tested on E.coli data from clusters on both the first and second lanes of the flow cell. In another implementation, the neural network-based base caller 218 is trained on A.baumanni data from clusters on the first lane and tested on the E.coli data from clusters on both the first and second lanes. In yet another implementation, the neural network-based base caller 218 is trained on E.coli data from clusters on the second lane and tested on the E.coli data from clusters on the first lane. In yet further implementation, the neural network -based base caller 218 is trained on
- the neural network -based base caller 218 is trained on E.coli data from clusters on a first lane of a flow cell and tested on A.baumanni data from clusters on the first lane. In another implementation, the neural network-based base caller 218 is trained on A.baumanni data from clusters on the first lane and tested on the A.baumanni data from clusters on the first lane. In yet another implementation, the neural network-based base caller 218 is trained on E.coli data from clusters on the second lane and tested on the A.baumanni data from clusters on the first lane. In yet further implementation, the neural network-based base caller 218 is trained on A.baumanni data from clusters on the second lane and tested on the A.baumanni data from clusters on the first lane.
- the neural network-based base caller 218 is trained on E.coli data from clusters on a first lane of a flow cell and tested on E.coli data from clusters on the first lane. In another implementation, the neural network-based base caller 218 is trained on A.baumanni data from clusters on the first lane and tested on the E.coli data from clusters on the first lane. In yet another implementation, the neural network-based base caller 218 is trained on E.coli data from clusters on the second lane and tested on the E.coli data from clusters on the first lane. In yet further implementation, the neural network-based base caller 218 is trained on A.baumanni data from clusters on the second lane and tested on the E.coli data from clusters on the first lane.
- the neural network -based base caller 218 is trained on E.coli data from clusters on a first lane of a flow cell and tested on A.baumanni data from clusters on the second lane. In another implementation, the neural network-based base caller 218 is trained on A.baumanni data from clusters on the first lane and tested on the A.baumanni data from clusters on the second lane. In yet another implementation, the neural network-based base caller 218 is trained on E.coli data from clusters on the second lane and tested on the A.baumanni data from clusters on the first lane. In second first lane. In yet further implementation, the neural network-based base caller 218 is trained on A.baumanni data from clusters on the second lane and tested on the A.baumanni data from clusters on the second lane.
- the neural network-based base caller 218 is trained on E.coli data from clusters on a first lane of a flow cell and tested on E.coli data from clusters on the second lane. In another implementation, the neural network-based base caller 218 is trained on A.baumanni data from clusters on the first lane and tested on the E.coli data from clusters on the second lane. In yet another implementation, the neural network-based base caller 218 is trained on E.coli data from clusters on the second lane and tested on the E.coli data from clusters on the second lane. In yet further implementation, the neural network-based base caller 218 is trained on A.baumanni data from clusters on the second lane and tested on the E.coli data from clusters on the second lane.
- Figure 46 depicts an error profile for the lane-to-lane generalization discussed above with respect to Figures 42, 43, 44, and 45.
- the error profile detects error in base calling A and T bases in the green channel.
- Figure 47 attributes the source of the error detected by the error profile of Figure 46 to low cluster intensity in the green channel.
- Figure 48 compares error profiles of the RTA base caller and the neural network-based base caller 218 for two sequencing runs (Read 1 and Read 2). The comparison confirms superior base calling accuracy of the neural network-based base caller 218.
- Figure 49a shows run-to-run generalization of the neural network-based base caller 218 on four different instruments.
- Figure 49b shows run-to-run generalization of the neural network-based base caller 218 on four different runs executed on a same instrument.
- Figure 50 shows the genome statistics of the training data used to train the neural network- based base caller 218.
- Figure 51 shows the genome context of the training data used to train the neural network- based base caller 218.
- Figure 52 shows the base calling accuracy of the neural network-based base caller 218 in base calling long reads (e.g., 2 x 250).
- Figure 53 illustrates one implementation of how the neural network-based base caller 218 attends to the central cluster pixel(s) and its neighboring pixels across image patches.
- Figure 54 shows various hardware components and configurations used to train and run the neural network-based base caller 218, according to one implementation. In other implementations, different hardware components and configurations are used.
- Figure 55 shows various sequencing tasks that can be performed using the neural network-based base caller 218. Some examples include quality scoring (QScoring) and variant classification. Figure 55 also lists some example sequencing instruments for which the neural network-based base caller 218 performs base calling.
- QScoring quality scoring
- Figure 55 also lists some example sequencing instruments for which the neural network-based base caller 218 performs base calling.
- Figure 56 is a scatter plot 5600 visualized by t-Distributed Stochastic Neighbor Embedding (t-SNE) and portrays base calling results of the neural network-based base caller 218.
- Scatter plot 5600 shows that the base calling results are clustered into 64 (4 3 ) groups, with each group mostly corresponding to a particular input 3-mer (trinucleotide repeating pattern). This is the case because the neural network-based base caller 218 processes input data for at least three sequencing cycles and learns sequence-specific motifs to produce a current base call based on the previous and successive base calls.
- Quality scoring refers to the process of assigning a quality score to each base call.
- Quality scores are defined according to the Phred framework, which transforms the values of predictive features of sequencing traces to a probability based on a quality table.
- the quality table is obtained by training on calibration data sets and is updated when characteristics of the sequencing platform change.
- the probabilistic interpretation of quality scores allows fair integration of different sequencing reads in the downstream analysis such as variant calling and sequence assembly.
- a valid model to define quality scores is indispensable for any base caller.
- a quality score is a measure of the probability of a sequencing error in a base call.
- a high quality score implies that a base call is more reliable and less likely to be incorrect. For example, if the quality score of a base is Q30, the probability that this base is called incorrectly is 0.001. This also indicates that the base call accuracy is 99.9%.
- quality scores are generated.
- a quality score is assigned to each base call for every cluster, on every tile, for every sequencing cycle.
- Illumina quality scores are calculated for each base call in a two-step process.
- quality predictor values are observable properties of clusters from which base calls are extracted. These include properties such as intensity profiles and signal-to-noise ratios and measure various aspects of base call reliability. They have been empirically determined to correlate with the quality of the base call.
- a quality model also known as a quality table or Q-table, lists combinations of quality predictor values and relates them to corresponding quality scores; this relationship is determined by a calibration process using empirical data. To estimate a new quality score, the quality predictor values are computed for a new base call and compared to values in the pre-calibrated quality table.
- Calibration is a process in which a statistical quality table is derived from empirical data that includes various well-characterized human and non-human samples sequenced on a number of instruments. Using a modified version of the Phred algorithm, a quality table is developed and refined using characteristics of the raw signals and error rates determined by aligning reads to the appropriate references.
- Quality tables provide quality scores for runs generated by specific instrument configurations and versions of chemistry.
- the quality model requires recalibration.
- improvements in sequencing chemistry require quality table recalibration to accurately score the new data, which consumes a substantial amount of processing time and computational resources.
- the disclosed neural networks are well-calibrated because they are trained on large-scale training sets with diverse sequencing characteristics that adequately model the base calling domain of real-world sequencing runs.
- sequencing images obtained from a variety of sequencing platforms, sequencing instruments, sequencing protocols, sequencing chemistries, sequencing reagents, cluster densities, and flow cells are used as training examples to train the neural networks.
- different base calling and quality scoring models are respectively used for different sequencing platforms, sequencing instruments, sequencing protocols, sequencing chemistries, sequencing reagents, cluster densities, and/or flow cells.
- each of the four base call classes (A, C, T, and G)
- large numbers of sequencing images are used as training examples that identify intensity patterns representative of the respective base call class under a wide range of sequencing conditions. This in turn obviates the need of extending classification capabilities of the neural networks to new classes not present in the training.
- each training example is accurately labelled with a corresponding ground truth based on aligning reads to the appropriate references. What results is well-calibrated neural networks whose confidence over predictions can be interpreted as a certainty measure for quality scoring, expressed mathematically below.
- Y ⁇ A, C, T , G ⁇ denote the set of class labels for the base call classes A, C, T, and G and X denote a space of inputs.
- x ) denote the probability distribution one of the disclosed neural networks predicts on an input X& X and Q denote the neural network’s parameters.
- the well-calibrated neural networks are trained on diverse training sets, unlike the quality predictor values or the quality tables, they are not specific to instrument configurations and chemistry versions. This has two advantages. First, for different types of sequencing instruments, the well -calibrated neural networks obviate the need of deriving different quality tables from separate calibration processes. Second, for a same sequencing instrument, they obviate the need of recalibration when characteristics of the sequencing instrument change. More details follow.
- the first well -calibrated neural network is the neural network-based base caller 218 that processes input data derived from the sequencing images 108 and produces base call confidence probabilities for the base being A, C, T, and G.
- Base call confidence probabilities can also be considered likelihoods or classification scores.
- the neural network-based base caller 218 uses a softmax function to generate the base call confidence probabilities as softmax scores.
- Quality scores are inferred from the base call confidence probabilities generated by the softmax function of the neural network-based base caller 218 because the softmax scores are calibrated (i.e., they are representative of the ground truth correctness likelihood) and thus naturally correspond to the quality scores.
- the base call confidence probability“0.90” produced by the neural network-based base caller 218 we take numerous (e.g., ranging from 10000 to 1000000) instances when the neural network-based base caller 218 made the base call prediction with 0.90 softmax score. The numerous instances can be obtained either from the validation set or the test set. We then, based on comparison to corresponding ground truth base calls associated with respective ones of the numerous instances, determine in how many of the numerous instances the base call prediction was correct. [0496] We observe that the base call was correctly predicted in ninety percent of the numerous instances, with ten percent miscalls.
- the base calling error rate is 10% and the base calling accuracy rate is 90%, which in turn corresponds to quality score Q10 (see table above).
- the base calling error rate is 10%
- the base calling accuracy rate is 90%
- quality score Q10 corresponds to quality score Q10 (see table above).
- other softmax scores like 0.99, 0.999, 0.9999, 0.99999, and 0.999999 we observe correspondence with quality scores Q20, Q30, Q40, Q50, and Q60, respectively. This is illustrated in Figure 59a.
- we observe correspondence between the softmax scores and quality scores such as Q9, Q11, Q12, Q23, Q25, Q29, Q37, and Q39.
- the sample size used herein are large to avoid small sample issues and can, for example, range from 10000 to 1000000.
- the sample size of instances used to determine the base calling error rates (or the base calling accuracy rates) is selected based on the softmax score being evaluated. For example, for 0.99 softmax score, the sample includes one hundred instances, for 0.999 softmax score, the sample includes one thousand instances, for 0.9999 softmax score, the sample includes ten thousand instances, for 0.99999 softmax score, the sample includes hundred thousand instances, and for 0.999999 softmax score, the sample includes one million instances.
- softmax is an output activation function for multiclass classification.
- training a so-called softmax classifier is regression to a class probability, rather than a true classifier as it does not return the class but rather a confidence prediction of each class’s likelihood.
- the softmax function takes a class of values and converts them to probabilities that sum to one.
- the softmax function squashes a k -dimensional vector of arbitrary real values to k -dimensional vector of real values within the range zero to one.
- using the softmax function ensures that the output is a valid, exponentially normalized probability mass function (nonnegative and summing to one).
- y is a vector of length n , where n is the number of classes in the classification. These elements have values between zero and one, and sum to one so that they represent a valid probability distribution.
- An example softmax activation function 5706 is shown in Figure 57. Softmax 5706 is applied to three classes as zi-4 softmax ([z;— ; -2z ]) . Note that the three outputs always sum to one. They thus define a discrete probability mass function.
- the name“softmax” can be somewhat confusing.
- the function is more closely related to the argmax function than the max function.
- the term“soft” derives from the fact that the softmax function is continuous and differentiable.
- the argmax function with its result represented as a one-hot vector, is not continuous or differentiable.
- the softmax function thus provides a“softened” version of the argmax. It would perhaps be better to call the softmax function“softargmax,” but the current name is an entrenched convention.
- Figure 57 illustrates one implementation of selecting 5700 the base call confidence probabilities 3004 of the neural network-based base caller 218 for quality scoring.
- the base call confidence probabilities 3004 of the neural network-based base caller 218 can be classification scores (e.g., softmax scores or sigmoid scores) or regression scores.
- the base call confidence probabilities 3004 are produced during the training 3000.
- the selection 5700 is done based on quantization, which is performed by a quantizer 5702 that accesses the base call confidence probabilities 3004 and produces quantized classification scores 5704.
- the quantized classification scores 5704 can be any real -number.
- the quantized classification scores 5704 are selected based on a selection formula defined as 0.9 0.1 (i 11 In another implementation, the quantized classification scores 5704 are
- Figure 58 shows one implementation of the neural network-based quality scoring 5800.
- a base calling error rate 5808 and/or a base calling accuracy rate 5810 is determined by comparing its base call predictions 3004 against corresponding ground truth base calls 3008 (e.g., over batches with varying sample size). The comparison is performed by a comparer 5802, which in turn includes a base calling error rate determiner 5804 and a base calling accuracy rate determiner 5806.
- a fit is determined between the quantized classification scores 5704 and their base calling error rate 5808 (and/or their base calling accuracy rate 5810) by a fit determiner 5812.
- the fit determiner 5812 is a regression model.
- Figures 59a-59b depict one implementation of correspondence 5900 between the quality scores and the base call confidence predictions made by the neural network-based base caller 218.
- the base call confidence probabilities of the neural network-based base caller 218 can be classification scores (e.g., softmax scores or sigmoid scores) or regression scores.
- Figure 59a is a quality score
- FIG. 59b is a quality score correspondence scheme 5900a for binned quality scores.
- Figure 60 shows one implementation of inferring quality scores from base call confidence predictions made by the neural network-based base caller 218 during inference 6000.
- the base call confidence probabilities of the neural network-based base caller 218 can be classification scores (e.g., softmax scores or sigmoid scores) or regression scores.
- the predicted base call 6006 is assigned the quality score 6008 to which its base call confidence probability (i.e., the highest softmax score (in red)) most corresponds.
- the quality score correspondence 5900 is made by looking up the quality score correspondence schemes 5900a-5900b and is operationalized by a quality score inferrer 6012.
- a chastity filter 6010 terminates the base calling of a given cluster when the quality score 6008 assigned to its called base, or an average quality score over successive base calling cycles, falls below a preset threshold.
- the inference 6000 includes hundreds, thousands, and/or millions of iterations of forward propagation 6014, including parallelization techniques such as batching.
- the inference 6000 is performed on inference data 6002 that includes the input data (with the image channels derived from the sequencing images 108 and/or the supplemental channels (e.g., the distance channels, the scaling channel)).
- the inference 6000 is operationalized by a tester 6004.
- the second well-calibrated neural network is the neural network-based quality scorer 6102 that processes input data derived from the sequencing images 108 and directly produces a quality indication.
- the neural network-based quality scorer 6102 is a multilayer perceptron (MLP). In another implementation, the neural network-based quality scorer 6102 is a feedforward neural network. In yet another implementation, the neural network-based quality scorer 6102 is a fully-connected neural network. In a further implementation, the neural network-based quality scorer 6102 is a fully convolutional neural network. In yet further implementation, the neural network-based quality scorer 6102 is a semantic segmentation neural network.
- MLP multilayer perceptron
- the neural network-based quality scorer 6102 is a convolutional neural network (CNN) with a plurality of convolution layers.
- CNN convolutional neural network
- RNN recurrent neural network
- LSTM long short-term memory network
- Bi- LSTM bi-directional LSTM
- GRU gated recurrent unit
- it includes both a CNN and a RNN.
- the neural network -based quality scorer 6102 can use ID convolutions, 2D convolutions, 3D convolutions, 4D convolutions, 5D convolutions, dilated or atrous convolutions, transpose convolutions, depthwise separable convolutions, pointwise convolutions, l x l convolutions, group convolutions, flattened convolutions, spatial and cross-channel convolutions, shuffled grouped convolutions, spatial separable convolutions, and deconvolutions.
- It can use one or more loss functions such as logistic regression/log loss, multi-class cross-entropy/softmax loss, binary cross entropy loss, mean-squared error loss, LI loss, L2 loss, smooth LI loss, and Huber loss. It can use any parallelism, efficiency, and compression schemes such TFRecords, compressed encoding (e.g., PNG), sharding, parallel calls for map transformation, batching, prefetching, model parallelism, data parallelism, and synchronous/asynchronous SGD.
- loss functions such as logistic regression/log loss, multi-class cross-entropy/softmax loss, binary cross entropy loss, mean-squared error loss, LI loss, L2 loss, smooth LI loss, and Huber loss.
- It can use any parallelism, efficiency, and compression schemes such TFRecords, compressed encoding (e.g., PNG), sharding, parallel calls for map transformation, batching, prefetching, model parallelism, data parallelism, and synchronous
- It can include upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (like an LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, peephole connections, activation functions (e.g., non-linear transformation functions like rectifying linear unit (ReLU), leaky ReLU, exponential liner unit (ELU), sigmoid and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or average pooling), global average pooling layers, and attention mechanisms.
- ReLU rectifying linear unit
- ELU exponential liner unit
- sigmoid and hyperbolic tangent sigmoid and hyperbolic tangent
- the neural network-based quality scorer 6102 has the same architecture as the neural network-based base caller 218.
- the input data can include the image channels derived from the sequencing images 108 and/or the supplemental channels (e.g., the distance channels, the scaling channel).
- the neural network- based quality scorer 6102 processes the input data and produces an alternative representation of the input data.
- the alternative representation is a convolved representation in some implementations and a hidden representation in other implementations.
- the alternative representation is then processed by an output layer to produce an output. The output is used to produce the quality indication.
- the same input data is fed to the neural network-based base caller 218 and the neural network-based quality scorer 6102 to produce (i) a base call from the neural network-based base caller 218 and (ii) a corresponding quality indication from the neural network-based quality scorer 6102.
- the neural network-based base caller 218 and the neural network-based quality scorer 6102 are jointly trained with end-to-end backpropagation.
- the neural network-based quality scorer 6102 outputs a quality indication for a single target cluster for a particular sequencing cycle. In another implementation, it outputs a quality indication for each target cluster in a plurality of target clusters for the particular sequencing cycle. In yet another implementation, it outputs a quality indication for each target cluster in a plurality of target clusters for each sequencing cycle in a plurality of sequencing cycles, thereby producing a quality indication sequence for each target cluster.
- the neural network-based quality scorer 6102 is a convolutional neural network trained on training examples comprising data from the sequencing images 108 and labeled with base call quality ground truths.
- the neural network-based quality scorer 6102 is trained using a backpropagation-based gradient update technique that progressively matches base call quality predictions 6104 of the convolutional neural network 6102 with the base call quality ground truths 6108.
- we label a base as 0 if it was a wrong base call and 1 if otherwise.
- the output corresponds to the probability of error. In one implementation, this obviates the need of using the sequence context as input features.
- An input module of the convolutional neural network 6102 feeds data from the sequencing images 108 captured at one or more sequencing cycles to the convolutional neural network 6102 for determining quality of one or more bases called for one or more clusters.
- An output module of the convolutional neural network 6102 translates analysis by the convolutional neural network 6102 into an output 6202 that identifies the quality of the one or more bases called for the one or more clusters.
- the output module further comprises a softmax classification layer that produces likelihoods for the quality status being high-quality, medium-quality (optional, as indicated by dotted lines), and low-quality.
- the output module further comprises a softmax classification layer that produces likelihoods for the quality status being high-quality and low- quality.
- the softmax classification layer produces likelihoods for the quality being assigned a plurality of quality scores. Based on the likelihoods, the quality is assigned a quality score from one of the plurality of quality scores.
- the quality scores are logarithmically based on base calling error probabilities.
- the plurality of quality scores includes Q6, Q10, Q15, Q20, Q22, Q27, Q30, Q33,
- the output module further comprises a regression layer that produces continuous values which identify the quality.
- the neural network-based quality scorer 6102 further comprises a supplemental input module that supplements the data from the sequencing images 108 with quality predictor values for the bases called and feeds the quality predictor values to the convolutional neural network 6102 along with the data from the sequencing images.
- the quality predictor values include online overlap, purity, phasing, start5, hexamer score, motif accumulation, endiness, approximate homopolymer, intensity decay, penultimate chastity, signal overlap with background (SOWB), and/or shifted purity G adjustment.
- the quality predictor values include peak height, peak width, peak location, relative peak locations, peak height ration, peak spacing ration, and/or peak correspondence. Additional details about the quality predictor values can be found in US Patent Publication Nos. 2018/0274023 and 2012/0020537, which are incorporated by reference as if fully set forth herein.
- Figure 61 shows one implementation of training 6100 the neural network-based quality scorer 6102 to process input data derived from the sequencing images 108 and directly produce quality indications.
- the neural network-based quality scorer 6102 is trained using a backpropagation-based gradient update technique that compares the predicted quality indications 6104 against the correct quality indications 6108 and computes an error 6106 based on the comparison.
- the error 6106 is then used to calculate gradients, which are applied to the weights and parameters of the neural network-based quality scorer 6102 during backward propagation 6110.
- the training 6100 is operationalized by the trainer 1510 using a stochastic gradient update algorithm such as ADAM.
- the trainer 1510 uses training data 6112 (derived from the sequencing images 108) to train the neural network-based quality scorer 6102 over thousands and millions of iterations of the forward propagation 6116 that produces the predicted quality indications and the backward propagation 6110 that updates the weights and parameters based on the error 6106.
- the training data 6112 is supplemented with the quality predictor values 6114. Additional details about the training 6100 can be found in Appendix entitled“Deep Learning Tools”.
- Figure 62 shows one implementation of directly producing quality indications as outputs of the neural network-based quality scorer 6102 during inference 6200.
- the inference 6200 includes hundreds, thousands, and/or millions of iterations of forward propagation 6208, including parallelization techniques such as batching.
- the inference 6200 is performed on inference data 6204 that includes the input data (with the image channels derived from the sequencing images 108 and/or the supplemental channels (e.g., the distance channels, the scaling channel)).
- the inference data 6204 is supplemented with the quality predictor values 6206.
- the inference 6200 is operationalized by a tester 6210.
- the technology disclosed uses pre-processing techniques that apply to pixels in the image data 202 and produce pre-processed image data 202p.
- the pre-processed image data 202p is provided as input to the neural network-based base caller 218.
- the data pre-processing is operationalized by a data pre-processor 6602, which in turn can contain a data normalizer 6632 and a data augmenter 6634.
- Figure 66 shows different implementations of data pre-processing, which can include data normalization and data augmentation.
- data normalization is applied on pixels in the image data 202 on an image patch-by-image patch basis. This includes normalizing intensity values of pixels in an image patch such that a pixel intensity histogram of the resulting normalized image patch has a fifth percentile of zero and a ninety-fifth percentile of one. That is, in the normalized image patch, (i) 5% of the pixels have intensity values less than zero and (ii) another 5% of the pixels have intensity values greater than one. Respective image patches of the image data 202 can be normalized separately, or the image data 202 can be normalized all at once. What results is normalized image patches 6616, which are one example of the pre-processed image data 202p. The data normalization is operationalized by the data normalizer 6632.
- a is the scaling factor
- X is the original pixel intensity
- b is the offset value
- aX is the scaled pixel intensity
- Figure 67 shows that the data normalization technique (DeepRTA (norm)) and the data augmentation technique (DeepRTA (augment)) of Figure 66 reduce the base calling error percentage when the neural network-based base caller 218 is trained on bacterial data and tested on human data, where the bacterial data and the human data share the same assay (e.g., both contain intronic data).
- Figure 68 shows that the data normalization technique (DeepRTA (norm)) and the data augmentation technique (DeepRTA (augment)) of Figure 66 reduce the base calling error percentage when the neural network-based base caller 218 is trained on non-exonic data (e.g., intronic data) and tested on exonic data.
- Data normalization technique (DeepRTA (norm)
- DeepRTA data augmentation technique
- the data augmentation is applied during both training and inference.
- the data augmentation is applied only during the training. In yet another implementation, the data augmentation is applied only during the inference.
- Figures 63 A and 63B depict one implementation of a sequencing system 6300A.
- the sequencing system 6300A comprises a configurable processor 6346.
- the configurable processor 6346 implements the base calling techniques disclosed herein.
- the sequencing system is also referred to as a “sequencer.”
- the sequencing system 6300A can operate to obtain any information or data that relates to at least one of a biological or chemical substance.
- the sequencing system 6300A is a workstation that may be similar to a bench-top device or desktop computer.
- a majority (or all) of the systems and components for conducting the desired reactions can be within a common housing 6302.
- the sequencing system 6300A is a nucleic acid sequencing system configured for various applications, including but not limited to de novo sequencing, resequencing of whole genomes or target genomic regions, and metagenomics.
- the sequencer may also be used for DNA or RNA analysis.
- the sequencing system 6300A may also be configured to generate reaction sites in a biosensor.
- the sequencing system 6300A may be configured to receive a sample and generate surface attached clusters of clonally amplified nucleic acids derived from the sample. Each cluster may constitute or be part of a reaction site in the biosensor.
- the exemplary sequencing system 6300A may include a system receptacle or interface 6310 that is configured to interact with a biosensor 6312 to perform desired reactions within the biosensor 6312.
- the biosensor 6312 is loaded into the system receptacle 6310.
- a cartridge that includes the biosensor 6312 may be inserted into the system receptacle 6310 and in some states the cartridge can be removed temporarily or permanently.
- the cartridge may include, among other things, fluidic control and fluidic storage components.
- the sequencing system 6300A is configured to perform a large number of parallel reactions within the biosensor 6312.
- the biosensor 6312 includes one or more reaction sites where desired reactions can occur.
- the reaction sites may be, for example, immobilized to a solid surface of the biosensor or immobilized to beads (or other movable substrates) that are located within corresponding reaction chambers of the biosensor.
- the reaction sites can include, for example, clusters of clonally amplified nucleic acids.
- the biosensor 6312 may include a solid-state imaging device (e.g., CCD or CMOS imager) and a flow cell mounted thereto.
- the flow cell may include one or more flow channels that receive a solution from the sequencing system 6300A and direct the solution toward the reaction sites.
- the biosensor 6312 can be configured to engage a thermal element for transferring thermal energy into or out of the flow channel.
- the sequencing system 6300A may include various components, assemblies, and systems (or sub-systems) that interact with each other to perform a predetermined method or assay protocol for biological or chemical analysis.
- the sequencing system 6300A includes a system controller 6306 that may communicate with the various components, assemblies, and sub-systems of the sequencing system 6300A and also the biosensor 6312.
- the sequencing system 6300A may also include a fluidic control system 6308 to control the flow of fluid throughout a fluid network of the sequencing system 6300A and the biosensor 6312; a fluid storage system 6314 that is configured to hold all fluids (e.g., gas or liquids) that may be used by the bioassay system; a temperature control system 6304 that may regulate the temperature of the fluid in the fluid network, the fluid storage system 6314, and/or the biosensor 6312; and an illumination system 6316 that is configured to illuminate the biosensor 6312.
- the cartridge may also include fluidic control and fluidic storage components.
- the sequencing system 6300A may include a user interface 6318 that interacts with the user.
- the user interface 6318 may include a display 6320 to display or request information from a user and a user input device 6322 to receive user inputs.
- the display 6320 and the user input device 6322 are the same device.
- the user interface 6318 may include a touch-sensitive display configured to detect the presence of an individual’s touch and also identify a location of the touch on the display.
- other user input devices 6322 may be used, such as a mouse, touchpad, keyboard, keypad, handheld scanner, voice -recognition system, motion-recognition system, and the like.
- the sequencing system 6300A may communicate with various components, including the biosensor 6312 (e.g., in the form of a cartridge), to perform the desired reactions.
- the sequencing system 6300A may also be configured to analyze data obtained from the biosensor to provide a user with desired information.
- ASICs application specific integrated circuits
- FPGAs field programmable gate array
- the system controller 6306 executes a set of instructions that are stored in one or more storage elements, memories, or modules in order to at least one of obtain and analyze detection data.
- Detection data can include a plurality of sequences of pixel signals, such that a sequence of pixel signals from each of the millions of sensors (or pixels) can be detected over many base calling cycles.
- Storage elements may be in the form of information sources or physical memory elements within the sequencing system 6300A.
- the set of instructions may include various commands that instruct the sequencing system 6300A or biosensor 6312 to perform specific operations such as the methods and processes of the various implementations described herein.
- the set of instructions may be in the form of a software program, which may form part of a tangible, non-transitory computer readable medium or media.
- 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.
- RAM memory random access memory
- ROM memory read only memory
- EPROM memory electrically erasable programmable read-only memory
- EEPROM memory electrically erasable programmable read-only memory
- NVRAM non-volatile RAM
- the software may be in various forms such as system software or application software. Further, the software may be in the form of a collection of separate programs, or a program module within a larger program or a portion of a program module. The software also may include modular programming in the form of object-oriented programming. After obtaining the detection data, the detection data may be automatically processed by the sequencing system 6300A, processed in response to user inputs, or processed in response to a request made by another processing machine (e.g., a remote request through a communication link). In the illustrated implementation, the system controller 6306 includes an analysis module 6344.
- system controller 6306 does not include the analysis module 6344 and instead has access to the analysis module 6344 (e.g., the analysis module 6344 may be separately hosted on cloud).
- the system controller 6306 may be connected to the biosensor 6312 and the other components of the sequencing system 6300A via communication links.
- the system controller 6306 may also be communicatively connected to off-site systems or servers.
- the communication links may be hardwired, corded, or wireless.
- the system controller 6306 may receive user inputs or commands, from the user interface 6318 and the user input device 6322.
- the fluidic control system 6308 includes a fluid network and is configured to direct and regulate the flow of one or more fluids through the fluid network.
- the fluid network may be in fluid communication with the biosensor 6312 and the fluid storage system 6314.
- select fluids may be drawn from the fluid storage system 6314 and directed to the biosensor 6312 in a controlled manner, or the fluids may be drawn from the biosensor 6312 and directed toward, for example, a waste reservoir in the fluid storage system 6314.
- the fluidic control system 6308 may include flow sensors that detect a flow rate or pressure of the fluids within the fluid network. The sensors may communicate with the system controller 6306.
- the temperature control system 6304 is configured to regulate the temperature of fluids at different regions of the fluid network, the fluid storage system 6314, and/or the biosensor 6312.
- the temperature control system 6304 may include a thermocycler that interfaces with the biosensor 6312 and controls the temperature of the fluid that flows along the reaction sites in the biosensor 6312.
- the temperature control system 6304 may also regulate the temperature of solid elements or components of the sequencing system 6300A or the biosensor 6312.
- the temperature control system 6304 may include sensors to detect the temperature of the fluid or other components. The sensors may communicate with the system controller 6306.
- the fluid storage system 6314 is in fluid communication with the biosensor 6312 and may store various reaction components or reactants that are used to conduct the desired reactions therein.
- the fluid storage system 6314 may also store fluids for washing or cleaning the fluid network and biosensor 6312 and for diluting the reactants.
- the fluid storage system 6314 may include various reservoirs to store samples, reagents, enzymes, other biomolecules, buffer solutions, aqueous, and non polar solutions, and the like.
- the fluid storage system 6314 may also include waste reservoirs for receiving waste products from the biosensor 6312.
- the cartridge may include one or more of a fluid storage system, fluidic control system or temperature control system.
- a cartridge can have various reservoirs to store samples, reagents, enzymes, other biomolecules, buffer solutions, aqueous, and non polar solutions, waste, and the like.
- a fluid storage system, fluidic control system or temperature control system can be removably engaged with a bioassay system via a cartridge or other biosensor.
- the illumination system 6316 may include a light source (e.g., one or more LEDs) and a plurality of optical components to illuminate the biosensor.
- light sources may include lasers, arc lamps, LEDs, or laser diodes.
- the optical components may be, for example, reflectors, dichroics, beam splitters, collimators, lenses, filters, wedges, prisms, mirrors, detectors, and the like.
- the illumination system 6316 may be configured to direct an excitation light to reaction sites.
- fluorophores may be excited by green wavelengths of light, as such the wavelength of the excitation light may be approximately 532 nm.
- the illumination system 6316 is configured to produce illumination that is parallel to a surface normal of a surface of the biosensor 6312. In another implementation, the illumination system 6316 is configured to produce illumination that is off-angle relative to the surface normal of the surface of the biosensor 6312. In yet another implementation, the illumination system 6316 is configured to produce illumination that has plural angles, including some parallel illumination and some off-angle illumination.
- the system receptacle or interface 6310 is configured to engage the biosensor 6312 in at least one of a mechanical, electrical, and fluidic manner.
- the system receptacle 6310 may hold the biosensor 6312 in a desired orientation to facilitate the flow of fluid through the biosensor 6312.
- the system receptacle 6310 may also include electrical contacts that are configured to engage the biosensor 6312 so that the sequencing system 6300A may communicate with the biosensor 6312 and/or provide power to the biosensor 6312.
- the system receptacle 6310 may include fluidic ports (e.g., nozzles) that are configured to engage the biosensor 6312.
- the biosensor 6312 is removably coupled to the system receptacle 6310 in a mechanical manner, in an electrical manner, and also in a fluidic manner.
- sequencing system 6300A may communicate remotely with other systems or networks or with other bioassay systems 6300A. Detection data obtained by the bioassay system(s)
- 6300A may be stored in a remote database.
- FIG 63B is a block diagram of a system controller 6306 that can be used in the system of Figure 63A.
- the system controller 6306 includes one or more processors or modules that can communicate with one another.
- Each of the processors or modules may include an algorithm (e.g., instructions stored on a tangible and/or non-transitory computer readable storage medium) or sub-algorithms to perform particular processes.
- the system controller 6306 is illustrated conceptually as a collection of modules, but may be implemented utilizing any combination of dedicated hardware boards, DSPs, processors, etc.
- the system controller 6306 may be implemented utilizing an off-the-shelf PC with a single processor or multiple processors, with the functional operations distributed between the processors.
- the modules described below may be
- the modules also may be implemented as software modules within a processing unit.
- a communication port 6350 may transmit information (e.g., commands) to or receive information (e.g., data) from the biosensor 6312 ( Figure 63A) and/or the sub-systems 6308, 6314, 6304 ( Figure 63A).
- the communication port 6350 may output a plurality of sequences of pixel signals.
- a communication link 6334 may receive user input from the user interface 6318 ( Figure 63A) and transmit data or information to the user interface 6318.
- Data from the biosensor 6312 or sub-systems 6308, 6314, 6304 may be processed by the system controller 6306 in real-time during a bioassay session. Additionally or alternatively, data may be stored temporarily in a system memory during a bioassay session and processed in slower than real-time or off-line operation.
- the system controller 6306 may include a plurality of modules 6326-6348 that communicate with a main control module 6324, along with a central processing unit (CPU) 6352.
- the main control module 6324 may communicate with the user interface 6318 ( Figure 63A).
- the modules 6326-6348 are shown as communicating directly with the main control module 6324, the modules 6326-6348 may also communicate directly with each other, the user interface 6318, and the biosensor 6312. Also, the modules 6326-6348 may communicate with the main control module 6324 through the other modules.
- the plurality of modules 6326-6348 include system modules 6328-6332, 6326 that communicate with the sub-systems 6308, 6314, 6304, and 6316, respectively.
- the fluidic control module 6328 may communicate with the fluidic control system 6308 to control the valves and flow sensors of the fluid network for controlling the flow of one or more fluids through the fluid network.
- the fluid storage module 6330 may notify the user when fluids are low or when the waste reservoir is at or near capacity.
- the fluid storage module 6330 may also communicate with the temperature control module 6332 so that the fluids may be stored at a desired temperature.
- the illumination module 6326 may communicate with the illumination system 6316 to illuminate the reaction sites at designated times during a protocol, such as after the desired reactions (e.g., binding events) have occurred. In some implementations, the illumination module 6326 may communicate with the illumination system 6316 to illuminate the reaction sites at designated angles.
- the plurality of modules 6326-6348 may also include a device module 6336 that
- the device module 6336 may, for example, communicate with the system receptacle 6310 to confirm that the biosensor has established an electrical and fluidic connection with the sequencing system 6300A.
- the identification module 6338 may receive signals that identify the biosensor 6312.
- the identification module 6338 may use the identity of the biosensor 6312 to provide other information to the user. For example, the identification module 6338 may determine and then display a lot number, a date of manufacture, or a protocol that is recommended to be run with the biosensor 6312.
- the plurality of modules 6326-6348 also includes an analysis module 6344 (also called signal processing module or signal processor) that receives and analyzes the signal data (e.g., image data) from the biosensor 6312.
- Analysis module 6344 includes memory (e.g., RAM or Flash) to store the signal data (e.g., image data) from the biosensor 6312.
- memory e.g., RAM or Flash
- Detection data can include a plurality of sequences of pixel signals, such that a sequence of pixel signals from each of the millions of sensors (or pixels) can be detected over many base calling cycles.
- the signal data may be stored for subsequent analysis or may be transmitted to the user interface 6318 to display desired information to the user.
- the signal data may be processed by the solid-state imager (e.g., CMOS image sensor) before the analysis module 6344 receives the signal data.
- the solid-state imager e.g., CMOS image sensor
- the analysis module 6344 is configured to obtain image data from the light detectors at each of a plurality of sequencing cycles.
- the image data is derived from the emission signals detected by the light detectors and process the image data for each of the plurality of sequencing cycles through the neural network-based quality scorer 6102 and/or the neural network-based base caller 218 and produce a base call for at least some of the analytes at each of the plurality of sequencing cycle.
- the light detectors can be part of one or more over-head cameras (e.g., Illumina’s GAIIx’s CCD camera taking images of the clusters on the biosensor 6312 from the top), or can be part of the biosensor 6312 itself (e.g., Illumina’s iSeq’s CMOS image sensors underlying the clusters on the biosensor 6312 and taking images of the clusters from the bottom).
- over-head cameras e.g., Illumina’s GAIIx’s CCD camera taking images of the clusters on the biosensor 6312 from the top
- the output of the light detectors is the sequencing images, each depicting intensity emissions of the clusters and their surrounding background.
- the sequencing images depict intensity emissions generated as a result of nucleotide incorporation in the sequences during the sequencing.
- the intensity emissions are from associated analytes and their surrounding background.
- the sequencing images are stored in memory 6348.
- Protocol modules 6340 and 6342 communicate with the main control module 6324 to control the operation of the sub-systems 6308, 6314, and 6304 when conducting predetermined assay protocols.
- the protocol modules 6340 and 6342 may include sets of instructions for instructing the sequencing system 6300A to perform specific operations pursuant to predetermined protocols.
- the protocol module may be a sequencing-by-synthesis (SBS) module 6340 that is configured to issue various commands for performing sequencing -by-synthesis processes.
- SBS sequencing-by-synthesis
- extension of a nucleic acid primer along a nucleic acid template is monitored to determine the sequence of nucleotides in the template.
- the underlying chemical process can be polymerization (e.g., as catalyzed by a polymerase enzyme) or ligation (e.g., catalyzed by a ligase enzyme).
- fluorescently labeled nucleotides are added to a primer (thereby extending the primer) in a template dependent fashion such that detection of the order and type of nucleotides added to the primer can be used to determine the sequence of the template.
- commands can be given to deliver one or more labeled nucleotides, DNA polymerase, etc., into/through a flow cell that houses an array of nucleic acid templates.
- the nucleic acid templates may be located at corresponding reaction sites. Those reaction sites where primer extension causes a labeled nucleotide to be incorporated can be detected through an imaging event. During an imaging event, the illumination system 6316 may provide an excitation light to the reaction sites.
- the nucleotides can further include a reversible termination property that terminates further primer extension once a nucleotide has been added to a primer. For example, a nucleotide analog having a reversible terminator moiety can be added to a primer such that subsequent extension cannot occur until a deblocking agent is delivered to remove the moiety.
- a command can be given to deliver a deblocking reagent to the flow cell (before or after detection occurs).
- One or more commands can be given to effect wash(es) between the various delivery steps.
- the cycle can then be repeated n times to extend the primer by n nucleotides, thereby detecting a sequence of length n.
- Exemplary sequencing techniques are described, for example, in Bentley et al., Nature 456:53-59 (20063); WO 04/0163497; US 7,057,026; WO 91/066763; WO 07/123744; US 7,329,492; US 7,211,414; US 7,315,019; US 7,405,2631, and US 20063/01470630632, each of which is incorporated herein by reference.
- nucleotide delivery step of an SBS cycle either a single type of nucleotide can be delivered at a time, or multiple different nucleotide types (e.g., A, C, T and G together) can be delivered.
- nucleotide delivery configuration where only a single type of nucleotide is present at a time, the different nucleotides need not have distinct labels since they can be distinguished based on temporal separation inherent in the individualized delivery. Accordingly, a sequencing method or apparatus can use single color detection. For example, an excitation source need only provide excitation at a single wavelength or in a single range of wavelengths.
- sites that incorporate different nucleotide types can be distinguished based on different fluorescent labels that are attached to respective nucleotide types in the mixture.
- four different nucleotides can be used, each having one of four different fluorophores.
- the four different fluorophores can be distinguished using excitation in four different regions of the spectrum.
- four different excitation radiation sources can be used.
- fewer than four different excitation sources can be used, but optical filtration of the excitation radiation from a single source can be used to produce different ranges of excitation radiation at the flow cell.
- fewer than four different colors can be detected in a mixture having four different nucleotides.
- pairs of nucleotides can be detected at the same wavelength, but distinguished based on a difference in intensity for one member of the pair compared to the other, or based on a change to one member of the pair (e.g., via chemical modification, photochemical modification or physical modification) that causes apparent signal to appear or disappear compared to the signal detected for the other member of the pair.
- Exemplary apparatus and methods for distinguishing four different nucleotides using detection of fewer than four colors are described for example in US Pat. App. Ser. Nos. 61/5363,294 and 61/619,63763, which are incorporated herein by reference in their entireties.
- U.S. Application No. 13/624,200 which was filed on September 21, 2012, is also incorporated by reference in its entirety.
- the plurality of protocol modules may also include a sample-preparation (or generation) module 6342 that is configured to issue commands to the fluidic control system 6308 and the temperature control system 6304 for amplifying a product within the biosensor 6312.
- the biosensor 6312 may be engaged to the sequencing system 6300A.
- the amplification module 6342 may issue instructions to the fluidic control system 6308 to deliver necessary amplification components to reaction chambers within the biosensor 6312.
- the reaction sites may already contain some components for amplification, such as the template DNA and/or primers.
- the amplification module 6342 may instruct the temperature control system 6304 to cycle through different temperature stages according to known amplification protocols. In some implementations, the amplification and/or nucleotide incorporation is performed isothermally.
- the SBS module 6340 may issue commands to perform bridge PCR where clusters of clonal amplicons are formed on localized areas within a channel of a flow cell. After generating the amplicons through bridge PCR, the amplicons may be“linearized” to make single stranded template DNA, or sstDNA, and a sequencing primer may be hybridized to a universal sequence that flanks a region of interest.
- a reversible terminator-based sequencing by synthesis method can be used as set forth above or as follows.
- Each base calling or sequencing cycle can extend an sstDNA by a single base which can be accomplished for example by using a modified DNA polymerase and a mixture of four types of nucleotides.
- the different types of nucleotides can have unique fluorescent labels, and each nucleotide can further have a reversible terminator that allows only a single-base incorporation to occur in each cycle. After a single base is added to the sstDNA, excitation light may be incident upon the reaction sites and fluorescent emissions may be detected. After detection, the fluorescent label and the terminator may be chemically cleaved from the sstDNA. Another similar base calling or sequencing cycle may follow.
- the SBS module 6340 may instruct the fluidic control system 6308 to direct a flow of reagent and enzyme solutions through the biosensor 6312.
- Exemplary reversible terminator-based SBS methods which can be utilized with the apparatus and methods set forth herein are described in US Patent Application Publication No. 2007/0166705 Al, US Patent Application Publication No.
- the amplification and SBS modules may operate in a single assay protocol where, for example, template nucleic acid is amplified and subsequently sequenced within the same cartridge.
- the sequencing system 6300A may also allow the user to reconfigure an assay protocol.
- the sequencing system 6300A may offer options to the user through the user interface 6318 for modifying the determined protocol. For example, if it is determined that the biosensor 6312 is to be used for amplification, the sequencing system 6300A may request a temperature for the annealing cycle. Furthermore, the sequencing system 6300A may issue warnings to a user if a user has provided user inputs that are generally not acceptable for the selected assay protocol.
- the biosensor 6312 includes millions of sensors (or pixels), each of which generates a plurality of sequences of pixel signals over successive base calling cycles.
- the analysis module 6344 detects the plurality of sequences of pixel signals and attributes them to corresponding sensors (or pixels) in accordance to the row-wise and/or column-wise location of the sensors on an array of sensors.
- Figure 63C is a simplified block diagram of a system for analysis of sensor data from the sequencing system 6300A, such as base call sensor outputs.
- the system includes the configurable processor 6346.
- the configurable processor 6346 can execute a base caller (e.g., the neural network-based quality scorer 6102 and/or the neural network-based base caller 218) in coordination with a runtime program executed by the central processing unit (CPU) 6352 (i.e., a host processor).
- the sequencing system 6300A comprises the biosensor 6312 and flow cells.
- the flow cells can comprise one or more tiles in which clusters of genetic material are exposed to a sequence of analyte flows used to cause reactions in the clusters to identify the bases in the genetic material.
- the sensors sense the reactions for each cycle of the sequence in each tile of the flow cell to provide tile data.
- Genetic sequencing is a data intensive operation, which translates base call sensor data into sequences of base calls for each cluster of genetic material sensed in during a base call operation.
- the system in this example includes the CPU 6352, which executes a runtime program to coordinate the base call operations, memory 6348B to store sequences of arrays of tile data, base call reads produced by the base calling operation, and other information used in the base call operations. Also, in this illustration the system includes memory 6348A to store a configuration file (or files), such as FPGA bit files, and model parameters for the neural networks used to configure and reconfigure the configurable processor 6346, and execute the neural networks.
- the sequencing system 6300A can include a program for configuring a configurable processor and in some embodiments a reconfigurable processor to execute the neural networks.
- the sequencing system 6300A is coupled by a bus 6389 to the configurable processor 6346.
- the bus 6389 can be implemented using a high throughput technology, such as in one example bus technology compatible with the PCIe standards (Peripheral Component Interconnect Express) currently maintained and developed by the PCI-SIG (PCI Special Interest Group).
- a memory 6348A is coupled to the configurable processor 6346 by bus 6393.
- the memory 6348A can be on-board memory, disposed on a circuit board with the configurable processor 6346.
- the memory 6348A is used for high speed access by the configurable processor 6346 of working data used in the base call operation.
- the bus 6393 can also be implemented using a high throughput technology, such as bus technology compatible with the PCIe standards.
- Configurable processors including field programmable gate arrays FPGAs, coarse grained reconfigurable arrays CGRAs, and other configurable and reconfigurable devices, can be configured to implement a variety of functions more efficiently or faster than might be achieved using a general purpose processor executing a computer program.
- Configuration of configurable processors involves compiling a functional description to produce a configuration file, referred to sometimes as a bitstream or bit file, and distributing the configuration file to the configurable elements on the processor.
- the configuration file defines the logic functions to be executed by the configurable processor, by configuring the circuit to set data flow patterns, use of distributed memory and other on-chip memory resources, lookup table contents, operations of configurable logic blocks and configurable execution units like multiply-and-accumulate units, configurable interconnects and other elements of the configurable array.
- a configurable processor is reconfigurable if the configuration file may be changed in the field, by changing the loaded configuration file.
- the configuration file may be stored in volatile SRAM elements, in non-volatile read-write memory elements, and in combinations of the same, distributed among the array of configurable elements on the configurable or reconfigurable processor.
- a variety of commercially available configurable processors are suitable for use in a base calling operation as described herein. Examples include Google’s Tensor Processing Unit (TPU)TM, rackmount solutions like GX4 Rackmount SeriesTM, GX9 Rackmount SeriesTM, NVIDIA DGX-1TM, Microsoft’ Stratix V FPGATM, Graphcore’s Intelligent Processor Unit (IPU)TM, Qualcomm’s Zeroth PlatformTM with
- a host CPU can be implemented on the same integrated circuit as the configurable processor.
- Embodiments described herein implement the neural network-based quality scorer 6102 and/or the neural network-based base caller 218 using the configurable processor 6346.
- the configuration file for the configurable processor 6346 can be implemented by specifying the logic functions to be executed using a high level description language HDL or a register transfer level RTL language specification.
- the specification can be compiled using the resources designed for the selected configurable processor to generate the configuration file.
- the same or similar specification can be compiled for the purposes of generating a design for an application-specific integrated circuit which may not be a configurable processor.
- configurable processor configurable processor 6346 in all embodiments described herein, therefore include a configured processor comprising an application specific ASIC or special purpose integrated circuit or set of integrated circuits, or a system-on-a-chip SOC device, or a graphics processing unit (GPU) processor or a coarse-grained reconfigurable architecture (CGRA) processor, configured to execute a neural network based base call operation as described herein.
- a configured processor comprising an application specific ASIC or special purpose integrated circuit or set of integrated circuits, or a system-on-a-chip SOC device, or a graphics processing unit (GPU) processor or a coarse-grained reconfigurable architecture (CGRA) processor, configured to execute a neural network based base call operation as described herein.
- GPU graphics processing unit
- CGRA coarse-grained reconfigurable architecture
- neural network processors In general, configurable processors and configured processors described herein, as configured to execute runs of a neural network, are referred to herein as neural network processors.
- the configurable processor 6346 is configured in this example by a configuration file loaded using a program executed by the CPU 6352, or by other sources, which configures the array of configurable elements 6391 (e.g., configuration logic blocks (CLB) such as look up tables (LUTs), flip- flops, compute processing units (PMUs), and compute memory units (CMUs), configurable I/O blocks, programmable interconnects), on the configurable processor to execute the base call function.
- the configuration includes data flow logic 6397 which is coupled to the buses 6389 and 6393 and executes functions for distributing data and control parameters among the elements used in the base call operation.
- the configurable processor 6346 is configured with base call execution logic 6397 to execute the neural network-based quality scorer 6102 and/or the neural network-based base caller 218.
- the logic 6397 comprises multi-cycle execution clusters (e.g., 6379) which, in this example, includes execution cluster 1 through execution cluster X.
- the number of multi-cycle execution clusters can be selected according to a trade-off involving the desired throughput of the operation, and the available resources on the configurable processor 6346.
- the multi-cycle execution clusters are coupled to the data flow logic 6397 by data flow paths 6399 implemented using configurable interconnect and memory resources on the configurable processor 6346. Also, the multi -cycle execution clusters are coupled to the data flow logic 6397 by control paths 6395 implemented using configurable interconnect and memory resources for example on the configurable processor 6346, which provide control signals indicating available execution clusters, readiness to provide input units for execution of a run of the neural network-based quality scorer 6102 and/or the neural network-based base caller 218 to the available execution clusters, readiness to provide trained parameters for the neural network-based quality scorer 6102 and/or the neural network-based base caller 218, readiness to provide output patches of base call classification data, and other control data used for execution of the neural network-based quality scorer 6102 and/or the neural network-based base caller 218.
- the configurable processor 6346 is configured to execute runs of the neural network-based quality scorer 6102 and/or the neural network-based base caller 218 using trained parameters to produce classification data for the sensing cycles of the base calling operation.
- a run of the neural network-based quality scorer 6102 and/or the neural network-based base caller 218 is executed to produce classification data for a subject sensing cycle of the base calling operation.
- a run of the neural network-based quality scorer 6102 and/or the neural network-based base caller 218 operates on a sequence including a number N of arrays of tile data from respective sensing cycles of N sensing cycles, where the N sensing cycles provide sensor data for different base call operations for one base position per operation in time sequence in the examples described herein.
- some of the N sensing cycles can be out of sequence if needed according to a particular neural network model being executed.
- the number N can be any number greater than one.
- sensing cycles of the N sensing cycles represent a set of sensing cycles for at least one sensing cycle preceding the subject sensing cycle and at least one sensing cycle following the subject cycle in time sequence. Examples are described herein in which the number N is an integer equal to or greater than five.
- the data flow logic 6397 is configured to move tile data and at least some trained parameters of the model parameters from the memory 6348A to the configurable processor 6346 for runs of the neural network-based quality scorer 6102 and/or the neural network-based base caller 218, using input units for a given run including tile data for spatially aligned patches of the N arrays.
- the input units can be moved by direct memory access operations in one DMA operation, or in smaller units moved during available time slots in coordination with the execution of the neural network deployed.
- Tile data for a sensing cycle as described herein can comprise an array of sensor data having one or more features.
- the sensor data can comprise two images which are analyzed to identify one of four bases at a base position in a genetic sequence of DNA, R A, or other genetic material.
- the tile data can also include metadata about the images and the sensors.
- the tile data can comprise information about alignment of the images with the clusters such as distance from center information indicating the distance of each pixel in the array of sensor data from the center of a cluster of genetic material on the tile.
- tile data can also include data produced during execution of the neural network-based quality scorer 6102 and/or the neural network-based base caller 218, referred to as intermediate data, which can be reused rather than recomputed during a run of the neural network-based quality scorer 6102 and/or the neural network-based base caller 218.
- the data flow logic 6397 can write intermediate data to the memory 6348A in place of the sensor data for a given patch of an array of tile data. Embodiments like this are described in more detail below.
- a system for analysis of base call sensor output, comprising memory (e.g., 6348A) accessible by the runtime program storing tile data including sensor data for a tile from sensing cycles of a base calling operation.
- the system includes a neural network processor, such as configurable processor 6346 having access to the memory.
- the neural network processor is configured to execute runs of a neural network using trained parameters to produce classification data for sensing cycles.
- a run of the neural network is operating on a sequence of N arrays of tile data from respective sensing cycles of N sensing cycles, including a subject cycle, to produce the classification data for the subject cycle.
- the data flow logic 908 is provided to move tile data and the trained parameters from the memory to the neural network processor for runs of the neural network using input units including data for spatially aligned patches of the N arrays from respective sensing cycles of N sensing cycles.
- the neural network processor has access to the memory, and includes a plurality of execution clusters, the execution clusters in the plurality of execution clusters configured to execute a neural network.
- the data flow logic 6397 has access to the memory and to execution clusters in the plurality of execution clusters, to provide input units of tile data to available execution clusters in the plurality of execution clusters, the input units including a number N of spatially aligned patches of arrays of tile data from respective sensing cycles, including a subject sensing cycle, and to cause the execution clusters to apply the N spatially aligned patches to the neural network to produce output patches of classification data for the spatially aligned patch of the subject sensing cycle, where N is greater than 1.
- Figure 64A is a simplified diagram showing aspects of the base calling operation, including functions of a runtime program executed by a host processor.
- the output of image sensors from a flow cell are provided on lines 6400 to image processing threads 6401, which can perform processes on images such as alignment and arrangement in an array of sensor data for the individual tiles and resampling of images, and can be used by processes which calculate a tile cluster mask for each tile in the flow cell, which identifies pixels in the array of sensor data that correspond to clusters of genetic material on the corresponding tile of the flow cell.
- the outputs of the image processing threads 6401 are provided on lines 6402 to a dispatch logic 6410 in the CPU which routes the arrays of tile data to a data cache 6404 (e.g., SSD storage) on a high-speed bus 6403, or on high-speed bus 6405 to the neural network processor hardware 6420, such as the configurable processor 6346 of Figure 63C, according to the state of the base calling operation.
- a data cache 6404 e.g., SSD storage
- the neural network processor hardware 6420 such as the configurable processor 6346 of Figure 63C, according to the state of the base calling operation.
- the processed and transformed images can be stored on the data cache 6404 for sensing cycles that were previously used.
- the hardware 6420 returns classification data output by the neural network to the dispatch logic 6464, which passes the information to the data cache 6404, or on lines 6411 to threads 6402 that perform base call and quality score computations using the classification data, and can arrange the data in standard formats for base call reads.
- the outputs of the threads 6402 that perform base calling and quality score computations are provided on lines 6412 to threads 6403 that aggregate the base call reads, perform other operations such as data compression, and write the resulting base call outputs to specified destinations for utilization by the customers.
- the host can include threads (not shown) that perform final processing of the output of the hardware 6420 in support of the neural network.
- the hardware 6420 can provide outputs of classification data from a final layer of the multi-cluster neural network.
- the host processor can execute an output activation function, such as a softmax function, over the classification data to configure the data for use by the base call and quality score threads 6402.
- the host processor can execute input operations (not shown), such as batch normalization of the tile data prior to input to the hardware 6420.
- Figure 64B is a simplified diagram of a configuration of a configurable processor 6346 such as that of Figure 63C.
- the configurable processor 6346 comprises an FPGA with a plurality of high speed PCIe interfaces.
- the FPGA is configured with a wrapper 6490 which comprises the data flow logic 6397 described with reference to Figure 63C.
- the wrapper 6490 manages the interface and coordination with a runtime program in the CPU across the CPU communication link 6477 and manages communication with the on-board DRAM 6499 (e.g., memory 6348A) via DRAM communication link 6497.
- DRAM 6499 e.g., memory 6348A
- the data flow logic 6397 in the wrapper 6490 provides patch data retrieved by traversing the arrays of tile data on the on-board DRAM 6499 for the number N cycles to a cluster 6485, and retrieves process data 6487 from the cluster 6485 for delivery back to the on-board DRAM 6499.
- the wrapper 6490 also manages transfer of data between the on-board DRAM 6499 and host memory, for both the input arrays of tile data, and for the output patches of classification data.
- the wrapper transfers patch data on line 6483 to the allocated cluster 6485.
- the wrapper provides trained parameters, such as weights and biases on line 6481 to the cluster 6485 retrieved from the on-board DRAM 6499.
- the wrapper provides configuration and control data on line 6479 to the cluster 6485 provided from, or generated in response to, the runtime program on the host via the CPU communication link 6477.
- the cluster can also provide status signals on line 6489 to the wrapper 6490, which are used in cooperation with control signals from the host to manage traversal of the arrays of tile data to provide spatially aligned patch data, and to execute the multi -cycle neural network over the patch data using the resources of the cluster 6485.
- each cluster can be configured to provide classification data for base calls in a subject sensing cycle using the tile data of multiple sensing cycles described herein.
- model data including kernel data like filter weights and biases can be sent from the host CPU to the configurable processor, so that the model can be updated as a function of cycle number.
- a base calling operation can comprise, for a representative example, on the order of hundreds of sensing cycles.
- Base calling operation can include paired end reads in some embodiments.
- the model trained parameters may be updated once every 20 cycles (or other number of cycles), or according to update patterns implemented for particular systems and neural network models.
- a sequence for a given string in a genetic cluster on a tile includes a first part extending from a first end down (or up) the string, and a second part extending from a second end up (or down) the string
- the trained parameters can be updated on the transition from the first part to the second part.
- image data for multiple cycles of sensing data for a tile can be sent from the CPU to the wrapper 6490.
- the wrapper 6490 can optionally do some pre-processing and
- the input tile data for each sensing cycle can include arrays of sensor data including on the order of 4000 x 3000 pixels per sensing cycle per tile or more, with two features representing colors of two images of the tile, and one or two bytes per feature per pixel.
- the array of tile data for each run of the multi -cycle neural network can consume on the order of hundreds of megabytes per tile.
- the tile data also includes an array of DFC data, stored once per tile, or other type of metadata about the sensor data and the tiles.
- the wrapper allocates a patch to the cluster.
- the wrapper fetches a next patch of tile data in the traversal of the tile and sends it to the allocated cluster along with appropriate control and configuration information.
- the cluster can be configured with enough memory on the configurable processor to hold a patch of data including patches from multiple cycles in some systems, that is being worked on in place, and a patch of data that is to be worked on when the current patch of processing is finished using a ping-pong buffer technique or raster scanning technique in various embodiments.
- an allocated cluster completes its run of the neural network for the current patch and produces an output patch, it will signal the wrapper.
- the wrapper will read the output patch from the allocated cluster, or alternatively the allocated cluster will push the data out to the wrapper. Then the wrapper will assemble output patches for the processed tile in the DRAM 6499. When the processing of the entire tile has been completed, and the output patches of data transferred to the DRAM, the wrapper sends the processed output array for the tile back to the host/CPU in a specified format.
- the on-board DRAM 6499 is managed by memory management logic in the wrapper 6490.
- the runtime program can control the sequencing operations to complete analysis of all the arrays of tile data for all the cycles in the run in a continuous flow to provide real time analysis.
- Base calling includes incorporation or attachment of a fluorescently-labeled tag with an analyte.
- the analyte can be a nucleotide or an oligonucleotide, and the tag can be for a particular nucleotide type (A, C, T, or G).
- Excitation light is directed toward the analyte having the tag, and the tag emits a detectable fluorescent signal or intensity emission. The intensity emission is indicative of photons emitted by the excited tag that is chemically attached to the analyte.
- the technology disclosed uses neural networks to improve the quality and quantity of nucleic acid sequence information that can be obtained from a nucleic acid sample such as a nucleic acid template or its complement, for instance, a DNA or RNA polynucleotide or other nucleic acid sample.
- polynucleotide sequencing for instance, higher rates of collection of DNA or RNA sequence data, greater efficiency in sequence data collection, and/or lower costs of obtaining such sequence data, relative to previously available methodologies.
- the technology disclosed uses neural networks to identify the center of a solid-phase nucleic acid cluster and to analyze optical signals that are generated during sequencing of such clusters, to discriminate unambiguously between adjacent, abutting or overlapping clusters in order to assign a sequencing signal to a single, discrete source cluster.
- These and related implementations thus permit retrieval of meaningful information, such as sequence data, from regions of high-density cluster arrays where useful information could not previously be obtained from such regions due to confounding effects of overlapping or very closely spaced adjacent clusters, including the effects of overlapping signals (e.g., as used in nucleic acid sequencing) emanating therefrom.
- compositions that comprises a solid support having immobilized thereto one or a plurality of nucleic acid clusters as provided herein.
- Each cluster comprises a plurality of immobilized nucleic acids of the same sequence and has an identifiable center having a detectable center label as provided herein, by which the identifiable center is distinguishable from immobilized nucleic acids in a surrounding region in the cluster.
- Also described herein are methods for making and using such clusters that have identifiable centers.
- the present invention contemplates methods that relate to high- throughput nucleic acid analysis such as nucleic acid sequence determination (e.g.,“sequencing”).
- Exemplary high-throughput nucleic acid analyses include without limitation de novo sequencing, re sequencing, whole genome sequencing, gene expression analysis, gene expression monitoring, epigenetic analysis, genome methylation analysis, allele specific primer extension (APSE), genetic diversity profiling, whole genome polymorphism discovery and analysis, single nucleotide polymorphism analysis, hybridization based sequence determination methods, and the like.
- APSE allele specific primer extension
- the implementations of the present invention are described in relation to nucleic acid sequencing, they are applicable in any field where image data acquired at different time points, spatial locations or other temporal or physical perspectives is analyzed.
- the methods and systems described herein are useful in the fields of molecular and cell biology where image data from microarrays, biological specimens, cells, organisms and the like is acquired and at different time points or perspectives and analyzed. Images can be obtained using any number of techniques known in the art including, but not limited to, fluorescence microscopy, light microscopy, confocal microscopy, optical imaging, magnetic resonance imaging, tomography scanning or the like.
- the methods and systems described herein can be applied where image data obtained by surveillance, aerial or satellite imaging technologies and the like is acquired at different time points or perspectives and analyzed.
- the methods and systems are particularly useful for analyzing images obtained for a field of view in which the analytes being viewed remain in the same locations relative to each other in the field of view.
- the analytes may however have characteristics that differ in separate images, for example, the analytes may appear different in separate images of the field of view.
- the analytes may appear different with regard to the color of a given analyte detected in different images, a change in the intensity of signal detected for a given analyte in different images, or even the appearance of a signal for a given analyte in one image and disappearance of the signal for the analyte in another image.
- Examples described herein may be used in various biological or chemical processes and systems for academic or commercial analysis. More specifically, examples described herein may be used in various processes and systems where it is desired to detect an event, property, quality, or characteristic that is indicative of a designated reaction.
- examples described herein include light detection devices, biosensors, and their components, as well as bioassay systems that operate with biosensors.
- the devices, biosensors and systems may include a flow cell and one or more light sensors that are coupled together (removably or fixedly) in a substantially unitary structure.
- the devices, biosensors and bioassay systems may be configured to perform a plurality of designated reactions that may be detected individually or collectively.
- the devices, biosensors and bioassay systems may be configured to perform numerous cycles in which the plurality of designated reactions occurs in parallel.
- the devices, biosensors and bioassay systems may be used to sequence a dense array of DNA features through iterative cycles of enzymatic manipulation and light or image detection/acquisition.
- the devices, biosensors and bioassay systems (e.g., via one or more cartridges) may include one or more microfluidic channel that delivers reagents or other reaction components in a reaction solution to a reaction site of the devices, biosensors and bioassay systems.
- the reaction solution may be substantially acidic, such as comprising a pH of less than or equal to about 5, or less than or equal to about 4, or less than or equal to about 3.
- the reaction solution may be substantially alkaline/basic, such as comprising a pH of greater than or equal to about 8, or greater than or equal to about 9, or greater than or equal to about 10.
- the term“acidity” and grammatical variants thereof refer to a pH value of less than about 7
- the terms “basicity,”“alkalinity” and grammatical variants thereof refer to a pH value of greater than about 7.
- reaction sites are provided or spaced apart in a predetermined manner, such as in a uniform or repeating pattern. In some other examples, the reaction sites are randomly distributed. Each of the reaction sites may be associated with one or more light guides and one or more light sensors that detect light from the associated reaction site. In some examples, the reaction sites are located in reaction recesses or chambers, which may at least partially compartmentalize the designated reactions therein.
- a“designated reaction” includes a change in at least one of a chemical, electrical, physical, or optical property (or quality) of a chemical or biological substance of interest, such as an analyte-of-interest.
- a designated reaction is a positive binding event, such as incorporation of a fluorescently labeled biomolecule with an analyte-of-interest, for example. More generally, a designated reaction may be a chemical transformation, chemical change, or chemical interaction. A designated reaction may also be a change in electrical properties. In particular examples, a designated reaction includes the incorporation of a fluorescently-labeled molecule with an analyte.
- the analyte may be an oligonucleotide and the fluorescently-labeled molecule may be a nucleotide.
- a designated reaction may be detected when an excitation light is directed toward the oligonucleotide having the labeled nucleotide, and the fluorophore emits a detectable fluorescent signal.
- the detected fluorescence is a result of chemiluminescence or bioluminescence.
- a designated reaction may also increase fluorescence (or Forster) resonance energy transfer (FRET), for example, by bringing a donor fluorophore in proximity to an acceptor fluorophore, decrease FRET by separating donor and acceptor fluorophores, increase fluorescence by separating a quencher from a fluorophore, or decrease fluorescence by co-locating a quencher and fluorophore.
- FRET fluorescence
- a“reaction solution,”“reaction component” or“reactant” includes any substance that may be used to obtain at least one designated reaction.
- potential reaction components include reagents, enzymes, samples, other biomolecules, and buffer solutions, for example.
- the reaction components may be delivered to a reaction site in a solution and/or immobilized at a reaction site.
- the reaction components may interact directly or indirectly with another substance, such as an analyte-of-interest immobilized at a reaction site.
- the reaction solution may be substantially acidic (i.e., include a relatively high acidity) (e.g., comprising a pH of less than or equal to about 5, a pH less than or equal to about 4, or a pH less than or equal to about 3) or substantially alkaline/basic (i.e., include a relatively high alkalinity/basicity) (e.g., comprising a pH of greater than or equal to about 8, a pH of greater than or equal to about 9, or a pH of greater than or equal to about 10).
- a relatively high acidity e.g., comprising a pH of less than or equal to about 5, a pH less than or equal to about 4, or a pH less than or equal to about 3
- substantially alkaline/basic i.e., include a relatively high alkalinity/basicity
- reaction site is a localized region where at least one designated reaction may occur.
- a reaction site may include support surfaces of a reaction structure or substrate where a substance may be immobilized thereon.
- a reaction site may include a surface of a reaction structure (which may be positioned in a channel of a flow cell) that has a reaction component thereon, such as a colony of nucleic acids thereon.
- the nucleic acids in the colony have the same sequence, being for example, clonal copies of a single stranded or double stranded template.
- reaction site may contain only a single nucleic acid molecule, for example, in a single stranded or double stranded form.
- a plurality of reaction sites may be randomly distributed along the reaction structure or arranged in a predetermined manner (e.g., side-by-side in a matrix, such as in microarrays).
- a reaction site can also include a reaction chamber or recess that at least partially defines a spatial region or volume configured to compartmentalize the designated reaction.
- reaction chamber or “reaction recess” includes a defined spatial region of the support structure (which is often in fluid communication with a flow channel).
- a reaction recess may be at least partially separated from the surrounding environment other or spatial regions. For example, a plurality of reaction recesses may be separated from each other by shared walls, such as a detection surface.
- reaction recesses may be nanowells comprising an indent, pit, well, groove, cavity or depression defined by interior surfaces of a detection surface and have an opening or aperture (i.e., be open-sided) so that the nano wells can be in fluid communication with a flow channel.
- the reaction recesses of the reaction structure are sized and shaped relative to solids (including semi-solids) so that the solids may be inserted, fully or partially, therein.
- the reaction recesses may be sized and shaped to accommodate a capture bead.
- the capture bead may have clonally amplified DNA or other substances thereon.
- the reaction recesses may be sized and shaped to receive an approximate number of beads or solid substrates.
- the reaction recesses may be filled with a porous gel or substance that is configured to control diffusion or filter fluids or solutions that may flow into the reaction recesses.
- light sensors are associated with corresponding reaction sites.
- a light sensor that is associated with a reaction site is configured to detect light emissions from the associated reaction site via at least one light guide when a designated reaction has occurred at the associated reaction site.
- a plurality of light sensors e.g. several pixels of a light detection or camera device
- a single light sensor e.g. a single pixel
- the light sensor, the reaction site, and other features of the biosensor may be configured so that at least some of the light is directly detected by the light sensor without being reflected.
- a“biological or chemical substance” includes biomolecules, samples-of- interest, analytes-of-interest, and other chemical compound(s).
- a biological or chemical substance may be used to detect, identify, or analyze other chemical compound(s), or function as intermediaries to study or analyze other chemical compound(s).
- the biological or chemical substances include a biomolecule.
- a“biomolecule” includes at least one of a biopolymer, nucleoside, nucleic acid, polynucleotide, oligonucleotide, protein, enzyme, polypeptide, antibody, antigen, ligand, receptor, polysaccharide, carbohydrate, polyphosphate, cell, tissue, organism, or fragment thereof or any other biologically active chemical compound(s) such as analogs or mimetics of the aforementioned species.
- a biological or chemical substance or a biomolecule includes an enzyme or reagent used in a coupled reaction to detect the product of another reaction such as an enzyme or reagent, such as an enzyme or reagent used to detect pyrophosphate in a pyrosequencing reaction. Enzymes and reagents useful for pyrophosphate detection are described, for example, in U.S. Patent Publication No. 2005/0244870 Al, which is incorporated by reference in its entirety.
- Biomolecules, samples, and biological or chemical substances may be naturally occurring or synthetic and may be suspended in a solution or mixture within a reaction recess or region. Biomolecules, samples, and biological or chemical substances may also be bound to a solid phase or gel material.
- Biomolecules, samples, and biological or chemical substances may also include a pharmaceutical composition.
- biomolecules, samples, and biological or chemical substances of interest may be referred to as targets, probes, or analytes.
- a“biosensor” includes a device that includes a reaction structure with a plurality of reaction sites that is configured to detect designated reactions that occur at or proximate to the reaction sites.
- a biosensor may include a solid-state light detection or“imaging” device (e.g., CCD or CMOS light detection device) and, optionally, a flow cell mounted thereto.
- the flow cell may include at least one flow channel that is in fluid communication with the reaction sites.
- the biosensor is configured to fluidically and electrically couple to a bioassay system.
- the bioassay system may deliver a reaction solution to the reaction sites according to a predetermined protocol (e.g., sequencing-by-synthesis) and perform a plurality of imaging events.
- the bioassay system may direct reaction solutions to flow along the reaction sites. At least one of the reaction solutions may include four types of nucleotides having the same or different fluorescent labels.
- the nucleotides may bind to the reaction sites, such as to corresponding oligonucleotides at the reaction sites.
- the bioassay system may then illuminate the reaction sites using an excitation light source (e.g., solid-state light sources, such as light-emitting diodes (LEDs)).
- the excitation light may have a predetermined wavelength or wavelengths, including a range of wavelengths.
- the fluorescent labels excited by the incident excitation light may provide emission signals (e.g., light of a wavelength or wavelengths that differ from the excitation light and, potentially, each other) that may be detected by the light sensors.
- the term“immobilized,” when used with respect to a biomolecule or biological or chemical substance, includes substantially attaching the biomolecule or biological or chemical substance at a molecular level to a surface, such as to a detection surface of a light detection device or reaction structure.
- a biomolecule or biological or chemical substance may be immobilized to a surface of the reaction structure using adsorption techniques including non-covalent interactions (e.g., electrostatic forces, van der Waals, and dehydration of hydrophobic interfaces) and covalent binding techniques where functional groups or linkers facilitate attaching the biomolecules to the surface.
- Immobilizing biomolecules or biological or chemical substances to the surface may be based upon the properties of the surface, the liquid medium carrying the biomolecule or biological or chemical substance, and the properties of the biomolecules or biological or chemical substances themselves.
- the surface may be functionalized (e.g., chemically or physically modified) to facilitate immobilizing the biomolecules (or biological or chemical substances) to the surface.
- nucleic acids can be immobilized to the reaction structure, such as to surfaces of reaction recesses thereof.
- the devices, biosensors, bioassay systems and methods described herein may include the use of natural nucleotides and also enzymes that are configured to interact with the natural nucleotides.
- Natural nucleotides include, for example,
- Natural nucleotides can be in the mono-, di-, or tri -phosphate form and can have a base selected from adenine (A), Thymine (T), uracil (U), guanine (G) or cytosine (C). It will be understood, however, that non-natural nucleotides, modified nucleotides or analogs of the aforementioned nucleotides can be used.
- A adenine
- T Thymine
- U uracil
- G guanine
- C cytosine
- Such a biomolecule or biological substance may be physically held or immobilized within the reaction recesses through an interference fit, adhesion, covalent bond, or entrapment.
- items or solids that may be disposed within the reaction recesses include polymer beads, pellets, agarose gel, powders, quantum dots, or other solids that may be compressed and/or held within the reaction chamber.
- the reaction recesses may be coated or filled with a hydrogel layer capable of covalently binding DNA oligonucleotides.
- a nucleic acid superstructure such as a DNA ball
- a DNA ball can be disposed in or at a reaction recess, for example, by attachment to an interior surface of the reaction recess or by residence in a liquid within the reaction recess.
- a DNA ball or other nucleic acid superstructure can be performed and then disposed in or at a reaction recess.
- a DNA ball can be synthesized in situ at a reaction recess.
- a substance that is immobilized in a reaction recess can be in a solid, liquid, or gaseous state.
- analyte is intended to mean a point or area in a pattern that can be distinguished from other points or areas according to relative location.
- An individual analyte can include one or more molecules of a particular type.
- an analyte can include a single target nucleic acid molecule having a particular sequence or an analyte can include several nucleic acid molecules having the same sequence (and/or complementary sequence, thereof).
- Different molecules that are at different analytes of a pattern can be differentiated from each other according to the locations of the analytes in the pattern.
- Example analytes include without limitation, wells in a substrate, beads (or other particles) in or on a substrate, projections from a substrate, ridges on a substrate, pads of gel material on a substrate, or channels in a substrate.
- target analytes include, but are not limited to, nucleic acids (e.g., DNA, RNA or analogs thereof), proteins, polysaccharides, cells, antibodies, epitopes, receptors, ligands, enzymes (e.g. kinases, phosphatases or polymerases), small molecule drug candidates, cells, viruses, organisms, or the like.
- nucleic acids e.g., DNA, RNA or analogs thereof
- proteins e.g., polysaccharides, cells, antibodies, epitopes, receptors, ligands
- enzymes e.g. kinases, phosphatases or polymerases
- nucleic acids may be used as templates as provided herein (e.g., a nucleic acid template, or a nucleic acid complement that is complementary to a nucleic acid nucleic acid template) for particular types of nucleic acid analysis, including but not limited to nucleic acid amplification, nucleic acid expression analysis, and/or nucleic acid sequence determination or suitable combinations thereof.
- Nucleic acids in certain implementations include, for instance, linear polymers of deoxyribonucleotides in 3'-5' phosphodiester or other linkages, such as deoxyribonucleic acids (DNA), for example, single- and double-stranded DNA, genomic DNA, copy DNA or
- DNA deoxyribonucleic acids
- nucleic acids include for instance, linear polymers of ribonucleotides in 3'-5' phosphodiester or other linkages such as ribonucleic acids (RNA), for example, single- and double- stranded RNA, messenger (mRNA), copy RNA or complementary RNA (cRNA), alternatively spliced mRNA, ribosomal RNA, small nucleolar RNA (snoRNA), microRNAs (miRNA), small interfering RNAs (sRNA), piwi RNAs (piRNA), or any form of synthetic or modified RNA.
- RNA ribonucleic acids
- Nucleic acids used in the compositions and methods of the present invention may vary in length and may be intact or full-length molecules or fragments or smaller parts of larger nucleic acid molecules.
- a nucleic acid may have one or more detectable labels, as described elsewhere herein.
- nucleic acid cluster comprises a plurality of copies of template nucleic acid and/or complements thereof, attached via their 5' termini to the solid support.
- the copies of nucleic acid strands making up the nucleic acid clusters may be in a single or double stranded form.
- Copies of a nucleic acid template that are present in a cluster can have nucleotides at corresponding positions that differ from each other, for example, due to presence of a label moiety.
- the corresponding positions can also contain analog structures having different chemical structure but similar Watson-Crick base-pairing properties, such as is the case for uracil and thymine.
- Colonies of nucleic acids can also be referred to as“nucleic acid clusters”. Nucleic acid colonies can optionally be created by cluster amplification or bridge amplification techniques as set forth in further detail elsewhere herein. Multiple repeats of a target sequence can be present in a single nucleic acid molecule, such as a concatamer created using a rolling circle amplification procedure.
- the nucleic acid clusters of the invention can have different shapes, sizes and densities depending on the conditions used.
- clusters can have a shape that is substantially round, multi-sided, donut-shaped or ring-shaped.
- the diameter of a nucleic acid cluster can be designed to be from about 0.2 pm to about 6 pm, about 0.3 pm to about 4 pm, about 0.4 pm to about 3 pm, about 0.5 pm to about 2 pm, about 0.75 pm to about 1.5 pm, or any intervening diameter.
- clusters can have a shape that is substantially round, multi-sided, donut-shaped or ring-shaped.
- the diameter of a nucleic acid cluster can be designed to be from about 0.2 pm to about 6 pm, about 0.3 pm to about 4 pm, about 0.4 pm to about 3 pm, about 0.5 pm to about 2 pm, about 0.75 pm to about 1.5 pm, or any intervening diameter.
- the diameter of a nucleic acid cluster is about 0.5 pm, about 1 pm, about 1.5 pm, about 2 pm, about 2.5 pm, about 3 pm, about 4 pm, about 5 pm, or about 6 pm.
- the diameter of a nucleic acid cluster may be influenced by a number of parameters, including, but not limited to the number of amplification cycles performed in producing the cluster, the length of the nucleic acid template or the density of primers attached to the surface upon which clusters are formed.
- the density of nucleic acid clusters can be designed to typically be in the range of 0.1/mm 2 , 1/mm 2 , 10/mm 2 , 100/mm 2 , 1,000/mm 2 , 10,000/mm 2 to 100,000/mm 2 .
- the present invention further contemplates, in part, higher density nucleic acid clusters, for example, 100,000/mm 2 to 1,000,000/mm 2 and 1,000,000/mm 2 to 10,000,000/mm 2 .
- an“analyte” is an area of interest within a specimen or field of view.
- an analyte refers to the area occupied by similar or identical molecules.
- an analyte can be an amplified
- an analyte can be any element or group of elements that occupy a physical area on a specimen.
- an analyte could be a parcel of land, a body of water or the like. When an analyte is imaged, each analyte will have some area. Thus, in many implementations, an analyte is not merely one pixel.
- the distances between analytes can be described in any number of ways. In some implementations, the distances between analytes can be described from the center of one analyte to the center of another analyte. In other implementations, the distances can be described from the edge of one analyte to the edge of another analyte, or between the outer-most identifiable points of each analyte. The edge of an analyte can be described as the theoretical or actual physical boundary on a chip, or some point inside the boundary of the analyte. In other implementations, the distances can be described in relation to a fixed point on the specimen or in the image of the specimen.
- this disclosure provides neural network-based template generation and base calling systems, wherein the systems can include a processor; a storage device; and a program for image analysis, the program including instructions for carrying out one or more of the methods set forth herein. Accordingly, the methods set forth herein can be carried out on a computer, for example, having components set forth herein or otherwise known in the art.
- the methods and systems set forth herein are useful for analyzing any of a variety of objects.
- Particularly useful objects are solid supports or solid-phase surfaces with attached analytes.
- the methods and systems set forth herein provide advantages when used with objects having a repeating pattern of analytes in an xy plane.
- An example is a microarray having an attached collection of cells, viruses, nucleic acids, proteins, antibodies, carbohydrates, small molecules (such as drug candidates), biologically active molecules or other analytes of interest.
- microarrays typically include deoxyribonucleic acid (DNA) or ribonucleic acid (RNA) probes. These are specific for nucleotide sequences present in humans and other organisms.
- DNA deoxyribonucleic acid
- RNA ribonucleic acid
- individual DNA or RNA probes can be attached at individual analytes of an array.
- a test sample such as from a known person or organism, can be exposed to the array, such that target nucleic acids (e.g., gene fragments, mRNA, or amplicons thereof) hybridize to complementary probes at respective analytes in the array.
- the probes can be labeled in a target specific process (e.g., due to labels present on the target nucleic acids or due to enzymatic labeling of the probes or targets that are present in hybridized form at the analytes).
- the array can then be examined by scanning specific frequencies of light over the analytes to identify which target nucleic acids are present in the sample.
- Bio microarrays may be used for genetic sequencing and similar applications.
- genetic sequencing comprises determining the order of nucleotides in a length of target nucleic acid, such as a fragment of DNA or RNA. Relatively short sequences are typically sequenced at each analyte, and the resulting sequence information may be used in various bioinformatics methods to logically fit the sequence fragments together so as to reliably determine the sequence of much more extensive lengths of genetic material from which the fragments were derived. Automated, computer- based algorithms for characteristic fragments have been developed, and have been used more recently in genome mapping, identification of genes and their function, and so forth. Microarrays are particularly useful for characterizing genomic content because a large number of variants are present and this supplants the alternative of performing many experiments on individual probes and targets. The microarray is an ideal format for performing such investigations in a practical manner.
- analyte arrays also referred to as“microarrays”
- a typical array contains analytes, each having an individual probe or a population of probes.
- the population of probes at each analyte is typically homogenous having a single species of probe.
- each analyte can have multiple nucleic acid molecules each having a common sequence.
- the populations at each analyte of an array can be heterogeneous.
- protein arrays can have analytes with a single protein or a population of proteins typically, but not always, having the same amino acid sequence.
- the probes can be attached to the surface of an array for example, via covalent linkage of the probes to the surface or via non-covalent interaction(s) of the probes with the surface.
- probes such as nucleic acid molecules, can be attached to a surface via a gel layer as described, for example, in U.S. patent application Ser. No. 13/784,368 and US Pat. App. Pub. No. 2011/0059865 Al, each of which is incorporated herein by reference.
- Example arrays include, without limitation, a BeadChip Array available from Illumina, Inc. (San Diego, Calif.) or others such as those where probes are attached to beads that are present on a surface (e.g. beads in wells on a surface) such as those described in U.S. Pat. No. 6,266,459; 6,355,431; 6,770,441; 6,859,570; or 7,622,294; or PCT Publication No. WO 00/63437, each of which is incorporated herein by reference.
- microarrays that can be used include, for example, an Affymetrix® GeneChip® microarray or other microarray synthesized in accordance with techniques sometimes referred to as VUSIPSTM (Very Uarge Scale Immobilized Polymer Synthesis) technologies.
- a spotted microarray can also be used in a method or system according to some implementations of the present disclosure.
- An example spotted microarray is a CodeUinkTM Array available from Amersham Biosciences.
- Another microarray that is useful is one that is manufactured using inkjet printing methods such as SurePrintTM Technology available from Agilent Technologies.
- arrays having amplicons of genomic fragments are particularly useful such as those described in Bentley et al., Nature 456:53-59 (2008), WO 04/018497; WO 91/06678; WO 07/123744; U.S. Pat. No. 7,329,492; 7,211,414; 7,315,019; 7,405,281, or 7,057,026; or US Pat. App. Pub. No. 2008/0108082 Al, each of which is incorporated herein by reference.
- Another type of array that is useful for nucleic acid sequencing is an array of particles produced from an emulsion PCR technique.
- Arrays used for nucleic acid sequencing often have random spatial patterns of nucleic acid analytes.
- HiSeq or MiSeq sequencing platforms available from Illumina Inc. utilize flow cells upon which nucleic acid arrays are formed by random seeding followed by bridge amplification.
- patterned arrays can also be used for nucleic acid sequencing or other analytical applications.
- Example patterned arrays, methods for their manufacture and methods for their use are set forth in U.S. Ser. No. 13/787,396; U.S. Ser. No. 13/783,043; U.S. Ser. No. 13/784,368; US Pat. App. Pub. No. 2013/0116153 Al; and US Pat. App. Pub. No. 2012/0316086 Al, each of which is incorporated herein by reference.
- the analytes of such patterned arrays can be used to capture a single nucleic acid template molecule to seed subsequent formation of a homogenous colony, for example, via bridge amplification.
- Such patterned arrays are particularly useful for nucleic acid sequencing applications.
- an analyte on an array can be selected to suit a particular application.
- an analyte of an array can have a size that accommodates only a single nucleic acid molecule.
- a surface having a plurality of analytes in this size range is useful for constructing an array of molecules for detection at single molecule resolution.
- Analytes in this size range are also useful for use in arrays having analytes that each contain a colony of nucleic acid molecules.
- the analytes of an array can each have an area that is no larger than about 1 mm 2 , no larger than about 500 pm 2 , no larger than about 100 pm 2 , no larger than about 10 pm 2 , no larger than about 1 pm 2 , no larger than about 500 nm 2 , or no larger than about 100 nm 2 , no larger than about 10 nm 2 , no larger than about 5 nm 2 , or no larger than about 1 nm 2 .
- the analytes of an array will be no smaller than about 1 mm 2 , no smaller than about 500 pm 2 , no smaller than about 100 pm 2 , no smaller than about 10 pm 2 , no smaller than about 1 pm 2 , no smaller than about 500 nm 2 , no smaller than about 100 nm 2 , no smaller than about 10 nm 2 , no smaller than about 5 nm 2 , or no smaller than about 1 nm 2 .
- an analyte can have a size that is in a range between an upper and lower limit selected from those exemplified above.
- analytes in these size ranges can be used for applications that do not include nucleic acids. It will be further understood that the size of the analytes need not necessarily be confined to a scale used for nucleic acid applications.
- analytes can be discrete, being separated with spaces between each other.
- An array useful in the invention can have analytes that are separated by edge to edge distance of at most 100 pm, 50 pm, 10 pm, 5 pm, 1 pm, 0.5 pm, or less.
- an array can have analytes that are separated by an edge to edge distance of at least 0.5 pm, 1 pm, 5 pm, 10 pm, 50 pm, 100 pm, or more. These ranges can apply to the average edge to edge spacing for analytes as well as to the minimum or maximum spacing.
- the analytes of an array need not be discrete and instead neighboring analytes can abut each other. Whether or not the analytes are discrete, the size of the analytes and/or pitch of the analytes can vary such that arrays can have a desired density.
- the average analyte pitch in a regular pattern can be at most 100 pm, 50 pm, 10 pm, 5 pm, 1 pm, 0.5 pm, or less.
- the average analyte pitch in a regular pattern can be at least 0.5 pm, 1 pm, 5 pm, 10 pm, 50 pm, 100 pm, or more. These ranges can apply to the maximum or minimum pitch for a regular pattern as well.
- the maximum analyte pitch for a regular pattern can be at most 100 pm, 50 pm, 10 pm, 5 pm, 1 pm, 0.5 pm, or less; and/or the minimum analyte pitch in a regular pattern can be at least 0.5 pm, 1 pm, 5 pm, 10 pm, 50 pm, 100 pm, or more.
- the density of analytes in an array can also be understood in terms of the number of analytes present per unit area.
- the average density of analytes for an array can be at least about lxlO 3 analytes/mm 2 , lxlO 4 analytes/mm 2 , lxlO 5 analytes/mm 2 , lxlO 6 analytes/mm 2 , lxlO 7 analytes/mm 2 , lxlO 8 analytes/mm 2 , or lxlO 9 analytes/mm 2 , or higher.
- the average density of analytes for an array can be at most about lxlO 9 analytes/mm 2 , lxlO 8 analytes/mm 2 , lxlO 7 analytes/mm 2 , lxlO 6 analytes/mm 2 , lxlO 5 analytes/mm 2 , lxlO 4 analytes/mm 2 , or lxlO 3 analytes/mm 2 , or less.
- the analytes in a pattern can have any of a variety of shapes. For example, when observed in a two dimensional plane, such as on the surface of an array, the analytes can appear rounded, circular, oval, rectangular, square, symmetric, asymmetric, triangular, polygonal, or the like.
- the analytes can be arranged in a regular repeating pattern including, for example, a hexagonal or rectilinear pattern.
- a pattern can be selected to achieve a desired level of packing. For example, round analytes are optimally packed in a hexagonal arrangement. Of course other packing arrangements can also be used for round analytes and vice versa.
- a pattern can be characterized in terms of the number of analytes that are present in a subset that forms the smallest geometric unit of the pattern.
- the subset can include, for example, at least about 2, 3, 4, 5, 6, 10 or more analytes.
- the geometric unit can occupy an area of less than 1 mm 2 , 500 pm 2 , 100 pm 2 , 50 pm 2 , 10 pm 2 , 1 pm 2 , 500 nm 2 , 100 nm 2 , 50 nm 2 , 10 nm 2 , or less.
- the geometric unit can occupy an area of greater than 10 nm 2 , 50 nm 2 , 100 nm 2 , 500 nm 2 , 1 pm 2 , 10 pm 2 , 50 pm 2 , 100 pm 2 , 500 pm 2 , 1 mm 2 , or more.
- Characteristics of the analytes in a geometric unit can be selected from those set forth herein more generally with regard to analytes in an array or pattern.
- An array having a regular pattern of analytes can be ordered with respect to the relative locations of the analytes but random with respect to one or more other characteristic of each analyte.
- the nuclei acid analytes can be ordered with respect to their relative locations but random with respect to one’s knowledge of the sequence for the nucleic acid species present at any particular analyte.
- nucleic acid arrays formed by seeding a repeating pattern of analytes with template nucleic acids and amplifying the template at each analyte to form copies of the template at the analyte will have a regular pattern of nucleic acid analytes but will be random with regard to the distribution of sequences of the nucleic acids across the array.
- detection of the presence of nucleic acid material generally on the array can yield a repeating pattern of analytes, whereas sequence specific detection can yield non-repeating distribution of signals across the array.
- patterns, order, randomness and the like pertain not only to analytes on objects, such as analytes on arrays, but also to analytes in images.
- patterns, order, randomness and the like can be present in any of a variety of formats that are used to store, manipulate or communicate image data including, but not limited to, a computer readable medium or computer component such as a graphical user interface or other output device.
- the term“image” is intended to mean a representation of all or part of an object.
- the representation can be an optically detected reproduction.
- an image can be obtained from fluorescent, luminescent, scatter, or absorption signals.
- the part of the object that is present in an image can be the surface or other xy plane of the object.
- an image is a 2 dimensional representation, but in some cases information in the image can be derived from 3 or more dimensions.
- An image need not include optically detected signals. Non-optical signals can be present instead.
- An image can be provided in a computer readable format or medium such as one or more of those set forth elsewhere herein.
- image refers to a reproduction or representation of at least a portion of a specimen or other object.
- the reproduction is an optical reproduction, for example, produced by a camera or other optical detector.
- the reproduction can be a non-optical reproduction, for example, a representation of electrical signals obtained from an array of nanopore analytes or a representation of electrical signals obtained from an ion-sensitive CMOS detector.
- non-optical reproductions can be excluded from a method or apparatus set forth herein.
- An image can have a resolution capable of distinguishing analytes of a specimen that are present at any of a variety of spacings including, for example, those that are separated by less than 100 pm, 50 pm, 10 pm, 5 pm, 1 pm or 0.5 pm.
- data acquisition can include generating an image of a specimen, looking for a signal in a specimen, instructing a detection device to look for or generate an image of a signal, giving instructions for further analysis or transformation of an image file, and any number of transformations or manipulations of an image file.
- a template refers to a representation of the location or relation between signals or analytes.
- a template is a physical grid with a representation of signals corresponding to analytes in a specimen.
- a template can be a chart, table, text file or other computer file indicative of locations corresponding to analytes.
- a template is generated in order to track the location of analytes of a specimen across a set of images of the specimen captured at different reference points.
- a template could be a set of x,y coordinates or a set of values that describe the direction and/or distance of one analyte with respect to another analyte.
- the term“specimen” can refer to an object or area of an object of which an image is captured.
- a parcel of land can be a specimen.
- the flow cell may be divided into any number of subdivisions, each of which may be a specimen.
- a flow cell may be divided into various flow channels or lanes, and each lane can be further divided into 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60 70, 80, 90, 100, 110, 120, 140, 160, 180, 200, 400, 600, 800, 1000 or more separate regions that are imaged.
- a flow cell has 8 lanes, with each lane divided into 120 specimens or tiles.
- a specimen may be made up of a plurality of tiles or even an entire flow cell.
- the image of each specimen can represent a region of a larger surface that is imaged.
- references to ranges and sequential number lists described herein include not only the enumerated number but all real numbers between the enumerated numbers.
- a“reference point” refers to any temporal or physical distinction between images.
- a reference point is a time point.
- a more preferred reference point is a time point.
- a reference point is a time point or cycle during a sequencing reaction.
- the term“reference point” can include other aspects that distinguish or separate images, such as angle, rotational, temporal, or other aspects that can distinguish or separate images.
- a“subset of images” refers to a group of images within a set.
- a subset may contain 1, 2, 3, 4, 6, 8, 10, 12, 14, 16, 18, 20, 30, 40, 50, 60 or any number of images selected from a set of images.
- a subset may contain no more than 1, 2, 3, 4, 6, 8, 10, 12, 14, 16, 18, 20, 30, 40, 50, 60 or any number of images selected from a set of images.
- images are obtained from one or more sequencing cycles with four images correlated to each cycle.
- a subset could be a group of 16 images obtained through four cycles.
- a base refers to a nucleotide base or nucleotide, A (adenine), C (cytosine), T (thymine), or G (guanine).
- a base refers to a nucleotide base or nucleotide, A (adenine), C (cytosine), T (thymine), or G (guanine).
- chromosome refers to the heredity-bearing gene carrier of a living cell, which is derived from chromatin strands comprising DNA and protein components (especially histones).
- chromatin strands comprising DNA and protein components (especially histones).
- the conventional internationally recognized individual human genome chromosome numbering system is employed herein.
- the term“site” refers to a unique position (e.g., chromosome ID, chromosome position and orientation) on a reference genome.
- a site may be a residue, a sequence tag, or a segment’s position on a sequence.
- locus may be used to refer to the specific location of a nucleic acid sequence or polymorphism on a reference chromosome.
- sample refers to a sample, typically derived from a biological fluid, cell, tissue, organ, or organism containing a nucleic acid or a mixture of nucleic acids containing at least one nucleic acid sequence that is to be sequenced and/or phased.
- samples include, but are not limited to sputum/oral fluid, amniotic fluid, blood, a blood fraction, fine needle biopsy samples (e.g., surgical biopsy, fine needle biopsy, etc.), urine, peritoneal fluid, pleural fluid, tissue explant, organ culture and any other tissue or cell preparation, or fraction or derivative thereof or isolated therefrom.
- samples can be taken from any organism having chromosomes, including, but not limited to dogs, cats, horses, goats, sheep, cattle, pigs, etc.
- the sample may be used directly as obtained from the biological source or following a pretreatment to modify the character of the sample.
- pretreatment may include preparing plasma from blood, diluting viscous fluids and so forth.
- Methods of pretreatment may also involve, but are not limited to, filtration, precipitation, dilution, distillation, mixing, centrifugation, freezing, lyophilization,
- sequence includes or represents a strand of nucleotides coupled to each other.
- the nucleotides may be based on DNA or RNA. It should be understood that one sequence may include multiple sub -sequences. For example, a single sequence (e.g., of a PCR amplicon) may have 350 nucleotides.
- the sample read may include multiple sub-sequences within these 350 nucleotides. For instance, the sample read may include first and second flanking subsequences having, for example, 20-50 nucleotides.
- the first and second flanking sub-sequences may be located on either side of a repetitive segment having a corresponding sub-sequence (e.g., 40-100 nucleotides).
- Each of the flanking sub sequences may include (or include portions of) a primer sub-sequence (e.g., 10-30 nucleotides).
- the term“sub-sequence” will be referred to as“sequence,” but it is understood that two sequences are not necessarily separate from each other on a common strand.
- the sequences may be given different labels (e.g., target sequence, primer sequence, flanking sequence, reference sequence, and the like). Other terms, such as“allele,” may be given different labels to differentiate between like objects.
- the application uses“read(s)” and“sequence read(s)” interchangeably.
- paired-end sequencing refers to sequencing methods that sequence both ends of a target fragment. Paired-end sequencing may facilitate detection of genomic rearrangements and repetitive segments, as well as gene fusions and novel transcripts. Methodology for paired-end sequencing are described in PCT publication W007010252, PCT application Serial No. PCTGB2007/003798 and US patent application publication US 2009/0088327, each of which is incorporated by reference herein. In one example, a series of operations may be performed as follows; (a) generate clusters of nucleic acids;
- reference genome refers to any particular known genome sequence, whether partial or complete, of any organism which may be used to reference identified sequences from a subject.
- a reference genome used for human subjects as well as many other organisms is found at the National Center for Biotechnology Information at ncbi.nlm.nih.gov.
- a “genome” refers to the complete genetic information of an organism or virus, expressed in nucleic acid sequences.
- a genome includes both the genes and the noncoding sequences of the DNA.
- the reference sequence may be larger than the reads that are aligned to it.
- the reference genome sequence is that of a full length human genome.
- the reference genome sequence is limited to a specific human chromosome such as chromosome 13.
- a reference chromosome is a chromosome sequence from human genome version hgl9. Such sequences may be referred to as chromosome reference sequences, although the term reference genome is intended to cover such sequences.
- Other examples of reference sequences include genomes of other species, as well as chromosomes, sub-chromosomal regions (such as strands), etc., of any species.
- the reference genome is a consensus sequence or other combination derived from multiple individuals. However, in certain applications, the reference sequence may be taken from a particular individual.
- the“genome” also covers so-called“graph genomes”, which use a particular storage format and representation of the genome sequence.
- graph genomes store data in a linear file.
- the graph genomes refer to a representation where alternative sequences (e.g., different copies of a chromosome with small differences) are stored as different paths in a graph. Additional information regarding graph genome implementations can be found in
- the term“read” refer to a collection of sequence data that describes a fragment of a nucleotide sample or reference.
- the term“read” may refer to a sample read and/or a reference read.
- a read represents a short sequence of contiguous base pairs in the sample or reference.
- the read may be represented symbolically by the base pair sequence (in ATCG) of the sample or reference fragment. It may be stored in a memory device and processed as appropriate to determine whether the read matches a reference sequence or meets other criteria.
- a read may be obtained directly from a sequencing apparatus or indirectly from stored sequence information concerning the sample.
- a read is a DNA sequence of sufficient length (e.g., at least about 25 bp) that can be used to identify a larger sequence or region, e.g., that can be aligned and specifically assigned to a chromosome or genomic region or gene.
- Next-generation sequencing methods include, for example, sequencing by synthesis technology (Illumina), pyrosequencing (454), ion semiconductor technology (Ion Torrent sequencing), single-molecule real-time sequencing ( Pacific Biosciences) and sequencing by ligation (SOLiD sequencing).
- the length of each read may vary from about 30 bp to more than 10,000 bp.
- the DNA sequencing method using SOLiD sequencer generates nucleic acid reads of about 50 bp.
- Ion Torrent Sequencing generates nucleic acid reads of up to 400 bp and 454 pyrosequencing generates nucleic acid reads of about 700 bp.
- single-molecule real-time sequencing methods may generate reads of 10,000 bp to 15,000 bp. Therefore, in certain implementations, the nucleic acid sequence reads have a length of 30-100 bp, 50-200 bp, or 50-400 bp.
- sample read refers to sequence data for a genomic sequence of interest from a sample.
- sample read comprises sequence data from a PCR amplicon having a forward and reverse primer sequence.
- sequence data can be obtained from any select sequence methodology.
- the sample read can be, for example, from a sequencing-by synthesis (SBS) reaction, a sequencing-by-ligation reaction, or any other suitable sequencing
- the sample read can be a consensus (e.g., averaged or weighted) sequence derived from multiple sample reads.
- providing a reference sequence comprises identifying a locus-of- interest based upon the primer sequence of the PCR amplicon.
- the term“raw fragment” refers to sequence data for a portion of a genomic sequence of interest that at least partially overlaps a designated position or secondary position of interest within a sample read or sample fragment.
- Non-limiting examples of raw fragments include a duplex stitched fragment, a simplex stitched fragment, a duplex un-stitched fragment and a simplex un-stitched fragment.
- the term“raw” is used to indicate that the raw fragment includes sequence data having some relation to the sequence data in a sample read, regardless of whether the raw fragment exhibits a supporting variant that corresponds to and authenticates or confirms a potential variant in a sample read.
- the term“raw fragment” does not indicate that the fragment necessarily includes a supporting variant that validates a variant call in a sample read. For example, when a sample read is determined by a variant call application to exhibit a first variant, the variant call application may determine that one or more raw fragments lack a corresponding type of“supporting” variant that may otherwise be expected to occur given the variant in the sample
- the terms“mapping”,“aligned,”“alignment,” or“aligning” refer to the process of comparing a read or tag to a reference sequence and thereby determining whether the reference sequence contains the read sequence. If the reference sequence contains the read, the read may be mapped to the reference sequence or, in certain implementations, to a particular location in the reference sequence. In some cases, alignment simply tells whether or not a read is a member of a particular reference sequence (i.e., whether the read is present or absent in the reference sequence). For example, the alignment of a read to the reference sequence for human chromosome 13 will tell whether the read is present in the reference sequence for chromosome 13. A tool that provides this information may be called a set membership tester.
- an alignment additionally indicates a location in the reference sequence where the read or tag maps to. For example, if the reference sequence is the whole human genome sequence, an alignment may indicate that a read is present on chromosome 13, and may further indicate that the read is on a particular strand and/or site of chromosome 13.
- the term“indel” refers to the insertion and/or the deletion of bases in the DNA of an organism.
- a micro-indel represents an indel that results in a net change of 1 to 50 nucleotides. In coding regions of the genome, unless the length of an indel is a multiple of 3, it will produce a frameshift mutation. Indels can be contrasted with point mutations.
- TBM Tandem Base Mutation
- nucleic acid sequence variant refers to a nucleic acid sequence that is different from a nucleic acid reference.
- Typical nucleic acid sequence variant includes without limitation single nucleotide
- Somatic variant calling is the effort to identify variants present at low frequency in the DNA sample. Somatic variant calling is of interest in the context of cancer treatment. Cancer is caused by an accumulation of mutations in DNA.
- a DNA sample from a tumor is generally heterogeneous, including some normal cells, some cells at an early stage of cancer progression (with fewer mutations), and some late-stage cells (with more mutations). Because of this heterogeneity, when sequencing a tumor (e.g., from an FFPE sample), somatic mutations will often appear at a low frequency. For example, a SNV might be seen in only 10% of the reads covering a given base.
- a variant that is to be classified as somatic or germline by the variant classifier is also referred to herein as the“variant under test”.
- noise refers to a mistaken variant call resulting from one or more errors in the sequencing process and/or in the variant call application.
- variable frequency represents the relative frequency of an allele (variant of a gene) at a particular locus in a population, expressed as a fraction or percentage.
- the fraction or percentage may be the fraction of all chromosomes in the population that carry that allele.
- sample variant frequency represents the relative frequency of an allele/variant at a particular locus/position along a genomic sequence of interest over a“population” corresponding to the number of reads and/or samples obtained for the genomic sequence of interest from an individual.
- a baseline variant frequency represents the relative frequency of an allele/variant at a particular locus/position along one or more baseline genomic sequences where the“population” corresponding to the number of reads and/or samples obtained for the one or more baseline genomic sequences from a population of normal individuals.
- VAF variable allele frequency
- the terms“position”,“designated position”, and“locus” refer to a location or coordinate of one or more nucleotides within a sequence of nucleotides.
- the terms“position”,“designated position”, and“locus” also refer to a location or coordinate of one or more base pairs in a sequence of nucleotides.
- the term“haplotype” refers to a combination of alleles at adjacent sites on a chromosome that are inherited together. A haplotype may be one locus, several loci, or an entire chromosome depending on the number of recombination events that have occurred between a given set of loci, if any occurred.
- threshold refers to a numeric or non-numeric value that is used as a cutoff to characterize a sample, a nucleic acid, or portion thereof (e.g., a read).
- a threshold may be varied based upon empirical analysis. The threshold may be compared to a measured or calculated value to determine whether the source giving rise to such value suggests should be classified in a particular manner.
- Threshold values can be identified empirically or analytically. The choice of a threshold is dependent on the level of confidence that the user wishes to have to make the classification.
- the threshold may be chosen for a particular purpose (e.g., to balance sensitivity and selectivity).
- the term “threshold” indicates a point at which a course of analysis may be changed and/or a point at which an action may be triggered.
- a threshold is not required to be a predetermined number. Instead, the threshold may be, for instance, a function that is based on a plurality of factors.
- the threshold may be adaptive to the circumstances. Moreover, a threshold may indicate an upper limit, a lower limit, or a range between limits.
- a metric or score that is based on sequencing data may be compared to the threshold.
- the terms“metric” or“score” may include values or results that were determined from the sequencing data or may include functions that are based on the values or results that were determined from the sequencing data.
- the metric or score may be adaptive to the circumstances. For instance, the metric or score may be a normalized value.
- one or more implementations may use count scores when analyzing the data. A count score may be based on number of sample reads. The sample reads may have undergone one or more fdtering stages such that the sample reads have at least one common characteristic or quality.
- each of the sample reads that are used to determine a count score may have been aligned with a reference sequence or may be assigned as a potential allele.
- the number of sample reads having a common characteristic may be counted to determine a read count.
- Count scores may be based on the read count. In some implementations, the count score may be a value that is equal to the read count. In other implementations, the count score may be based on the read count and other information. For example, a count score may be based on the read count for a particular allele of a genetic locus and a total number of reads for the genetic locus. In some implementations, the count score may be based on the read count and previously-obtained data for the genetic locus.
- the count scores may be normalized scores between predetermined values.
- the count score may also be a function of read counts from other loci of a sample or a function of read counts from other samples that were concurrently run with the sample-of-interest.
- the count score may be a function of the read count of a particular allele and the read counts of other loci in the sample and/or the read counts from other samples.
- the read counts from other loci and/or the read counts from other samples may be used to normalize the count score for the particular allele.
- the terms“coverage” or“fragment coverage” refer to a count or other measure of a number of sample reads for the same fragment of a sequence.
- a read count may represent a count of the number of reads that cover a corresponding fragment. Alternatively, the coverage may be determined by multiplying the read count by a designated factor that is based on historical knowledge, knowledge of the sample, knowledge of the locus, etc.
- read depth refers to the number of sequenced reads with overlapping alignment at the target position. This is often expressed as an average or percentage exceeding a cutoff over a set of intervals (such as exons, genes, or panels). For example, a clinical report might say that a panel average coverage is 1, 105 c with 98% of targeted bases covered >100x .
- base call quality score or“Q score” refer to a PHRED-scaled probability ranging from 0-50 inversely proportional to the probability that a single sequenced base is correct. For example, a T base call with Q of 20 is considered likely correct with a probability of 99.99%. Any base call with Q ⁇ 20 should be considered low quality, and any variant identified where a substantial proportion of sequenced reads supporting the variant are of low quality should be considered potentially false positive.
- variant reads or“variant read number” refer to the number of sequenced reads supporting the presence of the variant.
- the genetic message in DNA can be represented as a string of the letters A, G, C, and T. For example, 5’ - AGGACA - 3’. Often, the sequence is written in the direction shown here, i.e., with the 5’ end to the left and the 3’ end to the right. DNA may sometimes occur as single-stranded molecule (as in certain viruses), but normally we find DNA as a double-stranded unit. It has a double helical structure with two antiparallel strands. In this case, the word“antiparallel” means that the two strands run in parallel, but have opposite polarity.
- the double- stranded DNA is held together by pairing between bases and the pairing is always such that adenine (A) pairs with thymine (T) and cytosine (C) pairs with guanine (G). This pairing is referred to as
- the double-stranded DNA may thus be represented as two strings, like this: 5’ - AGGACA - 3’ and 3’ - TCCTGT - 5’.
- the two strands have opposite polarity. Accordingly, the strandedness of the two DNA strands can be referred to as the reference strand and its complement, forward and reverse strands, top and bottom strands, sense and antisense strands, or Watson and Crick strands.
- the reads alignment (also called reads mapping) is the process of figuring out where in the genome a sequence is from.
- the“mapping quality” or the“mapping quality score (MAPQ)” of a given read quantifies the probability that its position on the genome is correct.
- the mapping quality is encoded in the phred scale where P is the probability that the alignment is not correct.
- the mapping quality is therefore associated with several alignment factors, such as the base quality of the read, the complexity of the reference genome, and the paired-end information.
- the base quality of the read is low, it means that the observed sequence might be wrong and thus its alignment is wrong.
- the mappability refers to the complexity of the genome. Repeated regions are more difficult to map and reads falling in these regions usually get low mapping quality.
- the MAPQ reflects the fact that the reads are not uniquely aligned and that their real origin cannot be determined.
- the third in case of paired- end sequencing data, concordant pairs are more likely to be well aligned. The higher is the mapping quality, the better is the alignment.
- a read aligned with a good mapping quality usually means that the read sequence was good and was aligned with few mismatches in a high mappability region.
- the MAPQ value can be used as a quality control of the alignment results.
- the proportion of reads aligned with an MAPQ higher than 20 is usually for downstream analysis.
- a“signal” refers to a detectable event such as an emission, preferably light emission, for example, in an image.
- a signal can represent any detectable light emission that is captured in an image (i.e., a“spot”).
- “signal” can refer to both an actual emission from an analyte of the specimen, and can refer to a spurious emission that does not correlate to an actual analyte.
- a signal could arise from noise and could be later discarded as not representative of an actual analyte of a specimen.
- the term“clump” refers to a group of signals.
- the signals are derived from different analytes.
- a signal clump is a group of signals that cluster together.
- a signal clump represents a physical region covered by one amplified oligonucleotide. Each signal clump should be ideally observed as several signals (one per template cycle, and possibly more due to cross-talk). Accordingly, duplicate signals are detected where two (or more) signals are included in a template from the same clump of signals.
- terms such as“minimum,”“maximum,”“minimize,”“maximize” and grammatical variants thereof can include values that are not the absolute maxima or minima.
- the values include near maximum and near minimum values.
- the values can include local maximum and/or local minimum values.
- the values include only absolute maximum or minimum values.
- cross-talk refers to the detection of signals in one image that are also detected in a separate image.
- cross-talk can occur when an emitted signal is detected in two separate detection channels. For example, where an emitted signal occurs in one color, the emission spectrum of that signal may overlap with another emitted signal in another color.
- fluorescent molecules used to indicate the presence of nucleotide bases A, C, G and T are detected in separate channels. However, because the emission spectra of A and C overlap, some of the C color signal may be detected during detection using the A color channel. Accordingly, cross-talk between the A and C signals allows signals from one color image to appear in the other color image.
- G and T cross-talk.
- the amount of cross-talk between channels is asymmetric. It will be appreciated that the amount of cross-talk between channels can be controlled by, among other things, the selection of signal molecules having an appropriate emission spectrum as well as selection of the size and wavelength range of the detection channel.
- “register”,“registering”,“registration” and like terms refer to any process to correlate signals in an image or data set from a first time point or perspective with signals in an image or data set from another time point or perspective.
- registration can be used to align signals from a set of images to form a template.
- registration can be used to align signals from other images to a template.
- One signal may be directly or indirectly registered to another signal.
- a signal from image“S” may be registered to image“G” directly.
- a signal from image“N” may be directly registered to image“G”, or alternatively, the signal from image“N” may be registered to image“S”, which has previously been registered to image“G”.
- the signal from image“N” is indirectly registered to image“G”.
- the term“fiducial” is intended to mean a distinguishable point of reference in or on an object.
- the point of reference can be, for example, a mark, second object, shape, edge, area, irregularity, channel, pit, post or the like.
- the point of reference can be present in an image of the object or in another data set derived from detecting the object.
- the point of reference can be specified by an x and/or y coordinate in a plane of the object. Alternatively or additionally, the point of reference can be specified by a z coordinate that is orthogonal to the xy plane, for example, being defined by the relative locations of the object and a detector.
- One or more coordinates for a point of reference can be specified relative to one or more other analytes of an object or of an image or other data set derived from the object.
- optical signal is intended to include, for example, fluorescent, luminescent, scatter, or absorption signals.
- Optical signals can be detected in the ultraviolet (UV) range (about 200 to 390 nm), visible (VIS) range (about 391 to 770 nm), infrared (IR) range (about 0.771 to 25 microns), or other range of the electromagnetic spectrum.
- UV ultraviolet
- VIS visible
- IR infrared
- Optical signals can be detected in a way that excludes all or part of one or more of these ranges.
- the term“signal level” is intended to mean an amount or quantity of detected energy or coded information that has a desired or predefined characteristic.
- an optical signal can be quantified by one or more of intensity, wavelength, energy, frequency, power, luminance or the like.
- Other signals can be quantified according to characteristics such as voltage, current, electric field strength, magnetic field strength, frequency, power, temperature, etc. Absence of signal is understood to be a signal level of zero or a signal level that is not meaningfully distinguished from noise.
- the term“simulate” is intended to mean creating a representation or model of a physical thing or action that predicts characteristics of the thing or action.
- the representation or model can in many cases be distinguishable from the thing or action.
- the representation or model can be distinguishable from a thing with respect to one or more characteristic such as color, intensity of signals detected from all or part of the thing, size, or shape.
- the representation or model can be distinguishable from a thing with respect to one or more characteristic such as color, intensity of signals detected from all or part of the thing, size, or shape.
- representation or model can be idealized, exaggerated, muted, or incomplete when compared to the thing or action.
- a representation of model can be distinguishable from the thing or action that it represents, for example, with respect to at least one of the characteristics set forth above.
- the representation or model can be provided in a computer readable format or medium such as one or more of those set forth elsewhere herein.
- a specific signal is intended to mean detected energy or coded information that is selectively observed over other energy or information such as background energy or information.
- a specific signal can be an optical signal detected at a particular intensity, wavelength or color; an electrical signal detected at a particular frequency, power or field strength; or other signals known in the art pertaining to spectroscopy and analytical detection.
- the term“swath” is intended to mean a rectangular portion of an object.
- the swath can be an elongated strip that is scanned by relative movement between the object and a detector in a direction that is parallel to the longest dimension of the strip.
- the width of the rectangular portion or strip will be constant along its full length.
- Multiple swaths of an object can be parallel to each other.
- Multiple swaths of an object can be adjacent to each other, overlapping with each other, abutting each other, or separated from each other by an interstitial area.
- variance is intended to mean a difference between that which is expected and that which is observed or a difference between two or more observations.
- variance can be the discrepancy between an expected value and a measured value.
- Variance can be represented using statistical functions such as standard deviation, the square of standard deviation, coefficient of variation or the like.
- xy coordinates is intended to mean information that specifies location, size, shape, and/or orientation in an xy plane.
- the information can be, for example, numerical coordinates in a Cartesian system.
- the coordinates can be provided relative to one or both of the x and y axes or can be provided relative to another location in the xy plane.
- coordinates of a analyte of an object can specify the location of the analyte relative to location of a fiducial or other analyte of the object.
- xy plane is intended to mean a 2 dimensional area defined by straight line axes x and y.
- the area can be further specified as being orthogonal to the direction of observation between the detector and object being detected.
- z coordinate is intended to mean information that specifies the location of a point, line or area along an axes that is orthogonal to an xy plane.
- the z axis is orthogonal to an area of an object that is observed by a detector.
- the direction of focus for an optical system may be specified along the z axis.
- acquired signal data is transformed using an affine transformation.
- template generation makes use of the fact that the affine transforms between color channels are consistent between runs. Because of this consistency, a set of default offsets can be used when determining the coordinates of the analytes in a specimen.
- a default offsets file can contain the relative transformation (shift, scale, skew) for the different channels relative to one channel, such as the A channel.
- the offsets between color channels drift during a run and/or between runs, making offset-driven template generation difficult.
- the methods and systems provided herein can utilize offset-less template generation, which is described further below.
- the system can comprise a flow cell.
- the flow cell comprises lanes, or other configurations, of tiles, wherein at least some of the tiles comprise one or more arrays of analytes.
- the analytes comprise a plurality of molecules such as nucleic acids.
- the flow cell is configured to deliver a labeled nucleotide base to an array of nucleic acids, thereby extending a primer hybridized to a nucleic acid within a analyte so as to produce a signal corresponding to a analyte comprising the nucleic acid.
- the nucleic acids within a analyte are identical or substantially identical to each other.
- each image in the set of images includes color signals, wherein a different color corresponds to a different nucleotide base.
- each image of the set of images comprises signals having a single color selected from at least four different colors.
- each image in the set of images comprises signals having a single color selected from four different colors.
- nucleic acids can be sequenced by providing four different labeled nucleotide bases to the array of molecules so as to produce four different images, each image comprising signals having a single color, wherein the signal color is different for each of the four different images, thereby producing a cycle of four color images that corresponds to the four possible nucleotides present at a particular position in the nucleic acid.
- the system comprises a flow cell that is configured to deliver additional labeled nucleotide bases to the array of molecules, thereby producing a plurality of cycles of color images.
- the methods provided herein can include determining whether a processor is actively acquiring data or whether the processor is in a low activity state. Acquiring and storing large numbers of high-quality images typically requires massive amounts of storage capacity. Additionally, once acquired and stored, the analysis of image data can become resource intensive and can interfere with processing capacity of other functions, such as ongoing acquisition and storage of additional image data. Accordingly, as used herein, the term low activity state refers to the processing capacity of a processor at a given time. In some implementations, a low activity state occurs when a processor is not acquiring and/or storing data. In some implementations, a low activity state occurs when some data acquisition and/or storage is taking place, but additional processing capacity remains such that image analysis can occur at the same time without interfering with other functions.
- identifying a conflict refers to identifying a situation where multiple processes compete for resources. In some such implementations, one process is given priority over another process. In some implementations, a conflict may relate to the need to give priority for allocation of time, processing capacity, storage capacity or any other resource for which priority is given. Thus, in some implementations, where processing time or capacity is to be distributed between two processes such as either analyzing a data set and acquiring and/or storing the data set, a conflict between the two processes exists and can be resolved by giving priority to one of the processes. [0703] Also provided herein are systems for performing image analysis.
- the systems can include a processor; a storage capacity; and a program for image analysis, the program comprising instructions for processing a first data set for storage and the second data set for analysis, wherein the processing comprises acquiring and/or storing the first data set on the storage device and analyzing the second data set when the processor is not acquiring the first data set.
- the program includes instructions for identifying at least one instance of a conflict between acquiring and/or storing the first data set and analyzing the second data set; and resolving the conflict in favor of acquiring and/or storing image data such that acquiring and/or storing the first data set is given priority.
- the first data set comprises image files obtained from an optical imaging device.
- the system further comprises an optical imaging device.
- the optical imaging device comprises a light source and a detection device.
- program refers to instructions or commands to perform a task or process.
- program can be used interchangeably with the term module.
- a program can be a compilation of various instructions executed under the same set of commands.
- a program can refer to a discrete batch or file.
- an important measure of a sequencing system's utility is its overall efficiency. For example, the amount of mappable data produced per day and the total cost of installing and running the instrument are important aspects of an economical sequencing solution.
- real-time base calling can be enabled on an instrument computer and can run in parallel with sequencing chemistry and imaging. This allows much of the data processing and analysis to be completed before the sequencing chemistry finishes. Additionally, it can reduce the storage required for intermediate data and limit the amount of data that needs to travel across the network.
- sequence output has increased, the data per run transferred from the systems provided herein to the network and to secondary analysis processing hardware has substantially decreased.
- network loads are dramatically reduced. Without these on-instrument, off-network data reduction techniques, the image output of a fleet of DNA sequencing instruments would cripple most networks.
- the methods and/or systems presented herein act as a state machine, keeping track of the individual state of each specimen, and when it detects that a specimen is ready to advance to the next state, it does the appropriate processing and advances the specimen to that state.
- a state machine monitors a file system to determine when a specimen is ready to advance to the next state according to a preferred implementation is set forth in Example 1 below.
- the methods and systems provided herein are multi-threaded and can work with a configurable number of threads.
- the methods and systems provided herein are capable of working in the background during a live sequencing run for real-time analysis, or it can be run using a pre-existing set of image data for off line analysis.
- the methods and systems handle multi-threading by giving each thread its own subset of specimen for which it is responsible. This minimizes the possibility of thread contention.
- a method of the present disclosure can include a step of obtaining a target image of an object using a detection apparatus, wherein the image includes a repeating pattern of analytes on the object.
- Detection apparatus that are capable of high resolution imaging of surfaces are particularly useful. In particular implementations, the detection apparatus will have sufficient resolution to distinguish analytes at the densities, pitches, and/or analyte sizes set forth herein. Particularly useful are detection apparatus capable of obtaining images or image data from surfaces.
- Example detectors are those that are configured to maintain an object and detector in a static relationship while obtaining an area image. Scanning apparatus can also be used. For example, an apparatus that obtains sequential area images (e.g., so called ‘step and shoot’ detectors) can be used.
- Point scanning detectors can be configured to scan a point (i.e., a small detection area) over the surface of an object via a raster motion in the x-y plane of the surface.
- Line scanning detectors can be configured to scan a line along the y dimension of the surface of an object, the longest dimension of the line occurring along the x dimension. It will be understood that the detection device, object or both can be moved to achieve scanning detection. Detection apparatus that are particularly useful, for example in nucleic acid sequencing applications, are described in US Pat App. Pub. Nos.
- the implementations disclosed herein may be implemented as a method, apparatus, system or article of manufacture using programming or engineering techniques to produce software, firmware, hardware, or any combination thereof.
- article of manufacture refers to code or logic implemented in hardware or computer readable media such as optical storage devices, and volatile or non-volatile memory devices.
- Such hardware may include, but is not limited to, field programmable gate arrays (FPGAs), coarse grained reconfigurable architectures (CGRAs), application-specific integrated circuits (ASICs), complex programmable logic devices (CPLDs), programmable logic arrays (PLAs), microprocessors, or other similar processing devices.
- FPGAs field programmable gate arrays
- CGRAs coarse grained reconfigurable architectures
- ASICs application-specific integrated circuits
- CPLDs complex programmable logic devices
- PDAs programmable logic arrays
- microprocessors or other similar processing devices.
- information or algorithms set forth herein are present in non-transient storage media.
- a computer implemented method set forth herein can occur in real time while multiple images of an object are being obtained.
- Such real time analysis is particularly useful for nucleic acid sequencing applications wherein an array of nucleic acids is subjected to repeated cycles of fluidic and detection steps.
- Analysis of the sequencing data can often be computationally intensive such that it can be beneficial to perform the methods set forth herein in real time or in the background while other data acquisition or analysis algorithms are in process.
- Example real time analysis methods that can be used with the present methods are those used for the MiSeq and HiSeq sequencing devices commercially available from Illumina, Inc. (San Diego, Calif.) and/or described in US Pat. App. Pub. No. 2012/0020537 Al, which is incorporated herein by reference.
- An example data analysis system formed by one or more programmed computers, with programming being stored on one or more machine readable media with code executed to carry out one or more steps of methods described herein.
- the system includes an interface designed to permit networking of the system to one or more detection systems (e.g., optical imaging systems) that are configured to acquire data from target objects.
- the interface may receive and condition data, where appropriate.
- the detection system will output digital image data, for example, image data that is representative of individual picture elements or pixels that, together, form an image of an array or other object.
- a processor processes the received detection data in accordance with a one or more routines defined by processing code.
- the processing code may be stored in various types of memory circuitry.
- the processing code executed on the detection data includes a data analysis routine designed to analyze the detection data to determine the locations and metadata of individual analytes visible or encoded in the data, as well as locations at which no analyte is detected (i.e., where there is no analyte, or where no meaningful signal was detected from an existing analyte).
- a data analysis routine designed to analyze the detection data to determine the locations and metadata of individual analytes visible or encoded in the data, as well as locations at which no analyte is detected (i.e., where there is no analyte, or where no meaningful signal was detected from an existing analyte).
- analyte locations in an array will typically appear brighter than non-analyte locations due to the presence of fluorescing dyes attached to the imaged analytes.
- analytes need not appear brighter than their surrounding area, for example, when a target for the probe at the analyte is not present in an array being detected.
- the color at which individual analytes appear may be a function of the dye employed as well as of the wavelength of the light used by the imaging system for imaging purposes.
- Analytes to which targets are not bound or that are otherwise devoid of a particular label can be identified according to other characteristics, such as their expected location in the microarray.
- a value assignment may be carried out.
- the value assignment will assign a digital value to each analyte based upon characteristics of the data represented by detector components (e.g., pixels) at the corresponding location. That is, for example when imaging data is processed, the value assignment routine may be designed to recognize that a specific color or wavelength of light was detected at a specific location, as indicated by a group or cluster of pixels at the location.
- the four common nucleotides will be represented by four separate and distinguishable colors. Each color, then, may be assigned a value corresponding to that nucleotide.
- module may include a hardware and/or software system and circuitry that operates to perform one or more functions.
- a module, system, or system controller may include a computer processor, controller, or other logic-based device that performs operations based on instructions stored on a tangible and non-transitory computer readable storage medium, such as a computer memory.
- a module, system, or system controller may include a hard-wired device that performs operations based on hard-wired logic and circuitry.
- the module, system, or system controller shown in the attached figures may represent the hardware and circuitry that operates based on software or hardwired instructions, the software that directs hardware to perform the operations, or a combination thereof.
- the module, system, or system controller can include or represent hardware circuits or circuitry that include and/or are connected with one or more processors, such as one or computer microprocessors.
- 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.
- RAM memory random access memory
- ROM memory read-only memory
- EPROM memory erasable programmable read-only memory
- EEPROM memory electrically erasable programmable read-only memory
- NVRAM non-volatile RAM
- one of the processes for nucleic acid sequencing in use is sequencing-by-synthesis.
- the technique can be applied to massively parallel sequencing projects. For example, by using an automated platform, it is possible to carry out hundreds of thousands of sequencing reactions simultaneously.
- one of the implementations of the present invention relates to instruments and methods for acquiring, storing, and analyzing image data generated during nucleic acid sequencing.
- Enormous gains in the amount of data that can be acquired and stored make streamlined image analysis methods even more beneficial.
- the image analysis methods described herein permit both designers and end users to make efficient use of existing computer hardware.
- presented herein are methods and systems which reduce the computational burden of processing data in the face of rapidly increasing data output. For example, in the field of DNA sequencing, yields have scaled 15-fold over the course of a recent year, and can now reach hundreds of gigabases in a single run of a DNA sequencing device. If computational infrastructure requirements grew proportionately, large genome-scale experiments would remain out of reach to most researchers. Thus, the generation of more raw sequence data will increase the need for secondary analysis and data storage, making optimization of data transport and storage extremely valuable. Some implementations of the methods and systems presented herein can reduce the time, hardware, networking, and laboratory infrastructure requirements needed to produce usable sequence data.
- the present disclosure describes various methods and systems for carrying out the methods. Examples of some of the methods are described as a series of steps. However, it should be understood that implementations are not limited to the particular steps and/or order of steps described herein. Steps may be omitted, steps may be modified, and/or other steps may be added. Moreover, steps described herein may be combined, steps may be performed simultaneously, steps may be performed concurrently, steps may be split into multiple sub-steps, steps may be performed in a different order, or steps (or a series of steps) may be re-performed in an iterative fashion. In addition, although different methods are set forth herein, it should be understood that the different methods (or steps of the different methods) may be combined in other implementations.
- a processing unit, processor, module, or computing system that is “configured to” perform a task or operation may be understood as being particularly structured to perform the task or operation (e.g., having one or more programs or instructions stored thereon or used in conjunction therewith tailored or intended to perform the task or operation, and/or having an arrangement of processing circuitry tailored or intended to perform the task or operation).
- a general purpose computer which may become“configured to” perform the task or operation if appropriately programmed) is not“configured to” perform a task or operation unless or until specifically programmed or structurally modified to perform the task or operation.
- the operations of the methods described herein can be sufficiently complex such that the operations cannot be mentally performed by an average human being or a person of ordinary skill in the art within a commercially reasonable time period.
- the methods may rely on relatively complex computations such that such a person cannot complete the methods within a commercially reasonable time.
- each when used in reference to a collection of items, is intended to identify an individual item in the collection but does not necessarily refer to every item in the collection. Exceptions can occur if explicit disclosure or context clearly dictates otherwise.
- modules in this application can be implemented in hardware or software, and need not be divided up in precisely the same blocks as shown in the figures. Some can also be implemented on different processors or computers, or spread among a number of different processors or computers. In addition, it will be appreciated that some of the modules can be combined, operated in parallel or in a different sequence than that shown in the figures without affecting the functions achieved. Also as used herein, the term“module” can include“sub-modules”, which themselves can be considered herein to constitute modules. The blocks in the figures designated as modules can also be thought of as flowchart steps in a method.
- the“identification” of an item of information does not necessarily require the direct specification of that item of information.
- Information can be“identified” in a field by simply referring to the actual information through one or more layers of indirection, or by identifying one or more items of different information which are together sufficient to determine the actual item of information.
- the term“specify” is used herein to mean the same as“identify”.
- a given signal, event or value is“in dependence upon” a predecessor signal, event or value of the predecessor signal, event or value influenced by the given signal, event or value. If there is an intervening processing element, step or time period, the given signal, event or value can still be “in dependence upon” the predecessor signal, event or value. If the intervening processing element or step combines more than one signal, event or value, the signal output of the processing element or step is considered“in dependence upon” each of the signal, event or value inputs.
- Figure 65 is a computer system 6500 that can be used by the sequencing system 800A to implement the technology disclosed herein.
- Computer system 6500 includes at least one central processing unit (CPU) 6572 that communicates with a number of peripheral devices via bus subsystem 6555.
- peripheral devices can include a storage subsystem 6510 including, for example, memory devices and a file storage subsystem 6536, user interface input devices 6538, user interface output devices 6576, and a network interface subsystem 6574.
- the input and output devices allow user interaction with computer system 6500.
- Network interface subsystem 6574 provides an interface to outside networks, including an interface to corresponding interface devices in other computer systems.
- system controller 7806 is communicably linked to the storage subsystem 6510 and the user interface input devices 6538.
- User interface input devices 6538 can include a keyboard; pointing devices such as a mouse, trackball, touchpad, or graphics tablet; a scanner; a touch screen incorporated into the display; audio input devices such as voice recognition systems and microphones; and other types of input devices.
- pointing devices such as a mouse, trackball, touchpad, or graphics tablet
- audio input devices such as voice recognition systems and microphones
- use of the term“input device” is intended to include all possible types of devices and ways to input information into computer system 6500.
- User interface output devices 6576 can include a display subsystem, a printer, a fax machine, or non-visual displays such as audio output devices.
- the display subsystem can include an LED display, a cathode ray tube (CRT), a flat-panel device such as a liquid crystal display (LCD), a projection device, or some other mechanism for creating a visible image.
- the display subsystem can also provide a non-visual display such as audio output devices.
- output device is intended to include all possible types of devices and ways to output information from computer system 6500 to the user or to another machine or computer system.
- Storage subsystem 6510 stores programming and data constructs that provide the functionality of some or all of the modules and methods described herein. These software modules are generally executed by deep learning processors 6578.
- Deep learning processors 6578 can be graphics processing units (GPUs), field-programmable gate arrays (LPGAs), application-specific integrated circuits (ASICs), and/or coarse-grained GPUs.
- GPUs graphics processing units
- LPGAs field-programmable gate arrays
- ASICs application-specific integrated circuits
- Deep learning processors 6578 can be hosted by a deep learning cloud platform such as Google Cloud PlatformTM, XilinxTM, and CirrascaleTM. Examples of deep learning processors 6578 include Google’s Tensor Processing Unit (TPU)TM, rackmount solutions like GX4 Rackmount SeriesTM, GX65 Rackmount SeriesTM, NVIDIA DGX-1TM, Microsoft’ Stratix V LPGATM, Graphcore’s Intelligent Processor Unit (IPU)TM, Qualcomm’s Zeroth PlatformTM with Snapdragon processorsTM, NVIDIA’s VoltaTM, NVIDIA’s DRIVE PXTM, NVIDIA’s JETSON TX1/TX2
- Google Cloud PlatformTM such as Google Cloud PlatformTM, XilinxTM, and CirrascaleTM. Examples of deep learning processors 6578 include Google’s Tensor Processing Unit (TPU)TM, rackmount solutions like GX4 Rackmount SeriesTM, GX65 Rackmount SeriesTM, NVIDIA DGX-1TM, Microsoft’ Stratix V LPGATM, Graph
- Memory subsystem 6522 used in the storage subsystem 6510 can include a number of memories including a main random access memory (RAM) 6532 for storage of instructions and data during program execution and a read only memory (ROM) 6534 in which fixed instructions are stored.
- a file storage subsystem 6536 can provide persistent storage for program and data files, and can include a hard disk drive, a floppy disk drive along with associated removable media, a CD-ROM drive, an optical drive, or removable media cartridges.
- implementations can be stored by file storage subsystem 6536 in the storage subsystem 6510, or in other machines accessible by the processor.
- Bus subsystem 6555 provides a mechanism for letting the various components and subsystems of computer system 6500 communicate with each other as intended. Although bus subsystem 6555 is shown schematically as a single bus, alternative implementations of the bus subsystem can use multiple busses.
- Computer system 6500 itself can be of varying types including a personal computer, a portable computer, a workstation, a computer terminal, a network computer, a television, a mainframe, a server farm, a widely-distributed set of loosely networked computers, or any other data processing system or user device. Due to the ever-changing nature of computers and networks, the description of computer system 6500 depicted in Figure 65 is intended only as a specific example for purposes of illustrating the preferred implementations of the present invention. Many other configurations of computer system 6500 are possible having more or less components than the computer system depicted in Figure 65.
- a neural network-implemented method of base calling analytes synthesized on a tile of a flow cell during a sequencing run having a plurality of sequencing cycles, each of the plurality of sequencing cycles generating an image set with one or more images, and each of the images depicting intensity emissions of the analytes and their surrounding background in a respective one of one or more image channels.
- the method includes processing initial image sets respectively generated at initial ones of the plurality of sequencing cycles through a template generator to identify reference centers of the analytes in a template image.
- the method includes accessing one or more images in each of a current image set generated at a current one of the plurality of sequencing cycles, of a one or more preceding image sets respectively generated at one or more of the plurality of sequencing cycles preceding the current one of the plurality of sequencing cycles, and of a one or more succeeding image sets respectively generated at one or more of the plurality of sequencing cycles succeeding the current one of the plurality of sequencing cycles.
- the method includes registering each of the images in the current, preceding, and succeeding image sets with the template image to determine cycle -specific and image channel-specific transformations.
- the method includes applying the transformations to the reference centers of the analytes to identify transformed centers of the analytes in each of the images.
- the method includes for a particular one of the analytes being base called, extracting an image patch from each of the images in the current, preceding, succeeding image sets such that each image patch contains in its center pixel a transformed center of the particular one of the analytes identified in a respective one of the images, and depicts intensity emissions of the particular one of the analytes, of some adjacent ones of the analytes, and of their surrounding background in a corresponding one of the image channels.
- the method includes, for each image patch, generating distance information that identifies distances of its pixels’ centers from the transformed center of the particular one of the analytes contained its center pixel.
- the method includes constructing input data by pixel-wise encoding the distance information into each image patch.
- the method includes convolving the input data through a convolutional neural network to generate a convolved representation of the input data.
- the method includes processing the convolved representation through an output layer to produce likelihoods of a base incorporated in the particular one of the analytes at the current one of the plurality of sequencing cycles being A, C, T, and G.
- the method includes classifying the base as A, C, T, or G based on the likelihoods.
- the method includes, for each image patch, generating analyte- attribution information that identifies which of its pixels cover the particular one of the analytes and which of its pixels do not, and constructing the input data by pixel-wise encoding the analyte-attribution information into each image patch.
- the pixels that cover the particular one of the analytes are assigned a non-zero value in the analyte -attribution information.
- the pixels that do not cover the particular one of the analytes are assigned a zero value in the analyte- attribution information.
- the method includes providing as input to the
- convolutional neural network position coordinates of the transformed centers of the analytes.
- the input is fed to a first layer of the convolutional neural network.
- the input is fed to one or more intermediate layers of the convolutional neural network.
- the input is fed to a final layer of the convolutional neural network.
- the method includes providing as input to the convolutional neural network an intensity scaling channel that has scaling values corresponding to pixels of the image patch.
- the scaling values are based on a mean intensity of the center pixel of the image patch containing the center of the particular one of the analytes.
- the intensity scaling channel pixel-wise includes a same scaling value for all the pixels of the image patch.
- the mean intensity of the center pixel is determined for each of the corresponding one of the image channels.
- the mean intensity of the center pixel is determined for a first image channel by averaging intensity values of the center pixel observed during two or more preceding sequencing cycles that produced an A and a T base call for the particular one of the analytes. In one implementation, the mean intensity of the center pixel is determined for a second image channel by averaging intensity values of the center pixel observed during the two or more preceding sequencing cycles that produced an A and a C base call for the particular one of the analytes. In one implementation, the mean intensity of the center pixel is determined for a first image channel by averaging intensity values of the center pixel observed during the two or more preceding sequencing cycles that produced an A base call for the particular one of the analytes.
- the mean intensity of the center pixel is determined for a second image channel by averaging intensity values of the center pixel observed during the two or more preceding sequencing cycles that produced a G base call for the particular one of the analytes. In one implementation, the mean intensity of the center pixel is determined for a third image channel by averaging intensity values of the center pixel observed during the two or more preceding sequencing cycles that produced a T base call for the particular one of the analytes. In one
- the mean intensity of the center pixel is determined for a third image channel by averaging intensity values of the center pixel observed during the two or more preceding sequencing cycles that produced a C base call for the particular one of the analytes.
- the sequencing run implements paired-end sequencing that sequences both ends of fragments in the analytes in a forward direction and a reverse direction using a first read primer and a second read primer, thereby producing a read pair for each fragment, the read pair having a forward read and a reverse read.
- the both ends of the fragments are sequenced serially to produce the forward and reverse reads one after the other.
- the both ends of the fragments are sequenced simultaneously to produce the forward and reverse reads concurrently.
- the forward and reverse reads each contain one or more of the fragments.
- the one or more of the fragments are sequenced serially.
- the one or more of the fragments are sequenced simultaneously.
- the sequencing run implements single-read sequencing that sequences the fragments in one direction using a single read primer. In one implementation, the sequencing run implements circular sequencing that sequences double stranded copies of the fragments in a loop, and the loop iterates over a double stranded copy of a given fragment multiple times. In one implementation, the sequencing run implements stacked sequencing that sequences stacked copies of the fragments, and the stacked copies of a given fragment are stacked vertically or horizontally. In one implementation, the size of the image patch ranges from 3 x 3 pixels to 10000 x 10000 pixels.
- the transformed center is a floating point coordinate value.
- the method includes rounding the floating point coordinate value using a rounding operation to produce an integer coordinate value for the transformed center, and identifying the center pixel based on an overlap between its integer coordinates and the integer coordinate value produced for the transformed center.
- the rounding operation is at least one of floor function, ceil function, and/or round function.
- the rounding operation is at least one of integer function and/or integer plus sign function.
- the template generator is a neural network-based template generator.
- the output layer is a softmax layer, and the likelihoods are exponentially normalized score distribution of the base incorporated in the particular one of the analytes at the current one of the plurality of sequencing cycles being A, C, T, and G.
- each one of the image channels is one of a plurality of filter wavelength bands. In another implementation, each one of the image channels is one of a plurality of image events.
- the flow cell has at least one patterned surface with an array of wells that occupy the analytes. In another implementation, the flow cell has at least one nonpattemed surface and the analytes are unevenly scattered over the nonpattemed surface.
- the image set has four images. In another implementation, the image set has two images. In yet another implementation, the image set has one image. In one implementation, the sequencing run utilizes four- channel chemistry. In another implementation, the sequencing run utilizes two-channel chemistry. In yet another implementation, the sequencing run utilizes one-channel chemistry.
- implementations of the method described in this section can include a non-transitory computer readable storage medium storing instructions executable by a processor to perform any of the methods described above.
- implementations of the method described in this section can include a system including memory and one or more processors operable to execute instructions, stored in the memory, to perform any of the methods described above.
- the method includes convolving input data through a convolutional neural network to generate a convolved representation of the input data.
- the input data includes image patches extracted from one or more images in each of a current image set generated at a current sequencing cycle of the sequencing run, of one or more preceding image sets respectively generated at one or more sequencing cycles of the sequencing run preceding the current sequencing cycle, and of one or more succeeding image sets respectively generated at one or more sequencing cycles of the sequencing run succeeding the current sequencing cycle.
- Each of the image patches depicts intensity emissions of a target analyte being base called, of some adjacent analytes, and of their surrounding background in a corresponding image channel.
- the input data further includes distance information which is pixel-wise encoded in each of the image patches to identify distances of an image patch’s pixels’ centers from a center of the target analyte located in a center pixel of the image patch.
- the method includes processing the convolved representation through an output layer to produce an output.
- the method includes base calling the target analyte at the current sequencing cycle based on the output.
- the method includes processing the convolved representation through the output layer to produce likelihoods of a base incorporated in the target analyte at the current sequencing cycle being A, C, T, and G, and classifying the base as A, C, T, or G based on the likelihoods.
- the likelihoods are exponentially normalized scores produced by a softmax layer.
- the method includes deriving, from the output, an output pair for the target analyte that identifies a class label of a base incorporated in the target analyte at the current sequencing cycle being A, C, T, or G, and base calling the target analyte based on the class label.
- a class label of 1, 0 identifies an A base
- a class label of 0, 1 identifies a C base
- a class label of 1, 1 identifies a T base
- a class label of 0, 0 identifies a G base.
- a class label of 1, 1 identifies an A base
- a class label of 0, 1 identifies a C base
- a class label of 0.5, 0.5 identifies a T base
- a class label of 0, 0 identifies a G base.
- a class label of 1, 0 identifies an A base
- a class label of 0, 1 identifies a C base
- a class label of 0.5, 0.5 identifies a T base
- a class label of 0, 0 identifies a G base.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Bioethics (AREA)
- Epidemiology (AREA)
- Public Health (AREA)
- Biotechnology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2020240383A AU2020240383A1 (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence-based quality scoring |
EP20719294.9A EP3942073A2 (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence-based quality scoring |
CN202080005431.0A CN112789680A (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence based quality scoring |
JP2021517978A JP7581190B2 (en) | 2019-03-21 | 2020-03-21 | Artificial Intelligence-Based Quality Scoring |
KR1020217009877A KR20210143154A (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence-based quality scoring |
IL281668A IL281668A (en) | 2019-03-21 | 2021-03-21 | Artificial intelligence-based quality scoring |
Applications Claiming Priority (30)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962821724P | 2019-03-21 | 2019-03-21 | |
US201962821602P | 2019-03-21 | 2019-03-21 | |
US201962821618P | 2019-03-21 | 2019-03-21 | |
US201962821766P | 2019-03-21 | 2019-03-21 | |
US201962821681P | 2019-03-21 | 2019-03-21 | |
US62/821,602 | 2019-03-21 | ||
US62/821,618 | 2019-03-21 | ||
US62/821,766 | 2019-03-21 | ||
US62/821,724 | 2019-03-21 | ||
US62/821,681 | 2019-03-21 | ||
NL2023312A NL2023312B1 (en) | 2019-03-21 | 2019-06-14 | Artificial intelligence-based base calling |
NL2023312 | 2019-06-14 | ||
NL2023314A NL2023314B1 (en) | 2019-03-21 | 2019-06-14 | Artificial intelligence-based quality scoring |
NL2023311A NL2023311B9 (en) | 2019-03-21 | 2019-06-14 | Artificial intelligence-based generation of sequencing metadata |
NL2023316 | 2019-06-14 | ||
NL2023311 | 2019-06-14 | ||
NL2023310A NL2023310B1 (en) | 2019-03-21 | 2019-06-14 | Training data generation for artificial intelligence-based sequencing |
NL2023310 | 2019-06-14 | ||
NL2023316A NL2023316B1 (en) | 2019-03-21 | 2019-06-14 | Artificial intelligence-based sequencing |
NL2023314 | 2019-06-14 | ||
US16/825,987 | 2020-03-20 | ||
US16/826,134 | 2020-03-20 | ||
US16/825,987 US11347965B2 (en) | 2019-03-21 | 2020-03-20 | Training data generation for artificial intelligence-based sequencing |
US16/826,126 US11783917B2 (en) | 2019-03-21 | 2020-03-20 | Artificial intelligence-based base calling |
US16/825,991 US11210554B2 (en) | 2019-03-21 | 2020-03-20 | Artificial intelligence-based generation of sequencing metadata |
US16/826,134 US11676685B2 (en) | 2019-03-21 | 2020-03-20 | Artificial intelligence-based quality scoring |
US16/826,126 | 2020-03-20 | ||
US16/825,991 | 2020-03-20 | ||
US16/826,168 | 2020-03-21 | ||
US16/826,168 US11436429B2 (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence-based sequencing |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2020191390A2 true WO2020191390A2 (en) | 2020-09-24 |
WO2020191390A3 WO2020191390A3 (en) | 2020-11-12 |
Family
ID=72519388
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2020/024091 WO2020191390A2 (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence-based quality scoring |
PCT/US2020/024090 WO2020191389A1 (en) | 2019-03-21 | 2020-03-21 | Training data generation for artificial intelligence-based sequencing |
PCT/US2020/024087 WO2020205296A1 (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence-based generation of sequencing metadata |
PCT/US2020/024088 WO2020191387A1 (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence-based base calling |
PCT/US2020/024092 WO2020191391A2 (en) | 2019-03-21 | 2020-03-22 | Artificial intelligence-based sequencing |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2020/024090 WO2020191389A1 (en) | 2019-03-21 | 2020-03-21 | Training data generation for artificial intelligence-based sequencing |
PCT/US2020/024087 WO2020205296A1 (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence-based generation of sequencing metadata |
PCT/US2020/024088 WO2020191387A1 (en) | 2019-03-21 | 2020-03-21 | Artificial intelligence-based base calling |
PCT/US2020/024092 WO2020191391A2 (en) | 2019-03-21 | 2020-03-22 | Artificial intelligence-based sequencing |
Country Status (1)
Country | Link |
---|---|
WO (5) | WO2020191390A2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541576A (en) * | 2020-12-14 | 2021-03-23 | 四川翼飞视科技有限公司 | Biological living body recognition neural network of RGB monocular image and construction method thereof |
CN112652356A (en) * | 2021-01-19 | 2021-04-13 | 深圳市儒翰基因科技有限公司 | DNA methylation appearance modification identification method, identification equipment and storage medium |
WO2023049212A3 (en) * | 2021-09-22 | 2023-04-27 | Illumina, Inc. | State-based base calling |
US12106829B2 (en) | 2020-02-20 | 2024-10-01 | Illumina, Inc. | Artificial intelligence-based many-to-many base calling |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110398370B (en) * | 2019-08-20 | 2021-02-05 | 贵州大学 | Bearing fault diagnosis method based on HTS-CNN model |
CN111883203B (en) * | 2020-07-03 | 2023-12-29 | 上海厦维医学检验实验室有限公司 | Construction method of model for predicting PD-1 curative effect |
US11200446B1 (en) | 2020-08-31 | 2021-12-14 | Element Biosciences, Inc. | Single-pass primary analysis |
CN112598620B (en) * | 2020-11-25 | 2022-11-15 | 哈尔滨工程大学 | Method for identifying transparent tube type, pathological tube type and mucus thread in urinary sediment |
CN112629851B (en) * | 2020-12-11 | 2022-10-25 | 南方海上风电联合开发有限公司 | Offshore wind turbine gearbox fault diagnosis method based on data enhancement method and image recognition |
CN112418360B (en) * | 2021-01-21 | 2021-04-13 | 深圳市安软科技股份有限公司 | Convolutional neural network training method, pedestrian attribute identification method and related equipment |
CN113034355B (en) * | 2021-04-20 | 2022-06-21 | 浙江大学 | Portrait image double-chin removing method based on deep learning |
CN113506243B (en) * | 2021-06-04 | 2024-09-06 | 联合汽车电子有限公司 | PCB welding defect detection method, device and storage medium |
CN113658643B (en) * | 2021-07-22 | 2024-02-13 | 西安理工大学 | Method for predicting lncRNA and mRNA based on attention mechanism |
WO2023010069A1 (en) * | 2021-07-29 | 2023-02-02 | Ultima Genomics, Inc. | Adaptive base calling systems and methods |
CN113887251B (en) * | 2021-09-29 | 2024-07-05 | 内蒙古工业大学 | Mongolian machine translation method combining Meta-KD framework and fine granularity compression |
CN114119532B (en) * | 2021-11-23 | 2024-11-05 | 云南电网有限责任公司电力科学研究院 | Building change detection method based on remote sensing image and twin neural network |
CN114399628B (en) * | 2021-12-21 | 2024-03-08 | 四川大学 | Insulator high-efficiency detection system under complex space environment |
CN117063240A (en) | 2021-12-24 | 2023-11-14 | 上海芯像生物科技有限公司 | Deep learning-based nucleic acid sequencing method and system |
CN114092920B (en) * | 2022-01-18 | 2022-04-15 | 腾讯科技(深圳)有限公司 | Model training method, image classification method, device and storage medium |
US20230343414A1 (en) * | 2022-03-25 | 2023-10-26 | Illumina, Inc. | Sequence-to-sequence base calling |
CN115277116B (en) * | 2022-07-06 | 2024-02-02 | 中能电力科技开发有限公司 | Network isolation method and device, storage medium and electronic equipment |
CN115272136B (en) * | 2022-09-27 | 2023-05-05 | 广州卓腾科技有限公司 | Certificate photo glasses reflection eliminating method, device, medium and equipment based on big data |
CN115630566B (en) * | 2022-09-28 | 2024-05-07 | 中国人民解放军国防科技大学 | Data assimilation method and system based on deep learning and dynamic constraint |
CN116796196B (en) * | 2023-08-18 | 2023-11-21 | 武汉纺织大学 | Co-language gesture generation method based on multi-mode joint embedding |
Citations (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991006763A1 (en) | 1989-10-31 | 1991-05-16 | Matsushita Electric Industrial Co., Ltd. | Scroll compressor |
WO1991006678A1 (en) | 1989-10-26 | 1991-05-16 | Sri International | Dna sequencing |
US5528050A (en) | 1995-07-24 | 1996-06-18 | Molecular Dynamics, Inc. | Compact scan head with multiple scanning modalities |
US5719391A (en) | 1994-12-08 | 1998-02-17 | Molecular Dynamics, Inc. | Fluorescence imaging system employing a macro scanning objective |
WO2000063437A2 (en) | 1999-04-20 | 2000-10-26 | Illumina, Inc. | Detection of nucleic acid reactions on bead arrays |
US6266459B1 (en) | 1997-03-14 | 2001-07-24 | Trustees Of Tufts College | Fiber optic sensor with encoded microspheres |
US6355431B1 (en) | 1999-04-20 | 2002-03-12 | Illumina, Inc. | Detection of nucleic acid amplification reactions using bead arrays |
WO2004018497A2 (en) | 2002-08-23 | 2004-03-04 | Solexa Limited | Modified nucleotides for polynucleotide sequencing |
US6770441B2 (en) | 2000-02-10 | 2004-08-03 | Illumina, Inc. | Array compositions and methods of making same |
WO2005010145A2 (en) | 2003-07-05 | 2005-02-03 | The Johns Hopkins University | Method and compositions for detection and enumeration of genetic variations |
US6859570B2 (en) | 1997-03-14 | 2005-02-22 | Trustees Of Tufts College, Tufts University | Target analyte sensors utilizing microspheres |
US20050064460A1 (en) | 2001-11-16 | 2005-03-24 | Medical Research Council | Emulsion compositions |
US20050130173A1 (en) | 2003-01-29 | 2005-06-16 | Leamon John H. | Methods of amplifying and sequencing nucleic acids |
US20050244870A1 (en) | 1999-04-20 | 2005-11-03 | Illumina, Inc. | Nucleic acid sequencing using microsphere arrays |
US7057026B2 (en) | 2001-12-04 | 2006-06-06 | Solexa Limited | Labelled nucleotides |
US20060163901A1 (en) | 2005-01-21 | 2006-07-27 | Kyowa Sangyo Co., Ltd | Sunvisor for a vehicle |
US20060240439A1 (en) | 2003-09-11 | 2006-10-26 | Smith Geoffrey P | Modified polymerases for improved incorporation of nucleotide analogues |
US20060263147A1 (en) | 2005-05-20 | 2006-11-23 | Mccoskey William D | Asphalt compaction device |
WO2007010252A1 (en) | 2005-07-20 | 2007-01-25 | Solexa Limited | Method for sequencing a polynucleotide template |
US7211414B2 (en) | 2000-12-01 | 2007-05-01 | Visigen Biotechnologies, Inc. | Enzymatic nucleic acid synthesis: compositions and methods for altering monomer incorporation fidelity |
WO2007123744A2 (en) | 2006-03-31 | 2007-11-01 | Solexa, Inc. | Systems and devices for sequence by synthesis analysis |
US7315019B2 (en) | 2004-09-17 | 2008-01-01 | Pacific Biosciences Of California, Inc. | Arrays of optical confinements and uses thereof |
US7329492B2 (en) | 2000-07-07 | 2008-02-12 | Visigen Biotechnologies, Inc. | Methods for real-time single molecule sequence determination |
US20080108082A1 (en) | 2006-10-23 | 2008-05-08 | Pacific Biosciences Of California, Inc. | Polymerase enzymes and reagents for enhanced nucleic acid sequencing |
US7405281B2 (en) | 2005-09-29 | 2008-07-29 | Pacific Biosciences Of California, Inc. | Fluorescent nucleotide analogs and uses therefor |
US7414716B2 (en) | 2006-10-23 | 2008-08-19 | Emhart Glass S.A. | Machine for inspecting glass containers |
US20090088327A1 (en) | 2006-10-06 | 2009-04-02 | Roberto Rigatti | Method for sequencing a polynucleotide template |
US7592435B2 (en) | 2005-08-19 | 2009-09-22 | Illumina Cambridge Limited | Modified nucleosides and nucleotides and uses thereof |
US7622294B2 (en) | 1997-03-14 | 2009-11-24 | Trustees Of Tufts College | Methods for detecting target analytes and enzymatic reactions |
US20110059865A1 (en) | 2004-01-07 | 2011-03-10 | Mark Edward Brennan Smith | Modified Molecular Arrays |
US20120020537A1 (en) | 2010-01-13 | 2012-01-26 | Francisco Garcia | Data processing system and methods |
US8158926B2 (en) | 2005-11-23 | 2012-04-17 | Illumina, Inc. | Confocal imaging methods and apparatus |
US20120270305A1 (en) | 2011-01-10 | 2012-10-25 | Illumina Inc. | Systems, methods, and apparatuses to image a sample for biological or chemical analysis |
US20120316086A1 (en) | 2011-06-09 | 2012-12-13 | Illumina, Inc. | Patterned flow-cells useful for nucleic acid analysis |
US20130023422A1 (en) | 2008-05-05 | 2013-01-24 | Illumina, Inc. | Compensator for multiple surface imaging |
US20130116153A1 (en) | 2011-10-28 | 2013-05-09 | Illumina, Inc. | Microarray fabrication system and method |
US20130260372A1 (en) | 2012-04-03 | 2013-10-03 | Illumina, Inc. | Integrated optoelectronic read head and fluidic cartridge useful for nucleic acid sequencing |
US20180274023A1 (en) | 2013-12-03 | 2018-09-27 | Illumina, Inc. | Methods and systems for analyzing image data |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991006778A1 (en) | 1989-11-02 | 1991-05-16 | Sundstrand Corporation | Regenerative pump and method discharging pressurized fluid therefrom |
US5641658A (en) | 1994-08-03 | 1997-06-24 | Mosaic Technologies, Inc. | Method for performing amplification of nucleic acid with two primers bound to a single solid support |
AU6846698A (en) | 1997-04-01 | 1998-10-22 | Glaxo Group Limited | Method of nucleic acid amplification |
JP2001517948A (en) | 1997-04-01 | 2001-10-09 | グラクソ、グループ、リミテッド | Nucleic acid sequencing |
AR021833A1 (en) | 1998-09-30 | 2002-08-07 | Applied Research Systems | METHODS OF AMPLIFICATION AND SEQUENCING OF NUCLEIC ACID |
AR031640A1 (en) | 2000-12-08 | 2003-09-24 | Applied Research Systems | ISOTHERMAL AMPLIFICATION OF NUCLEIC ACIDS IN A SOLID SUPPORT |
US20040002090A1 (en) | 2002-03-05 | 2004-01-01 | Pascal Mayer | Methods for detecting genome-wide sequence variations associated with a phenotype |
DE10320388A1 (en) | 2003-05-06 | 2004-11-25 | Basf Ag | Polymers for water treatment |
JP2006156608A (en) | 2004-11-29 | 2006-06-15 | Hitachi Ltd | Magnetic memory and its manufacturing method |
CN101076290B (en) | 2004-12-09 | 2011-11-23 | 铸造品股份有限公司 | Aortic valve repair |
GB0427236D0 (en) | 2004-12-13 | 2005-01-12 | Solexa Ltd | Improved method of nucleotide detection |
WO2006064199A1 (en) | 2004-12-13 | 2006-06-22 | Solexa Limited | Improved method of nucleotide detection |
US20060178901A1 (en) | 2005-01-05 | 2006-08-10 | Cooper Kelana L | Home movies television (HMTV) |
SE529136C2 (en) | 2005-01-24 | 2007-05-08 | Volvo Lastvagnar Ab | Steering Gear Coolers |
US7293515B2 (en) | 2005-06-10 | 2007-11-13 | Janome Sewing Machine Co., Ltd. | Embroidery sewing machine |
EP1907583B2 (en) | 2005-06-15 | 2019-10-23 | Complete Genomics Inc. | Single molecule arrays for genetic and chemical analysis |
GB0514936D0 (en) | 2005-07-20 | 2005-08-24 | Solexa Ltd | Preparation of templates for nucleic acid sequencing |
GB0522310D0 (en) | 2005-11-01 | 2005-12-07 | Solexa Ltd | Methods of preparing libraries of template polynucleotides |
EP2021503A1 (en) | 2006-03-17 | 2009-02-11 | Solexa Ltd. | Isothermal methods for creating clonal single molecule arrays |
WO2010003132A1 (en) | 2008-07-02 | 2010-01-07 | Illumina Cambridge Ltd. | Using populations of beads for the fabrication of arrays on surfaces |
WO2012095872A1 (en) | 2011-01-13 | 2012-07-19 | Decode Genetics Ehf | Genetic variants as markers for use in urinary bladder cancer risk assessment, diagnosis, prognosis and treatment |
US8666119B1 (en) | 2011-11-29 | 2014-03-04 | Lucasfilm Entertainment Company Ltd. | Geometry tracking |
EP2628504A1 (en) | 2012-01-16 | 2013-08-21 | Greatbatch Ltd. | EMI filtered co-connected hermetic feedthrough, feedthrough capacitor and leadwire assembly for an active implantable medical device |
US9512422B2 (en) | 2013-02-26 | 2016-12-06 | Illumina, Inc. | Gel patterned surfaces |
WO2014142831A1 (en) | 2013-03-13 | 2014-09-18 | Illumina, Inc. | Methods and systems for aligning repetitive dna elements |
EP3431614B1 (en) | 2013-07-01 | 2021-09-08 | Illumina, Inc. | Catalyst-free surface functionalization and polymer grafting |
US9677132B2 (en) | 2014-01-16 | 2017-06-13 | Illumina, Inc. | Polynucleotide modification on solid support |
AU2015318017B2 (en) | 2014-09-18 | 2022-02-03 | Illumina, Inc. | Methods and systems for analyzing nucleic acid sequencing data |
SI3212684T1 (en) | 2014-10-31 | 2020-04-30 | Illumina Cambridge Limited | Polymers and dna copolymer coatings |
GB2549554A (en) * | 2016-04-21 | 2017-10-25 | Ramot At Tel-Aviv Univ Ltd | Method and system for detecting an object in an image |
HUE058858T2 (en) * | 2017-01-06 | 2022-09-28 | Illumina Inc | Phasing correction |
CA3046015A1 (en) * | 2017-03-07 | 2018-09-13 | Illumina, Inc. | Single light source, two-optical channel sequencing |
NL2018852B1 (en) * | 2017-05-05 | 2018-11-14 | Illumina Inc | Optical distortion correction for imaged samples |
US11976322B2 (en) * | 2017-09-15 | 2024-05-07 | Illumina, Inc. | Tuning and calibration features of sequence-detection system |
CA3066534A1 (en) * | 2017-10-16 | 2019-04-25 | Illumina, Inc. | Deep learning-based splice site classification |
CN110832596B (en) * | 2017-10-16 | 2021-03-26 | 因美纳有限公司 | Deep convolutional neural network training method based on deep learning |
US11288576B2 (en) * | 2018-01-05 | 2022-03-29 | Illumina, Inc. | Predicting quality of sequencing results using deep neural networks |
WO2019136388A1 (en) * | 2018-01-08 | 2019-07-11 | Illumina, Inc. | Systems and devices for high-throughput sequencing with semiconductor-based detection |
CN110832510B (en) * | 2018-01-15 | 2024-10-22 | 因美纳有限公司 | Variant classifier based on deep learning |
US12073922B2 (en) * | 2018-07-11 | 2024-08-27 | Illumina, Inc. | Deep learning-based framework for identifying sequence patterns that cause sequence-specific errors (SSEs) |
-
2020
- 2020-03-21 WO PCT/US2020/024091 patent/WO2020191390A2/en active Application Filing
- 2020-03-21 WO PCT/US2020/024090 patent/WO2020191389A1/en active Application Filing
- 2020-03-21 WO PCT/US2020/024087 patent/WO2020205296A1/en active Application Filing
- 2020-03-21 WO PCT/US2020/024088 patent/WO2020191387A1/en active Application Filing
- 2020-03-22 WO PCT/US2020/024092 patent/WO2020191391A2/en active Application Filing
Patent Citations (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991006678A1 (en) | 1989-10-26 | 1991-05-16 | Sri International | Dna sequencing |
WO1991006763A1 (en) | 1989-10-31 | 1991-05-16 | Matsushita Electric Industrial Co., Ltd. | Scroll compressor |
US5719391A (en) | 1994-12-08 | 1998-02-17 | Molecular Dynamics, Inc. | Fluorescence imaging system employing a macro scanning objective |
US5528050A (en) | 1995-07-24 | 1996-06-18 | Molecular Dynamics, Inc. | Compact scan head with multiple scanning modalities |
US6266459B1 (en) | 1997-03-14 | 2001-07-24 | Trustees Of Tufts College | Fiber optic sensor with encoded microspheres |
US7622294B2 (en) | 1997-03-14 | 2009-11-24 | Trustees Of Tufts College | Methods for detecting target analytes and enzymatic reactions |
US6859570B2 (en) | 1997-03-14 | 2005-02-22 | Trustees Of Tufts College, Tufts University | Target analyte sensors utilizing microspheres |
WO2000063437A2 (en) | 1999-04-20 | 2000-10-26 | Illumina, Inc. | Detection of nucleic acid reactions on bead arrays |
US6355431B1 (en) | 1999-04-20 | 2002-03-12 | Illumina, Inc. | Detection of nucleic acid amplification reactions using bead arrays |
US20050244870A1 (en) | 1999-04-20 | 2005-11-03 | Illumina, Inc. | Nucleic acid sequencing using microsphere arrays |
US6770441B2 (en) | 2000-02-10 | 2004-08-03 | Illumina, Inc. | Array compositions and methods of making same |
US7329492B2 (en) | 2000-07-07 | 2008-02-12 | Visigen Biotechnologies, Inc. | Methods for real-time single molecule sequence determination |
US7211414B2 (en) | 2000-12-01 | 2007-05-01 | Visigen Biotechnologies, Inc. | Enzymatic nucleic acid synthesis: compositions and methods for altering monomer incorporation fidelity |
US20050064460A1 (en) | 2001-11-16 | 2005-03-24 | Medical Research Council | Emulsion compositions |
US7566537B2 (en) | 2001-12-04 | 2009-07-28 | Illumina Cambridge Limited | Labelled nucleotides |
US7427673B2 (en) | 2001-12-04 | 2008-09-23 | Illumina Cambridge Limited | Labelled nucleotides |
US7057026B2 (en) | 2001-12-04 | 2006-06-06 | Solexa Limited | Labelled nucleotides |
WO2004018497A2 (en) | 2002-08-23 | 2004-03-04 | Solexa Limited | Modified nucleotides for polynucleotide sequencing |
US20070166705A1 (en) | 2002-08-23 | 2007-07-19 | John Milton | Modified nucleotides |
US7541444B2 (en) | 2002-08-23 | 2009-06-02 | Illumina Cambridge Limited | Modified nucleotides |
US20050130173A1 (en) | 2003-01-29 | 2005-06-16 | Leamon John H. | Methods of amplifying and sequencing nucleic acids |
WO2005010145A2 (en) | 2003-07-05 | 2005-02-03 | The Johns Hopkins University | Method and compositions for detection and enumeration of genetic variations |
US20060240439A1 (en) | 2003-09-11 | 2006-10-26 | Smith Geoffrey P | Modified polymerases for improved incorporation of nucleotide analogues |
US20110059865A1 (en) | 2004-01-07 | 2011-03-10 | Mark Edward Brennan Smith | Modified Molecular Arrays |
US7315019B2 (en) | 2004-09-17 | 2008-01-01 | Pacific Biosciences Of California, Inc. | Arrays of optical confinements and uses thereof |
US20060163901A1 (en) | 2005-01-21 | 2006-07-27 | Kyowa Sangyo Co., Ltd | Sunvisor for a vehicle |
US20060263147A1 (en) | 2005-05-20 | 2006-11-23 | Mccoskey William D | Asphalt compaction device |
WO2007010252A1 (en) | 2005-07-20 | 2007-01-25 | Solexa Limited | Method for sequencing a polynucleotide template |
US7592435B2 (en) | 2005-08-19 | 2009-09-22 | Illumina Cambridge Limited | Modified nucleosides and nucleotides and uses thereof |
US7405281B2 (en) | 2005-09-29 | 2008-07-29 | Pacific Biosciences Of California, Inc. | Fluorescent nucleotide analogs and uses therefor |
US8158926B2 (en) | 2005-11-23 | 2012-04-17 | Illumina, Inc. | Confocal imaging methods and apparatus |
WO2007123744A2 (en) | 2006-03-31 | 2007-11-01 | Solexa, Inc. | Systems and devices for sequence by synthesis analysis |
US8241573B2 (en) | 2006-03-31 | 2012-08-14 | Illumina, Inc. | Systems and devices for sequence by synthesis analysis |
US20090088327A1 (en) | 2006-10-06 | 2009-04-02 | Roberto Rigatti | Method for sequencing a polynucleotide template |
US7414716B2 (en) | 2006-10-23 | 2008-08-19 | Emhart Glass S.A. | Machine for inspecting glass containers |
US20080108082A1 (en) | 2006-10-23 | 2008-05-08 | Pacific Biosciences Of California, Inc. | Polymerase enzymes and reagents for enhanced nucleic acid sequencing |
US20130023422A1 (en) | 2008-05-05 | 2013-01-24 | Illumina, Inc. | Compensator for multiple surface imaging |
US20120020537A1 (en) | 2010-01-13 | 2012-01-26 | Francisco Garcia | Data processing system and methods |
US20120270305A1 (en) | 2011-01-10 | 2012-10-25 | Illumina Inc. | Systems, methods, and apparatuses to image a sample for biological or chemical analysis |
US20120316086A1 (en) | 2011-06-09 | 2012-12-13 | Illumina, Inc. | Patterned flow-cells useful for nucleic acid analysis |
US20130116153A1 (en) | 2011-10-28 | 2013-05-09 | Illumina, Inc. | Microarray fabrication system and method |
US20130260372A1 (en) | 2012-04-03 | 2013-10-03 | Illumina, Inc. | Integrated optoelectronic read head and fluidic cartridge useful for nucleic acid sequencing |
US20180274023A1 (en) | 2013-12-03 | 2018-09-27 | Illumina, Inc. | Methods and systems for analyzing image data |
Non-Patent Citations (40)
Title |
---|
"3.3.9.11. Watershed and random walker for segmentation", SCIPY LECTURE NOTES, 13 November 2018 (2018-11-13), pages 2, Retrieved from the Internet <URL:htto://scit>v-lectures.org/packages/scikit-image/autoexamples/plot_segmentations.html> |
"skikit-image/peak.py at master", GITHUB, 16 November 2018 (2018-11-16), pages 5, Retrieved from the Internet <URL:https://github.com/scikit-image/scikit-image/blob/master/skimage/feature/peak.py#L25> |
A. G. HOWARDM. ZHUB. CHEND. KALENICHENKOW. WANGT. WEYANDM. ANDREETTOH. ADAM: "Mobilenets: Efficient Convolutional Neural Networks for Mobile Vision Applications", IN ARXIV: 1704.04861, 2017 |
BENTLEY ET AL., NATURE, vol. 456, 2008, pages 53 - 59 |
C. SZEGEDYW. LIUY. JIAP. SERMANETS. REEDD. ANGUELOVD. ERHANV. VANHOUCKEA. RABINOVICH: "GOING DEEPER WITH CONVOLUTIONS", ARXIV: 1409.4842, 2014 |
DRESSMAN ET AL., PROC. NATL. ACAD. SCI. USA, vol. 100, 2003, pages 8817 - 8822 |
F. CHOLLET: "Xception: Deep Learning with Depthwise Separable Convolutions", PROC. OF CVPR, 2017 |
F. YUV. KOLTUN: "MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS", ARXIV:1511.07122, 2016 |
G. HUANGZ. LIUL. VAN DER MAATENK. Q. WEINBERGER: "DENSELY CONNECTED CONVOLUTIONAL NETWORKS", ARXIV: 1608.06993, 2017 |
J. GOODFELLOWD. WARDE-FARLEYM. MIRZAA. COURVILLEY. BENGIO: "AUTOREGRESSIVE MODEL BASED ON A DEEP CONVOLUTIONAL NEURAL NETWORK FOR AUDIO GENERATION", 2016, TAMPERE UNIVERSITY OF TECHNOLOGY, article "CONVOLUTIONAL NETWORKS" |
J. GUZ. WANGJ. KUENL. MAA. SHAHROUDYB. SHUAIT. LIUX. WANGG. WANG: "RECENT ADVANCES IN CONVOLUTIONAL NEURAL NETWORKS", ARXIV: 1512.07108, 2017 |
J. HUANGV. RATHODC. SUNM. ZHUA. KORATTIKARAA. FATHI. FISCHERZ. WOJNAY. SONGS. GUADARRAMA ET AL.: "Speed/accuracy trade-offs for modern convolutional object detectors", ARXIV PREPRINT ARXIV: 1611.10012, 2016 |
J. M. WOLTERINKT. LEINERM. A. VIERGEVERI. ISGUM: "DILATED CONVOLUTIONAL NEURAL NETWORKS FOR CARDIOVASCULAR MR SEGMENTATION IN CONGENITAL HEART DISEASE", ARXIV: 1704.03669, 2017 |
K. HEX. ZHANGS. RENJ. SUN: "DEEP RESIDUAL LEARNING FOR IMAGE RECOGNITION", ARXIV:1512.03385, 2015 |
K. HEX. ZHANGS. RENJ. SUN: "Deep Residual Learning for Image Recognition", PROC. OF CVPR, 2016 |
L. SIFRE: "Rigid-motion Scattering for Image Classification", PH.D. THESIS, 2014 |
L. SIFRES. MALLAT: "Rotation, Scaling and Deformation Invariant Scattering for Texture Discrimination", PROC. OF CVPR, 2013 |
LIANG-CHIEH CHENGEORGE PAPANDREOUFLORIAN SCHROFFHARTWIG ADAM: "Rethinking atrous convolution for semantic image segmentation", CORR, ABS/1706.05587, 2017 |
LIU PHEMANI APAUL KWEIS CJUNG MWEHN N: "3D-Stacked Many-Core Architecture for Biological Sequence Analysis Problems", INT J PARALLEL PROG., vol. 45, no. 6, 2017, pages 1420 - 60, XP036325442, DOI: 10.1007/s10766-017-0495-0 |
LONG, JONATHAN: "Fully Convolutional Networks for Semantic Segmentation", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 39, no. 4, 1 April 2017 (2017-04-01), pages 10 |
M. LINQ. CHENS. YAN: "Network in Network", PROC. OF ICLR, 2014 |
M. SANDLERA. HOWARDM. ZHUA. ZHMOGINOVL. CHEN: "MobileNetV2: Inverted Residuals and Linear Bottlenecks", ARXIV:1801.04381V3, 2018 |
MORDVINTSEV, ALEXANDERREVISION, ABID K., IMAGE SEGMENTATION WITH WATERSHED ALGORITHM, 2013, pages 6, Retrieved from the Internet <URL:httpsv/opencv-python-tutroalsreadthedocsio/en/latest/nvtutorials/pvimgproc/pvwatershed/pvwatershed.html> |
MZUR, WATERSHED.PY, 25 October 2017 (2017-10-25), pages 3, Retrieved from the Internet <URL:https://github.com/mzur/watershed/hloh/master/Watershed.pv> |
PRABHAKAR ET AL.: "Plasticine: A Reconfigurable Architecture for Parallel Patterns", ISCA, vol. 17, 24 June 2017 (2017-06-24) |
R.K. SRIVASTAVAK. GREFFJ. SCHMIDHUBER: "HIGHWAY NETWORKS", ARXIV: 1505.00387, 2015 |
RONNEBERGER, OLAF: "U-net: Convolutional networks for biomedical image segmentation", INTERNATIONAL CONFERENCE ON MEDICAL IMAGE COMPUTING AND COMPUTER-ASSISTED INTERVENTION, 18 May 2015 (2015-05-18), pages 8 |
S. DIELEMANH. ZENK. SIMONYANO. VINYALSA. GRAVESN. KALCHBRENNERA. SENIORK. KAVUKCUOGLU: "WAVENET: A GENERATIVE MODEL FOR RAW AUDIO", ARXIV: 1609.03499, 2016 |
S. IOFFEC. SZEGEDY: "BATCH NORMALIZATION: ACCELERATING DEEP NETWORK TRAINING BY REDUCING INTERNAL COVARIATE SHIFT", ARXIV: 1502.03167, 2015 |
S. O. ARIKM. CHRZANOWSKIA. COATESG. DIAMOSA. GIBIANSKYY. KANGX. LIJ. MILLERA. NGJ. RAIMAN: "DEEP VOICE: REAL-TIME NEURAL TEXT-TO-SPEECH", ARXIV:1702.07825, 2017 |
S. XIER. GIRSHICKP. DOLLARZ. TUK. HE: "Aggregated Residual Transformations for Deep Neural Networks", PROC. OF CVPR, 2017 |
SHEVCHENKO, A., KERAS WEIGHTED CATEGORICAL_CROSSENTROPY, 15 January 2019 (2019-01-15), pages I, Retrieved from the Internet <URL:https://gist.githubcom!skeeet/cad06d584548fb45eeceId4e28cfa98b> |
THAKUR, PRATIBHA: "A Survey of Image Segmentation Techniques", INTERNATIONAL JOURNAL OF RESEARCH IN COMPUTER APPLICATIONS AND ROBOTICS, vol. 2, no. 4, April 2014 (2014-04-01), pages 158 - 165 |
VAN DEN ASSEM, D.C.F.: "Master of Science Thesis", 18 August 2017, DELFT UNIVERSITY OF TECHNOLOGY, article "Deep Learning for Pixelwise Classification of Hyperspectral Images", pages: 19 - 38 |
X. ZHANGX. ZHOUM. LINJ. SUN: "ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices", ARXIV:1707.01083, 2017 |
XIE, W.: "Microscopy cell counting and detection with fully convolutional regression networks", COMPUTER METHODS IN BIOMECHANICS AND BIOMEDICAL ENGINEERING: IMAGING & VISUALIZATION, vol. 6, no. 3, 2018, pages 283 - 292, XP055551866, DOI: 10.1080/21681163.2016.1149104 |
XIE, YUANPU ET AL.: "Beyond classification: structured regression for robust cell detection using convolutional neural network", INTERNATIONAL CONFERENCE ON MEDICAL IMAGE COMPUTING AND COMPUTER-ASSISTED INTERVENTION, October 2015 (2015-10-01), pages 12 |
Z. QINZ. ZHANGX. CHENY. PENG: "FD-MobileNet: Improved MobileNet with a Fast Downsampling Strategy", ARXIV: 1802.03750, 2018 |
Z. WUK. HAMMADE. GHAFAR-ZADEHS. MAGIEROWSKI: "FPGA-Accelerated 3rd Generation DNA Sequencing", IEEE TRANSACTIONS ON BIOMEDICAL CIRCUITS AND SYSTEMS, vol. 14, no. 1, February 2020 (2020-02-01), pages 65 - 74, XP011771041, DOI: 10.1109/TBCAS.2019.2958049 |
Z. WUK. HAMMADR. MITTMANNS. MAGIEROWSKIE. GHAFAR-ZADEHX. ZHONG: "FPGA-Based DNA Basecalling Hardware Acceleration", PROC. IEEE 61ST INT. MIDWEST SYMP. CIRCUITS SYST., August 2018 (2018-08-01), pages 1098 - 1101, XP033508770, DOI: 10.1109/MWSCAS.2018.8623988 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12106829B2 (en) | 2020-02-20 | 2024-10-01 | Illumina, Inc. | Artificial intelligence-based many-to-many base calling |
CN112541576A (en) * | 2020-12-14 | 2021-03-23 | 四川翼飞视科技有限公司 | Biological living body recognition neural network of RGB monocular image and construction method thereof |
CN112652356A (en) * | 2021-01-19 | 2021-04-13 | 深圳市儒翰基因科技有限公司 | DNA methylation appearance modification identification method, identification equipment and storage medium |
CN112652356B (en) * | 2021-01-19 | 2024-01-26 | 深圳市儒瀚科技有限公司 | Identification method, identification equipment and storage medium for DNA methylation apparent modification |
WO2023049212A3 (en) * | 2021-09-22 | 2023-04-27 | Illumina, Inc. | State-based base calling |
Also Published As
Publication number | Publication date |
---|---|
WO2020191391A3 (en) | 2020-12-03 |
WO2020191391A2 (en) | 2020-09-24 |
WO2020191387A1 (en) | 2020-09-24 |
WO2020191389A1 (en) | 2020-09-24 |
WO2020205296A1 (en) | 2020-10-08 |
WO2020191390A3 (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240071573A1 (en) | Artificial intelligence-based quality scoring | |
US11783917B2 (en) | Artificial intelligence-based base calling | |
WO2020191390A2 (en) | Artificial intelligence-based quality scoring | |
NL2023312B1 (en) | Artificial intelligence-based base calling | |
NL2023314B1 (en) | Artificial intelligence-based quality scoring | |
NL2023310B1 (en) | Training data generation for artificial intelligence-based sequencing | |
NL2023316B1 (en) | Artificial intelligence-based sequencing | |
NL2023311B1 (en) | Artificial intelligence-based generation of sequencing metadata | |
JP7581190B2 (en) | Artificial Intelligence-Based Quality Scoring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20719294 Country of ref document: EP Kind code of ref document: A2 |
|
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
ENP | Entry into the national phase |
Ref document number: 2021517978 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2020240383 Country of ref document: AU Date of ref document: 20200321 Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2020719294 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2020719294 Country of ref document: EP Effective date: 20211021 |