Artificial intelligence-based base calling

JP7608172B2Active Publication Date: 2025-01-06ILLUMINA INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2020572703
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-03-21
Filing Date
2020-03-21
Publication Date
2025-01-06
Estimated Expiration
2040-03-21

Smart Images

  • Figure 0007608172000042
    Figure 0007608172000042
  • Figure 0007608172000043
    Figure 0007608172000043
  • Figure 0007608172000044
    Figure 0007608172000044
Patent Text Reader

Abstract

The disclosed technology processes input data through a neural network to generate alternative representations of the input data. The input data includes cycle-by-cycle image data for each of one or more sequencing cycles of a sequencing run. The cycle-by-cycle image data represents the intensity emissions of one or more analytes and their surrounding background captured in each sequencing cycle. The disclosed technology processes the alternative representations through an output layer to generate output, and base calls one or more analytes in one or more of the sequencing cycles based on the output.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (Priority application) This application claims priority to or the benefit of the following applications:

[0002] U.S. Provisional Patent Application No. 62 / 821,602, entitled "Training Data Generation for Artificial Intelligence-Based Sequencing," filed March 21, 2019 (Attorney Docket No. ILLM1008-1 / IP-1693-PRV);

[0003] U.S. Provisional Patent Application No. 62 / 821,618, entitled "Artificial Intelligence-Based Generation of Sequencing Metadata," filed March 21, 2019 (Attorney Docket No. ILLM1008-3 / IP-1741-PRV);

[0004] U.S. Provisional Patent Application No. 62 / 821,681, entitled "Artificial Intelligence-Based Base Calling," filed March 21, 2019 (Attorney Docket No. ILLM1008-4 / IP-1744-PRV);

[0005] U.S. Provisional Patent Application No. 62 / 821,724, entitled "Artificial Intelligence-Based Quality Scoring," filed March 21, 2019 (Attorney Docket No. ILLM1008-7 / IP-1747-PRV);

[0006] U.S. Provisional Patent Application No. 62 / 821,766, entitled "Artificial Intelligence-Based Sequencing," filed March 21, 2019 (Attorney Docket No. ILLM1008-9 / IP-1752-PRV);

[0007] Dutch Patent Application No. 2023310 (Attorney Docket No. ILLM1008-11 / IP-1693-NL), entitled "Training Data Generation for Artificial Intelligence-Based Sequencing," filed on June 14, 2019;

[0008] Dutch Patent Application No. 2023311 (Attorney Docket No. ILLM1008-12 / IP-1741-NL), entitled "Artificial Intelligence-Based Generation of Sequencing Metadata," filed on June 14, 2019;

[0009] Dutch Patent Application No. 2023312 entitled "Artificial Intelligence-Based Base Calling" filed on June 14, 2019 (Attorney Docket No. ILLM1008-13 / IP-1744-NL);

[0010] Dutch Patent Application No. 2023314 entitled "Artificial Intelligence-Based Quality Scoring", filed on June 14, 2019 (Attorney Docket No. ILLM1008-14 / IP-1747-NL), and

[0011] Dutch Patent Application No. 2023316 (Attorney Docket No. ILLM1008-15 / IP-1752-NL), entitled "Artificial Intelligence-Based Sequencing," filed on June 14, 2019.

[0012] U.S. Patent Application No. 16 / 825,987, entitled "Training Data Generation for Artificial Intelligence-Based Sequencing," filed March 20, 2020 (Attorney Docket No. ILLM1008-16 / IP-1693-US);

[0013] U.S. Patent Application No. 16 / 825,991, entitled "Training Data Generation for Artificial Intelligence-Based Sequencing," filed March 20, 2020 (Attorney Docket No. ILLM1008-17 / IP-1741-US);

[0014] U.S. Patent Application No. 16 / 826,126, entitled "Artificial Intelligence-Based Base Calling," filed March 20, 2020 (Attorney Docket No. ILLM1008-18 / IP-1744-US);

[0015] U.S. Patent Application No. 16 / 826,134, entitled "Artificial Intelligence-Based Quality Scoring," filed March 20, 2020 (Attorney Docket No. ILLM1008-19 / IP-1747-US);

[0016] U.S. Patent Application No. 16 / 826,168, entitled "Artificial Intelligence-Based Sequencing," filed March 21, 2020 (Attorney Docket No. ILLM1008-20 / IP-1752-PRV);

[0017] PCT Patent Application No. PCT___________ entitled "Training Data Generation for Artificial Intelligence-Based Sequencing," filed concurrently herewith and subsequently published as PCT International Publication No. WO____________ (Attorney Docket No. ILLM1008-21 / IP-1693-PCT);

[0018] PCT Patent Application No. PCT__________ (Attorney Docket No. ILLM1008-22 / IP-1741-PCT), entitled "Artificial Intelligence Based Generation of Sequencing Metadata," filed concurrently herewith and subsequently published as PCT International Publication No. WO____________;

[0019] PCT Patent Application No. PCT__________ (Attorney Docket No. ILLM1008-24 / IP-1747-PCT), entitled "Artificial Intelligence-Based Quality Scoring," filed concurrently herewith and subsequently published as PCT International Publication No. WO____________; and

[0020] PCT Patent Application No. PCT___________ entitled "Artificial Intelligence-Based Sequencing," filed concurrently herewith and subsequently published as PCT International Publication No. WO____________ (Attorney Docket No. ILLM1008-25 / IP-1752-PCT);

[0021] The priority application is incorporated herein by reference for all purposes as if fully set forth herein. (built-in)

[0022] The following are incorporated by reference for all purposes as if fully set forth herein:

[0023] U.S. Provisional Patent Application No. 62 / 849,091, entitled "Systems and Devices for Characterization and Performance Analysis of Pixel-Based Sequencing," filed May 16, 2019 (Attorney Docket No. ILLM1011-1 / IP-1750-PRV);

[0024] U.S. Provisional Patent Application No. 62 / 849,132, entitled "Base Calling Using Convolutions," filed May 16, 2019 (Attorney Docket No. ILLM1011-2 / IP-1750-PR2);

[0025] U.S. Provisional Patent Application No. 62 / 849,133, entitled "Base Calling Using Compact Convolutions," filed May 16, 2019 (Attorney Docket No. ILLM1011-3 / IP-1750-PR3);

[0026] U.S. Provisional Patent Application No. 62 / 979,384, entitled "Artificial Intelligence-Based Base Calling of Index Sequences," filed February 20, 2020 (Attorney Docket No. ILLM1015-1 / IP-1857-PRV);

[0027] U.S. Provisional Patent Application No. 62 / 979,414, entitled "Artificial Intelligence-Based Many-To-Many Base Calling," filed February 20, 2020 (Attorney Docket No. ILLM1016-1 / IP-1858-PRV);

[0028] U.S. Provisional Patent Application No. 62 / 979,385, entitled "Knowledge Distillation-Based Compression of Artificial Intelligence-Based Base Caller," filed February 20, 2020 (Attorney Docket No. ILLM1017-1 / IP-1859-PRV);

[0029] U.S. Provisional Patent Application No. 62 / 979,412, entitled "Multi-Cycle Cluster Based Real Time Analysis System," filed February 20, 2020 (Attorney Docket No. ILLM1020-1 / IP-1866-PRV);

[0030] U.S. Provisional Patent Application No. 62 / 979,411, entitled "Data Compression for Artificial Intelligence-Based Base Calling," filed February 20, 2020 (Attorney Docket No. ILLM1029-1 / IP-1964-PRV);

[0031] U.S. Provisional Patent Application No. 62 / 979,399, entitled "Squeezing Layer for Artificial Intelligence-Based Base Calling," filed February 20, 2020 (Attorney Docket No. ILLM1030-1 / IP-1982-PRV);

[0032] Liu P, Hemani A, Paul K, Weis C, Jung M, Wehn ​​N.3D-Stacked Many-Core Architecture for Biological Sequence Analysis Problems.Int J Parallel Prog.2017;45(6):1420-60,

[0033] Z. Wu, K. Hammad, R. Mittmann, S. Magierowski, E. Ghafar-Zadeh, and X. Zhong, "FPGA-Based DNA Basecalling Hardware Acceleration", in Proc. IEEE 61st Int. Midwest Symp. Circuits Syst., Aug. 2018, pp. 1098-1101,

[0034] Z. Wu, K. Hammad, E. Ghafar-Zadeh, and S. Magierowski, "FPGA-Accelerated 3rd Generation DNA Sequencing", in IEEE Transactions on Biomedical Circuits and Systems, Volume 14, Issue 1, Feb. 2020, pp. 65-74,

[0035] Prabhakar et al.,「Plasticine:A Reconfigurable Architecture for Parallel Patterns」,ISCA’17,June 24-28,2017,Toronto,ON,Canada、

[0036] M.Lin,Q.Chen,and S.Yan,「Network in Network」,in Proc.of ICLR,2014、

[0037] L.Sifre,「Rigid-motion Scattering for Image Classification,Ph.D.thesis,2014、

[0038] L.Sifre and S.Mallat,「Rotation,Scaling and Deformation Invariant Scattering for Texture Discrimination」,in Proc.of CVPR,2013、

[0039] F.Chollet,「Xception:Deep Learning with Depthwise Separable Convolutions」,in Proc.of CVPR,2017、

[0040] X.Zhang,X.Zhou,M.Lin,and J.Sun,「ShuffleNet:An Extremely Efficient Convolutional Neural Network for Mobile Devices」,in arXiv:1707.01083,2017、

[0041] K.He,X.Zhang,S.Ren,and J.Sun,「Deep Residual Learning for Image Recognition」,in Proc.of CVPR,2016、

[0042] S.Xie,R.Girshick,P.Dollar,Z.Tu,and K.He,「Aggregated Residual Transformations for Deep Neural Networks」,in Proc.of CVPR,2017、

[0043] A.G.Howard,M.Zhu,B.Chen,D.Kalenichenko,W.Wang,T.Weyand,M.Andreetto,and H.Adam,「Mobilenets:Efficient Convolutional Neural Networks for Mobile Vision Applications」,in arXiv:1704.04861,2017、

[0044] M.Sandler,A.Howard,M.Zhu,A.Zhmoginov,and L.Chen,「MobileNetV2:Inverted Residuals and Linear Bottlenecks」,in arXiv:1801.04381v3,2018、

[0045] Z.Qin,Z.Zhang,X.Chen,and Y.Peng,「FD-MobileNet:Improved MobileNet with a Fast Downsampling Strategy」,in arXiv:1802.03750,2018、

[0046] Liang-Chieh Chen,George Papandreou,Florian Schroff,and Hartwig Adam.Rethinking atrous convolution for semantic image segmentation.CoRR,abs / 1706.05587,2017、

[0047] J.Huang,V.Rathod,C.Sun,M.Zhu,A.Korattikara,A.Fathi,I.Fischer,Z.Wojna,Y.Song,S.Guadarrama,et al.Speed / accuracy trade-offs for modern convolutional object detectors.arXiv preprint arXiv:1611.10012,2016、

[0048] S.Dieleman,H.Zen,K.Simonyan,O.Vinyals,A.Graves,N.Kalchbrenner,A.Senior,and K.Kavukcuoglu,「WAVENET:A GENERATIVE MODEL FOR RAW AUDIO」,arXiv:1609.03499,2016、

[0049] S.O.Arik,M.Chrzanowski,A.Coates,G.Diamos,A.Gibiansky,Y.Kang,X.Li,J.Miller,A.Ng,J.Raiman,S.Sengupta and M.Shoeybi,「DEEP VOICE:REAL-TIME NEURAL TEXT-TO-SPEECH」,arXiv:1702.07825,2017、

[0050] F.Yu and V.Koltun,「MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS」,arXiv:1511.07122,2016、

[0051] K.He,X.Zhang,S.Ren,and J.Sun,「DEEP RESIDUAL LEARNING FOR IMAGE RECOGNITION」,arXiv:1512.03385,2015、

[0052] R.K.Srivastava,K.Greff,and J.Schmidhuber,「HIGHWAY NETWORKS」,arXiv:1505.00387,2015、

[0053] G.Huang,Z.Liu,L.van der Maaten and K.Q.Weinberger,「DENSELY CONNECTED CONVOLUTIONAL NETWORKS」,arXiv:1608.06993,2017、

[0054] C.Szegedy,W.Liu,Y.Jia,P.Sermanet,S.Reed,D.Anguelov,D.Erhan,V.Vanhoucke,and A.Rabinovich,「GOING DEEPER WITH CONVOLUTIONS」,arXiv:1409.4842,2014、

[0055] S.Ioffe and C.Szegedy,「BATCH NORMALIZATION:ACCELERATING DEEP NETWORK TRAINING BY REDUCING INTERNAL COVARIATE SHIFT」,arXiv:1502.03167,2015、

[0056] J.M.Wolterink,T.Leiner,M.A.Viergever,and I.Isgum,「DILATED CONVOLUTIONAL NEURAL NETWORKS FOR CARDIOVASCULAR MR SEGMENTATION IN CONGENITAL HEART DISEASE」,arXiv:1704.03669,2017、

[0057] L.C.Piqueras,「AUTOREGRESSIVE MODEL BASED ON A DEEP CONVOLUTIONAL NEURAL NETWORK FOR AUDIO GENERATION」,Tampere University of Technology,2016、

[0058] J. Wu, “Introduction to Convolutional Neural Networks”, Nanjing University, 2017,

[0059] "Illumina CMOS Chip and One-Channel SBS Chemistry", Illumina, Inc. 2018, 2 pages,

[0060] "skikit-image / peak.py at master", GitHub, 5 pages, [Retrieved 2018-11-16]. Internet<URL:https: / / github.com / scikit-image / scikit-image / blob / master / skimage / feature / peak.py#L25> Search from,

[0061] "3.3.9.11. Watershed and random walker for segmentation", Scipy lecture notes, 2 pages, [Retrieved 2018-11-13]. Internet<URL:http: / / scipy-lectures.org / packages / scikit-image / auto_examples / plot_segmentations.html> Search from,

[0062] Mordvintsev, Alexander and Revision, Abid K., "Image Segmentation with Watershed Algorithm", Revision 43532856, 2013, 6 pages [Retrieved 2018-11-13]. Internet <URL:https: / / opencv-python-tutroals.readthedocs.io / en / latest / py_tutorials / py_imgproc / py_watershed / py_watershed.html> Search from,

[0063] Mzur, "Watershed.py", 25 October 2017, 3 pages, [Retrieved 2018-11-13]. Internet<URL:https: / / github.com / mzur / watershed / blob / master / Watershed.py> Search from,

[0064] Thakur, Pratibha, et.al. "A Survey of Image Segmentation Techniques", International Journal of Research in Computer Applications and Robotics, Vol. 2, Issue. 4, April 2014, Pg.: 158-165,

[0065] Long, Jonathan, et.al., “Fully Convolutional Networks for Semantic Segmentation”,: IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 39, Issue 4,1 April 2017, 10 pages,

[0066] Ronneberger, Olaf, et.al., “U-net: Convolutional networks for biomedical image segmentation.” In International Conference on Medical image computing and computer-assisted intervention, 18 May 2015, 8 pages,

[0067] Xie, W., et al., "Microscopy cell counting and detection with fully convolutional regression networks", Computer methods in biomechanics and biomedical engineering: Imaging & Visualization, 6(3), pp. 283-292, 2018.

[0068] 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, 12 pages.

[0069] Snuverink, I.A.F., "Deep Learning for Pixelwise Classification of Hyperspectral Images", Master of Science Thesis, Delft University of Technology, 23 November 2017, 19 pages.

[0070] Shevchenko, A., "Keras weighted categorical_crossentropy", 1 page, [searched on 2019-01-15]. Retrieved from the Internet <URL:https: / / gist.github.com / skeeet / cad06d584548fb45eece1d4e28cfa98b>.

[0071] van den Assem, DCF, "Predicting periodic And chaotic signals using Wavenets", Master of Science Thesis, Delft University Of Technology, 18 August 2017, Pages 3-38,

[0072] IJ Goodfellow, D. Warde-Farley, M. Mirza, A. Courville, and Y. Bengio, “CONVOLUTIONAL NETWORKS”, Deep Learning, MIT Press, 2016, and

[0073] J. Gu, Z. Wang, J. Kuen, L. Ma, A. Shahroudy, B. Shuai, T. Liu, X. Wang, and G. Wang, “RECENT ADVANCES IN CONVOLUTIONAL NEURAL NETWORKS”, arXiv:1512.07108, 2017.

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

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

[0076] Deep neural networks are a class of artificial neural networks that use multiple nonlinear and complex transformation layers to continuously model high-level functions. Deep neural networks provide feedback via backpropagation, which propagates the difference between observed and predicted outputs to adjust parameters. Deep neural networks have evolved with the availability of large training datasets, the power of parallel and distributed computing, and advanced training algorithms. Deep neural networks have driven major advances in many domains, such as computer vision, speech recognition, and natural language processing.

[0077] Convolutional neural networks (CNNs) and recurrent neural networks (RNNs) are components of deep neural networks. Convolutional neural networks have been successful in image recognition, particularly in structures including convolutional layers, nonlinear layers, and pooling layers. Recurrent neural networks are designed to exploit the continuous information of input data with periodic connections between their constituent units, such as perceptrons, long short-term memory units, and gated recurrent units. In addition, many other emerging deep neural networks have been proposed for limited situations, such as deep spatiotemporal neural networks, multidimensional recurrent neural networks, and convolutional autoencoders.

[0078] The goal of training a deep neural network is to optimize the weight parameters in each layer, gradually combining simpler features into more complex ones so that a better hierarchical representation can be learned from the data. A single cycle of the optimization process consists of the following: First, given a training dataset, a forward pass sequentially computes the outputs in each layer and propagates a functional signal forward through the network. At the final output layer, an objective loss function measures the error between the inferred output and a given label. To minimize the training error, a backward pass backpropagates the error signal using a chain rule and computes gradients for all weights throughout the neural network. Finally, stochastic parameters are updated using an optimization algorithm based on stochastic gradient descent. While batch gradient descent updates parameters for the entire dataset, stochastic gradient descent provides a stochastic approximation by performing updates for each small set of data examples. Several optimization algorithms are derived from stochastic gradient descent. For example, the Adagrad and Adam training algorithms perform stochastic gradient descent while adaptively modifying the learning rate based on the update frequency of each parameter and the momentum of the gradient, respectively.

[0079] Another core element in deep neural network training is regularization, which refers to a strategy intended to avoid overfitting and thus achieve good generalization performance. For example, 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 a neural network during training, which can be viewed as a collection of possible subnetworks. To improve dropout's capabilities, a new activation function, maxout, and a variant of dropout for recurrent neural networks called rnnDrop have been proposed. Furthermore, batch normalization provides a new regularization method via scalar feature normalization for each activation within a mini-batch, learning its mean and variance as parameters.

[0080] Given the multidimensional and high-dimensional nature of sequence data, deep neural networks hold considerable promise for bioinformatics research due to their broad applicability and enhanced predictive capabilities. Convolutional neural networks have been employed 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 particularly useful for studying DNA, as it can capture short sequence motifs that reproduce local patterns in DNA that are predicted to have significant biological functions. A notable feature of convolutional neural networks is the use of convolutional filters.

[0081] Unlike traditional classification approaches based on carefully designed, manually crafted features, convolutional filters perform adaptive feature learning, similar to the process of mapping raw input data to information representations of knowledge. In this sense, convolutional filters function as a series of motif scanners, as a set of such filters can recognize relevant patterns in the input and update themselves during the training procedure. Recurrent neural networks can capture long-range dependencies in continuous data of various lengths, such as protein or DNA sequences.

[0082] Therefore, an opportunity arises to use a coherent deep learning-based framework for template generation and base calling.

[0083] In the era of high-throughput technologies, accumulating the highest yield of interpretable data at the lowest cost per effort remains a significant challenge. Cluster-based methods of nucleic acid sequencing, such as those that utilize bridge amplification for cluster formation, have made valuable contributions to the goal of increasing nucleic acid sequencing throughput. These cluster-based methods rely on sequencing dense populations of nucleic acids immobilized on a solid support and typically involve the use of image analysis software to suppress the optical signal generated during the simultaneous sequencing of multiple clusters located at distinct locations on the solid support.

[0084] However, such solid-phase nucleic acid cluster-based sequencing technology faces considerable obstacles that limit the amount of throughput that can be achieved.For example, in cluster-based sequencing methods, determining the nucleic acid sequences of two or more clusters that are too close to each other physically to be spatially resolved, or that actually physically overlap on a solid support, can pose obstacles.For example, current image analysis software may require valuable time and computational resources to determine which of two overlapping clusters an optical signal originates from.As a result, various detection platforms inevitably compromise the quantity and / or quality of nucleic acid sequence information that can be obtained.

[0085] High-density nucleic acid aggregate-based genomics methods extend to other areas of genome analysis as well. For example, nucleic acid cluster-based genomics can be used in sequencing applications, diagnostics and screening, gene expression analysis, epigenetic analysis, genetic analysis of polymorphisms, etc. Each of these nucleic acid cluster-based genomics techniques is limited by the inability to resolve data generated from closely spaced or spatially overlapping nucleic acid clusters.

[0086] Clearly, there is a need to improve the quality and quantity of nucleic acid sequence data that can be obtained rapidly and cost-effectively for a variety of applications, including genomics (e.g., for genomic characterization of any and all animal, plant, microbial, or other biological species or populations), pharmacogenomics, transcriptomics, diagnostics, prognosis, biomedical risk assessment, clinical and research genetics, personalized medicine, drug efficacy and drug interaction assessment, veterinary medicine, agricultural, evolutionary, and biological research, aquatic culture, forestry, marine research, ecological and environmental management, and other purposes.

[0087] The disclosed technology 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.

[0088] The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee. Color drawings may also be available in PAIR (patent application information retrieval) via the Supplemental Content tab.

[0089] In the drawings, like reference characters generally refer to like parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the disclosed technology. In the following description, various embodiments of the disclosed technology are described with reference to the following drawings: [Brief explanation of the drawings]

[0090] [Figure 1] 1 illustrates the processing steps used by the RTA base caller to make a base call, according to one embodiment.

[0091] [Figure 2]1 illustrates one embodiment of base calling using the disclosed neural network-based base caller.

[0092] [Figure 3] 1 is an embodiment of converting the location / position information of cluster centers identified from the output of a neural network-based template generator from the sub-pixel domain to the pixel domain.

[0093] [Figure 4] 1 is an implementation that uses cycle-specific and image channel-specific transformations to derive so-called "transformed cluster centers" from reference cluster centers.

[0094] [Figure 5] 1 shows image patches that are part of the input data fed into a neural network-based base caller.

[0095] [Figure 6] 10 illustrates one embodiment of determining distance values ​​for a distance channel when a single target cluster is being base called by a neural network-based base caller.

[0096] [Figure 7] 1 illustrates one embodiment of encoding the distance value calculated between a pixel and a target cluster on a pixel-by-pixel basis.

[0097] [Figure 8a] 10 illustrates one embodiment of determining distance values ​​for a distance channel when multiple target clusters are being simultaneously base called by a neural network-based base caller.

[0098] [Figure 8b] For each target cluster, we show a number of nearest pixels determined based on pixel center-nearest cluster center distance.

[0099] [Figure 9] 10 illustrates one embodiment of encoding, on a pixel-by-pixel basis, the minimum distance value calculated between a pixel and the closest one of the clusters.

[0100] [Figure 10] One embodiment is shown that uses pixel-to-cluster classification / attribution / categorization, referred to herein as "cluster shape data."

[0101] [Figure 11] 10 illustrates one embodiment of calculating distance values ​​using cluster shape data.

[0102] [Figure 12] 10 illustrates one implementation of encoding the distance value calculated between a pixel and its assigned cluster on a pixel-by-pixel basis.

[0103] [Figure 13] FIG. 1 shows one embodiment of a specialized architecture of a neural network-based base caller used to separate the processing of data for different sequencing cycles.

[0104] [Figure 14] 1 illustrates one implementation of separated convolution.

[0105] [Figure 15a] 1 illustrates one embodiment of combined convolution.

[0106] [Figure 15b] 10 illustrates another embodiment of combined convolution.

[0107] [Figure 16] 1 illustrates one implementation of convolutional layers of a neural network-based base caller, where each convolutional layer has a bank of convolutional filters.

[0108] [Figure 17] Two configurations of the scaling channel that are complementary to the image channel are shown.

[0109] [Figure 18a] 1 shows one embodiment of input data for a single sequencing cycle that produces red and green images.

[0110] [Figure 18b] 10 illustrates one implementation of a distance channel that provides an additive bias that is incorporated into feature maps generated from an image channel.

[0111] [Figure 19a] 1 shows one embodiment of base calling a single target cluster. [Figure 19b] 1 shows one embodiment of base calling a single target cluster. [Figure 19c] 1 shows one embodiment of base calling a single target cluster.

[0112] [Figure 20] 1 shows one embodiment of base calling multiple target clusters simultaneously.

[0113] [Figure 21] 1 illustrates one embodiment for simultaneously base calling multiple target clusters in multiple successive sequencing cycles, thereby simultaneously generating base called sequences for each of the multiple target clusters.

[0114] [Figure 22] 1 shows a dimensionality diagram for a single cluster base calling embodiment.

[0115] [Figure 23] 1 shows a dimensionality diagram for an embodiment of multiple cluster, single sequencing cycle base calling.

[0116] [Figure 24] 1 shows a dimensionality diagram for a multiple cluster, multiple sequencing cycle base calling embodiment.

[0117] [Figure 25a] 1 illustrates an exemplary arrayed input configuration for multi-cycle input data.

[0118] [Figure 25b] 1 illustrates an exemplary stacked input configuration for multi-cycle input data.

[0119] [Figure 26a] 10 illustrates one embodiment of reframing the pixels of an image patch to place the center of the target cluster being basecalled at the center of the central pixel.

[0120] [Figure 26b] 10 shows another exemplary reframed / shifted image patch where (i) the center of the central pixel coincides with the center of the target cluster, and (ii) the non-central pixels are equidistant from the center of the target cluster.

[0121] [Figure 27] 1 shows one embodiment of using a standard convolutional neural network and reframed input to base call a single target cluster in the current sequencing cycle.

[0122] [Figure 28] 1 shows one embodiment of using a standard convolutional neural network and aligned inputs to base call multiple target clusters in the current sequencing cycle.

[0123] [Figure 29]1 shows one embodiment of base calling multiple target clusters over multiple sequencing cycles using a standard convolutional neural network and aligned inputs.

[0124] [Figure 30] 1 illustrates one embodiment of training a neural network-based base caller.

[0125] [Figure 31a] 1 illustrates one embodiment of a hybrid neural network used as a neural network-based base caller.

[0126] [Figure 31b] 1 illustrates one implementation of 3D convolution used by the iterative module of a hybrid neural network to generate a current hidden state representation.

[0127] [Figure 32] FIG. 1 illustrates one embodiment in which cycle-by-cycle input data for a single sequencing cycle of a series of t sequencing cycles to be base-called is processed by a cascade of convolutional layers of a convolution module.

[0128] [Figure 33] 1 illustrates one embodiment of blending input data per cycle of a single sequencing cycle with a corresponding convolutional representation generated by a cascade of convolutional layers of a convolution module.

[0129] [Figure 34] 1 illustrates one embodiment of arranging flattened mixed representations of successive sequencing cycles as a stack.

[0130] [Figure 35a]FIG. 35 shows one embodiment in which the stack of FIG. 34 is subjected to repeated application of forward and reverse 3D convolutions to generate base calls for each of the clusters in each of the t sequencing cycles in the series.

[0131] [Figure 35b] We show one implementation in which a 3D input volume x(t) (containing a group of flattened mixed representations) is processed by input, activation, forget, and output gates of a long-short-term memory (LSTM) network that applies 3D convolutions. The LSTM network is part of the recurrent module of a hybrid neural network.

[0132] [Figure 36] 1 illustrates one embodiment of balancing trinucleotides (trimers) in the training data used to train a neural network-based base caller.

[0133] [Figure 37] The base calling accuracy of the RTA base caller is compared with that of a neural network-based base caller.

[0134] [Figure 38] We compare the inter-tile generalization of the RTA base caller with that of a neural network-based base caller on the same tile.

[0135] [Figure 39] The inter-tile generalization of the RTA base caller is compared with that of the neural network-based base caller on the same tile and on different tiles.

[0136] [Figure 40] Similarly, we compare the inter-tile generalization of the RTA base caller with that of the neural network-based base caller on different tiles.

[0137] [Figure 41] We show how different sizes of image patches fed as input to a neural network-based base caller affect base calling accuracy.

[0138] [Figure 42] We demonstrate lane-to-lane generalization of a neural network-based base caller on training data from A. baumannii and E. coli. [Figure 43] We demonstrate lane-to-lane generalization of a neural network-based base caller on training data from A. baumannii and E. coli. [Figure 44] We demonstrate lane-to-lane generalization of a neural network-based base caller on training data from A. baumannii and E. coli. [Figure 45] We demonstrate lane-to-lane generalization of a neural network-based base caller on training data from A. baumannii and E. coli.

[0139] [Figure 46] 42, 43, 44, and 45 show the error profiles for lane-to-lane generalization described above.

[0140] [Figure 47] The error profile in FIG. 46 indicates that the source of the error detected is attributable to low cluster intensity in the green channel.

[0141] [Figure 48] The error profiles of the RTA base caller and the neural network-based base caller for two sequencing runs (read 1 and read 2) are compared.

[0142] [Figure 49a] We demonstrate the inter-run generalization of a neural network-based basecaller on four different instruments.

[0143] [Figure 49b] We show the inter-run generalization of a neural network-based base caller over four different runs performed on the same instrument.

[0144] [Figure 50] 1 shows genomic statistics of the training data used to train the neural network-based base caller.

[0145] [Figure 51] 1 shows the genomic context of the training data used to train the neural network-based base caller.

[0146] [Figure 52] Figure 1 shows the base calling accuracy of the neural network-based base caller for base calling of long reads (e.g., 2 × 250).

[0147] [Figure 53] 1 illustrates one embodiment of how a neural network-based base caller focuses on a central cluster pixel and its neighboring pixels across an image patch.

[0148] [Figure 54] 1 illustrates various hardware components and configurations used to train and run a neural network-based base caller, according to one embodiment. In other embodiments, different hardware components and configurations are used.

[0149] [Figure 55] 1 illustrates various sequencing tasks that can be performed using neural network-based base callers.

[0150] [Figure 56]Scatter plot visualized by t-SNE (t-SNE) showing the base calling results of a neural network-based base caller.

[0151] [Figure 57] 1 illustrates one embodiment of selecting base call confidence probabilities produced by a neural network-based base caller for quality scoring.

[0152] [Figure 58] 1 illustrates one implementation of neural network-based quality scoring.

[0153] [Figure 59a] 1 shows one embodiment of the correspondence between quality scores and base call confidence predictions made by a neural network-based base caller. [Figure 59b] 1 shows one embodiment of the correspondence between quality scores and base call confidence predictions made by a neural network-based base caller.

[0154] [Figure 60] 1 illustrates one embodiment of inferring quality scores from base call confidence predictions made by a neural network-based base caller during inference.

[0155] [Figure 61] 1 illustrates one embodiment of training a neural network-based quality scorer to process input data derived from sequencing images and directly generate a quality index.

[0156] [Figure 62] 1 illustrates one embodiment of generating a quality index directly as an output of a neural network-based quality scorer during inference.

[0157] [Figure 63A]1 illustrates one embodiment of a sequencing system, the sequencing system including a configurable processor. [Figure 63B] 1 illustrates one embodiment of a sequencing system, the sequencing system including a configurable processor.

[0158] [Figure 63C] FIG. 1 is a simplified block diagram of a system for analysis of sensor data from a sequencing system, such as base call sensor output.

[0159] [Figure 64A] FIG. 1 is a simplified diagram illustrating aspects of a base calling operation, including the functionality of a runtime program executed by a host processor.

[0160] [Figure 64B] FIG. 63D is a simplified diagram of a configuration of a configurable processor such as that shown in FIG. 63C.

[0161] [Figure 65] 63B is a computer system that can be used by the sequencing system of FIG. 63A to implement the techniques disclosed herein.

[0162] [Figure 66] 1 illustrates different implementations of data pre-processing, which can include data normalization and data augmentation.

[0163] [Figure 67] When a neural network-based base caller is trained on bacterial data and tested on human data (the bacterial data and human data share the same assays (e.g., both contain intron data)), the data normalization technique (DeepRTA(norm)) and data augmentation technique (DeepRTA(augment)) in Figure 66 are shown to reduce the base calling error rate.

[0164] [Figure 68]Figure 66 shows that the data normalization technique (DeepRTA(norm)) and data augmentation technique (DeepRTA(augment)) reduce the base calling error rate when a neural network-based base caller is trained on non-exonic data (e.g., intronic data) and tested on exonic data. DETAILED DESCRIPTION OF THE INVENTION

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

[0166] When bases are classified in a sequence of digital images, the neural network processes multiple image channels in the current cycle along with image channels from past and future cycles. Within a cluster, some strands may lead or lag behind the main process of synthesis; this out-of-phase labeling is known as prephasing or phasing. If a low rate of prephasing and postphasing is empirically observed, almost all of the noise in the signal resulting from prephasing and postphasing can be processed by a neural network that processes digital images in the current, past, and future cycles, i.e., in only three cycles.

[0167] Between digital image channels within a current cycle, careful registration that aligns images within the cycle strongly contributes to accurate base classification. Among sources of error, the combination of wavelength and mismatched illumination sources causes small, correctable differences in measured cluster center positions. To accurately align cluster centers across image tiles, a general affine transformation involving translation, rotation, and scaling can be used. The affine transformation can be used to reframe the image data and eliminate offsets for cluster centers.

[0168] Reframing image data typically means interpolating the image data by applying an affine transformation. Reframing can center a cluster center of interest on the central pixel of a pixel patch, or align an image with a template to overcome jitter and other inconsistencies in image acquisition. Reframing involves adjusting the intensity values ​​of all pixels within a pixel patch. Bilinear and bicubic interpolation and weighted area adjustment are alternative approaches.

[0169] In some implementations, the cluster center coordinates can be fed into the neural network as an additional image channel.

[0170] Distance signals can also contribute to base classification. Some types of distance signals reflect the separation of a region from the cluster center. The strongest optical signal is considered to coincide with the cluster center. Optical signals along the cluster periphery may contain stray signals from nearby clusters. Classification has been observed to be more accurate when the contribution of a signal component is attenuated according to its separation from the cluster center. Functional distance signals include the single-cluster distance channel, the multi-cluster distance channel, and the multi-cluster shape-based distance channel. The single-cluster distance channel is applied to a patch with a cluster center within the central pixel. The distance of all regions within the patch is then the distance from the cluster center within the central pixel. Pixels that do not belong to the same cluster as the central pixel can be flagged as background instead of being assigned a calculated distance. The multi-cluster distance channel pre-calculates the distance from each region to the nearest cluster center. This has the potential, but unlikely, of connecting a region to the wrong cluster center. The multi-cluster shape-based distance channel associates regions (subpixels or pixels) with pixel centers that generate the same base classification via neighboring regions. This avoids the possibility of measuring the distance to the wrong pixel, at some computational cost. Multi-cluster and multi-cluster shape-based approaches to distance signals have the advantage of being subject to pre-computation and use with multiple clusters in an image.

[0171] Shape information can be used by neural networks to separate signal from noise and improve the signal-to-noise ratio. The above discussion has identified several approaches to region classification and to supplying distance channel information. In either approach, regions can be marked as background (as not part of a cluster) to define cluster edges. Neural networks can be trained to utilize information about the resulting irregular cluster shapes. Distance information and background classification can be combined or used separately. Separating signals from abutting clusters becomes increasingly important as cluster density increases.

[0172] One approach to increasing the scale of parallel processing is to increase the cluster density on the imaging medium. Increasing density has the disadvantage of increasing background noise when reading clusters with neighboring clusters. Using shape data instead of arbitrary patches (e.g., 3x3 pixels) can help maintain signal separation as cluster density increases.

[0173] Applying one aspect of the disclosed technology, base classification scores can also be utilized to predict quality. The disclosed technology involves correlating classification scores with traditional Sanger or Phred quality Q-scores, either directly or via a predictive model. Scores such as Q20, Q30, or Q40 are calculated using the following formula: Q=-10log 10It is logarithmically related to the base misclassification probability by P. Correlation of class scores with Q scores can be performed using multi-output neural networks or multivariate regression analysis. An advantage of real-time calculation of quality scores is that defective sequencing runs can be terminated early during base classification. Applicant has found that an occasional (rare) decision to terminate a run can be made when the analytical sequence has progressed one-eighth to one-quarter of the way through. The decision to terminate can be made after 50 cycles or after 25-75 cycles. In a continuous process that would otherwise run 300-1000 cycles, early termination results in substantial resource savings.

[0174] A specialized convolutional neural network (CNN) architecture can be used to classify bases across multiple cycles. One specialization involves separating digital image channels during processing in the initial layers. The convolutional filter stack can be structured to separate processing between cycles, preventing crosstalk between digital image sets from different cycles. The motivation for separating processing between cycles is that images captured in different cycles have residual registration errors and are therefore misaligned and have random translational offsets relative to each other. This is due to the finite precision of the sensor's motion stage, and also because images captured in different frequency channels have different optical paths and wavelengths.

[0175] The motivation for using image sets from successive cycles is that the pre- and post-fading contributions to the signal in a particular cycle are quadratic. Therefore, it can be useful for a convolutional neural network to structurally separate the convolution of the underlying digital image sets between image acquisition cycles.

[0176] Convolutional neural network structures can also be specialized in handling information related to clustering. Templates for cluster centers and / or shapes provide additional information that the convolutional neural network combines with the digital image data. Cluster center classification and distance data can be applied repeatedly over cycles.

[0177] A convolutional neural network can be structured to classify multiple clusters within an image field. When multiple clusters are classified, the distance channel for a pixel or subpixel can more compactly contain distance information relative to either the nearest cluster center or an adjacent cluster center to which the pixel or subpixel belongs. Alternatively, a large distance vector can be provided for each pixel or subpixel, or at least for each pixel that contains a cluster center, thereby providing complete distance information from the cluster center to all other pixels in the context for a given pixel.

[0178] Some combinations of template generation with base calling can substitute for the distance channel using variations of area weighting. We now describe how the output of the template generator can be used directly in place of the distance channel.

[0179] Three considerations that affect the direct application of template images to pixel value modification are described: whether the image set is processed in the pixel or sub-pixel domain, how area weights are calculated in either domain, and, in the sub-pixel domain, applying the template image as a mask to modify interpolated intensity values.

[0180] Performing base classification in the pixel domain has the advantage of not requiring the increased computational effort (e.g., 16x) that results from upsampling. In the pixel domain, even the highest convolutional layers may have sufficient cluster density to justify performing non-collected computations instead of adding logic to eliminate unnecessary computations. We begin with an example that directly uses template image data in the pixel domain without a distance channel.

[0181] In some implementations, classification focuses on specific clusters. In these examples, pixels on the periphery of a cluster may have different modified intensity values ​​depending on which adjacent cluster is the focus of classification. A template image in the subpixel domain can show that overlapping pixels contribute intensity values ​​to two different clusters. Herein, when two or more adjacent or abutting clusters both overlap the same optical pixel, this optical pixel is referred to as an "overlapping pixel," and both clusters contribute to the intensity reading from this optical pixel. Watershed analysis (named for the division of rainfall into different watersheds at ridgelines) can be applied to separate even abutting clusters. When data is received for cluster-by-cluster classification, a template image can be used to modify intensity data for overlapping pixels along the periphery of a cluster. The overlapping pixels can have different modified intensities depending on which cluster is the focus of classification.

[0182] The modified intensity of a pixel can be reduced based on the subpixel contribution within the overlapping pixel to the home cluster (i.e., the cluster to which the pixel belongs or the cluster whose intensity emission is primarily represented by the pixel), as opposed to the away cluster (i.e., the non-home cluster whose intensity emission is primarily represented by the pixel). Assume five subpixels are part of the home cluster and two subpixels are part of the away cluster. Then, seven subpixels contribute to the intensity of the home or away cluster. While the home cluster is in focus, in one embodiment, the overlapping pixel is reduced in intensity by 7 / 16 because seven of the 16 subpixels contribute to the intensity of the home or away cluster. In another embodiment, the intensity is reduced by 5 / 16 based on the area of ​​the subpixels contributing to the home cluster divided by the total number of subpixels. In a third embodiment, the intensity is reduced by 5 / 7 based on the area of ​​the subpixels contributing to the home cluster divided by the total area of ​​the contributing subpixels. The latter two calculations change when the focus shifts to the away cluster, resulting in a fraction with a "2" in the numerator.

[0183] Of course, if the distance channel is considered together with the sub-pixel map of cluster shapes, further reduction in intensity can be applied.

[0184] Once the pixel intensities for the cluster that is the focus of classification have been corrected using the template image, the corrected pixel values ​​are convolved with layers of a neural network-based classifier to produce a corrected image that is used to classify bases in successive sequencing cycles.

[0185] Alternatively, classification in the pixel domain can proceed in parallel for all pixels or all clusters in an image chunk. In this scenario, only one modification of the pixel value can be applied to ensure reusability of intermediate calculations. Any of the above fractions can be used to modify pixel intensities, depending on whether a smaller or larger attenuation of intensity is desired.

[0186] Once the pixel intensities for an image chunk have been corrected using a template image, the pixels and surrounding context can be convolved by layers of a neural network-based classifier to generate a corrected image. Performing the convolution on the image chunk allows for the reuse of intermediate computations among pixels with shared context. The corrected image is used to classify bases in successive sequencing cycles.

[0187] This description can be parallelized for the application of area weights within the subpixel domain. This parallelization means that weights can be calculated for each individual subpixel. The weights can be, but need not be, the same for different subpixel portions of an optical pixel. Repeating the above scenario of home and away clusters, where the overlapping pixels have five and two subpixels, respectively, the intensity assignment to subpixels belonging to the home cluster can be 7 / 16, 5 / 16, or 5 / 7 of the pixel intensity. Again, further intensity reduction can be applied if the distance channel is considered along with the cluster-shaped subpixel map.

[0188] Once the pixel intensities for an image chunk have been corrected using a template image, the subpixels and surrounding context can be convolved by layers of a neural network-based classifier to generate a corrected image. Performing the convolution on the image chunk allows for reuse of intermediate computations among subpixels with shared context. The corrected image is used to classify bases in successive sequencing cycles.

[0189] Another alternative is to apply a template image to the image data interpolated in the subpixel domain as a binary mask in the subpixel domain. The template image can be positioned to either require background pixels between clusters or allow subpixels from different clusters to abut. The template image can be applied as a mask. This mask determines whether an interpolated pixel, if classified as background in the template image, retains the value assigned by the interpolation or accepts a background value (e.g., zero).

[0190] Again, once the pixel intensities for an image chunk are masked using a template image, the subpixels and surrounding context can be convolved by layers of a neural network-based classifier to generate a modified image. Performing the convolution on the image chunk allows for reuse of intermediate computations among subpixels with shared context. The modified image is used to classify bases in successive sequencing cycles.

[0191] Features of the disclosed technology can be combined to classify any number of clusters within a shared context and reuse intermediate computations. At optical pixel resolution, in one implementation, approximately 10 percent of the pixels hold cluster centers for classification. In legacy systems, when irregularly shaped clusters were observed, 3x3 optical pixels were grouped together for analysis as potential signal contributors to the cluster center. Even with a single 3x3 filter away from the top convolutional layer, the cluster density tends to roll up the optical signals from substantially more than half of the optical pixels into the cluster center pixel. Only at supersampled resolution does the cluster center density for the top convolutional layer drop to less than 1 percent.

[0192] The shared context can be quite large in some embodiments. For example, a 15x15 optical pixel context can contribute to accurate base classification. An equivalent 4x upsampled context would be 60x60 subpixels. This large context helps the neural network recognize the effects of uneven lighting and background during imaging.

[0193] The disclosed technique uses small filters in lower convolutional layers to combine cluster boundaries in the template input with boundaries detected in the digital image input. The cluster boundaries help the neural network separate the signal from background conditions and normalize the image processing to the background.

[0194] The disclosed technique effectively reuses intermediate computations. Assume that 20-25 cluster centers appear within a 15x15 optical pixel context region. The first layer convolutions are then reused 20-25 times in block-wise convolution rollups. The reuse rate decreases with each layer until the penultimate layer, where the reuse rate at optical resolution drops below 1x for the first time.

[0195] Block-wise rollup training and inference from multiple convolutional layers applies successive rollups to blocks of pixels or subpixels. Around the periphery of the block, there is an overlap zone where data used during rollup of a first data block overlaps with and can be reused for the second block of rollup. Within the block, in a central region surrounded by the overlap zone, there are pixel values ​​and intermediate calculations that can be rolled up and reused. With the overlap zone, convolution results that progressively reduce the size of the context field (e.g., from 15x15 to 13x13 by applying a 3x3 filter) can be written into the same memory block that holds the convolved values, saving memory without compromising the reuse of the underlying calculations within the block. With larger blocks, sharing intermediate calculations within the overlap zone requires fewer resources. With smaller blocks, it may be possible to compute multiple blocks in parallel and share intermediate calculations within the overlap zone.

[0196] Larger filters and dilation reduce the number of convolutional layers after the lower convolutional layers respond to cluster boundaries in the template and / or digital image data, which can be velocity calculations without compromising classification.

[0197] The input channel for the template data can be selected to create a template structure that is consistent with classifying multiple cluster centers within a digital image field. The two alternatives described above, reframing across contexts and distance mapping, do not meet this consistency criterion. Reframing places the center of only one cluster at the center of the optical pixel. A better approach for classifying multiple clusters is to provide a center offset for pixels classified as holding a cluster center.

[0198] Distance mapping, if provided, is difficult to perform across the entire context region unless every pixel has its own unique distance map across the entire context. Simpler distance maps provide useful consistency for classifying multiple clusters from a digital image input block.

[0199] The neural network can learn from the classification within the template of pixels or subpixels at the boundary of the cluster, so the distance channel can be replaced with a template that provides a binary or ternary classification along with a cluster center offset channel. The distance map, if used, can give the pixel's (or subpixel's) distance from the cluster center to which it belongs, or the distance map can give the distance to the nearest cluster center. The distance map can encode the binary classification in a flag value assigned to background pixels, or it can be a separate channel from the pixel classification. When combined with the cluster center offset, the distance map can encode a ternary classification. In some implementations, particularly those that encode pixel classification with one or two bits, it may be desirable, at least during development, to use separate channels for pixel classification and for distance.

[0200] The disclosed techniques can include computation reduction to save some computational resources in higher layers. A cluster center offset channel or a ternary classification map can be used to identify pixel convolution centers that do not contribute to the final classification of a pixel center. In many hardware / software implementations, performing a lookup during inference and skipping the convolution rollup can improve efficiency in higher layers rather than performing an additional nine multiplications and eight additions to apply a 3x3 filter. In custom hardware that pipelines computations for parallel execution, all pixels can be classified individually in the pipeline. The cluster center map can then be used after the final convolution to collect results only for pixels that match the cluster center, since only final classifications are desired for those pixels. Again, in the optical pixel domain, at currently observed cluster densities, rolled-up calculations for approximately 10 percent of the pixels are collected. In the 4x upsampled domain, less than 1 percent of the subpixel classifications in the top layer are collected, so more layers can benefit from skipped convolutions on some hardware. Neural network-based base calling

[0201] FIG. 1 illustrates the processing steps used by an RTA base caller to make base calls according to one embodiment. FIG. 1 also illustrates the processing steps used by the disclosed neural network-based base caller to make base calls according to two embodiments. As shown in FIG. 1, the neural network-based base caller 218 can streamline the base calling process by eliminating many of the processing steps used by the RTA base caller. This streamlining improves base calling accuracy and scale. In a first embodiment of the neural network-based base caller 218, the base caller performs base calls using location / position information of cluster centers identified from the output of the neural network-based template generator 1512. In a second embodiment, the neural network-based base caller 218 does not use location / position information of cluster centers to make base calls. The second embodiment 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 reference locations and provide a pre-positioned cluster distribution on the patterned flow cell. In another embodiment, the neural network-based base caller 218 base calls clusters generated on random flow cells.

[0202] We now describe neural network-based base calling, in which a neural network is trained to map and call bases on sequencing images. The discussion is organized as follows: First, we describe the input to the neural network. Next, we describe the structure and morphology of the neural network. Finally, we describe the output of the neural network. input

[0203] FIG. 2 shows one embodiment of base calling using a neural network 206. Primary input: Image channel

[0204] The primary input to neural network 206 is image data 202. Image data 202 is derived from sequencing image 108 generated by sequencer 222 during a sequencing run. In one embodiment, image data 202 includes n×n image patches extracted from sequencing image 222, where n is any number ranging from 1 to 10,000. A sequencing run generates m images per sequencing cycle for m corresponding image channels, and an image patch is extracted from each of the m images to prepare image data for a particular sequencing cycle. In different embodiments, such as for 4-, 2-, and 1-channel chemistries, m is 4 or 2. In other embodiments, m is 1, 3, or greater than 4. Image data 202 is in the optical pixel domain in some embodiments and in the upsampled subpixel domain in other embodiments.

[0205] Image data 202 includes data for multiple sequencing cycles (e.g., a current sequencing cycle, one or more preceding sequencing cycles, and one or more subsequent sequencing cycles). In one embodiment, image data 202 includes data for three sequencing cycles, such that data for the current (time t) sequencing cycle being base-called is accompanied by data for (i) the left flanking / context / previous / preceding / earlier (time t-1) sequencing cycle and (ii) the right flanking / context / next / continuing / subsequent (time t+1) sequencing cycle. In other embodiments, image data 202 includes data for a single sequencing cycle.

[0206] The image data 202 represents the intensity emissions of one or more clusters and their surrounding background. In one embodiment, when a single target cluster is base called, image patches are extracted from the sequencing image 108 in such a way that each image patch contains the center of the target cluster within its center pixel, a concept referred to herein as "target cluster-centered patch extraction."

[0207] Image data 202 is encoded using intensity channels (also called image channels) in input data 204. For each of the m images acquired from sequencer 222 for a particular sequencing cycle, a separate image channel is used to encode its intensity data. For example, consider a sequencing run using a two-channel chemistry that generates a red image and a green image in each sequencing cycle, where input data 204 includes (i) a first red image channel having n x n pixels representing the intensity emissions of one or more clusters and their surrounding background captured in the red image, and (ii) a second green image channel having n x n pixels representing the intensity emissions of one or more clusters and their surrounding background captured in the green image.

[0208] In one embodiment, the biosensor comprises an array of optical sensors. The optical sensors are configured to sense information from corresponding pixel regions (e.g., reaction sites / wells / nanocells) on the detection surface of the biosensor. Analytes disposed within a pixel region are said to be associated with the pixel region, i.e., the associated analyte. During a sequencing cycle, the optical sensors corresponding to the pixel regions are configured to detect / capture / sense luminescence / photons from the associated analyte and, accordingly, generate a pixel signal for each imaged channel. In one embodiment, each imaging channel corresponds to one of a plurality of filter wavelength bands. In another embodiment, each imaging channel corresponds to one of a plurality of imaging events during a sequencing cycle. In yet another embodiment, each imaging channel corresponds to a combination of illumination with a specific laser and imaging through a specific optical filter.

[0209] The pixel signals from the optical sensors are communicated (e.g., via a communications port) to a signal processor coupled to the biosensor. For each sequencing cycle and each imaging channel, the signal processor generates an image in which pixels depict / contain / show / represent / characterize the pixel signals obtained from the corresponding optical sensors. In this manner, a pixel in the image corresponds to (i) the optical sensor of the biosensor that generated the pixel signal represented by the pixel, (ii) the analyte of interest whose radiation was detected by the corresponding optical sensor and converted into a pixel signal, and (iii) the pixel area on the detection surface of the biosensor that holds the analyte of interest.

[0210] For example, consider a sequencing operation that uses two different imaging channels: a red channel and a green channel. Then, in each sequencing cycle, the signal processor generates a red image and a green image. In this way, for a series of k sequencing cycles of a sequencing run, a sequence having k pairs of red and green images is generated as output.

[0211] Pixels in the red and green images (i.e., different imaging channels) have a one-to-one correspondence within a sequencing cycle. This means that corresponding pixels in a pair of red and green images show intensity data of the same associated analyte in different imaging channels. Similarly, pixels across pairs of red and green images have a one-to-one correspondence between sequencing cycles. This means that corresponding pixels in different pairs of red and green images show intensity data of the same associated analyte for different acquisition events / time steps (sequencing cycles) of a sequencing run.

[0212] Corresponding pixels in the red and green images (i.e., different imaging channels) can be considered as pixels of an "image per cycle," representing intensity data in a first red channel and a second green channel. An image per cycle, whose pixels depict pixel signals of a subset of the pixel area, i.e., a region (tile) of the sensing surface of the biosensor, is called a "tile per cycle image." Patches extracted from the tile per cycle image are called "image per cycle patches." In one embodiment, patch extraction is performed by an input preparer.

[0213] The image data includes a series of per-cycle image patches generated for a series of k-sequence cycles of a sequencing run. Pixels in the per-cycle image patch include intensity data for associated analytes, the intensity data being acquired for one or more imaging channels (e.g., red and green channels) by corresponding optical sensors configured to detect emissions from the associated analytes. In one embodiment, based on a single target cluster, the per-cycle image patch is centered on a central pixel that includes intensity data for the target-associated analyte and non-central pixels, and the non-central pixels in the per-cycle image patch include intensity data for associated analytes adjacent to the target-associated analyte. In one embodiment, the image data is prepared by an input preparer. Non-image data

[0214] In another embodiment, 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 molecular elongation, which are detected and converted to voltage changes proportional to the number of incorporated bases (e.g., in the case of Ion Torrent).

[0215] In yet another embodiment, input data to the neural network-based base caller 218 and the neural network-based quality scorer 6102 are constructed from nanopore sensing, which uses a biosensor to measure interruptions in electrical current as an analyte passes through or near the opening of the nanopore, identifying bases. For example, Oxford Nanopore Technologies (ONT) sequencing is based on the following concept: a single strand of DNA (or RNA) is passed through a membrane via a nanopore, and a potential difference is applied across the membrane. Nucleotides present within the pore affect the electrical resistance of the pore, so that current measurements over time can indicate the sequence of DNA bases passing through the pore. This current signal (due to its "squish" appearance when plotted) is the raw data collected by the ONT sequencer. These measurements are stored as 16-bit integer data acquisition (DAC) values ​​taken at a 4 kHz frequency (for example). With a DNA strand velocity of ~450 base pairs per second, this gives, on average, approximately nine raw observations per base. This signal is then processed to identify breaks in the aperture signal that correspond to individual reads. Stretching these raw signals, called bases, is the process of converting DAC values ​​into sequences of DNA bases. In some embodiments, the input data includes normalized or scaled DAC values. Supplementary Input: Distance Channel

[0216] The image data 202 is accompanied by complementary distance data (also called the distance channel). The distance channel provides an additive bias that is incorporated into the feature maps generated from the image channel. This additive bias contributes to base calling accuracy because it is based on pixel-centre-to-cluster-centre distances, which are encoded on a pixel-by-pixel basis in the distance channel.

[0217] In a "single target cluster" base calling implementation, for each image channel (image patch) in the input data 204, a supplemental distance channel identifies the distance of the center of that pixel from the center of the target cluster that contains and is being base called. The distance channel thereby indicates the distance of each of the pixels of the image patch from the center pixel of the image patch.

[0218] In a "multi-cluster" base calling implementation, for each image channel (image patch) in the input data 204, a supplemental distance channel identifies the center-to-center distance of each pixel from the nearest one of the clusters, which are selected based on the center-to-center distance between the pixel and each of the clusters.

[0219] In a "multi-cluster shape-based" base calling implementation, for each image channel (image patch) in the input data 204, a supplemental distance channel identifies the center-to-center distance of each cluster pixel from its assigned cluster, which is selected based on classifying each cluster pixel into only one cluster. Supplementary Input: Scaling Channel

[0220] The image data 202 is accompanied by supplemental scaling data (also called a scaling channel) that accounts for different cluster sizes and non-uniform lighting conditions. The scaling channel also provides an additive bias that is incorporated into the feature maps generated from the image channel. This additive bias contributes to base calling accuracy because it is based on the average intensity of the central cluster pixels, which is encoded on a pixel-by-pixel basis in the scaling channel. Additional input: Cluster center coordinates

[0221] In some implementations, location / position information 216 (eg, x, y coordinates) of the cluster centers identified from the output of the neural network-based template generator 1512 is provided as a supplemental input to the neural network 206 . Supplementary input: cluster membership information

[0222] In some implementations, neural network 206 receives as supplemental input cluster membership information that classifies which pixels or subpixels are background pixels or subpixels, cluster center pixels or subpixels, and cluster / cluster interior pixels or subpixels that represent / contribute to / belong to the same cluster. In other implementations, attenuation maps, binary maps, and / or ternary maps, or variations thereof, are provided as supplemental inputs to neural network 206. Pre-processing: Intensity correction

[0223] In some embodiments, the input data 204 does not include a range channel, but instead the neural network 206 receives as input the output of the neural network-based template generator 1512, i.e., modified image data that is modified based on the attenuation map, the binary map, and / or the ternary map. In such embodiments, the intensity of the image data 202 is modified to account for the absence of the range channel.

[0224] In other embodiments, the image data 202 is subjected to one or more lossless transformation operations (e.g., convolution, deconvolution, Fourier transform) and the resulting modified image data is provided as input to the neural network 206.

[0225] Network Structure and Topology Neural network 206 is also referred to herein as a "neural network-based base caller" 218. In one embodiment, neural network-based base caller 218 is a multi-layer perceptron (MLP). In another embodiment, neural network-based base caller 218 is a feed-forward neural network. In yet another embodiment, neural network-based base caller 218 is a fully connected neural network. In a further embodiment, neural network-based base caller 218 is a fully convolutional neural network. In yet a further embodiment, neural network-based base caller 218 is a semantic segmentation neural network.

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

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

[0228] The neural network-based base caller 218 processes the input data 204 and generates alternate representations 208 of the input data 204. The alternate representations 208 are convolutional representations in some embodiments and hidden representations in other embodiments. The alternate representations 208 are then processed by the output layer 210 to generate output 212. The output 212 is used to generate base calls, as described below. output

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

[0230] We now describe how to obtain the appropriate location / position information (e.g., x and y coordinates) of the cluster centers to use when calculating the distance values ​​of the distance channel. Coordinate downscaling

[0231] FIG. 3 is one implementation of converting the location / position information of the cluster centers identified from the output of the neural network-based template generator 1512 from the sub-pixel domain to the pixel domain.

[0232] The location / position information of the cluster centers is used for neural network-based base calling at least (i) to construct input data by extracting image patches from the sequencing image 108 that contain within their center pixels the centers of the target clusters to be base called, (ii) to construct distance channels that identify the distances of the centers of the pixels of the image patches from the centers of the target clusters contained in the center pixels of the image patches, and / or (iii) as supplemental input 216 to the neural network-based base caller 218.

[0233] In some embodiments, the location / position information of the cluster centers is identified from the output of the neural network-based template generator 1512 at an upsampled sub-pixel resolution. However, in some embodiments, the neural network-based base caller 218 operates on image data at optical pixel resolution. Thus, in one embodiment, the location / position information of the cluster centers is converted to the pixel domain by downscaling the coordinates of the cluster centers by the same upsampling factor used to upsample the image data provided as input to the neural network-based template generator 1512.

[0234] For example, consider that the image patch data provided as input to the neural network-based template generator 1512 is derived by upsampling the sequencing images 108 from some initial sequencing cycles by an upsampling factor f. Then, in one embodiment, the coordinates of the cluster centers 302 generated by the neural network-based template generator 1512 by the post processor 1814 and stored in the template / template image 304 are divided by f (the divisor). These downscaled cluster center coordinates are referred to herein as "reference cluster centers" 308 and are stored in the template / template image 304. In one embodiment, the downscaling is performed by a downscaler 306. Coordinate conversion

[0235] 4 shows one implementation where cycle-specific and image channel-specific transformations are used to derive so-called "transformed cluster centers" 404 from reference cluster centers 308. The motivation for doing so is first discussed.

[0236] Sequencing images taken in different sequencing cycles are misaligned and have a random translational offset relative to each other. This is due to the finite precision of the sensor's motion stage and also because images taken in different image / frequency channels have different optical paths and wavelengths. As a result, there is an offset between the reference cluster center and the location / position of the cluster center in the sequencing image. This offset varies between images captured in different sequencing cycles and within images captured in the same sequencing cycle but in different image channels.

[0237] To account for this offset, cycle-specific and image channel-specific transformations are applied to the reference cluster centers to generate respective transformed cluster centers for the 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 Procrustes transformation (e.g., translation, rotation, scaling, optionally extended to aspect ratio), further details of which can be found in Appendices 1, 2, 3, and 4.

[0238] For example, consider that the reference cluster centers for the four cluster centers are (x1, y1); (x2, y2); (x3, y3); (x4, y4) and the sequencing run uses two-channel chemistry that generates red and green images in each sequencing cycle. Then, for example, in sequencing cycle 3, the cycle-specific and image channel-specific transformations are

number

number

[0239] Similarly, for exemplary sequencing cycle 9, the cycle-specific and image channel-specific transforms are

number

number

[0240] and the transformed cluster centers for the red image of sequencing cycle 3.

number

number

number

number

[0241] Similarly, the transformed cluster centers for the red image of sequencing cycle 9

number

number

number

number

[0242] In one embodiment, the conversion is performed by converter 402 .

[0243] The transformed cluster centers 404 are stored in the template / template image 304 and are used (i) for patch extraction from the corresponding sequencing image 108 (e.g., by patch extractor 406) and (ii) for use in the distance equation

number

[0244] 5 shows an image patch 502 that is part of the input data provided 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.

[0245] For example, consider a sequencing run using two-channel chemistry that generates red and green images in each sequencing cycle, and the input data includes data spanning a series of three sequencing cycles of the sequencing run: the current (time t) sequencing cycle to be base-called, the previous (time t-1) sequencing cycle, and the next (time t+1) sequencing cycle.

[0246] The input data then includes the following sequence of image patch sets for each cycle: a current cycle image patch set in which the current red image patch and the current green image patch are extracted from the red and green sequencing images captured in the current sequencing cycle, respectively; a previous cycle image patch set in which the previous red image patch and the previous green image patch are extracted from the red and green sequencing images captured in the previous sequencing cycle, respectively; and a next cycle image patch set in which the next red image patch and the next green image patch are extracted from the red and green sequencing images captured in the next sequencing cycle, respectively.

[0247] Each image patch can be n x n in size, where n can be any number ranging from 1 to 10,000. Each image patch can be in the optical pixel domain or in the upsampled subpixel domain. In the embodiment shown in Figure 5, an extracted image page 502 has pixel intensity data for pixels covering / representing multiple clusters 1 to m and their surrounding background. Also in the illustrated embodiment, image patch 502 is extracted in such a way that its center pixel contains the center of the target cluster being base-called.

[0248] In Figure 5, pixel centers are represented by black rectangles and have integer location / position coordinates, while cluster centers are represented by purple circles and have floating point location / position coordinates. Distance calculation for a single target cluster

[0249] 6 illustrates one embodiment for determining distance values ​​602 for the distance channel when a single target cluster is being basecalled by the neural network-based base caller 218. The center of the target cluster is contained within the center pixel of the image patch provided as input to the neural network-based base caller 218. A distance value is calculated for each pixel such that for each pixel, the distance between its center and the center of the target cluster is determined. Thus, a distance value is calculated for each pixel within each of the image patches that are part of the input data.

[0250] 6 shows three distance values ​​d1, dc, and dn for a particular image patch. In one implementation, the distance value 602 is calculated using the distance formula

number

[0251] In another embodiment, when the image patch is upsampled to sub-pixel resolution, the distance value 602 is calculated in the sub-pixel domain.

[0252] Thus, in a single target cluster base calling embodiment, the distance channel is calculated only for the target cluster being base called.

[0253] 7 illustrates one embodiment of encoding 702 the distance values ​​602 calculated between pixels and target clusters on a pixel-by-pixel basis. In one embodiment, in the input data, the distance values ​​602 are part of a distance channel that complements each corresponding image channel (image patch) as "pixel distance data." Returning to the example in which red and green images are generated per sequencing cycle, the input data includes a red distance channel and a green distance channel that complement the red and green image channels, respectively, as pixel distance data.

[0254] In another implementation, when the image patch is upsampled to sub-pixel resolution, the distance channel is encoded on a sub-pixel basis. Distance calculation for multiple target clusters

[0255] 8a shows one embodiment for determining distance values ​​802 for the distance channel when multiple target clusters 1-m are being simultaneously basecalled by the neural network-based base caller 218. Distance values ​​are calculated for each pixel such that for each pixel, the distance between its center and each center of each of the multiple clusters 1-m is determined and the smallest distance value (colored red) is assigned to the pixel.

[0256] Thus, the distance channel identifies the center-to-center distance of each pixel from the nearest one of the clusters selected based on the center-to-center distance between the pixel and each of the clusters. In the illustrated embodiment, Figure 8a shows pixel center-to-cluster center distances for two pixels and four cluster centers. Pixel 1 is closest to cluster 1, and pixel n is closest to cluster 3.

[0257] In one embodiment, the distance value 802 is calculated using the distance formula

number

[0258] In another embodiment, when the image patch is upsampled to sub-pixel resolution, the distance value 802 is calculated in the sub-pixel domain.

[0259] Thus, in multi-cluster base calling implementations, distance channels are calculated for the closest cluster among multiple clusters.

[0260] Figure 8b shows several nearest pixels determined based on pixel center-to-nearest cluster center distance 804 (d1, d2, d23, d29, d24, d32, dn, d13, d14, etc.) for each of target clusters 1-m.

[0261] 9 shows one implementation of encoding 902, on a pixel-by-pixel basis, the minimum distance value calculated between a pixel and the nearest one of the clusters. In another implementation, when the image patch is upsampled to a sub-pixel resolution, the distance channel is encoded on a sub-pixel basis. Distance calculation for multiple target clusters based on cluster shape

[0262] 10 illustrates one implementation of 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 the distance channel when multiple target clusters 1-m are being simultaneously basecalled by a neural network-based base caller 218. First, the following briefly discusses how cluster shape data is generated.

[0263] As described above, the output of the neural network-based template generator 1512 is used to classify pixels as background pixels, center pixels, and cluster / intra-cluster pixels that represent / contribute to / belong to the same cluster. This pixel-cluster classification information is used to assign each pixel to only one cluster, regardless of the distance between the pixel center and the cluster center, and is stored as cluster shape data.

[0264] In the embodiment shown in FIG. 10, background pixels are colored gray, pixels belonging to cluster 1 are colored yellow (cluster 1 pixels), pixels belonging to cluster 2 are colored green (cluster 2 pixels), pixels belonging to cluster 3 are colored red (cluster 3 pixels), and pixels belonging to cluster m are colored blue (cluster m pixels).

[0265] Figure 11 shows one implementation of using cluster shape data to calculate distance values ​​1102. We first explain why distance information calculated without considering cluster shape is prone to error, and then we explain how cluster shape data overcomes this limitation.

[0266] In "multi-cluster" base calling embodiments that do not use cluster shape data (FIGS. 8a-8b and 9), the center-to-center distance value for a pixel is calculated relative to the closest cluster among multiple clusters. Now consider a scenario where a pixel belonging to cluster A is far away from the center of cluster A and closer to the center of cluster B. In such a case, without cluster shape data, the pixel would be assigned a distance value calculated for cluster B (to which the pixel does not belong) instead of being assigned a distance value for cluster A (to which the pixel actually belongs).

[0267] The "multi-cluster shape-based" base calling implementation avoids this by using true pixel-to-cluster mappings as defined in the raw image data and generated by the neural network-based template generator 1512.

[0268] The contrast between the two embodiments can be seen for pixels 34 and 35. In Figure 8b, the distance values ​​of pixels 34 and 35 are calculated relative to the nearest center of cluster 3, without considering the cluster shape data. However, in Figure 11, based on the cluster shape data, the distance value 1102 of pixels 34 and 35 is calculated relative to cluster 2 (to which they actually belong).

[0269] 11, the cluster pixels represent cluster intensities and the background pixels represent background intensities. The cluster distance value identifies the center-to-center distance of each cluster pixel from its assigned cluster, which is selected based on classifying each cluster pixel into only one of the clusters. In some implementations, the background pixels are assigned a predetermined background distance value, such as 0 or 0.1, or some other minimum value.

[0270] In one embodiment, as described above, the cluster distance values ​​1102 are calculated using the distance formula

number

[0271] In another embodiment, when the image patch is upsampled to sub-pixel resolution, the cluster distance values ​​1102 are calculated in the sub-pixel domain, and the cluster and background attribution 1002 occurs on a sub-pixel basis.

[0272] Thus, in multi-cluster shape-based base calling embodiments, distance channels are calculated for assigned clusters from among multiple clusters, where the assigned clusters are selected based on classifying each cluster pixel to only one of the clusters according to the true pixel-to-cluster mapping defined in the raw image data.

[0273] 12 shows one implementation of encoding the distance value 1002 calculated between a pixel and its assigned cluster on a pixel-by-pixel basis. In another implementation, when the image patch is upsampled to sub-pixel resolution, the distance channel is encoded on a sub-pixel basis.

[0274] Deep learning is a powerful machine learning technique that uses multi-layer neural networks. One particularly successful network architecture in the computer vision and image processing domains is the convolutional neural network (CNN), where each layer performs a feedforward convolutional transformation from an input tensor (an image-like multidimensional dense array) to an output tensor of a different shape. CNNs are particularly well-suited for image-like inputs due to the spatial coherence of images and the emergence of general-purpose graphics processing units (GPUs), which enable fast training on arrays up to 3 or 4D. Leveraging these image-like properties results in superior empirical performance compared to other learning methods, such as support vector machines (SVMs) or multilayer perceptrons (MLPs).

[0275] We introduce a specialized architecture that augments standard CNNs to process both image data and complementary distance and scaling data, as detailed below. Specialized Architecture

[0276] 13 shows one embodiment of a specialized architecture for the neural network-based base caller 218 that is used to separate the processing of data for different sequencing cycles. The motivation for using a specialized architecture is first explained.

[0277] As described above, the neural network-based base caller 218 processes data for the current sequencing cycle, one or more preceding sequencing cycles, and one or more subsequent sequencing cycles. Data for the additional sequencing cycles provides sequence-specific context. The neural network-based base caller 218 learns the sequence-specific context during training and calls bases based on it. Additionally, data for previous and subsequent sequencing cycles provide secondary contributions of pre-phasing and phasing signals to the current sequencing cycle. Spatial Convolutional Layer

[0278] However, as mentioned above, images captured in different sequencing cycles and in different image channels are misaligned and have residual registration errors relative to each other. To account for this misalignment, specialized architectures include spatial convolution layers that do not mix information between sequencing cycles, but only within a sequencing cycle.

[0279] The spatial convolutional layer uses so-called "decoupled convolutions" that operationalize decoupling by independently processing the data for each of multiple sequencing cycles through a "dedicated, unshared" sequence of convolutions. Decoupled convolutions convolve only over the data and resulting feature maps of a given sequencing cycle, i.e., the intra-cycle data, and do not convolve over the data and resulting feature maps of any other sequencing cycles.

[0280] For example, consider the input data includes (i) current data for the current (time t) sequencing cycle to be base-called, (ii) previous data for the previous (time t-1) sequencing cycle, and (iii) next data for the next (time t+1) sequencing cycle. The specialized architecture then initiates three separate data processing pipelines (or convolution pipelines): a current data processing pipeline, a previous data processing pipeline, and a next data processing pipeline. The current data processing pipeline receives the current data for the current (time t) sequencing cycle as input and processes it independently through multiple spatial convolution layers to generate a so-called "current spatial convolutional representation" as the output of the final spatial convolutional layer. The previous data processing pipeline receives the previous data for the previous (time t-1) sequencing cycle as input and processes it independently through multiple spatial convolutional layers to generate a so-called "previous spatial convolutional representation" as the output of the final spatial convolutional layer. The next data processing pipeline receives the next data for the next (time t+1) sequencing cycle as input, processes it independently by multiple spatial convolutional layers, and produces a so-called “next spatial convolutional representation” as the output of the final spatial convolutional layer.

[0281] In some embodiments, the current, previous, and next processing pipelines execute in parallel.

[0282] In some implementations, the spatial convolutional layer is part of a spatial convolutional network (or sub-network) within a specialized architecture. Temporal convolutional layers

[0283] The neural network-based base caller 218 further includes temporal convolutional layers that blend information between sequencing cycles, i.e., inter-cycle. The temporal convolutional layers receive their inputs from the spatial convolutional networks and operate on the spatial convolutional representations produced by the final spatial convolutional layer for each data processing pipeline.

[0284] The freedom of inter-cycle operation of temporal convolutional layers arises from the fact that misregistration properties (present in the image data fed as input to the spatial convolutional network) are swept out of the spatial convolutional representation by the cascade of separated convolutions performed by the sequence of spatial convolutional layers.

[0285] The temporal convolutional layer uses so-called "combinatorial convolution," which performs group-wise convolution across input channels in a continuous input based on a sliding window. In one implementation, the continuous input is the continuous output generated by a previous spatial convolutional layer or a previous temporal convolutional layer.

[0286] In some embodiments, the temporal convolutional layer is part of a temporal convolutional network (or sub-network) within a specialized architecture. The temporal convolutional network receives its input from a spatial convolutional network. In one embodiment, the first temporal convolutional layer of the temporal convolutional network combines the spatial convolutional representations between sequencing cycles in groups. In another embodiment, subsequent temporal convolutional layers of the temporal convolutional network combine the successive outputs of previous temporal convolutional layers.

[0287] The output of the final temporal convolutional layer is fed into an output layer that generates outputs that are used to base call one or more clusters in one or more sequencing cycles.

[0288] Separated and combined convolutions are described in more detail below. Separated convolutions

[0289] During forward propagation, the specialized architecture processes information from multiple inputs in two stages. In the first stage, separating convolutions are used to prevent mixing of information between inputs. In the second stage, combining convolutions are used to mix information between inputs. The results from the second stage are used to make a single inference on the multiple inputs.

[0290] This differs from batch-mode techniques, in which a convolutional layer processes multiple inputs in a batch simultaneously and makes a corresponding inference for each input in the batch. In contrast, specialized architectures map multiple inputs to a single inference. A single inference can include two or more predictions, such as a classification score for each of the four bases (A, C, T, and G).

[0291] In one embodiment, the inputs have a temporal ordering such that each input is generated at a different time step and has multiple input channels. For example, the multiple inputs may include three inputs: a current input generated by a current sequencing cycle at time step (t), 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 (t+1). In another embodiment, each input is derived from the current, previous, and next inputs by one or more previous convolutional layers, respectively, and includes k feature maps.

[0292] In one embodiment, each input may include five input channels: a red image channel (red), a red distance channel (yellow), a green image channel (green), a green distance channel (purple), and a scaling channel (blue). In another embodiment, each input may include k feature maps generated by a previous convolutional layer, with each feature map treated as an input channel.

[0293] FIG. 14 illustrates one implementation of decoupled convolution. Decoupled convolution processes multiple inputs at once by applying a convolution filter to each input in parallel. In decoupled convolution, the convolution filter combines input channels within the same input and does not combine input channels within different inputs. In one implementation, the same convolution filter is applied to each input in parallel. In another implementation, different convolution filters are applied to each input in parallel. In some implementations, each spatial convolution layer includes a bank of k convolution filters, one of which is applied to each input in parallel. Combinatorial convolution

[0294] Combinatorial convolution blends information between different inputs by grouping corresponding input channels of the different inputs and applying a convolution filter to each group. The grouping of corresponding input channels and the application of the convolution filter are performed based on a sliding window. In this context, a window spans two or more consecutive input channels, e.g., representing the output for two consecutive sequencing cycles. Because the window is a sliding window, most input channels are used within two or more windows.

[0295] In some implementations, the distinct inputs are derived from an output sequence generated by a preceding spatial or temporal convolutional layer, where the distinct inputs are arranged as successive outputs and are therefore considered successive inputs by the next temporal convolutional layer, where a combinatorial convolution then applies a convolutional filter to corresponding groups of input channels in the successive inputs.

[0296] In one embodiment, the successive inputs have a temporal ordering such that the current input is generated by the current sequencing cycle at time step (t), the previous input is generated by the previous sequencing cycle at time step (t-1), and the next input is generated by the next sequencing cycle at time step (t+1). In another embodiment, each successive input is derived from the current, previous, and next inputs by one or more previous convolutional layers, respectively, and includes k feature maps.

[0297] In one embodiment, each input may include five input channels: a red image channel (red), a red distance channel (yellow), a green image channel (green), a green distance channel (purple), and a scaling channel (blue). In another embodiment, each input may include k feature maps generated by a previous convolutional layer, with each feature map treated as an input channel.

[0298] The depth B of the convolution filter depends on the number of consecutive inputs whose corresponding input channels are convolved in groups by the convolution filter based on the sliding window. In other words, the depth B is equal to the number of consecutive inputs and the group size in each sliding window.

[0299] In Figure 15a, corresponding input channels from two continuous inputs are combined within each sliding window, so B = 2. In Figure 15b, corresponding input channels from three continuous inputs are combined within each sliding window, so B = 3.

[0300] In one embodiment, the sliding windows share the same convolutional filter. In another embodiment, a different convolutional filter is used for each sliding window. In some embodiments, the temporal convolutional layer includes a bank of k convolutional filters, each of which is applied to a successive input based on a sliding window. Filter Bank

[0301] FIG. 16 shows one implementation of the convolutional layers of the neural network-based base caller 218, where each convolutional layer has a bank of convolutional filters. Five convolutional layers are shown in FIG. 16, each of which has a bank of 64 convolutional filters. In some implementations, each spatial convolutional layer has a bank of k convolutional filters, where k can be any number, such as 1, 2, 8, 64, 128, 256, etc. In some implementations, each temporal convolutional layer has a bank of k convolutional filters, where k can be any number, such as 1, 2, 8, 64, 128, 256, etc.

[0302] We now describe the complementary scaling channel and how it is calculated. Scaling Channels

[0303] Figure 17 shows two configurations of a scaling channel that complements the image channel. The scaling channel is encoded on a pixel-by-pixel basis within the input data provided to the neural network-based base caller 218. Different cluster sizes and uneven lighting conditions result in a wide range of cluster intensities being extracted. The additive bias provided by the scaling channel equalizes cluster intensities across clusters. In another implementation, when the image patches are upsampled to sub-pixel resolution, the scaling channel is encoded on a sub-pixel basis.

[0304] When a single target cluster is being base called, the scaling channel assigns the same scaling value to all pixels. When multiple target clusters are being base called simultaneously, the scaling channel assigns different scaling values ​​to groups of pixels based on the cluster shape data.

[0305] The scaling channel 1710 has the same scaling value (s1) for all pixels. The scaling value (s1) is based on the average intensity of the central pixel that comprises the center of the target cluster. In one embodiment, the average intensity is calculated by averaging the intensity values ​​of the central pixel observed during two or more previous sequencing cycles that generated A and T base calls for the target cluster.

[0306] The scaling channel 1708 has a different scaling value (s1, s2, s3, sm) for each pixel group that belongs to a corresponding cluster based on the cluster shape data. Each pixel group includes a central cluster pixel that contains the center of the corresponding cluster. The scaling value for a particular pixel group is based on the average intensity of that central cluster pixel. In one embodiment, the average intensity is calculated by averaging the intensity values ​​of the central cluster pixel observed during two or more prior sequencing cycles that generated A and T base calls for the corresponding cluster.

[0307] In some implementations, background pixels are assigned a background scaling value (sb), which may be 0 or 0.1, or some other minimum value.

[0308] In one embodiment, 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 the previous sequencing cycle to calculate the average intensity.

[0309] In other implementations, the supplemental scaling channel may be provided as input in a different manner, such as before or at the last layer of the neural network-based base caller 218, before or at one or more intermediate layers of the neural network-based base caller 218, and as a single value instead of being encoded pixel-by-pixel to match the image size.

[0310] The input data provided to the neural network-based base caller 218 will now be described. Input data: image channel, distance channel, and scaling channel

[0311] 18a shows one embodiment of input data 1800 for a single sequencing cycle that produces red and green images. The input data 1800 includes: Red intensity data 1802 (red) for pixels in an image patch extracted from the red image. The red intensity data 1802 is encoded in the red image channel. Red distance data 1804 (yellow) that complements the red intensity data 1802 on a pixel-by-pixel basis. The red distance data 1804 is encoded in the red distance channel. Green intensity data 1806 (green) for pixels in an image patch extracted from the green image. The green intensity data 1806 is encoded in the green image channel. Green distance data 1808 (purple) that complements the green intensity data 1806 on a pixel-by-pixel basis. The green distance data 1808 is encoded in the green distance channel. Scaling data 1810 (blue) that complements the red intensity data 1802 and green intensity data 1806 on a pixel-by-pixel basis. The scaling data 1810 is encoded in the scaling channel.

[0312] In other embodiments, the input data can include fewer or more image channels and supplemental distance channels. In one example, for a sequencing run using four-channel chemistry, the input data includes four image channels and four supplemental distance channels for each sequencing cycle.

[0313] We now describe how the distance and scaling channels contribute to base calling accuracy. Additive bias

[0314] Figure 18b shows an implementation of a distance channel that provides an additive bias that is incorporated into feature maps generated from the image channel. This additive bias contributes to base calling accuracy because it is based on pixel-centre-to-cluster-centre distance, which is encoded on a pixel-by-pixel basis in the distance channel.

[0315] On average, approximately 3x3 pixels comprise one cluster. The density at the center of the cluster is expected to be higher than at the periphery, since the cluster essentially grows outward from the central location. Peripheral cluster pixels may contain competing signals from nearby clusters. Therefore, the central cluster pixel is considered the region of greatest intensity and acts as a beacon to reliably identify the cluster.

[0316] The pixels of an image patch represent the intensity emissions of multiple clusters (e.g., 10-200 clusters) and their surrounding background. Additional clusters contribute to base call prediction by incorporating information from a wider radius and discerning the underlying bases whose intensity emissions are represented in the image patch. In other words, the intensity emissions from groups of clusters cumulatively create an intensity pattern that can be assigned to individual bases (A, C, T, or G).

[0317] It has been observed that explicitly communicating each pixel's distance from the cluster center to the convolution filter in a supplemental distance channel results in higher base calling accuracy. The distance channel informs the convolution filter which pixels contain the cluster center and which pixels are farther away from the cluster center. The convolution filter uses this information to assign sequencing signals to their appropriate source clusters by focusing on (a) central cluster pixels, their neighboring pixels, and the feature maps derived therefrom, rather than (b) peripheral cluster pixels, background pixels, and the feature maps derived therefrom. In one example of focusing, the distance channel provides a positive additive bias that is incorporated into the feature maps resulting from (a) and a negative additive bias that is incorporated into the feature maps resulting from (b).

[0318] The distance channel has the same dimensionality as the image channel, which allows the convolution filter to estimate the image and distance channels separately within the local receptive field and then coherently combine the estimates.

[0319] When a single target cluster is being base called, the distance channel identifies only one central cluster pixel at the center of the image patch. When multiple target clusters are being base called simultaneously, the distance channel identifies multiple central cluster pixels distributed across the image patch.

[0320] The "single cluster" distance channel is applied to an image patch that contains within its center pixel the center of a single target cluster to be base called. The single cluster distance channel contains the center-to-center distance of each pixel in the image patch to the single target cluster. In this embodiment, the image patch also contains additional clusters adjacent to the single target cluster, but the additional clusters are not base called.

[0321] The "multi-cluster" distance channel is applied to an image patch that contains the centers of multiple target clusters to be base-called within each central cluster pixel. The multi-cluster distance channel contains the center-to-center distance of each pixel in the image patch to the nearest cluster among the multiple target clusters. This has the potential, but unlikely, to measure the center-to-center distance to the wrong cluster.

[0322] The "multi-cluster shape-based" distance channel is applied to an image patch that contains the centers of multiple base-called target clusters within their respective central cluster pixels, and for which pixel-to-cluster membership information is known. The multi-cluster distance channel contains the distance from the center of each cluster pixel in the image patch to the center of the cluster among the multiple target clusters that belongs to or is attributed to that cluster pixel. Background pixels can be flagged as background instead of being given a calculated distance.

[0323] Figure 18b also shows one implementation of a scaling channel that provides an additive bias that is incorporated into the feature maps generated from the image channel. This additive bias contributes to base calling accuracy because it is based on the average intensity of the central cluster pixels, which is encoded pixel-by-pixel within the scaling channel. The discussion of additive bias in the context of the distance channel applies analogously to the scaling channel. Example of additive bias

[0324] FIG. 18b further illustrates an example of how additive biases are derived from the distance and scaling channels and incorporated into the feature maps generated from the image channel.

[0325] In Figure 18b, convolution filter i 1814 evaluates the local receptive field 1812 (magenta) across two image channels 1802 and 1806, two distance channels 1804 and 1808, and a scaling channel 1810. Because the distance and scaling channels are coded separately, additive biasing occurs when the intermediate outputs 1816a-e (and bias 1816f) of each of the channel-specific convolution kernels (or feature detectors) 1816a-e are accumulated 1818 per channel as the final output / feature map element 1820 for the local receptive field 1812. In this example, the additive biases provided by the two distance channels 1804 and 1808 are intermediate outputs 1816b and 1816d, respectively. The additive bias provided by the scaling channel 1810 is intermediate output 1816e.

[0326] The additive bias drives the feature map compilation process by placing more emphasis on those features within image channels that are deemed more important and reliable for the base call, i.e., the pixel intensities of the central cluster pixels and their neighboring pixels. During training, backpropagation of gradients computed from comparisons with the ground truth base call updates the weights of the convolution kernel to yield stronger activation for the central cluster pixels and their neighboring pixels.

[0327] For example, consider that a pixel within a group of neighboring pixels covered by local receptive field 1812 comprises a cluster center, and distance channels 1804 and 1808 then reflect the pixel's proximity to the cluster center. As a result, when intensity intermediate outputs 1816a and 1816c are merged with distance channel additive biases 1816b and 1816d in channel-wise accumulation 1818, a positively biased convolved representation 1820 of the pixel is obtained.

[0328] In contrast, if the pixels covered by the local receptive field 1812 are not near the cluster center, the distance channels 1804 and 1808 reflect their separation from the cluster center. As a result, when the intensity intermediate outputs 1816a and 1816c are merged with the distance channel additive biases 1816b and 1816d in the channel-wise accumulation 1818, a negatively biased convolved representation 1820 of the pixel is obtained.

[0329] Similarly, the scaling channel additive bias 1816e derived from the scaling channel 1810 can bias the convolved representation 1820 of the pixel positively or negatively.

[0330] For clarity, Figure 18b shows the application of a single convolution filter i 1814 on input data 1800 for a single sequencing cycle. Those skilled in the art will understand that this description can be extended to multiple convolution filters (e.g., a filter bank of k filters, where k can be 8, 16, 32, 64, 128, 256, etc.), multiple convolution layers (e.g., multiple spatial and temporal convolution layers), and multiple sequencing cycles (e.g., t, t+1, t-1).

[0331] In other embodiments, the distance and scaling channels are applied directly to the image channel (to generate modulated pixel amplification) instead of being coded separately, since the distance and scaling channels and the image channel have the same dimensionality. In a further embodiment, the weights of the convolution kernel are determined based on the distance and image channels to detect the most important features in the image channel during element-wise amplification. In yet another embodiment, the distance and scaling channels are provided as auxiliary inputs to downstream layers and / or networks (e.g., fully connected networks or classification layers) instead of being fed to the first layer. In yet a further embodiment, the distance and scaling channels are fed to the first layer and re-fed to downstream layers and / or networks (e.g., via residual connections).

[0332] The above description is for 2D input data with k input channels. Extensions to 3D inputs will be understood by those skilled in the art. Briefly, the volumetric input is a 4D tensor with dimensions k×l×w×h, where l is the additional dimension, i.e., length. Each individual kernel is a 4D tensor swept within the 4D tensor, resulting in a 3D tensor (the channel dimension is collapsed since it is not swept transversely).

[0333] In another embodiment, when the input data 1800 is at upsampled sub-pixel resolution, the distance and scaling channels are coded separately for each sub-pixel, and additive biasing is performed at the sub-pixel level. Base calling using specialized architecture and input data

[0334] We now describe how specialized architectures and input data are used for neural network-based base calling. Single cluster base call

[0335] Figures 19a, 19b, and 19c show one embodiment for base calling a single target cluster. The specialized architecture processes three sequencing cycles: the current (time t) sequencing cycle being base called, the previous (time t-1) sequencing cycle, and the next (time t+1) sequencing cycle, and generates base calls for the single target cluster in the current (time t) sequencing cycle.

[0336] Figures 19a and 19b show spatial convolutional layers. Figure 19c shows temporal convolutional layers along with several other non-convolutional layers. In Figures 19a and 19b, vertical dotted lines separate the spatial convolutional layers from the feature maps, and horizontal dashed lines separate the three convolutional pipelines corresponding to the three sequencing cycles.

[0337] For each sequencing cycle, the input data includes a tensor of dimensionality n×n×m (e.g., input tensor 1800 in FIG. 18a), where n represents the width and height of the square tensor and m represents the number of input channels, creating input data of dimensionality n×n×m×t for the three cycles.

[0338] Here, each per-cycle tensor contains the center of a single target cluster within the central pixel of that image channel. Each per-cycle tensor also represents the intensity emission of the single target cluster, several neighboring clusters, and their surrounding background captured in each of the image channels in a particular sequencing cycle. In Figure 19a, two exemplary image channels are shown: a red image channel and a green image channel.

[0339] The tensor for each cycle also includes distance channels (e.g., red distance channel and green distance channel) that are complementary to the corresponding image channel. The distance channels identify the center-to-center distance of each pixel in the corresponding image channel to a single target cluster. The tensor for each cycle further includes a scaling channel that scales the intensity values ​​pixel-by-pixel in each of the image channels.

[0340] The specialized architecture has five spatial convolutional layers and two temporal convolutional layers. Each spatial convolutional layer applies a decoupled convolution using a bank of k convolutional filters of dimensionality j×j×∂ (j represents the width and height of the square filter, and ∂ represents its depth). Each temporal convolutional layer applies a combinatorial convolution using a bank of k convolutional filters of dimensionality j×j×α (j represents the width and height of the square filter, and α represents its depth).

[0341] The specialized architecture has a pre-classification layer (e.g., a flattening layer and a densifying layer) and an output layer (e.g., a softmax classification layer). The pre-classification layer prepares the input for the output layer, which generates base calls for a single target cluster in the current (time t) sequencing cycle. Consistently decreasing spatial dimensionality

[0342] 19a, 19b, and 19c also show the resulting feature maps (convolutional representations or intermediate convolutional representations or convolved feature or activation maps) generated by the convolutional filters. Starting with the tensors per cycle, the spatial dimensionality of the resulting feature maps decreases with a constant step size from one convolutional layer to the next (a concept referred to herein as "consistently decreasing spatial dimensionality"). In FIGS. 19a, 19b, and 19c, an exemplary constant step size of 2 is used for consistently decreasing spatial dimensionality.

[0343] Consistently decreasing spatial dimensionality is expressed by the following formula: "current feature map spatial dimensionality = previous feature map spatial dimensionality - convolutional filter spatial dimensionality + 1." Consistently decreasing spatial dimensionality allows the convolutional filter to progressively narrow the focus of attention on the central cluster pixel and its neighboring pixels, generating a feature map with features that capture the local dependencies between the central cluster pixel and its neighboring pixels. This in turn helps accurately base call clusters whose centers are contained within the central cluster pixel.

[0344] The separated convolutions of the five spatial convolution layers prevent mixing of information between the three sequencing cycles and maintain three separate convolution pipelines.

[0345] The combinatorial convolution of the two temporal convolutional layers blends information between the three sequencing cycles. The first temporal convolutional layer performs a convolution over the next and current spatial convolutional representations generated by the final spatial convolutional layer for the next and current sequencing cycles, respectively, to obtain a first temporal output. The first temporal convolutional layer also performs a convolution over the current and previous spatial convolutional representations generated by the final spatial convolutional layer for the current and previous sequencing cycles, respectively, to obtain a second temporal output. The second temporal convolutional layer performs a convolution over the first and second temporal outputs to generate a final temporal output.

[0346] In some embodiments, the final temporal output is fed to a flattening layer to generate a flattened output. The flattened output is then fed to a densification layer to generate a densification output. The densification output is processed by an output layer to generate base calls for a single target cluster in the current (time t) sequencing cycle.

[0347] In some embodiments, the output layer generates likelihoods (classification scores) that the base incorporated into a single target cluster in the current sequencing cycle is A, C, T, and G, and classifies the base as A, C, T, or G based on these likelihoods (e.g., the base with the greatest likelihood is selected, such as base A in Figure 19a). In such embodiments, the likelihoods are exponentially normalized scores generated by a softmax classification layer, which sum to 1.

[0348] In some embodiments, the output layer derives an output pair for a single target cluster. The output pair identifies the class label of the base incorporated into the single target cluster in the current sequencing cycle, whether A, C, T, or G, and base calls the single target cluster based on the class label. In one embodiment, 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, and a class label of 0,0 identifies a G base. In another embodiment, 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, and a class label of 0,0 identifies a G base. In yet another embodiment, 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, and a class label of 0,0 identifies a G base. In yet a further embodiment, the class label 1,2 identifies an A base, the class label 0,1 identifies a C base, the class label 1,1 identifies a T base, and the class label 0,0 identifies a G base.

[0349] In some embodiments, the output layer derives a class label for the single target cluster that identifies whether the base incorporated into the single target cluster in the current sequencing cycle is A, C, T, or G, and base calls the single target cluster based on the class labels. In one embodiment, 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, and a class label of 0 identifies a G base. In another embodiment, 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, and a class label of 0.25 identifies a G base.

[0350] In some embodiments, the output layer derives a single output value, compares the single output value to class value ranges corresponding to bases A, C, T, and G, assigns the single output value to a particular class value range based on the comparison, and basecalls a single target cluster based on this assignment. In one embodiment, the single output value is derived using a sigmoid function, and the single output value ranges from 0 to 1. In another embodiment, a class value range of 0 to 0.25 represents A bases, a class value range of 0.25 to 0.50 represents C bases, a class value range of 0.50 to 0.75 represents T bases, and a class value range of 0.75 to 1 represents G bases.

[0351] Those skilled in the art will understand that in other embodiments, specialized architectures can process input data for fewer or more sequencing cycles and can include fewer or more spatial and temporal convolutional layers. The dimensionality of the input data, the tensors per cycle in the input data, the convolutional filters, the resulting feature maps, and the output may also differ. The number of convolutional filters in a convolutional layer may also differ. It may use different padding and striding configurations. It may use different classification functions (e.g., sigmoid or regression) and may or may not include fully connected layers. It may use 1D convolution, 2D convolution, 3D convolution, 4D convolution, 5D convolution, dilated or asexual convolution, transposed convolution, depth-separable convolution, 1x1 convolution, group convolution, flattened convolution, spatial and cross-channel convolution, shuffled grouped convolution, spatially separable convolution, and deconvolution. It can use one or more loss functions such as logistic regression / logarithmic loss, multiclass cross-entropy / softmax loss, binary cross-entropy loss, mean squared error loss, L1 loss, L2 loss, smoothed L1 loss, and Huber loss. It can use any parallel, efficient, and compression schemes such as TFRecords, compression encoding (e.g., PNG), sharpening, parallel calls to map transforms, batching, prefetching, model parallelism, data parallelism, and synchronous / asynchronous SGD. This includes nonlinear transformation functions such as upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (such as LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, Pejol connections, activation functions (e.g., nonlinear transformation functions such as rectified linear units (ReLU), leaky ReLU, exponential linear units (ELU), sigmoid, and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or mean pooling), global mean pooling layers, and attention mechanisms.

[0352] Having discussed base calling for a single cluster, we now discuss base calling for multiple clusters. Multiple cluster base calling

[0353] Depending on the size of the input data and the cluster density on the flow cell, between 10 and 300,000 clusters per input are simultaneously base called by the neural network-based base caller 218. Extending this to a data-parallel and / or model-parallel strategy implemented on a parallel processor and using batches or mini-batches of size 10 results in between 100 and 3 million clusters being simultaneously base called per batch or mini-batch.

[0354] Depending on the sequencing configuration (e.g., cluster density, number of tiles on a flow cell), a tile contains 20,000 to 300,000 clusters. In another embodiment, Illumina's NovaSeq sequencer has up to 4 million clusters per tile. Thus, a sequencing image of a tile (tile image) can represent the intensity emissions of 20,000 to 300,000 clusters and their surrounding background. Thus, in one embodiment, using input data comprising the entire tile image results in 300,000 clusters being simultaneously base-called per input. In another embodiment, using image patches of size 15x15 pixels in the input data results in fewer than 100 clusters being simultaneously base-called per input. Those skilled in the art will understand that these numbers may vary depending on the sequencing configuration, parallelism strategy, architecture details (e.g., based on optimal architecture hyperparameters), and available computation.

[0355] Figure 20 shows one embodiment for simultaneously base calling multiple target clusters. The input data has three tensors for the three sequencing cycles described above. The tensor for each cycle (e.g., input tensor 1800 in Figure 18a) represents the intensity emissions of multiple target clusters to be base called and their surrounding background captured in each of the image channels in a particular sequencing cycle. In other embodiments, several additional neighboring clusters that are not base called are also included for context.

[0356] In a multi-cluster base calling implementation, the tensor for each cycle includes distance channels (e.g., red distance channel and green distance channel) that are complementary to the corresponding image channel, and the distance channels identify the center-to-center distance of each pixel in the corresponding image channel to the nearest cluster among multiple target clusters.

[0357] In a multi-cluster shape-based base calling implementation, the tensor for each cycle includes distance channels (e.g., red distance channel and green distance channel) that are complementary to the corresponding image channel, and identify the distance from the center of each cluster pixel in the corresponding image channel to the center of a cluster among multiple target clusters that belongs to or is attributed to that cluster pixel.

[0358] The tensor for each cycle further includes a scaling channel that scales the intensity values ​​in each of the image channels pixel by pixel.

[0359] In Figure 20, the spatial dimensionality of the tensor for each cycle is greater than that shown in Figure 19a. That is, in the single target cluster base calling embodiment of Figure 19a, the spatial dimensionality of the tensor for each cycle is 15 x 15, whereas in the multiple cluster base calling embodiment of Figure 20, the spatial dimensionality of the tensor for each cycle is 114 x 114. Having a greater amount of pixelated data representing the intensity emissions of additional clusters improves the accuracy of base calls predicted for multiple clusters simultaneously, according to some embodiments. Avoiding redundant convolutions

[0360] Furthermore, the image channels in the tensor for each cycle are derived from image patches extracted from the sequencing image. In some implementations, there are overlapping pixels between extracted image patches that are spatially contiguous (e.g., contiguous at left, right, top, and bottom). Thus, in one implementation, the overlapping pixels do not undergo redundant convolutions, and when the overlapping pixels are part of a subsequent input, the results from the previous convolution are reused in the subsequent instance.

[0361] For example, consider a first image patch of size n×n pixels extracted from a sequencing image, and a second image patch of size m×m pixels extracted from the same sequencing image, such that the first and second image patches are spatially contiguous and share an overlapping region of o×o pixels. Further consider that o×o pixels are convolved as part of the first image patch to generate a first convolved representation that is stored in memory. Then, when the second image patch is convolved, the o×o pixels are not convolved again; instead, the first convolved representation is retrieved from memory and reused. In some embodiments, n=m. In other embodiments, they are not equal.

[0362] The input data is then processed by spatial and temporal convolutional layers of a specialized architecture to produce a final temporal output of dimensionality w x w x k. Again, in the event of consistently decreasing spatial dimensionality, the spatial dimensionality is reduced by a constant step size of 2 at each convolutional layer. That is, starting with input data of n x n spatial dimensionality, a final temporal output of w x w spatial dimensionality is derived.

[0363] An output layer then generates a base call for each unit in the w×w set of units based on the final temporal output with spatial dimensionality w×w. In one embodiment, the output layer is a softmax layer that generates four classification scores for the four bases (A, C, T, and G) per unit. That is, each unit in the w×w set of units is assigned a base call based on the maximum classification score in the corresponding softmax quadruple, as shown in FIG. 20. In some embodiments, the w×w set of units is derived as a result of processing the final temporal output through a flattening layer and a dense layer to generate a flattened output and a dense output, respectively. In such embodiments, the flattened output has w×w×k elements, and the dense output has w×w elements forming the w×w set of units.

[0364] Base calls for multiple target clusters are obtained by identifying which of the base-called units in the w x w set of units match or correspond to a central cluster pixel, i.e., a pixel in the input data that contains the center of each of the multiple target clusters. A given target cluster is assigned base calls of units that match or correspond to the pixel that contains the center of the given target cluster. In other words, base calls of units that do not match or correspond to the central cluster pixel are filtered out. This functionality is enabled by a base call filtering layer, which in some embodiments is part of a specialized architecture or, in other embodiments, is implemented as a post-processing module.

[0365] In another embodiment, base calls for multiple target clusters are obtained by identifying which groups of base-called units in the w x w set of units cover the same cluster, i.e., by identifying pixel groups in the input data that represent the same cluster. Then, for each cluster and its corresponding pixel group, the average classification score (softmax probability) of each of the four base classes (A, C, T, and G) is calculated over the pixels in the pixel group, and the base class with the highest average classification score is selected to base call the cluster.

[0366] During training, in some embodiments, ground truth comparisons and error calculations are performed only for units that match or correspond to the central cluster pixels, so that their predicted base calls are evaluated against the correct base calls, which are identified as ground truth labels.

[0367] Having described base calling of multiple clusters, we now describe base calling of multiple clusters and multiple cycles. Multiple clusters and multiple cycles of base calling

[0368] FIG. 21 illustrates one embodiment for simultaneously base calling multiple target clusters in multiple successive sequencing cycles, thereby simultaneously generating base call sequences for each of the multiple target clusters.

[0369] In the single and multiple base calling embodiments described above, a base call in one sequencing cycle (the current (time t) sequencing cycle) is predicted using data for three sequencing cycles (the current (time t), previous / left flanking (time t-1), and next / right flanking (time t+1) sequencing cycles), with the right and left flanking sequencing cycles providing sequence-specific context for the base triplet motif, as well as the quadratic contributions of pre-phasing and phasing signals. This relationship is expressed by the following equation: "Number of sequencing cycles for which input data contains data (t) = Number of sequencing cycles being base-called (y) + Number of right and left flanking sequencing cycles (x)."

[0370] In Figure 21, the input data includes t per-cycle tensors for t sequencing cycles, resulting in an input data dimensionality of n x n x m x t, where n = 114, m = 5, and t = 15. In other embodiments, these dimensionalities are different. Of the t sequencing cycles, the t th sequencing cycle and the first sequencing cycle serve as right and left flanking contexts x, and y sequencing cycles between them are base called. Thus, y = 13, x = 2, and t = y + x. Each per-cycle tensor includes an image channel, a corresponding distance channel, and a scaling channel, such as input tensor 1800 in Figure 18a.

[0371] The input data, having t tensors per cycle, is then processed by spatial and temporal convolutional layers of a specialized architecture to generate y final temporal outputs, each corresponding to a respective one of the y sequencing cycles being basecalled. Each of the y final temporal outputs has a dimensionality of w × w × k. Again, in the event of consistently decreasing spatial dimensionality, the spatial dimensionality decreases by a constant step size of 2 at each convolutional layer. That is, starting with input data of n × n spatial dimensionality, each of the y final temporal outputs of w × w spatial dimensionality is derived.

[0372] Each of the y final temporal outputs is then processed in parallel by an output layer. For each of the y final temporal outputs, the output layer generates a base call for each unit in the w x w set of units. In one embodiment, the output layer is a softmax layer that generates four classification scores for the four bases (A, C, T, and G) per unit. That is, each unit in the w x w set of units is assigned a base call based on the maximum classification score in the corresponding softmax quadruple, as shown in Figure 20. In some embodiments, the w x w set of units is derived as a result of processing each of the y final temporal outputs through a flattening layer and a dense layer, respectively, to generate corresponding flattened and dense outputs. In such embodiments, each flattened output has w x w x k elements, and each dense output has w x w elements forming a w x w set of units.

[0373] For each of the y sequencing cycles, base calls for the multiple target clusters are obtained by identifying which of the base-called units in the corresponding w × w set of units match or correspond to a central cluster pixel, i.e., a pixel in the input data that contains the center of each of the multiple target clusters. A given target cluster is assigned base calls of units that match or correspond to a pixel that contains the center of the given target cluster. In other words, base calls of units that do not match or correspond to a central cluster pixel are filtered out. This functionality is enabled by a base call filtering layer, which in some embodiments is part of a specialized architecture or is implemented as a post-processing module in other embodiments.

[0374] During training, in some embodiments, ground truth comparisons and error calculations are performed only for units that match or correspond to the central cluster pixels, so that their predicted base calls are evaluated against the correct base calls, which are identified as ground truth labels.

[0375] Each input results in a base call for each of the plurality of target clusters in each of y sequencing cycles, i.e., a base call sequence of length y for each of the plurality of target clusters. In other embodiments, y is 20, 30, 50, 150, 300, etc. Those skilled in the art will understand that these numbers may vary depending on the sequencing configuration, parallel strategy, architectural details (e.g., based on optimal architectural hyperparameters), and available computation. End-to-end dimensionality diagram

[0376] The following description uses dimensionality diagrams to illustrate different implementations of the underlying data dimensionality changes required to generate base calls from image data, along with the dimensionality of the data operators that implement said data dimensionality changes.

[0377] In Figures 22, 23, and 24, rectangles represent data operators such as spatial and temporal convolutional layers and softmax classification layers, and rectangles with rounded corners represent data (e.g., feature maps) produced by the data operators.

[0378] FIG. 22 shows a dimensionality diagram 2200 for a single cluster base calling implementation. Note that the input "cycle dimension" is 3 and remains 3 for the resulting feature maps until the first temporal convolutional layer. The cycle dimension of 3 represents three sequencing cycles, and the continuity represents that the feature maps for the three sequencing cycles are generated and convolved separately, and that features are not mixed between the three sequencing cycles. The decoupled convolution pipeline is realized by depth-wise decoupled convolution filters in the spatial convolutional layers. Note that the "depth dimensionality" of the depth-wise decoupled convolution filters in the spatial convolutional layers is 1. This allows the depth-wise decoupled convolution filters to convolve over only the data and resulting feature maps of a given sequencing cycle, i.e., intra-cycle, and prevents the depth-wise decoupled convolution filters from convolving over the data and resulting feature maps of any other sequencing cycles.

[0379] In contrast, note that the depth-wise combinatorial convolutional filters in the temporal convolutional layers have a depth dimensionality of 2. This allows the depth-wise combinatorial convolutional filters to perform group-wise convolutions across the resulting feature maps from multiple sequencing cycles, blending features across sequencing cycles.

[0380] Also note the consistent reduction in "spatial dimensionality" with a constant step size of 2.

[0381] The four-element vector is then exponentially normalized by a softmax layer to generate classification scores (i.e., confidence scores, probabilities, likelihoods, softmax scores) for the four bases (A, C, T, and G). The base with the highest (maximum) softmax score is assigned to the single target cluster being base-called in the current sequencing cycle.

[0382] Those skilled in the art will appreciate that in other implementations, the illustrated dimensionality may vary depending on the sequencing configuration, parallel strategy, architectural details (e.g., based on optimal architectural hyperparameters), and available computation.

[0383] 23 shows a dimensionality diagram 2300 for a multiple cluster, single sequencing cycle base calling embodiment. The above discussion regarding cycles, depth, and spatial dimensionality for single cluster base calling applies to this embodiment.

[0384] Here, the softmax layer operates independently on each of the 10,000 units to generate a respective quadruple of softmax scores for each of the 10,000 units, where a quadruple corresponds to the four bases (A, C, T, and G). In some embodiments, the 10,000 units are derived from converting 64,0000 flattened units into 10,000 dense units.

[0385] Then, from the softmax score quadruples of each of the 10,000 units, the base with the highest softmax score in each quadruple is assigned to each one of the 10,000 units.

[0386] Next, 2,500 units of the 10,000 units are selected that correspond to the 2,500 central cluster pixels that contain the centers of the 2,500 target clusters that are being simultaneously base-called in the current sequencing cycle, and the bases assigned to the selected 2,500 units are subsequently assigned to the corresponding ones of the 2,500 target clusters.

[0387] Those skilled in the art will appreciate that in other implementations, the illustrated dimensionality may vary depending on the sequencing configuration, parallel strategy, architectural details (e.g., based on optimal architectural hyperparameters), and available computation.

[0388] 24 shows a dimensionality diagram 2400 for a multiple cluster, multiple sequencing cycle base calling embodiment. The above discussion regarding cycles, depth, and spatial dimensionality for single cluster base calling applies to this embodiment.

[0389] Additionally, the above description of softmax-based base calling classification for base calling of multiple clusters also applies here, except that here, softmax-based base calling classification of the 2,500 target clusters is performed in parallel for each of the 13 base-called sequencing cycles, thereby simultaneously generating 13 base calls for each of the 2,500 target clusters.

[0390] Those skilled in the art will appreciate that in other implementations, the illustrated dimensionality may vary depending on the sequencing configuration, parallel strategy, architectural details (e.g., based on optimal architectural hyperparameters), and available computation. Arrayed vs. Stacked Inputs

[0391] We now describe two configurations in which multi-cycle input data to a neural network-based caller can be arranged. The first configuration is called "arrayed input," and the second configuration is called "stacked input." The arrayed input is shown in FIG. 25a and described above with respect to FIGS. 19a-24. Because the image patches within each cycle's input are misaligned relative to one another due to residual registration error, the arrayed input encodes the input for each sequencing cycle into separate columns / blocks. A specialized architecture is used with the arrayed input to separate the processing of each separate column / block. Additionally, a distance channel is calculated using transformed cluster centers to account for misalignment between image patches within a cycle and between cycles.

[0392] In contrast, stacked inputs, shown in Figure 25b, encode inputs from different sequencing cycles into a single column / block. In one implementation, this eliminates the need for specialized architectures, since image patches within the stacked input are aligned with each other via affine transformation and intensity interpolation, which eliminates inter-cycle and intra-cycle residual registration errors. In some implementations, stacked inputs have a common scaling channel for all inputs.

[0393] In another embodiment, intensity interpolation is used to reframe or shift image patches so that the center of the central pixel of each image patch coincides with the center of the single target cluster being basecalled. This eliminates the need to use a supplemental distance channel, since all non-central pixels are equidistant from the center of the single target cluster. The stacked input without the distance channel is referred to herein as the "reframed input" and is illustrated in Figure 27.

[0394] However, in base calling implementations involving multiple clusters, reframing may be infeasible because an image patch contains multiple central cluster pixels that are base called. Stacked inputs without a distance channel and without reframing are referred to herein as "aligned inputs" and are illustrated in Figures 28 and 29. Aligned inputs may be used when distance channel calculation is undesirable (e.g., due to computational limitations) and reframing is not possible.

[0395] The following sections describe various basecalling implementations that do not use specialized architectures and supplemental distance channels, but instead use standard convolutional layers and filters. Reframed input: Aligned image patches without distance channel

[0396] Figure 26a illustrates one embodiment of reframing 2600a the pixels of an image patch 2602 to place the center of the target cluster being base called at the center of the center pixel. The center of the target cluster (purple) falls within the center pixel of the image patch 2602, but is at an offset (red) from the center of the center pixel, as shown in figure 2600a.

[0397] To eliminate the offset, a reframer 2604 shifts the image patch 2602 by interpolating pixel intensities to compensate for the reframing, generating a reframed / shifted image patch 2606. In the shifted image patch 2606, the center of the central pixel coincides with the center of the target cluster, and the non-central pixels are equidistant from the center of the target cluster. Interpolation can be performed by nearest-neighbor intensity extraction, Gaussian-based intensity extraction, intensity extraction based on the average of a 2x2 subpixel region, intensity extraction based on maximum luminance of a 2x2 subpixel region, intensity extraction based on the average of a 3x3 subpixel region, bilinear intensity extraction, bicubic intensity extraction, and / or intensity extraction based on weighted area coverage. These techniques are described in detail in the Appendix titled "Intensity Extraction Methods."

[0398] 26b shows another example reframed / shifted image patch 2600b in which (i) the center of the central pixel coincides with the center of the target cluster, and (ii) the non-central pixels are equidistant from the center of the target cluster. These two factors eliminate the need to provide a supplemental distance channel, since all non-central pixels have the same degree of proximity to the center of the target cluster.

[0399] Figure 27 shows one embodiment of base calling a single target cluster in a current sequencing cycle using a standard convolutional neural network and a reframed input. In the illustrated embodiment, the reframed input includes a current image patch set for the current (t) sequencing cycle being base called, a previous image patch set for the previous (t-1) sequencing cycle, and a next image patch set for the next (t+1) sequencing cycle. Each image patch set has an image patch for each of one or more image channels. Figure 27 shows two image channels, a red channel and a green channel. Each image patch has pixel intensity data for pixels covering the target cluster being base called, several neighboring clusters, and their surrounding background. The reframed input also includes a common scaling channel.

[0400] As discussed above with respect to Figures 26a-26b, the reframed input does not include any distance channel because the image patches are reframed or shifted to place the center of the target cluster at their center. The image patches are also aligned with each other to remove inter-cycle and intra-cycle residual registration errors. In one implementation, this is done using affine transformations and intensity interpolation, further details of which can be found in Appendices 1, 2, 3, and 4. These factors eliminate the need for specialized architectures; instead, standard convolutional neural networks are used with the reframed input.

[0401] In the illustrated embodiment, the standard convolutional neural network 2700 includes seven standard convolution layers using standard convolution filters. This means that there are no separate convolution pipelines to prevent data mixing between sequencing cycles (because the data is aligned and can be mixed). In some embodiments, the phenomenon of consistently decreasing spatial dimensionality is used to train the standard convolution filters to focus more on the central cluster center and its neighboring pixels than on other pixels.

[0402] The reframed input is then processed by standard convolutional layers to generate a final convolutional representation, based on which base calls for the target cluster in the current sequencing cycle are obtained in a similar manner using flattening, densifying, and classification layers, as described above with respect to Figure 19c.

[0403] In some embodiments, the process is repeated over multiple sequencing cycles to generate a sequence of base calls for the target cluster.

[0404] In other embodiments, the process is repeated over multiple sequencing cycles for multiple target clusters to generate a sequence of base calls for each target cluster within the multiple target clusters. Aligned Input: Distance Channel and Aligned Image Patches without Reframe

[0405] Figure 28 shows one embodiment of base calling multiple target clusters in the current sequencing cycle using a standard convolutional neural network and aligned input. Here, reframing is not feasible because the image patch contains multiple central cluster pixels being base called. As a result, the image patch in the aligned input is not reframed. Furthermore, according to one embodiment, a supplemental distance channel is not included due to computational considerations.

[0406] The aligned inputs are then processed by standard convolutional layers to generate a final convolutional representation, based on which base calls for each of the target clusters are obtained in the current sequencing cycle in a similar manner using a flattening layer (optional), a densification layer (optional), a classification layer, and a base call filtering layer as described above with respect to Figure 20.

[0407] 29 illustrates one embodiment of base calling multiple target clusters in multiple sequencing cycles using a standard convolutional neural network and aligned inputs. The aligned inputs are processed by standard convolutional layers to generate final convolutional representations for each of the y sequencing cycles being base called. Based on the y final convolutional representations, base calls for each of the target clusters are obtained in a similar manner for each of the y sequencing cycles being base called, using a flattening layer (optional), a densification layer (optional), a classification layer, and a base call filtering layer as described above with respect to FIG. 21.

[0408] Those skilled in the art will understand that in other embodiments, a standard convolutional neural network can process reframed inputs for fewer or more sequencing cycles and can include fewer or more standard convolutional layers. The dimensionality of the reframed input, the tensors per cycle in the reframed input, the convolutional filters, the resulting feature maps, and the output may also be different. The number of convolutional filters in a convolutional layer may also be different. It may use 1D convolution, 2D convolution, 3D convolution, 4D convolution, 5D convolution, dilated or asexual convolution, transposed convolution, depth-separable convolution, 1x1 convolution, group convolution, flattened convolution, spatial and cross-channel convolution, shuffled grouped convolution, spatially separable convolution, and deconvolution. It can use one or more loss functions such as logistic regression / logarithmic loss, multiclass cross-entropy / softmax loss, binary cross-entropy loss, mean squared error loss, L1 loss, L2 loss, smoothed L1 loss, and Huber loss. It can use any parallel, efficient, and compression schemes such as TFRecords, compression encoding (e.g., PNG), sharpening, parallel calls to map transforms, batching, prefetching, model parallelism, data parallelism, and synchronous / asynchronous SGD. This includes nonlinear transformation functions such as upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (such as LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, Pejol connections, activation functions (e.g., nonlinear transformation functions such as rectified linear units (ReLU), leaky ReLU, exponential linear units (ELU), sigmoid, and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or mean pooling), global mean pooling layers, and attention mechanisms. training

[0409] 30 illustrates one embodiment for training 3000 the neural network-based base caller 218. In both specialized and standard architectures, the neural network-based base caller 218 is trained using a backpropagation-based gradient update technique that compares predicted base calls 3004 to correct base calls 3008 and calculates an error 3006 based on the comparison. The error 3006 is then used to calculate a gradient, which is applied to the weights and parameters of the neural network-based base caller 218 during backpropagation 3010. The training 3000 can be performed by a trainer 1510 using a stochastic gradient update algorithm such as Adam.

[0410] The trainer 1510 uses training data 3002 (derived from sequencing images 108) to train the neural network-based base caller 218 over thousands to millions of iterations of forward propagation 3012, which generates predicted base calls 3004, and backpropagation 3010, which updates weights and parameters based on error 3006. Further details regarding training 3000 can be found in the Appendix entitled "Deep Learning Tools." CNN-RNN based base caller Hybrid Neural Networks

[0411] 31a shows one embodiment of a hybrid neural network 3100a used as the neural network-based basis caller 218. The hybrid neural network 3100a includes at least one convolution module 3104 (or convolutional neural network (CNN)) and at least one recursion module 3108 (or recursion neural network (RNN)). The recursion module 3108 uses and / or receives input from the convolution module 3104.

[0412] Convolution module 3104 processes input data 3102 through one or more convolution layers to generate convolution output 3106. In one embodiment, input data 3102 includes only image channels or image data as primary inputs, as described above in the section entitled "Input." The image data provided to hybrid neural network 3100a may be the same as image data 202 described above.

[0413] In another embodiment, the input data 3102 also includes, in addition to the image channel or image data, supplementary channels such as distance channels, scaling channels, cluster center coordinates, and / or cluster membership information, as described above in the section entitled "Input."

[0414] The image data (i.e., input data 3102) represents the 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 a convolutional layer to generate one or more convolved representations of the image data (i.e., convolution output 3106).

[0415] A series of sequencing cycles can include image data for t sequencing cycles to be base called, where t is any number between 1 and 1000. Accurate base calling results have been observed when t is between 15 and 21.

[0416] Iteration module 3110 convolves convolution output 3106 to generate iteration output 3110. In particular, iteration module 3110 generates a current hidden state representation (i.e., iteration output 3110) based on convolving the convolution representation and a previous hidden state representation.

[0417] In one implementation, the iteration module 3110 applies three-dimensional (3D) convolution to the convolutional representation and the previous hidden state representation to generate a current hidden state representation, which is formulated as follows: H t =W13DCONV V t +W2 3DCONV h t-1 , during the ceremony h t denotes the current hidden state representation generated at the current time step t, V t represents the set or group of convolutional representations that form the input volume in the current sliding window at the current time step t; W1 3DCONV is V t represents the weights of the first 3D convolution filter applied to h t-1 denotes the previous hidden state representation generated at the previous time step t-1, W2 3DCONV is, h t-1 represents the weights of the second 3D convolution filter applied to

[0418] In some embodiments, W1 3DCONV and W2 3DCONV are the same because the weights are shared.

[0419] An output module 3112 then generates base calls 3114 based on the iterative outputs 3110. In some implementations, the output module 3112 includes one or more fully connected layers and a classification layer (e.g., softmax). In such implementations, the current hidden state representation is processed by the fully connected layer, and the output of the fully connected layer is processed by the classification layer to generate the base calls 3114.

[0420] 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 embodiments, base calls 3114 include a base call for each of the clusters and for each of the sequencing cycles. Thus, for example, when input data 3102 includes image data for 25 clusters and for 15 sequencing cycles, base calls 3102 includes a base call sequence consisting of 15 base calls for each of the 25 clusters. 3D convolution

[0421] FIG. 31b illustrates one implementation of the 3D convolution 3100b used by the iteration module 3110 of the hybrid neural network 3100b to generate the current hidden state representation.

[0422] 3D convolution is a mathematical operation in which each voxel present in the input volume is multiplied by the voxel at the equivalent position in the convolution kernel. Finally, the resulting sum is added to the output volume. In Figure 31b, a representation of the 3D convolution operation can be observed, where highlighted voxels 3116a in the input 3116 are multiplied by their corresponding voxels in the kernel 3118. After these calculations, their sum 3120a is added to the output 3120.

[0423] Since the coordinates of the input volume are given by (x,y,z) and the convolution kernel has size (P,Q,R), the 3D convolution operation can be mathematically defined as follows:

number

[0424] The bias term has been omitted from the above equation to improve clarity.

[0425] In addition to extracting spatial information from a matrix, as in 2D convolution, 3D convolution also extracts information that exists between successive matrices, allowing 3D convolution to map both spatial information of a 3D object and temporal information of a set of consecutive images. Convolution Module

[0426] FIG. 32 illustrates one embodiment in which cycle-by-cycle input data 3202 for a single sequencing cycle in a series of t sequencing cycles to be base-called is processed by a cascade of convolutional layers 3200 of the convolution module 3104.

[0427] The convolution module 3104 processes each cyclic input data in the sequence of cyclic input data separately through a cascade of convolution layers 3200. The sequence of cyclic input data is generated for a series of t sequencing cycles of a base-called sequencing run, where t is any number between 1 and 1000. Thus, for example, if the series includes 15 sequencing cycles, the sequence of cyclic input data includes 15 different cyclic input data.

[0428] In one embodiment, the input data for each cycle includes only image channels (e.g., red and green channels) or image data (e.g., image data 202 described above). The image channels or image data represent the intensity emissions of one or more clusters and their surrounding background captured in each sequencing cycle in the series. In another embodiment, the input data for each cycle includes, in addition to the image channels or image data, supplemental channels such as distance and scaling channels (e.g., input data 1800 described above).

[0429] In the illustrated embodiment, the per-cycle input data 3202 includes two image channels, a red channel and a green channel, for a single sequencing cycle of a series of t sequencing cycles to be base-called. Each image channel is encoded within an image patch of size 15x15. The convolution module 3104 includes five convolution layers. Each convolution layer has a bank of 25 convolution filters of size 3x3. Furthermore, the convolution filters use so-called SAME padding, which preserves the height and width of the input image or tensor. With SAME padding, padding is added to the input features so that the output feature map has the same size as the input features. In contrast, so-called VALID padding means no padding.

[0430] The first convolutional layer 3204 processes the input data 3202 per cycle and generates a first convolutional representation 3206 of size 15x15x25. The second convolutional layer 3208 processes the first convolutional representation 3206 and generates a second convolutional representation 3210 of size 15x15x25. The third convolutional layer 3212 processes the second convolutional representation 3210 and generates a third convolutional representation 3214 of size 15x15x25. The fourth convolutional layer 3216 processes the third convolutional representation 3214 and generates a fourth convolutional representation 3218 of size 15x15x25. The fifth convolutional layer 3220 processes the fourth convolutional representation 3218 and generates a fifth convolutional representation 3222 of size 15x15x25. Note that SAME padding preserves the spatial dimension (e.g., 15 × 15) of the resulting convolutional representation. In some implementations, the number of convolution filters in a convolutional layer is a power of 2, such as 2, 4, 16, 32, 64, 128, 256, 512, and 1024.

[0431] Deeper convolutions can result in information loss. To account for this, some implementations use skip connections to (1) reintroduce the original input data for each cycle and (2) combine low-level spatial features extracted by earlier convolutional layers with high-level spatial features extracted by later convolutional layers. This results in observed improvements in base calling accuracy.

[0432] 33 illustrates one embodiment of mixing 3300 per-cycle input data 3202 of a single sequencing cycle with its corresponding convolved representations 3206, 3210, 3214, 3218, and 3222 generated by a cascade 3200 of convolution layers in the convolution module 3104. The convolved representations 3206, 3210, 3214, 3218, and 3222 are concatenated to form a sequence of convolved representations 3304, which are then concatenated with the per-cycle input data 3202 to generate a mixed representation 3306. In other embodiments, summation is used instead of concatenation. The mixing 3300 is also operable by a mixer 3302.

[0433] A flattener 3308 then flattens the blended representation 3306 to generate a per-cycle flattened blended representation 3310. In some implementations, the flattened blended 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., 15x1905, i.e., the same row dimension). This creates a symmetry in the data that facilitates feature extraction in downstream 3D convolution.

[0434] 32 and 33 illustrate the processing of per-cycle image data 3202 for a single sequencing cycle of a series of t sequencing cycles to be base-called. The convolution module 3104 processes each per-cycle image data for each of the t sequencing cycles separately to generate a flattened blended representation of each per-cycle for each of the t sequencing cycles. Stacking

[0435] 34 illustrates one embodiment of arranging flattened blended representations of successive sequencing cycles into a stack 3400. In the illustrated embodiment, fifteen flattened blended representations 3204a-3204o for fifteen sequencing cycles are stacked in stack 3400. Stack 3400 is a 3D input volume that makes available features from both spatial and temporal dimensions (i.e., multiple sequencing cycles) within the same receptive field of the 3D convolution filter. Stacking is enabled by stacker 3402. In other embodiments, stack 3400 can be a tensor of any number of dimensions (e.g., 1D, 2D, 4D, 5D, etc.). Iteration Module

[0436] To capture long-range dependencies in sequencing data, specifically to account for second-order contributions from pre-phasing and phasing in cross-cycle sequencing images, an iterative process is used to analyze continuous data through the use of time steps. The current hidden state representation at the current time step is a function of (i) the previous hidden state representation from the previous time step and (ii) the current input at the current time step.

[0437] The iteration module 3108 subjects the stack 3400 to repeated applications of 3D convolution in forward and reverse directions (i.e., iterative process 3500) to generate base calls for each of the clusters in each of the t sequencing cycles in the series. The 3D convolution is used to extract spatiotemporal features from a subset of the flattened mixed representation in the stack 3400 based on sliding windows. Each sliding window (w) corresponds to a respective sequencing cycle and is highlighted in orange in Figure 35a. In some embodiments, 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. In one embodiment, w is a fraction of the total number of sequencing cycles being simultaneously base called.

[0438] Thus, for example, consider each sliding window containing three successive flattened mixed representations from a stack 3400 containing 15 flattened mixed representations 3204a-3204o. The first three flattened mixed representations 3204a-3204c in the first sliding window then correspond to the first sequencing cycle, the next three flattened mixed representations 3204b-3204d in the second sliding window correspond to the second sequencing cycle, and so on. In some implementations, starting with the final flattened mixed representation 3204o, padding is used to encode a sufficient number of flattened mixed representations in the final sliding window corresponding to the final sequencing cycle.

[0439] At each time step, the iteration module 3108 receives (1) a current input x(t) and (2) a previous hidden state representation h(t-1) and calculates a current hidden state representation h(t). The current input x(t) includes only a subset of the flattened mixed representations from the stack 3400 that fall within the current sliding window ((w), orange). Thus, at each time step, each current input x(t) is a 3D volume of multiple flattened mixed representations (e.g., 1, 2, 3, 5, 7, 9, 15, or 21 flattened mixed representations, depending on w). For example, if (i) a single flattened mixed representation is two-dimensional (2D) with dimensions 15 × 1905, and (ii) w is 7, then at each time step, each current input x(t) is a 3D volume of dimensions 15 × 1905 × 7.

[0440] The iteration module 3108 performs a first 3D convolution (W1 3DCONV ) to the current input x(t) and perform a second 3D convolution (W2 3DCONV ) is applied to the previous hidden state representation h(t-1) to generate the current hidden state representation h(t). 3DCONV and W2 3DCONV are the same because the weights are shared. Gated Processing

[0441] In one embodiment, the iteration module 3108 processes the current input x(t) and the previous hidden state representation h(t-1) through a gated network, such as a long short-term memory (LSTM) network or a gated recurrent unit (GRU) network. For example, in an LSTM implementation, the current input x(t) is processed along with the previous hidden state representation h(t-1) through each of the LSTM unit's four gates: an input gate, an activation gate, a forget gate, and an output gate. This is illustrated in FIG. 35b, which shows one implementation in which the current input x(t) and the previous hidden state representation h(t-1) are processed (3500b) through an LSTM unit that applies a 3D convolution to the current input x(t) and the previous hidden state representation h(t-1) to generate the current hidden state representation h(t) as output. In such an implementation, the weights of the input, activation, forget, and output gates apply a 3D convolution.

[0442] In some implementations, the gated units (LSTM or GRU) do not use nonlinear / squashing functions such as hyperbolic tangent and sigmoid.

[0443] In one implementation, the current input x(t), the previous hidden state representation h(t-1), and the current hidden state representation h(t) are all 3D volumes with the same dimensionality and are processed or generated by the input, activation, forget, and output gates as 3D volumes.

[0444] In one implementation, the 3D convolution of the iteration module 3108 uses a bank of 25 convolution filters of size 3 x 3 with SAME padding. In some implementations, the size of the convolution filters is 5 x 5. In some implementations, the number of convolution filters used by the iteration module 3108 is factored by powers of 2, such as 2, 4, 16, 32, 64, 128, 256, 512, and 1024. Two-way processing

[0445] The iteration module 3108 first processes the stack 3400 from beginning to end (top-down) based on a sliding window and generates a sequence (vector) of current hidden state representations for forward traversal.

number

[0446] The iteration module 3108 then processes the stack 3400 from end to beginning (bottom-up) based on a sliding window to generate a sequence (vector) of current hidden state representations for backward / reverse traversal.

number

[0447] In some implementations, for both directions, at each time step, the processing uses LSTM or GRU gates. For example, at each time step, the forward current input x(t) is processed by the input, activation, forget, and output gates of the LSTM unit to generate the forward current hidden state representation:

number

number

[0448] Then, for each time step / sliding window / sequencing cycle, the iteration module 3108 combines (concatenates or sums or averages) the corresponding forward and backward current hidden state representations to produce a combined hidden state representation

number

[0449] Then, the combined hidden representation

number

[0450] Those skilled in the art will understand that in other embodiments, the hybrid architecture can process input data for fewer or more sequencing cycles and can include fewer or more convolutional and iterative layers. The dimensionality of the input data, the current and previous hidden representations, the convolutional filters, the resulting feature maps, and the output may also differ. The number of convolutional filters in a convolutional layer may also differ. It may use different padding and striding configurations. It may use different classification functions (e.g., sigmoid or regression) and may or may not include fully connected layers. It may use 1D convolution, 2D convolution, 3D convolution, 4D convolution, 5D convolution, dilated or asexual convolution, transposed convolution, depth-separable convolution, 1x1 convolution, group convolution, flattened convolution, spatial and cross-channel convolution, shuffled grouped convolution, spatially separable convolution, and deconvolution. It can use one or more loss functions such as logistic regression / logarithmic loss, multiclass cross-entropy / softmax loss, binary cross-entropy loss, mean squared error loss, L1 loss, L2 loss, smoothed L1 loss, and Huber loss. It can use any parallel, efficient, and compression schemes such as TFRecords, compression encoding (e.g., PNG), sharpening, parallel calls to map transforms, batching, prefetching, model parallelism, data parallelism, and synchronous / asynchronous SGD. This includes nonlinear transformation functions such as upsampling layers, downsampling layers, recurrent connections, gates and gated memory units (such as LSTM or GRU), residual blocks, residual connections, highway connections, skip connections, Pejol connections, activation functions (e.g., nonlinear transformation functions such as rectified linear units (ReLU), leaky ReLU, exponential linear units (ELU), sigmoid, and hyperbolic tangent (tanh)), batch normalization layers, regularization layers, dropout, pooling layers (e.g., max or mean pooling), global mean pooling layers, and attention mechanisms. Experimental results and discussion

[0451] Figure 36 shows one embodiment of balancing trinucleotides (trimers) in the training data used to train the neural network-based base caller 218. Balancing greatly reduces learning of statistics about the genome in the training data, thus improving generalization. Heat map 3602 shows the balanced trimers in the training data for a first organism called "A. baumannii." Heap map 3604 shows the balanced trimers in the training data for a second organism called "E. coli."

[0452] Figure 37 compares the base calling accuracy of the RTA base caller with the neural network-based base caller 218. As shown in Figure 37, the RTA base caller has a higher error rate 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 sequencing runs.

[0453] Figure 38 compares the inter-tile generalization of the RTA base caller with that of the neural network-based base caller 218 on the same tiles, i.e., in the neural network-based base caller 218, inference (testing) is performed on data for the same tiles as used for training.

[0454] Figure 39 compares the inter-tile generalization of the RTA base caller with that of the neural network-based base caller 218 on the same tile and on a different tile. That is, the neural network-based base caller 218 is trained on data for a cluster on a first tile, but performs inference on data from a cluster on a second tile. In the same-tile implementation, the neural network-based base caller 218 is trained on data from a cluster on tile 5 and tested on data from the cluster on tile 5. In the different-tile implementation, the neural network-based base caller 218 is trained on data from a cluster on tile 10 and tested on data from the cluster on tile 5.

[0455] 40 also compares the inter-tile generalization of the RTA base caller with that of the neural network-based base caller 218 on a different tile. In the different tile embodiment, the neural network-based base caller 218 is trained on data from the cluster on tile 10 and tested on data from the cluster on tile 5, and then trained on data from the cluster on tile 20 and tested on data from the cluster on tile 5.

[0456] Figure 41 shows how different sizes of image patches provided as input to the neural network-based base caller 218 affect base calling accuracy. In both sequencing runs (read:1 and read:2), the error rate decreases as the patch size increases from 3x3 to 11x11. That is, the neural network-based base caller 218 generates more accurate base calls with larger image patches. In some embodiments, base calling accuracy is balanced with computational efficiency by using image patches of 100x100 pixels or smaller. In other embodiments, image patches as large as 3000x3000 pixels (and larger) are used.

[0457] Figures 42, 43, 44, and 45 show the lane-to-lane generalization of the neural network-based base caller 218 on training data from A. baumannii and E. coli.

[0458] 43, in one embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the first lane of the flow cell and tested on A. baumannii data from the cluster on both the first and second lanes of the flow cell. In another embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the first lane and tested on A. baumannii data from the cluster on both the first and second lanes. In yet another embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the second lane and tested on A. baumannii data from the cluster on both the first and second lanes. In yet a further embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the second lane and tested on A. baumannii data from the cluster on both the first and second lanes.

[0459] In one embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the first lane of the flow cell and tested on E. coli data from the clusters on both the first and second lanes of the flow cell. In another embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the first lane and tested on E. coli data from the clusters on both the first and second lanes. In yet another embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the second lane and tested on E. coli data from the cluster on the first lane. In yet a further embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the second lane and tested on E. coli data from the clusters on both the first and second lanes.

[0460] In Figure 43, base calling accuracy (as measured by error rate) is shown for two sequencing runs (eg, read:1 and read:2) for each of these embodiments.

[0461] 44, in one embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the first lane of the flow cell and tested on A. baumannii data from the cluster on the first lane. In another embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the first lane and tested on A. baumannii data from the cluster on the first lane. In yet another embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the second lane and tested on A. baumannii data from the cluster on the first lane. In yet a further embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the second lane and tested on A. baumannii data from the cluster on the first lane.

[0462] In one embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the first lane of the flow cell and tested on E. coli data from the cluster on the first lane. In another embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the first lane and tested on E. coli data from the cluster on the first lane. In yet another embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the second lane and tested on E. coli data from the cluster on the first lane. In yet a further embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the second lane and tested on E. coli data from the cluster on the first lane.

[0463] In Figure 44, base calling accuracy (measured by error rate) is shown for two sequencing runs (e.g., read: 1 and read: 2) for each of these embodiments. Comparing Figure 43 with Figure 44, it can be seen that the embodiments covered by the latter result in a 50-80 percent error reduction.

[0464] Referring to Figure 45, in one embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the first lane of the flow cell and tested on A. baumannii data from the cluster on the second lane. In another embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the first lane and tested on A. baumannii data from the cluster on the second lane. In yet another embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the second lane and tested on A. baumannii data from the cluster on the first lane. In yet a further embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the second lane and tested on A. baumannii data from the cluster on the second lane.

[0465] In one embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the first lane of the flow cell and tested on E. coli data from the cluster on the second lane. In another embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the first lane and tested on E. coli data from the cluster on the second lane. In yet another embodiment, neural network-based base caller 218 is trained on E. coli data from the cluster on the second lane and tested on E. coli data from the cluster on the second lane. In yet a further embodiment, neural network-based base caller 218 is trained on A. baumannii data from the cluster on the second lane and tested on E. coli data from the cluster on the second lane.

[0466] In Figure 45, base calling accuracy (measured by error rate) is shown for two sequencing runs (e.g., read: 1 and read: 2) for each of these embodiments. Comparing Figure 43 with Figure 45, it can be seen that the embodiments covered by the latter result in a 50-80 percent error reduction.

[0467] Figure 46 shows the error profile for the lane-to-lane generalization described above with respect to Figures 42, 43, 44, and 45. In one embodiment, the error profile detects errors in base calls of A and T bases in the green channel.

[0468] FIG. 47 shows that the error sources detected by the error profile of FIG. 46 are attributable to low cluster intensities in the green channel.

[0469] Figure 48 compares the error profiles for two sequencing runs (read 1 and read 2) of the RTA base caller and the neural network-based base caller 218. This comparison confirms the superior base calling accuracy of the neural network-based base caller 218.

[0470] FIG. 49a shows the inter-run generalization of the neural network-based basecaller 218 on four different instruments.

[0471] FIG. 49b shows the inter-run generalization of the neural network-based base caller 218 over four different runs performed on the same instrument.

[0472] FIG. 50 shows the genomic statistics of the training data used to train the neural network-based base caller 218.

[0473] FIG. 51 shows the genomic context of the training data used to train the neural network-based base caller 218.

[0474] Figure 52 shows the base calling accuracy of the neural network-based base caller 218 for base calling of long reads (e.g., 2x250).

[0475] FIG. 53 shows one embodiment of how the neural network-based base caller 218 focuses on the central cluster pixel and its neighboring pixels across image patches.

[0476] Figure 54 shows, according to one embodiment, various hardware components and configurations used to train and run the neural network-based base caller 218. In other embodiments, different hardware components and configurations are used.

[0477] Figure 55 illustrates 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 illustrates several exemplary sequencing instruments on which the neural network-based base caller 218 performs base calling.

[0478] Figure 56 is a scatter plot 5600 visualized by t-SNE (t-SNE) and represents the base calling results of the neural network-based base caller 218. The scatter plot 5600 shows the base calling results for 64 (4 3 ) groups, each group corresponding primarily to a specific input trimer (trinucleotide repeat pattern), because the neural network-based base caller 218 processes the input data for at least three sequencing cycles, learns sequence-specific motifs, and generates current base calls based on previous and subsequent base calls. Quality Scoring

[0479] 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 converts the values ​​of predicted features of a sequencing trace into probabilities based on a quality table. The quality table is obtained by training on a calibration dataset and is updated as the characteristics of the sequencing platform change. The probabilistic interpretation of quality scores allows for the proper integration of different sequencing reads in downstream analyses such as variant calling and sequence assembly. Therefore, an effective model for defining quality scores is essential for any base caller.

[0480] First, let's explain what a quality score is. A quality score is a measure of the probability of a sequencing error in a base call. A higher quality score means that the base call is more reliable and less likely to be incorrect. For example, if a base has a quality score of Q30, the probability that this base is called incorrectly is 0.001. This also indicates a base calling accuracy of 99.9%.

[0481] The table below shows the relationship between base call quality scores and their corresponding error probabilities, base call accuracy rates, and base call error rates. [Table 1]

[0482] We now describe how quality scores are generated. During a sequencing run, a quality score is assigned to each base call for each cluster on each tile for each and every sequencing cycle. An Illumina quality score is calculated for each base call in a two-step process. For each base call, a quality predictor value is calculated. Quality predictor values ​​are observable characteristics of the cluster from which the base call is extracted. These include characteristics such as intensity profile and signal-to-noise ratio, and measure various aspects of base call confidence. They have been empirically determined to correlate with base call quality.

[0483] A quality model, also known as a quality table or Q-table, lists combinations of quality predictor values ​​and associates them with corresponding quality scores. This relationship is determined by a calibration process using empirical data. To estimate a new quality score, quality predictor values ​​are calculated for a new base call and compared to values ​​in a pre-calibrated quality table.

[0484] We now describe how quality tables are calibrated. Calibration is a process in which statistical quality tables are derived from empirical data containing a variety of well-characterized human and non-human samples sequenced on multiple instruments. Using a modified version of the Phred algorithm, quality tables are developed and refined using characteristics of the raw signals and error rates determined by aligning reads to appropriate references.

[0485] Next, we explain why quality tables change from time to time. The quality tables provide quality scores for runs generated by a particular instrument configuration and version of chemistry. When important characteristics of the sequencing platform change, such as new hardware, software, or chemistry versions, the quality model requires recalibration. For example, improvements in sequencing chemistry require recalibration of the quality tables to accurately score new data, which consumes significant processing time and computational resources. Neural Network-Based Quality Scoring

[0486] We disclose a neural network-based technique for quality scoring that does not use quality predictor values ​​or quality tables, but instead infers quality scores from the confidence in the predictions of a well-calibrated neural network. In the context of neural networks, "calibration" refers to the consistency or correlation between subjective predictions and empirical long-term frequencies. This is a frequentist notion of certainty: if a neural network asserts that a particular label is the correct label 90% of the time, then 90% of all labels evaluated that have a 90% probability of being correct are correct. Note that calibration is orthogonal to accuracy; that is, a neural network's predictions can be accurate yet miscalibrated.

[0487] The disclosed neural networks are well calibrated because they are trained on large training sets with diverse sequencing characteristics that adequately model the base calling domain of real-world sequencing runs. In particular, sequencing images obtained from a variety of sequencing platforms, instruments, protocols, chemistries, reagents, cluster densities, and flow cells are used as training examples to train the neural networks. In other embodiments, different base calling and quality scoring models are used for each different sequencing platform, instrument, protocol, chemistries, reagents, cluster densities, and / or flow cells.

[0488] For each of the four base call classes (A, C, T, and G), a large number of sequencing images are used as training examples to identify intensity patterns representative of the corresponding base call class under a wide range of sequencing conditions. This results in no need to extend the classification capabilities of the neural network to new classes not present during training. Furthermore, each training example is accurately labeled with the corresponding ground truth based on aligning the reads to the appropriate reference. The result is a well-calibrated neural network whose confidence in its predictions can be interpreted as a certainty measure for quality scoring, expressed mathematically as follows:

[0489] Let Y={A,C,T,G} denote the set of class labels for base call classes A, C, T, and G, and let X denote the space of inputs. θ Let (y|x) denote the probability distribution that one of the disclosed neural networks predicts on the input x∈X, and θ denote the parameters of the neural network. i Training example x with i whereas the neural network labels

number

number

number

[0490] Neural Network N θ (y|x) is the sum of all (x i ,y i )∈D and r i = α, c i = 1 is well calibrated to the data distribution D. For example, if 100 predictions are obtained from samples from D, each with a confidence of 0.8, then 80 of them are used by the neural network N. θ (y|x). More formally, P θ,D (r,c) is the neural network N on D θ Show the distribution of predicted r and c values ​​for (y|x),

number

[0491] Unlike quality predictor values ​​or quality tables, well-calibrated neural networks are trained on diverse training sets, so they are not specific to instrument configurations and chemistry versions. This has two advantages. First, for different types of sequencing instruments, well-calibrated neural networks eliminate the need to derive different quality tables from separate calibration processes. Second, for the same sequencing instrument, well-calibrated neural networks eliminate the need for recalibration when the characteristics of the sequencing instrument change. More details follow. Inferring Quality Scores from Softmax Confidence Probabilities

[0492] The first well-calibrated neural network is a neural network-based base caller 218 that processes input data derived from the sequencing image 108 and generates base call confidence probabilities for bases A, C, T, and G. The base call confidence probabilities can also be viewed as likelihoods or classification scores. In one embodiment, the neural network-based base caller 218 uses a softmax function to generate the base call confidence probabilities as softmax scores.

[0493] Because softmax scores are calibrated (i.e., they represent ground truth accuracy likelihoods) and therefore naturally correspond to quality scores, quality scores are inferred from the base call confidence probabilities generated by the softmax function of the neural network-based base caller 218.

[0494] The correspondence between base call confidence probabilities and quality scores is illustrated by selecting a set of base call confidence probabilities generated by the neural network-based base caller 218 during training and determining their base call error rates (or base call accuracy rates).

[0495] So, for example, select a base call confidence probability of "0.90" generated by the neural network-based base caller 218. Obtain a large number of instances (e.g., in the range of 10,000 to 1,000,000) when the neural network-based base caller 218 made base call predictions with a softmax score of 0.90. The large number of instances can be obtained from either a validation set or a test set. Then, determine how many of the large number of instances the base call prediction was correct based on a comparison with the corresponding ground truth base call associated with a corresponding instance of the large number of instances.

[0496] Observe that the base call was correctly predicted in 90 percent of the instances, with 10 percent of the instances being incorrectly called. This means that for a softmax score of 0.90, the base call error rate is 10% and the base call accuracy rate is 90%, which consequently corresponds to a quality score of Q10 (see the table above). Similarly, for other softmax scores such as 0.99, 0.999, 0.9999, 0.99999, and 0.999999, we observe a correspondence with quality scores of Q20, Q30, Q40, Q50, and Q60, respectively. This is shown in Figure 59a. In other embodiments, we observe a correspondence between softmax scores and quality scores such as Q9, Q11, Q12, Q23, Q25, Q29, Q37, and Q39.

[0497] We also observe the correspondence with the binned quality scores. For example, a softmax score of 0.80 corresponds to a binned quality score of Q06, a softmax score of 0.95 corresponds to a binned quality score of Q15, a softmax score of 0.993 corresponds to a binned quality score of Q22, a softmax score of 0.997 corresponds to a binned quality score of Q27, a softmax score of 0.9991 corresponds to a binned quality score of Q33, a softmax score of 0.9995 corresponds to a binned quality score of Q37, and a softmax score of 0.9999 corresponds to a binned quality score of Q40. This is shown in Figure 59b.

[0498] The sample size used herein is large to avoid small sample issues, and can range from, for example, 10,000 to 1,000,000. In some embodiments, the sample size of instances used to determine the base call error rate (or base call accuracy rate) is selected based on the evaluated softmax score. For example, for a softmax score of 0.99, the sample contains 100 instances; for a softmax score of 0.999, the sample contains 1,000 instances; for a softmax score of 0.9999, the sample contains 10,000 instances; for a softmax score of 0.99999, the sample contains 100,000 instances; and for a softmax score of 0.999999, the sample contains 1,000,000 instances.

[0499] Regarding softmax, softmax is an output activation function for multi-class classification. Formally, training a so-called softmax classifier is a regression on class probabilities; it is not a true classifier, since it does not return classes but rather returns confidence predictions of the likelihood of each class. The softmax function takes classes of values ​​and converts them into probability values ​​that sum to 1. The softmax function squashes any real-valued k-dimensional vector into a real-valued k-dimensional vector between 0 and 1. Therefore, using a softmax function ensures that the output is a valid exponentially normalized probability mass function (non-negative and sums to 1).

[0500]

number

number

number

[0501]

number

[0502] An exemplary softmax activation function 5706 is shown in Figure 57. The softmax 5706 is

number

[0503] When used for classification,

number

number

[0504] The name "softmax" can be somewhat confusing. This function is more closely related to the argmax function than to the max function. The term "soft" comes from the fact that the softmax function is continuous and differentiable. The argmax function, whose result is expressed as a one-hot vector, is neither continuous nor differentiable. Thus, the softmax function provides a "softened" version of argmax. It would probably be more appropriate to call the softmax function "softargmax," but the current name has become established convention.

[0505] 57 illustrates one embodiment of selecting 5700 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. In one embodiment, the base call confidence probabilities 3004 are generated during training 3000.

[0506] In some implementations, selection 5700 is based on quantization, which is performed by a quantizer 5702 that accesses the base call confidence probabilities 3004 and generates a quantized classification score 5704. The quantized classification score 5704 can be any real number. In one implementation, the quantized classification score 5704 is

number

number

[0507] Figure 58 shows one implementation of neural network-based quality scoring 5800. For each quantized classification score 5704, a base call error rate 5808 and / or a base call accuracy rate 5810 is determined by comparing its base call predictions 3004 to the corresponding ground truth base calls 3008 (e.g., across batches with various sample sizes). The comparison is performed by a comparator 5802, which in turn includes a base call error rate determiner 5804 and a base call accuracy rate determiner 5806.

[0508] A match is then determined by a match determiner 5812 between the quantized classification scores 5704 and their base call error rates 5808 (and / or their base call accuracy rates 5810) to establish a correspondence between the quantized classification scores 5704 and the quality scores. In one embodiment, the match determiner 5812 is a regression model.

[0509] Based on the match, the quality score is correlated with the quantized classification score 5704 by a correlator 5814 .

[0510] 59a-59b show one embodiment of a correspondence 5900 between quality scores and 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. FIG. 59a is a quality score correspondence scheme 5900a for quality scores. FIG. 59b is a quality score correspondence scheme 5900a for binned quality scores. inference

[0511] Figure 60 shows one embodiment of inferring quality scores from base call confidence predictions made by neural network-based base caller 218 during inference 6000. The base call confidence probabilities of neural network-based base caller 218 can be classification scores (e.g., softmax scores or sigmoid scores) or regression scores.

[0512] During inference 6000, predicted base calls 6006 are assigned a quality score 6008 that best corresponds to their base call confidence probability (i.e., highest softmax score (red)). In some embodiments, quality score correspondence 5900 is created by looking up quality score correspondence schemes 5900a-5900b and is operable by quality score inferor 6012.

[0513] In some embodiments, a chastity filter 6010 terminates base calling for a given cluster when the quality score 6008 assigned to the called bases, or the average quality score over successive base calling cycles, falls below a preset threshold.

[0514] Inference 6000 includes hundreds, thousands, and / or millions of forward propagations 6014, including parallelogram techniques such as batching. Inference 6000 is performed on inference data 6002, which includes input data (along with image channels derived from sequencing images 108 and / or supplemental channels (e.g., distance channels, scaling channels)). Inference 6000 is operable by tester 6004. Direct prediction of base call quality

[0515] The second well-calibrated neural network is a neural network-based quality scorer 6102 that processes input data derived from sequencing images 108 and directly generates a quality index.

[0516] In one embodiment, the neural network-based quality scorer 6102 is a multi-layer perceptron (MLP). In another embodiment, the neural network-based quality scorer 6102 is a feed-forward neural network. In yet another embodiment, the neural network-based quality scorer 6102 is a fully connected neural network. In a further embodiment, the neural network-based quality scorer 6102 is a fully convolutional neural network. In yet a further embodiment, the neural network-based quality scorer 6102 is a semantic segmentation neural network.

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

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

[0519] In some implementations, the neural network-based quality scorer 6102 has the same architecture as the neural network-based base caller 218 .

[0520] The input data may include image channels and / or supplemental channels (e.g., distance channels, scaling channels) derived from the sequencing images 108. The neural network-based quality scorer 6102 processes the input data and generates alternative representations of the input data. The alternative representations are convolutional representations in some implementations and hidden representations in other implementations. The alternative representations are then processed by an output layer to generate an output. The output is used to generate a quality indicator.

[0521] In one embodiment, the same input data is fed to the neural network-based base caller 218 and the neural network-based quality scorer 6102 to generate (i) base calls from the neural network-based base caller 218 and (ii) corresponding quality metrics from the neural network-based quality scorer 6102. In some embodiments, the neural network-based base caller 218 and the neural network-based quality scorer 6102 are trained together in end-to-end backpropagation.

[0522] In one embodiment, the neural network-based quality scorer 6102 outputs a quality indicator for a single target cluster for a particular sequencing cycle. In another embodiment, it outputs a quality indicator for each target cluster in the plurality of target clusters for a particular sequencing cycle. In yet another embodiment, it outputs a quality indicator for each target cluster in the plurality of target clusters for each sequencing cycle in the plurality of sequencing cycles, thereby generating a quality indicator sequence for each target cluster.

[0523] In one embodiment, the neural network-based quality scorer 6102 is a convolutional neural network trained on training examples that include data from sequencing images 108 and are labeled with base call quality ground truth. The neural network-based quality scorer 6102 is trained using a backpropagation-based gradient update technique that progressively matches the base call quality predictions 6104 of the convolutional neural network 6102 with the base call quality ground truth 6108. In some embodiments, a base is labeled as 0 if it is an incorrect base call and 1 otherwise. The output then corresponds to the probability of error. In one embodiment, this eliminates the need to use sequence context as an input feature.

[0524] The input module of the convolutional neural network 6102 supplies data from the sequencing images 108 captured in one or more sequencing cycles to the convolutional neural network 6102 for determining the quality of one or more bases called for one or more clusters.

[0525] The output module of the convolutional neural network 6102 converts the analysis by the convolutional neural network 6102 into an output 6202 that identifies the quality of one or more bases called for one or more clusters.

[0526] In one embodiment, the output module further includes a softmax classification layer that generates likelihoods of quality states being high quality, medium quality (optional, shown with dotted lines), and low quality. In another embodiment, the output module further includes a softmax classification layer that generates likelihoods of quality states being high quality and low quality. Those skilled in the art will appreciate that other classes that bucket quality scores differently and distinguishably may be used. The softmax classification layer generates likelihoods for quality being assigned a plurality of quality scores. Based on these likelihoods, the quality is assigned a quality score from one of a plurality of quality scores. The plurality of quality scores are logarithmically based on base call error probabilities. The plurality of quality scores include Q6, Q10, Q15, Q20, Q22, Q27, Q30, Q33, Q37, Q40, and Q50. In another embodiment, the output module further includes a regression layer that generates a continuous value that identifies quality.

[0527] In some embodiments, the neural network-based quality scorer 6102 further includes a supplemental input module that supplements the data from the sequencing image 108 with quality predictor values ​​for the called bases and feeds the quality predictor values ​​along with the data from the sequencing image to the convolutional neural network 6102.

[0528] In some embodiments, quality predictor values ​​include online overlap, purity, phasing, start5, hexamer score, motif accumulation, endiness, near homopolymer, intensity decay, penultimate chastity, signal over background (SOWB), and / or shifted purity G adjustment. In other embodiments, quality predictor values ​​include peak height, peak width, peak position, relative peak position, peak height ratio, peak spacing ratio, and / or peak correspondence. Further details regarding quality predictor values ​​can be found in U.S. Patent Application Publication Nos. 2018 / 0274023 and 2012 / 0020537, which are incorporated by reference as if fully set forth herein. training

[0529] Figure 61 shows one embodiment of training 6100 a neural network-based quality scorer 6102 to process input data derived from sequencing images 108 and directly generate quality indicators. The neural network-based quality scorer 6102 is trained using a back-propagation-based gradient update technique that compares predicted quality indicators 6104 with correct quality indicators 6108 and calculates an error 6106 based on the comparison. The error 6106 is then used to calculate a gradient, which is applied to the weights and parameters of the neural network-based quality scorer 6102 during back-propagation 6110. The training 6100 can be performed by a trainer 1510 using a stochastic gradient update algorithm such as Adam.

[0530] The trainer 1510 uses training data 6112 (derived from the sequenced images 108) to train the neural network-based quality scorer 6102 over thousands to millions of iterations of forward propagation 6116, which generates a predicted quality index, and backward propagation 6110, which updates weights and parameters based on error 6106. In some embodiments, the training data 6112 is supplemented with quality predictor values ​​6114. Further details regarding training 6100 can be found in the Appendix entitled "Deep Learning Tools." inference

[0531] 62 illustrates one implementation of generating a quality indicator directly as an output of the neural network-based quality scorer 6102 during inference 6200. The inference 6200 includes hundreds, thousands, and / or millions of forward propagations 6208, including parallelogram techniques such as batching. The inference 6200 is performed on inference data 6204, which includes input data (along with image channels derived from the sequencing images 108 and / or supplemental channels (e.g., distance channels, scaling channels)). In some implementations, the inference data 6204 is supplemented with a quality predictor value 6206. The inference 6200 is operable by a tester 6210. Data Preprocessing

[0532] In some implementations, the disclosed techniques use pre-processing techniques that are applied to pixels in the image data 202 to generate pre-processed image data 202p. In such implementations, the pre-processed image data 202p, instead of the image data 202, is provided as input to the neural network-based base caller 218. The data pre-processing is operable by the data pre-processor 6602, which in turn can include a data normalizer 6632 and a data enhancer 6634.

[0533] FIG. 66 shows different embodiments of data pre-processing, which can include data normalization and data augmentation. Data normalization

[0534] In one implementation, data normalization is applied to pixels in image data 202 on an image patch-by-image patch basis. This involves normalizing the intensity values ​​of pixels in the image patch so that the pixel intensity histogram of the resulting normalized image patch has a 5th percentile of 0 and a 95th percentile of 1. That is, in the normalized image patch, (i) 5% of the pixels have intensity values ​​less than 0, and (ii) another 5% of the pixels have intensity values ​​greater than 1. Each image patch of image data 202 can be normalized separately, or the image data 202 can be normalized all at once. The result is normalized image patch 6616, which is an example of preprocessed image data 202p. Data normalization is operable by data normalizer 6632. Data Augmentation

[0535] In one embodiment, data augmentation is applied to the intensity values ​​of pixels in image data 202. This involves (i) multiplying the intensity values ​​of all pixels in image data 202 by the same scaling factor, and (ii) adding the same offset value to the scaled intensity values ​​of all pixels in image data 202. For a single pixel, this can be expressed by the following equation: Augmented Pixel Intensity (API) = aX + b where a is the scaling factor, X is the original pixel intensity, b is the offset value, and aX is the scaled pixel intensity.

[0536] The result is an augmented image patch 6626, which is also an example of preprocessed image data 202p. Data augmentation is operable by a data augmenter 6634.

[0537] Figure 67 shows that the data normalization technique (DeepRTA(norm)) and data augmentation technique (DeepRTA(augment)) of Figure 66 reduce the base calling error rate when a neural network-based base caller 218 is trained on bacterial data and tested on human data (the bacterial data and human data share the same assays (e.g., both contain intron data)).

[0538] Figure 68 shows that the data normalization technique (DeepRTA(norm)) and data augmentation technique (DeepRTA(augment)) of Figure 66 reduce the base calling error rate when a neural network-based base caller 218 is trained on non-exonic data (e.g., intronic data) and tested on exonic data.

[0539] In other words, the data normalization and data augmentation techniques of FIG. 66 allow the neural network-based base caller 218 to generalize better on data not seen in training, thus reducing overfitting.

[0540] In one embodiment, data augmentation is applied both during training and during inference. In another embodiment, data augmentation is applied only during training. In yet another embodiment, data augmentation is applied only during inference. Sequencing System

[0541] Figures 63A and 63B show one embodiment of a sequencing system 6300A. The sequencing system 6300A includes a configurable processor 6346. The configurable processor 6346 implements the base calling techniques disclosed herein. A sequencing system is also referred to as a "sequencer."

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

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

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

[0545] In certain embodiments, the sequencing system 6300A is configured to perform multiple 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 immobilized, for example, on a solid surface of the biosensor or on beads (or other movable substrates) located within corresponding reaction chambers of the biosensor. The reaction sites may include, for example, clusters of clonovirus-amplified nucleic acids. The biosensor 6312 may include a solid-state imaging device (e.g., a CCD or CMOS imager) and a flow cell attached thereto. The flow cell may include one or more flow paths that receive solutions from the sequencing system 6300A and direct the solutions toward the reaction sites. Optionally, the biosensor 6312 may be configured to engage a thermal element for transferring thermal energy into and out of the flow paths.

[0546] The sequencing system 6300A may include various components, assemblies, and systems (or subsystems) that interact with each other to perform a predetermined method or assay protocol for biological or chemical analysis. For example, the sequencing system 6300A includes a system controller 6306 that may be in communication with the various components, assemblies, and subsystems of the sequencing system 6300A and also includes a biosensor 6312. For example, in addition to the system vessel 6310, the sequencing system 6300A may also include a fluid control system 6308 that controls the flow of fluids in the fluidic network and biosensor 6312 of the sequencing system 6300A, a fluid reservoir system 6314 that holds any fluids (e.g., gases or liquids) that may be used by the bioassay system, a temperature control system 6304 that may regulate the temperature of the fluids in the fluidic network, the fluid reservoir system 6314, and / or the biosensor 6312, and an illumination system 6316 configured to illuminate the biosensor 6312. As described above, when a cartridge having a biosensor 6312 is loaded into the system container 6310, the cartridge may also include fluid control and fluid storage components.

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

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

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

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

[0551] The system controller 6306 may be connected to the biosensor 6312 and other components of the sequencing system 6300A via a communication link. The system controller 6306 may also be communicatively connected to an off-site system or server. The communication link may be a wire, a cord, or wireless. The system controller 6306 may receive user input or commands from the user interface 6318 and user input devices 6322.

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

[0553] The temperature control system 6304 is configured to regulate the temperature of fluids in different regions of the fluid network, the fluid reservoir system 6314, and / or the biosensor 6312. For example, the temperature control system 6304 may include a thermal circulator that interacts with the biosensor 6312 and controls the temperature of fluids flowing along reaction sites within 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. Although not shown, the temperature control system 6304 may include sensors for detecting the temperature of fluids or other components. The sensors may be in communication with the system controller 6306.

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

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

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

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

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

[0559] During operation, the communication port 6350 may transmit information (e.g., commands) to the biosensor 6312 ( FIG. 63A ) and / or the subsystems 6308, 6314, 6304 ( FIG. 63A ). In an embodiment, the communication port 6350 may output multiple sequences of pixel signals. The communication link 6334 may receive user input from the user interface 6318 ( FIG. 63A ) and transmit data or information to the user interface 6318. Data from the biosensor 6312 or the subsystems 6308, 6314, 6304 may be processed in real time by the system controller 6306 during a bioassay session. Additionally or alternatively, data may be temporarily stored in system memory during a bioassay session and processed slower than real time or for offline operation.

[0560] As shown in FIG. 63B, the system controller 6306 may include multiple modules 6326-6348 in communication with a main control module 6324 along with a central processing unit (CPU) 6352. The main control module 6324 may be in communication with a user interface 6318 (FIG. 63A). While the modules 6326-6348 are shown in direct communication with the main control module 6324, the modules 6326-6348 may also be in direct communication with each other, the user interface 6318, and the biosensor 6312. The modules 6326-6348 may also be in communication with the main control module 6324 via other modules.

[0561] The plurality of modules 6326-6348 includes system modules 6328-6332, 6326 that communicate with subsystems 6308, 6314, 6304, and 6316, respectively. The fluid control module 6328 may communicate with the fluid control system 6308 to control valves and flow sensors in the fluid network to control the flow of one or more fluids through the fluid network. The fluid storage module 6330 may notify a user when fluid is low or when a waste reservoir is at or near capacity. The fluid storage module 6330 may also communicate with the temperature control module 6332 so that fluids can be stored at a desired temperature. The illumination module 6326 may communicate with the illumination system 6316 to illuminate reaction sites at specified times during a protocol, such as after a desired reaction (e.g., a binding event) has occurred. In some embodiments, the illumination module 6326 may communicate with the illumination system 6316 to illuminate the reaction sites at a specified angle.

[0562] The plurality of modules 6326-6348 may also include an apparatus module 6336 that communicates with the biosensor 6312 and an identification module 6338 that determines identification information associated with the biosensor 6312. The apparatus module 6336 may, for example, communicate with the system container 6310 to confirm that the biosensor has established electrical and fluidic connection with the sequencing system 6300A. The identification module 6338 may receive a signal that identifies the biosensor 6312. The identification module 6338 may use the identification information of the biosensor 6312 to provide other information to a user. For example, the identification module 6338 may determine and subsequently display the lot number, manufacturing date, or a recommended protocol to be run on the biosensor 6312.

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

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

[0565] The output of the photodetector is a sequence image showing the intensity emissions of each cluster and their surrounding background. The sequence images show the intensity emissions generated as a result of incorporating nucleotides into a sequence during sequencing. The intensity emissions are from the associated analytes and their surrounding background. The sequence images are stored in memory 6348.

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

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

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

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

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

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

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

[0573] The sequencing system 6300A may also allow the user to reconfigure the assay protocol. For example, the determination system 6300A may provide the user with options through the user interface 6318 to modify 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 the temperature of the annealing cycle. Additionally, the sequencing system 6300A may issue a warning to the user if the user provides user input that is not generally accepted for the selected assay protocol.

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

[0575] Figure 63C is a simplified block diagram of a system for analyzing sensor data, such as base call sensor output, from a sequencing system 6300A. In the example of Figure 63C, the system includes a configurable processor 6346. The configurable processor 6346 can execute a base caller (e.g., neural network-based quality scorer 6102 and / or neural network-based base caller 218) in coordination with a runtime program executed by a central processing unit (CPU) 6352 (i.e., a host processor). The sequencing system 6300A includes a biosensor 6312 and a flow cell. The flow cell can include one or more tiles in which clusters of genetic material are exposed to a series of analyte flows that are used to trigger reactions within the clusters to identify bases in the genetic material. A sensor detects reactions for each cycle of sequencing in each tile of the flow cell to provide tile data. Genetic sequencing is a data-intensive operation that converts base call sensor data into a sequence of base calls for each group of genetic material sensed during the base calling operation.

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

[0577] Sequencing system 6300A is coupled to configurable processor 6346 by bus 6389. Bus 6389 can be implemented using high-throughput technology, such as bus technology compatible with the PCIe (Peripheral Component Interconnect Express) standard currently maintained and developed by the PCI-SIG (PCI Special Interest Group) standard. Also, in this example, memory 6348A is coupled to configurable processor 6346 by bus 6393. Memory 6348A can be on-board memory located on a circuit board with configurable processor 6346. Memory 6348A is used for high-speed access by configurable processor 6346 of working data used in base calling operations. Bus 6393 can also be implemented using high-throughput technology, such as bus technology compatible with the PCIe standard.

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

[0579] The embodiments described herein use a configurable processor 6346 to implement the neural network-based quality scorer 6102 and / or the neural network-based base caller 218. The configuration file for the configurable processor 6346 can be implemented by specifying the logic functions to be performed using a high-level description language HDL or a register-transfer level RTL language specification. This specification can be compiled using resources designed for a selected configurable processor to generate the configuration file. The same or similar specifications can be compiled to generate a design for an application-specific integrated circuit, which may not be a configurable processor.

[0580] Thus, alternatives to the configurable processor 6346 in all embodiments described herein include a configured processor including an application specific ASIC or dedicated integrated circuit or set of integrated circuits, or is a system on a chip SOC device, or a graphics processing unit (GPU) processor or a coarse grained reconfigurable architecture (CGRA) processor configured to perform neural network based base call operations as described herein.

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

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

[0583] Configurable processor 6346 is also configured with base calling execution logic 6397 to execute neural network based quality scorer 6102 and / or neural network based base caller 218. Logic 6397 includes multi-cycle execution clusters (e.g., 6379), which in this example include execution cluster 1 through execution cluster X. The number of multi-cycle execution clusters can be selected according to tradeoffs with the desired throughput of operation and available resources on configurable processor 6346.

[0584] 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. The multi-cycle execution clusters are also coupled to the data flow logic 6397 by control paths 6395, implemented using, for example, configurable interconnect and memory resources on the configurable processor 6346, that provide control signals indicative of available execution clusters, readiness to provide input units to the available execution clusters for performing executions of the neural network based quality scorer 6102 and / or neural network based base caller 218, readiness to provide trained parameters for the neural network based quality scorer 6102 and / or neural network based base caller 218, readiness to provide output patches of base call classification data, and other control data used in the execution of the neural network based quality scorer 6102 and / or neural network based base caller 218.

[0585] The configurable processor 6346 is configured to execute an execution of the neural network-based quality scorer 6102 and / or the neural network-based base caller 218 using the trained parameters to generate classification data for detection cycles of the base calling operation. The execution of the neural network-based quality scorer 6102 and / or the neural network-based base caller 218 executes to generate classification data for subject detection cycles of the base calling operation. The execution of the neural network-based quality scorer 6102 and / or the neural network-based base caller 218 operates in a sequence including a number N of arrays of tile data from each detection cycle of the N detection cycles, where the N detection cycles provide sensor data for different base calling operations for one base position per operation in the time sequence in the embodiments described herein. Optionally, some of the N detection cycles can exit the sequence as needed according to the particular neural network model being executed. The number N can be any number greater than 1. In some embodiments described herein, the N detection cycles represent a set of detection cycles for at least one detection cycle preceding the subject detection cycle and at least one detection cycle following the subject detection cycle. Embodiments described herein include those in which the number N is an integer greater than or equal to 5.

[0586] Data flow logic 6397 is configured to use input units for a given run that include tile data for N arrays of spatially aligned patches to move the tile data and at least some of the trained parameters of the model parameters from memory 6348A to configurable processor 6346 for execution of neural network based quality scorer 6102 and / or neural network based base caller 218. The input units can be moved by direct memory access operations in a single DMA operation, or in smaller units that move between available time slots in coordination with the execution of the deployed neural network.

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

[0588] During execution of the neural network-based quality scorer 6102 and / or neural network-based base caller 218, the tile data may also include data generated during execution of the neural network-based quality scorer 6102 and / or neural network-based base caller 218, referred to as intermediate data that is not recalculated but can be recalculated during execution of the neural network-based quality scorer 6102 and / or neural network-based base caller 218. For example, during execution of the neural network-based quality scorer 6102 and / or neural network-based base caller 218, the data flow logic 6397 may write the intermediate data to memory 6348A in place of sensor data for a given patch of the array of tile data. Such embodiments are described in more detail below.

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

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

[0591] Figure 64A is a simplified diagram illustrating aspects of a base calling operation, including runtime program functionality executed by a host processor. In this diagram, image sensor output from the flow cell is provided on line 6400 to image processing thread 6401, which can perform processes on the image, such as aligning and positioning individual tiles within an array of sensor data and resampling the image, which can be used by a process to calculate a tile cluster mask for each tile within the flow cell, which can be used by a process to identify pixels within the array of sensor data that correspond to clusters of genetic material on the corresponding tile of the flow cell. The output of image processing thread 6401 is provided on line 6402 to dispatch logic 6410 within the CPU, which forwards the data to data cache 6404 (e.g., SSD storage) on high-speed bus 6403 or high-speed bus 6405, depending on the state of the base calling operation, to neural network processor hardware 6420, such as configurable processor 6346 in Figure 63C. Processed and transformed images can be stored on data cache 6404 to detect previously used cycles. Hardware 6420 returns the classification data output by the neural network to dispatch logic 6464, which passes the information to data cache 6404 or on line 6411 to thread 6402, which can use the classification data to perform base calling and quality score calculations and place the data in a standard format for base called reads. The output of thread 6402, which performs base calling and quality score calculations, is provided on line 6412 to thread 6403, which aggregates the base called reads, performs other operations such as data compression, and writes the resulting base call output to a specified destination for consumption by the customer.

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

[0593] FIG. 64B is a simplified diagram of a configurable processor 6346 configuration such as that of FIG. 63C. In FIG. 64B, the configurable processor 6346 includes an FPGA with multiple high-speed PCIe interfaces. The FPGA is configured with a wrapper 6490 including data flow logic 6397 as described with reference to FIG. 63C. The wrapper 6490 manages interfacing and coordination with the runtime program in the CPU via CPU communication link 6477 and manages communication with onboard DRAM 6499 (e.g., memory 6348A) via DRAM communication link 6497. The data flow logic 6397 in the wrapper 6490 provides patch data obtained by traversing an array of tile data on onboard DRAM 6499 to clusters 6485, and obtains process data 6487 from clusters 6485 and delivers it to onboard DRAM 6499, for a number N of cycles. The wrapper 6490 also manages the transfer of data between the onboard DRAM 6499 and the host memory, both for input arrays of tile data and for output patches of classification data. The wrapper transfers patch data on lines 6483 to the assigned clusters 6485. The wrapper provides trained parameters, such as weights and biases on lines 6481, to the clusters 6485 retrieved from the onboard DRAM 6499. The wrapper provides configuration and control data on lines 6479 to the clusters 6485 provided by, or generated in response to, a runtime program on the host via a CPU communication link 6477. The clusters can also provide status signals on lines 6489 to the wrapper 6490, which are used in conjunction with control signals from the host to provide spatially aligned patch data and to run a multi-cycle neural network on the patch data using the resources of the clusters 6485.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0623] As used herein, the term "analyte" is intended to mean a point or region of a pattern that can be distinguished from other points or regions according to their relative position. An individual analyte can include one or more molecules of a particular type. For example, 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 its complementary sequence). Different molecules that are different analytes of a pattern can be differentiated from one another according to the location of the analyte within the pattern. Exemplary analytes include wells in a substrate, beads (or other particles) in or on a substrate, protrusions from a substrate, ridges on a substrate, pads of gel material on a substrate, or channels in a substrate.

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

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

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

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

[0628] The nucleic acid clusters of the present invention can have different shapes, sizes, and densities depending on ...

Claims

1. 1. A computer-implemented method for base calling clusters, comprising: processing input data through a neural network to generate alternative representations of the input data, the input data comprising: (i) cycle-by-cycle image data obtained from one or more images generated by a sequencer for each of one or more sequencing cycles of a sequencing run, the cycle-by-cycle image data including pixels representing intensity emissions indicative of one or more clusters in each one of the sequencing cycles; (ii) supplemental distance information identifying distances between the pixels of the cycle-by-cycle image data; during the processing of the pixels of the per cycle image data by the neural network, the supplemental distance information accompanies the per cycle image data and informs the neural network which of the pixels of the per cycle image data include centers of the clusters and which of the pixels of the per cycle image data are far from the centers of the one or more clusters, and the alternative representations include convoluted representations or hidden representations; processing the alternative representations through an output layer to generate an output; base calling one or more of the clusters in one or more of the sequencing cycles based on the output; 4. A computer-implemented method comprising:

2. The computer-implemented method of claim 1 , wherein the per-cycle image data is indicative of an ambient background in the respective one of the sequencing cycles.

3. 3. The computer-implemented method of claim 1, wherein the supplemental distance information improves accuracy of the base calling.

4. 4. The computer-implemented method of claim 3, wherein the neural network uses the supplemental distance information to assign a sequencing signal to its appropriate source cluster by focusing on central cluster pixels, their neighboring pixels, and alternative representations derived therefrom, rather than peripheral cluster pixels, background pixels, and alternative representations derived therefrom.

5. The computer-implemented method of claim 1 , further comprising appending supplemental scaling information to the per-cycle image data that assigns scaling values ​​to the pixels of the per-cycle image data.

6. The computer-implemented method of claim 1 , wherein the cycle-by-cycle image data is indicative of voltage changes detected in each of the sequencing cycles.

7. The computer-implemented method of claim 1 , wherein the cycle-by-cycle image data is indicative of a current signal measured in each of the sequencing cycles.

8. 1. A neural network-implemented method for base calling clusters synthesized during a sequencing run comprising multiple sequencing cycles, comprising: convolving input data with 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 in a current sequencing cycle of the sequencing run, one or more preceding image sets generated respectively in one or more sequencing cycles of the sequencing run preceding the current sequencing cycle, and one or more subsequent image sets generated respectively in one or more sequencing cycles of the sequencing run following the current sequencing cycle; each of said image patches represents an intensity emission of a target cluster being base called; the input data further comprising distance information indicating a distance of each of the pixels of each of the image patches from a central pixel of the image patch; processing the convolutional representation through an output layer to generate an output; and base calling the target cluster in the current sequencing cycle based on the output.

9. providing location coordinates of centers of image regions representing each cluster as inputs to the convolutional neural network; The input is provided to a first layer of the convolutional neural network; the input is provided to one or more hidden layers of the convolutional neural network; 9. The method of claim 8, wherein the input is provided to a final layer of the convolutional neural network.

10. providing an intensity scaling channel having scaling values ​​corresponding to pixels of the image patch as an input to the convolutional neural network; A neural network implemented method according to any one of claims 8 to 9, wherein the scaling value is based on the average intensity of central pixels of the image patches that each comprise a particular target cluster.

11. 11. The neural network implemented method of claim 10, wherein the intensity scaling channel contains the same scaling value on a pixel-by-pixel basis for all the pixels of the image patch.

12. 9. The neural network implementation method of claim 8, wherein each image patch further comprises pixel distance data indicative of a distance between a respective pixel and a nearest cluster of the plurality of clusters, the nearest cluster of the plurality of clusters being selected based on a center-to-center distance between the pixel and each of the clusters.

13. 9. The neural network implemented method of claim 8, wherein each image patch further comprises cluster distance data identifying a distance of each cluster pixel from an assigned cluster of the plurality of clusters selected based on classifying each cluster pixel to only one of the clusters.

14. convolving the input data with the convolutional neural network to generate the convolved representation of the input data; processing the image patch set for each cycle separately through a first convolutional sub-network of the convolutional neural network to generate an intermediate convolved representation for each sequencing cycle, comprising applying a convolution that combines the intensity and distance information and combines the resulting convolved representations only within a sequencing cycle and not between sequencing cycles; processing intermediate convoluted representations for successive sequencing cycles within the plurality of sequencing cycles in groups by a second convolutional sub-network of the convolutional neural network to generate final convoluted representations for the plurality of sequencing cycles, comprising applying a convolution that combines the intermediate convoluted representations and combines resulting convoluted representations between the sequencing cycles; 14. The method of claim 8, wherein processing the convoluted representation by an output layer to generate the output comprises processing the final convoluted representation by the output layer.

15. reframing the pixels of each image patch to position a center of the target cluster at a center of a central pixel to generate a reframed image patch; 15. The neural network implemented method of claim 8, wherein convolving the input data through the convolutional neural network to generate the convolved representation of the input data comprises convolving the reframed image patches through the convolutional neural network to generate the convolved representation, and wherein the reframing further comprises intensity interpolation of the pixels of each image patch to compensate for the reframing.

Citation Information

Patent Citations

  • Optical distortion correction for imaging sample

    JP2018173943A

  • Phasing correction

    WO2018129314A1