Method of deep artificial neural network for signal error correction
By using artificial neural networks and convolutional neural networks to correct signal measurements in the next generation sequencing system, the problem of reduced accuracy of base calls caused by system errors is solved, and the quality of sequencing data is significantly improved.
Patent Information
- Application Number
- CN202380038373.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-05
- Filing Date
- 2023-05-05
- Publication Date
- 2024-12-20
AI Technical Summary
The systematic error of signal data in next-generation sequencing systems leads to a reduction in the accuracy of base calls, and the prior art is difficult to effectively eliminate these errors, affecting the accuracy of sequencing results.
Using artificial neural networks (ANN), especially convolutional neural networks (CNN) and U-Net architecture, combined with convolutional block attention modules (CBAM), the signal measurement is corrected to reduce the impact of system errors, thereby improving the base The accuracy of the call.
Signal correction significantly reduces the base error rate, improves the accuracy of base calls, improves the quality of sequencing data, and achieves effective elimination of system errors.
Smart Images

Figure CN119173947A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 338,703, filed May 5, 2022, and U.S. Provisional Application No. 63 / 338,810, filed May 5, 2022, under 35 U.S.C. §119(e). The entire contents of the foregoing applications are incorporated herein by reference.
[0003] Sequence Listing
[0004] This application contains a sequence listing, which has been submitted electronically in XML format and is hereby incorporated by reference in its entirety. The XML copy created on April 27, 2023 is named TP109360USUTL1_SL.xml and is 3,922 bytes in size. Technical Field
[0005] The present application generally relates to methods, systems, and computer-readable media for applying deep learning artificial neural networks to correct signal data obtained by a next-generation sequencing system, and more specifically to correcting signal data to improve the accuracy of base calls. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figure 1A is a schematic diagram illustrating aspects of sequencing by synthesis in next generation sequencing. The figure discloses SEQ ID NOs 3 and 3, respectively, in order of appearance.
[0007] Figure 1B Examples of signal measurements and corresponding base calls are shown.
[0008] Figure 2A is an example to illustrate the principle of the base calling operation.
[0009] Figure 2B An example of a signal measurement distribution when the signal measurement has additive white Gaussian noise and no phasing error is shown.
[0010] Figure 3A An example of an ideal distribution of signal measurements without offsets due to systematic errors is shown.
[0011] Figure 3B An example of a shift in the distribution of signal measurements due to systematic errors is shown.
[0012] Figure 4 is an example of a block diagram of an analysis pipeline for signal data obtained from a nucleic acid sequencing instrument.
[0013] Figure 5is an example of a block diagram of an analysis pipeline including an artificial neural network for correcting signal data obtained from a nucleic acid sequencing instrument.
[0014] Figure 6 An example of a CNN with a U-Net architecture and including CBAM is illustrated.
[0015] Figure 7 is a table illustrating example improvements in base error rates.
[0016] Figure 8 is an example of a block diagram of a labeling and training pipeline including an artificial neural network for correcting signal data obtained from a nucleic acid sequencing instrument.
[0017] Fig. 9 is an example of a block diagram of a labeled pipeline.
[0018] Fig.10 is an example graph of a measurement sequence set.
[0019] Fig.11 is an example of a block diagram of a method for labeling measurements.
[0020] Fig.12 is an example of a block diagram of a method for generating a sequence.
[0021] Fig.13 is an example of a block diagram of a method for labeling a sequence.
[0022] Fig.14 is an example of a block diagram of a method for labeling a read sequence.
[0023] Fig.15 is an example of a block diagram for determining statistical properties of a set of measurement sequences.
[0024] Fig.16 is an example of a block diagram for training an artificial neural network. DETAILED DESCRIPTION
[0025] Figure 1AIt is a schematic diagram illustrating the aspect of sequencing by synthesis in the next generation sequencing. For example, hole 102 is a reaction space in a plurality of reaction spaces on the microarray of a nucleic acid sequencing instrument. Hole 102 comprises beads, to which a colony of template strands of nucleic acids is attached. Nucleotides flow in a flow order (e.g., A, T, C, G, A, C) over the hole, one at a time. The incorporation of nucleotides complementary to the template sequence releases hydrogen ions, as shown in Figure 104 of incorporating a single nucleotide and Figure 106 of incorporating two nucleotides. The resulting pH changes are measured by a sensor 108 (e.g., an ion sensitive field effect transistor (ISFET)). The raw data from the sensor includes background signals, binding signals, and noise. The signal processing applied to the raw data from the sensor converts the raw data into signal measurements, wherein the amplitude is related to the incorporation number of the specific nucleotides flowing. Figure 1B An example of signal measurement and corresponding base calling is shown. Chart 110 shows signal measurements determined from signal processing applied to raw data. In chart 110, signal measurements are plotted relative to nucleotides in flow order. Signal measurements determined in response to nucleotide flow in flow order are also referred to as signal measurements or flow measurements in flow space. A base caller is applied to the signal measurement to produce a base sequence or sequence read 112. The purpose of the base caller is to determine the most likely base sequence that will correspond to the signal measurement. The number of incorporated nucleotide bases can be inferred by rounding to the nearest integer shown on the y-axis. In this example, the signal measurement corresponding to the flow of nucleotide A is 1.1, corresponding to a single base A in the sequence read 112. The signal measurement of 2.0 corresponds to two incorporations of nucleotide T and base calls of 2-mer TT in the sequence read 112. The signal measurement of 0.2 indicates that nucleotide C is not incorporated. The signal measurement corresponding to the flow of nucleotide G is 0.9, corresponding to a single base G in the sequence read 112. The signal measurement of 0.1 indicates that nucleotide A is not incorporated. The signal measurement of 2.7 corresponds to three incorporations of nucleotide C and a base call of the 3-mer CCC in sequence read 112 .
[0026] Figure 2AIt is an example of the principle of base calling operation. The goal of the base caller is to determine the base sequence 202 that the expected signal 204 is most likely to be the signal measurement 206. The base caller can use a simulation model to generate a simulated signal measurement or an expected signal 204. For example, generating a simulated signal measurement may include one or more features described in U.S. Patent Application Publication No. 2012 / 0109598 published on May 3, 2012, which is incorporated herein by reference in its entirety. In some cases, the model is a phase model that simulates a template chain population when the template chain undergoes a sequencing process and becomes divided into different phases when synthetic sequencing progresses. One or more phasing effect parameters (such as incomplete extension rate and / or carryover rate) can be used to calculate the number of template chains in each phase. The input of the simulation model may include signal measurement, preliminary base sequence, nucleotide flow order and initial model parameters. The simulated signal measurement can be compared with the signal measurement to optimize the model parameters. For example, the simulation model can generate a simulated signal measurement, and if there is nucleotide incorporation or no incorporation in the next process, the simulated signal measurement will be expected. This can be done for a series including 0-mers, 1-mers, 2-mers, etc., to generate an array of predicted signal measurements. The signals predicted by these models can be compared to the actual measured signals to fit the model to the measured signal data.
[0027] Simulated signal measurements can be generated from a simulation model that includes model parameters such as a "carryover" parameter and an "incomplete extension" parameter. One reason for phase synchronization loss is that for a given flow cycle, the sequencing reaction fails to incorporate one or more nucleotide species on the template strand, which may cause the template strand to be located behind the main template population in terms of sequence position. This effect is referred to as an "incomplete extension" error. Another reason for phase synchronization loss is the incorrect incorporation of one or more nucleotide species on the template strand, which may cause the template strand to be located ahead of the main population in terms of sequence position. This is referred to as a "carryover" error. Carryover errors may be caused by incorrect incorporation of nucleotide species, or in some cases, where there is incomplete removal of previous nucleotide species in the reaction well (e.g., incomplete washing of the reaction well). Therefore, as a result of a given flow cycle, the template strand population may be a mixture of strands in different phases.
[0028] Figure 2BAn example of a signal measurement distribution when the signal measurement has additive white Gaussian noise and no phasing error is shown. Curve 210 shows an ideal distribution of the amplitude of a signal measurement given that the potential true homopolymer is a 2-mer. Curve 212 shows an ideal distribution of the amplitude of a signal measurement given that the potential true homopolymer is a 3-mer. The decision boundaries are shown by dashed lines. For example, a 2-mer is called for amplitudes between 1.5 and 2.5, and a 3-mer is called for amplitudes between 2.5 and 3.5. Maximum likelihood decision provides an optimal method to minimize the mean square error of a signal with additive white Gaussian noise. Gaussian noise adds unpredictable random errors.
[0029] However, it has been observed from real data that a significant fraction of error events are "systematic" rather than random. Even low homopolymers with low noise variance may be affected by systematic errors. Unlike random errors, systematic errors are reproducible across experiments. However, the sources of systematic errors may be complex and / or unknown. Systematic errors may cause a shift in the distribution of signal measurements, such that the signal measurement may include noise with a non-zero mean. Figure 3A An example of an ideal distribution of signal measurements without bias due to systematic errors is shown. Curve 302 shows the ideal distribution of signal measurements for a given 2-mer. Error populations 304 and 306 are outside the boundaries for calling 2-mers. Figure 3B An example of a shift in the distribution of signal measurements due to systematic error is shown. The curve 310 of the distribution of signal measurements is shifted in the positive direction. This shift results in an increase in erroneous 3-mer calls that should be 2-mer calls, as shown in the error population 312.
[0030] Aspects of the disclosed embodiments apply artificial neural networks to mitigate the effects of systematic errors in signal measurements and improve the accuracy of base calls.
[0031] Figure 4 It is a block diagram of an analysis pipeline for signal data obtained from a nucleic acid sequencing instrument. The sequencing instrument generates a raw data file (DAT or .dat file) during the sequencing run of the assay. Signal processing can be applied to the raw data to generate the incorporation signal measurement data of a file such as a 1.wells file that is transferred to a server FTP location together with the log information of the run. The signal processing step can derive the background signal corresponding to the hole. The background signal can be subtracted from the measured signal of the corresponding hole. The remaining signal can be fitted by the incorporation signal model to estimate the incorporation at each nucleotide flow of each hole. The output from the above signal processing is the signal measurement result of each hole and each flow that can be stored in a file such as a 1.wells file.
[0032] In some embodiments, the base calling step can perform phase estimation, normalization, and run a solver algorithm to identify the best partial sequence fit and perform base calling. The base sequence of the sequence reads is stored in an unmapped BAM file. The base calling step can generate a total number of reads, a total number of bases, and an average read length as a quality control (QC) metric for indicating base calling quality. Base calling can be performed by analyzing any suitable signal characteristic (e.g., signal amplitude or intensity). Signal processing and base calling used together with the present teachings can include one or more features described in U.S. Patent Application Publication No. 2013 / 0090860, U.S. Patent Application Publication No. 2014 / 0051584, U.S. Patent Application Publication No. 2014 / 0051584, and U.S. Patent Application Publication No. 2012 / 0109598, published on April 11, 2013, February 20, 2014, and May 3, 2012, each of which is incorporated herein by reference in its entirety.
[0033] Once the base sequence of the sequence read is determined, the sequence read can be provided to the comparison step, for example, in the form of an unmapped BAM file. The comparison step compares the sequence read with the reference genome to determine the compared sequence read and related mapping quality parameters. The comparison step can generate a certain percentage of mappable reads as QC metrics to indicate the comparison quality. The comparison results can be stored in the mapped BAM file. The method for comparing sequence reads used with the teachings of the present invention can include one or more features described in U.S. Patent Application Publication No. 2012 / 0197623, published on August 2, 2012, which is incorporated herein by reference in its entirety.
[0034] The BAM file format structure is described in the "Sequence Alignment / Map Format Specification" dated September 12, 2014 (github.com / samtools / hts-specs). As described herein, a "BAM file" refers to a file compatible with the BAM format. As described herein, an "unaligned" BAM file refers to a BAM file that does not contain aligned sequence read information and mapping quality parameters, and a "mapped" BAM file refers to a BAM file that contains aligned sequence read information and mapping quality parameters.
[0035] The variation calling step may include detecting single nucleotide polymorphisms (SNPs), insertions and deletions (InDels), multinucleotide polymorphisms (MNPs), and complex block substitution events. In various embodiments, the variation calling device may be configured to transmit the variation called for the sample genome in the form of *.vcf, *.gff, or *.hdf data files. The variation information called may be communicated using any file format, as long as the variation information called can be parsed and / or extracted for analysis. The variation detection method used together with the teachings of the present invention may include one or more features described in U.S. Patent Application Publication No. 2013 / 0345066, U.S. Patent Application Publication No. 2014 / 0296080, U.S. Patent Application Publication No. 2014 / 0052381, U.S. Patent Application Publication No. 2014 / 0052381, U.S. Patent Application Publication No. 9,953,130, published on April 24, 2018, each of which is incorporated herein by reference in its entirety. In some embodiments, the variant calling step can be applied to nucleic acid sequence data with molecular tags. The variant detection method for nucleic acid sequence data with molecular tags can include one or more features described in U.S. Patent Application Publication No. 2018 / 0336316 published on November 22, 2018, which is incorporated herein by reference in its entirety.
[0036] Artificial neural networks (ANNs) can operate in training mode and inference mode. During training mode, the ANN receives training data from an input channel. The training data corresponds to a set of true values for base calls. The ANN adapts its parameters according to a loss function, as described below with respect to Figure 8 During inference mode, as described below with respect to Figure 5 As described, the ANN receives data from input channels generated by signal processing applied to raw data from sequencing runs by a nucleic acid sequencing instrument. The parameters of the ANN have fixed values during inference mode.
[0037] Figure 5 is a block diagram of an example of an analysis pipeline including an ANN for correcting signal data obtained from a nucleic acid sequencing instrument. Figure 5In the example of, ANN can operate in inference mode. The input of artificial neural network (also referred to as the input layer of neural network) may include one or more input channels, each channel including an array of N values. The input channel may include a signal measurement channel and one or more of a simulated signal measurement channel, a signal mask channel, a signal position channel and four flow order channels. The signal measurement channel may include an array of signal measurements, which is generated by signal processing of raw data generated during sequencing run by a nucleic acid sequencing instrument. The signal mask channel may include an array of fixed size, wherein 1 is in a position corresponding to an input signal measurement and 0 is in a position corresponding to no input signal measurement. The signal position channel may include an array of values indicating the position of the input signal measurement. The position value may be scaled to a value between 0.0 and 1.0. For example, for 550 input signal measurements, the signal position value may be 1 / 550, 2 / 550, ... 550 / 550 = 1.0. The flow order channel may include a channel for each base A, C, G and T. The flow sequence channels for a particular base can be represented as an array of 0s and 1s, where 1 indicates that the particular base in that position in the flow sequence flows to generate the corresponding signal measurement. Table 1 gives an example of four flow sequence channels for the flow sequence A, C, G, C, A, and T.
[0038] Table 1 .
[0039] Flow Sequential Channel A C G C A T A 1 0 0 0 1 0 C 0 1 0 1 0 0 G 0 0 1 0 0 0 T 0 0 0 0 0 1
[0040] The flow order channel includes entries corresponding to the positions of all signal measurements in the signal measurement channel according to the nucleotides flowed to obtain each signal measurement. The input channels include arrays of the same size and may include padding with zeros. For example, the channel may have a dimension of 1×576. For example, for a number of input signal measurements of 550, the signal measurement channel will be padded with zeros to a length of 576. Other input channels will also include 550 corresponding values and zero padding of length 576.
[0041] The analog signal measurement channel may include an array of analog signal measurements predicted using a simulation model, which predicts what the signal measurement expected for a specific base to be called will be. The simulation model may be constructed in any suitable manner to mathematically describe the sequencing process. For example, generating the analog signal measurement may include one or more features described in U.S. Patent Application Publication No. 2012 / 0109598, published on May 3, 2012, which is incorporated herein by reference in its entirety. The analog signal measurement may be generated from a simulation model that includes model parameters such as a "carryover" parameter and an "incomplete extension" parameter, as described above.
[0042] like Figure 5 As shown, the ANN can be applied to an input channel to produce an output channel including an array of signal correction values. Optionally, the ANN can also provide corrected signal measurements, such as in flow space, as output channels. The signal correction values represent the systematic error component of the input signal measurements. The signal correction values are subtracted from the input signal measurements to remove the systematic error component, thereby producing corrected signal measurements. The corrected signal measurements are input to a base caller. The base caller uses the corrected signal measurements instead of the original input signal measurements to determine base calls for sequence reads. For downstream processing, the sequence reads can be provided to alignment steps and variant calls, such as relative to Figure 4 described.
[0043] In some embodiments, the ANN may include a convolutional neural network (CNN). For example, the CNN may have a U-Net architecture. See, for example, Ronneberger et al., U-Net: Convolutional Networks for Biomedical Image Segmentation, arXiv: 1505.04597v1`, [cs.CV], May 18, 2015. The U-Net architecture may include a plurality of processing layers of a coding portion or contraction path and a decoding portion or expansion path. The coding or contraction path is a convolutional network including a plurality of convolutional layers, each of which applies a plurality of convolutions, followed by a batch normalization operation and a nonlinear activation function, such as a sigmoid linear unit (SiLU). For the coding or contraction path, one or more of the convolutional layers in the convolutional layer may be followed by a pooling layer that performs a maximum pooling operation. During contraction, the input signal information dimension is reduced by the maximum pooling operation, while the feature information is increased by the convolution operation. The decoding or expansion path combines feature and signal information by a sequence of convolutions and cascades with high-resolution features from the coding or contraction path.
[0044] The convolutional layers of a CNN may apply multiple convolutions to a given input channel with multiple convolutional kernels. In some convolutional layers, the convolutional kernel may have a size B. A given convolutional kernel is convolved with an array of values for a given input channel to the layer. Convolution operations may include the following multiplication, addition, and shift operations:
[0045] 1) Align the position of the convolution kernel of size B with the position in the input array of N values fed into the layer;
[0046] 2) multiply the weight of the convolution kernel by the value of the array overlapped by the convolution kernel to form B products;
[0047] 3) Add the B products to give the output value of the corresponding position in the output array of the layer;
[0048] 4) Shift the position of the convolution kernel by the stride value;
[0049] 5) Repeat steps 2) to 4) to form a convolution array with N values.
[0050] The input array may be padded with zeros so that the convolution array size is the same as the input array size. Convolution may include reflecting or inverting the feature map values prior to the convolution calculation. As described herein, convolution is consistent with the cross-correlation of the convolution kernel and the input array. The terms "convolution" and "cross-correlation" are used interchangeably herein.
[0051] For multiple input channels, a specific convolution kernel can be applied to the corresponding input channel in the input channels. A collection of convolution kernels applied to multiple input channels is called a filter. Each convolution kernel "slides" on its corresponding input channel, generating a per-channel convolution array. The per-channel convolution arrays are then summed together to form a summed array (feature map) of the output channel. Optionally, a bias value can be added to each element of the summed array of the output channel. Multiple output channels for a given layer can be generated. The number of output channels corresponds to the number of filters applied to the input channels of the layer. The weights and bias values of the convolution kernels can be learned during training mode and fixed at constant values during inference mode.
[0052] Batch normalization can be applied to each output channel in the output channels of a given layer. The batch normalization for each output channel is calculated according to equation (1):
[0053] y=(xE[x]) / sqrt(Var[x])*γ+β (1)
[0054] Where y is the normalized value of the elements in the output channel, x is the value of the elements in the output channel, E(x) is the expected value or mean of the elements in the output channel, Var(x) is the variance of the elements in the output channel, and γ and β are mean and variance parameters for each output channel that can be learned during training mode. By default, the value of γ can be set to 1 and the value of β can be set to 0.
[0055] Batch normalization can be applied before or after applying an activation function to normalize the values of the next layer. In some embodiments, the activation function can be a sigmoid linear unit function (SiLU). The SiLU function is given by equation (2):
[0056] SiLU(x) = x / (1+e -x ) (2)
[0057] Where x can be a normalized value or a non-normalized value of an output channel. Embodiments of the present disclosure may use other activation functions, such as a rectified linear unit function (ReLU), a leaky ReLU function, a softmax function, a sigmoid function, and the like.
[0058] The pooling layer applies a max pooling (MaxPool) operation to the output channels of the convolutional layer that are input to the pooling layer. The MaxPool operation with a kernel size of 2 and a stride value of 2 performs the following operations:
[0059] 1) Align the window with kernel size 2 to the initial position in the input channel to the pooling layer;
[0060] 2) Select the maximum of the two values of the input channel covered by the window for the corresponding position in the output channel of the pooling layer;
[0061] 3) Shift the window alignment by a step value of 2;
[0062] 4) Repeat steps 2) and 3) to form the output channel of the pooling layer.
[0063] For a stride value of 2, the size of the output channel of the pooling layer is half the size of the input channel to the pooling layer. Embodiments of the present disclosure may use other pooling operations, such as an average pooling (AvgPool) operation. For the AvgPool operation, the average of the two values is calculated in step 2) above, rather than selecting the maximum of the two values.
[0064] The operations of convolutional and pooling layers usually reduce (downsample) or keep the dimensionality of the array (feature map) of input channels unchanged. To expand the dimensionality, another type of CNN layer applies a transposed convolution operation to increase (upsample) the dimensionality of the output array. A 1D transposed convolution operator with a kernel size of 2 and a stride value of 2 applies the following operation to a 1D array of size S of the input channels to the layer:
[0065] 1) For each element of the input array, multiply the kernel weight by the input element value where the kernel is placed, and place the output of the multiplied kernel value at the corresponding position in the output;
[0066] 2) After each such multiplication, the output is placed at position in the output array with a gap specified by the stride value;
[0067] 3) The outputs of the multiplications are added at corresponding positions to produce a final output array of size 2S.
[0068] A transposed convolution with a stride value of 2 doubles the length of the feature map of the output array. For multiple input channels, the transposed convolution kernel can be applied to corresponding ones of the input channels to form a per-channel transposed convolution array. The per-channel transposed convolution array is then summed over the input channels to form an output feature map for the output channel. The weights of the transposed convolution kernel can be learned during training mode and fixed at a constant value during inference mode.
[0069] In some embodiments, the CNN may include a convolutional block attention module (CBAM) between the encoding or contraction path and the decoding or expansion path. See, for example, Woo, S. et al., CBAM: Convolutional Block Attention Module, arXiv: 1807.06521v2 [cs.CV], July 18, 2018. The U-Net bottleneck portion between the contraction path and the expansion path encodes the most powerful and distinctive semantic features. The CBAM includes a spatial aspect attention module and a channel aspect attention module, each of which is applied to the intermediate feature map input to the CBAM. The spatial aspect attention module may include a standard convolutional layer with pooling. In this context, "space" corresponds to the time dimension of the array of signal measurements. The channel aspect attention module emphasizes the channel-to-channel relationship of features. In more detail, the channel aspect attention module applies maximum pooling and average pooling to the input features to the CBAM on a per-channel basis to generate two descriptor arrays representing the average pooled features and the maximum pooled features, respectively. Each descriptor array is input to a multilayer perceptron (MLP) to generate an average pooling output feature vector of average pooling features and a maximum pooling output feature vector of maximum pooling features. The MLP may have two linear layers that can use activation functions. The element-by-element summation of the maximum pooling output feature vector and the average pooling output feature vector is followed by a sigmoid function to generate a channel attention map or a channel attention value array. The channel attention map has the length of the number of channels. The channel attention map and the intermediate feature map input to the CBAM are element-by-element multiplied to form a channel refinement feature map. The channel refinement feature map is provided to the spatial aspect attention module. The spatial aspect attention module applies maximum pooling and average pooling to the channel-refined feature map along the channel axis to generate a maximum pooling feature map and an average pooling feature map. The maximum pooling feature map and the average pooling feature map are cascaded and convolved by a convolutional layer, followed by a sigmoid function to form a spatial attention map or a spatial attention feature array. The CBAM output is determined by the element-by-element multiplication of the spatial attention map and the channel refinement feature map to form a refinement output feature map of the CBAM. The weights of the MLP and the convolution kernels can be learned during training mode.
[0070] The decoding or expansion path can combine features and signal information by applying up-convolution and concatenation with high-resolution features from the encoding or contraction path. The replication and concatenation step, also known as skip connection, can replicate the feature map of a channel (layer) at a specific scale in the encoder path and concatenate it with the upsampled feature map of the channel (layer) at the same scale in the decoding path. The concatenated feature map increases the length of the channel.
[0071] Figure 6An example of a CNN having a U-Net architecture and including a CBAM is illustrated. The U-Net 600 may include an encoder 620 configured to generate an encoded feature map provided to a decoder 650 at multiple scales. The decoder 650 combines feature maps at different scales to generate an output 660. The replication and cascading steps or skip connections 641, 642, and 643 skip layers to transmit feature information from the encoder to the decoder. The input layer 601 may receive M input channels, each of which includes an array of N values for a dimension of M×N. The encoder 620 may include layer groups 611, 612, and 613. The layer groups 611, 612, and 613 of the encoder 620 each include two convolutional layers configured to perform convolution, batch normalization, and activation functions (such as SiLU) and a pooling layer that applies a kernel size of 2 and a stride of 2 to downsampling. The decoder 650 may include layer groups 615, 616, and 617. The layer groups 615, 616, and 617 of the decoder 650 each include a convolution transpose layer configured to perform a transposed convolution operation with a kernel size of 2 and a stride value of 2 for upsampling, and two convolution layers configured to perform convolution, batch normalization, and an activation function such as SiLU. In some embodiments, the activation function is SiLU, but embodiments of the present disclosure may use other activation functions such as a leaky ReLU function, a softmax function, a sigmoid function, and the like.
[0072] In more detail, at layer 602 of layer group 611, a number C of one-dimensional convolutions are applied to each of the M input channels. Each convolution kernel has a size B. A given convolution kernel is convolved with the value of a given input channel with a stride value of 1. Batch normalization may be applied to each of the C feature maps generated by the convolution to produce a normalized feature map. An activation function such as SiLU is applied to the normalized feature map to produce an output feature map for the output channel of layer 602. The scale of layer 602 is C×N. The number C of output channels corresponds to the number of filters applied to the input channels of layer 602. The output channels of layer 602 are input to layer 603. At layer 603, a number C of one-dimensional convolutions with a stride value of 1 are applied to the output channels of layer 602, followed by batch normalization and an activation function (such as SiLU) to produce an output feature map for the C output channels of layer 603. The scale of layer 603 is C×N. The C output channels of layer 603 are input to pooling layer 604. At pooling layer 604, a MaxPool operation with a kernel size of 2 and a stride value of 2 is applied to each output channel of layer 603, which reduces the dimensionality of the feature map in each channel to N / 2. The scale of layer 604 is C×(N / 2).
[0073] Layer group 612 doubles the number of feature channels to 2C and reduces the dimensionality of the feature map to N / 4. In more detail, the C output channels of layer 604 are input to layer 605 of layer group 612. A number of 2C one-dimensional convolutions are applied to each of the C output channels from layer 604. Each convolution kernel has a size B. A given convolution kernel is convolved with the value of a given input channel with a stride value of 1. Batch normalization can be applied to each of the 2C feature maps generated by the convolution to produce a normalized feature map. An activation function such as SiLU is applied to the normalized feature map to produce an output feature map for the output channel of layer 605. The scale of layer 605 is 2C×(N / 2). The number of output channels, 2C, corresponds to the number of filters applied to the input channels of layer 605. The output channels of layer 605 are input to layer 606. At layer 606, 2C number of one-dimensional convolutions with a stride value of 1 are applied to the output channels of layer 605, followed by batch normalization and an activation function (such as SiLU) to produce output feature maps for the 2C output channels of layer 606. The scale of layer 606 is 2C×(N / 2). The 2C output channels of layer 606 are input to pooling layer 607. At pooling layer 607, a MaxPool operation with a kernel size of 2 and a stride value of 2 is applied to each output channel of layer 606, which reduces the dimensionality of the feature map in each channel to N / 4. The scale of layer 607 is 2C×(N / 4).
[0074] Layer group 613 doubles the number of feature channels from 2C to 4C and reduces the dimensionality of the feature map to N / 8. In more detail, the 2C output channels of layer 607 are input to layer 608 of layer group 613. A number of 4C one-dimensional convolutions are applied to each of the 2C output channels from layer 607. Each convolution kernel has a size B. A given convolution kernel is convolved with the value of a given input channel with a stride value of 1. Batch normalization can be applied to each of the 4C feature maps generated by the convolution to produce a normalized feature map. An activation function such as SiLU is applied to the normalized feature map to produce an output feature map for the output channel of layer 608. The scale of layer 608 is 4C×(N / 4). The number of output channels 4C corresponds to the number of filters applied to the input channels of layer 608. The output channels of layer 608 are input to layer 609. At layer 609, 4C number of one-dimensional convolutions with a stride value of 1 are applied to the output channels of layer 608, followed by batch normalization and an activation function (such as SiLU) to produce output feature maps for the 4C output channels of layer 609. The scale of layer 609 is 4C×(N / 4). The 4C output channels of layer 609 are input to pooling layer 610. At pooling layer 610, a MaxPool operation with a kernel size of 2 and a stride value of 2 is applied to each output channel of layer 609, which reduces the dimensionality of the feature map in each channel to N / 4. The scale of layer 610 is 4C×(N / 8).
[0075] The 4C output channels of the pooling layer 610 provide intermediate feature map inputs to the CBAM 630. As described above, the CBAM applies a channel-wise attention module and a spatial-wise attention module to the outputs from the pooling layer 610. The channel-wise attention module uses parameters that define the size of the output of the first linear layer corresponding to the size of the input to the second linear layer of the MLP. The channel-wise attention module produces a channel-wise attention map of dimension 4C. The spatial-wise attention module applies a kernel size of 7 and a stride value of 1 with 2 input channels (one from max pooling and one from average pooling) to the channel-wise refined feature map and one output channel in its convolutional layer. The spatial-wise attention module produces a spatial-wise attention map of dimension N / 8. The CBAM generates a refined output feature map of scale 4C×(N / 8).
[0076] In more detail for decoder 650, 4C channels of the refined output feature map of the CBAM are input to the convolution transpose layer 631 of layer group 615. The convolution transpose layer 631 is configured to perform a transposed convolution operation with a kernel size of 2 and a stride value of 2 for upsampling the features of the 4C input channels by a factor of 2. The scale of layer 631 is 4C×(N / 4). The encoded features of layer 609 with the same scale of 4C×(N / 4) are cascaded 641 with the upsampled features of layer 631 to form cascaded features. The cascaded features are provided to convolution layer 632. At layer 632, a number of 4C one-dimensional convolutions are applied to the cascaded features of each of the 4C channels. Each convolution kernel has a size B. A given convolution kernel is convolved with the value of a given input channel with a stride value of 1. Batch normalization can be applied to each of the 4C feature maps generated by the convolution to produce a normalized feature map. An activation function such as SiLU is applied to the normalized feature map to produce an output feature map for the output channels of layer 632. The scale of layer 632 is 4C×(N / 4). The number of output channels 4C corresponds to the number of filters applied to the input channels of layer 632. The output channels of layer 632 are input to layer 633. At layer 633, a number of 4C one-dimensional convolutions with a stride value of 1 are applied to the output channels of layer 632, followed by batch normalization and an activation function such as SiLU to produce output feature maps for the 4C output channels of layer 633. The scale of layer 633 is 4C×(N / 4). The 4C output channels of layer 633 are input to layer 634.
[0077] Layer group 616 halves the number of feature channels to 2C and increases the dimensionality of the feature map to N / 2. In more detail, the 4C output channels of layer 633 are input to layer 634 of layer group 616. Convolution transpose layer 634 is configured to perform a transposed convolution operation with a kernel size of 2 and a stride value of 2, for upsampling the feature maps of the 4C input channels by a factor of 2 and producing 2C output channels. The scale of layer 634 is 2C×(N / 2). The encoded features of layer 606 with the same scale of 2C×(N / 2) are cascaded 642 with the upsampled features of layer 634 to form cascaded features. The cascaded features are provided to convolution layer 635. At layer 635, a one-dimensional convolution of 2C is applied to the cascaded features of each of the 2C channels. Each convolution kernel has a size of B. A given convolution kernel is convolved with the value of a given input channel with a stride value of 1. Batch normalization can be applied to each of the 2C feature maps generated by the convolution to produce a normalized feature map. An activation function such as SiLU is applied to the normalized feature maps to produce output feature maps for the output channels of layer 635. The scale of layer 635 is 2C×(N / 2). The number of output channels 2C corresponds to the number of filters applied to the input channels of layer 635. The output channels of layer 635 are input to layer 636. At layer 636, a number of 2C one-dimensional convolutions with a stride value of 1 are applied to the output channels of layer 635, followed by batch normalization and an activation function (such as SiLU) to produce output feature maps for the 2C output channels of layer 636. The scale of layer 636 is 2C×(N / 4). The 2C output channels of layer 636 are input to layer 637.
[0078] Layer group 617 halves the number of feature channels to C and increases the dimensionality of the feature map to N. In more detail, the 2C output channels of layer 636 are input to layer 637 of layer group 617. Convolution transpose layer 637 is configured to perform a transposed convolution operation with a kernel size of 2 and a stride value of 2, for upsampling the feature maps of the 2C input channels by a factor of 2 and producing C output channels. The scale of layer 637 is C×N. The encoded features of layer 603 having the same scale of C×N are cascaded 643 with the upsampled features of layer 637 to form cascaded features. The cascaded features are provided to convolution layer 638. At layer 638, one-dimensional convolutions of number C are applied to the cascaded features of each of the C channels. Each convolution kernel has a size of B. A given convolution kernel is convolved with the value of a given input channel with a stride value of 1. Batch normalization can be applied to each of the C feature maps generated by the convolution to produce a normalized feature map. An activation function such as SiLU is applied to the normalized feature maps to produce output feature maps for the output channels of layer 638. The scale of layer 638 is C×N. The number of output channels C corresponds to the number of filters applied to the input channels of layer 638. The output channels of layer 638 are input to layer 639. At layer 639, a number C of one-dimensional convolutions with a stride value of 1 are applied to the output channels of layer 638, followed by batch normalization and an activation function (such as SiLU) to produce output feature maps for the C output channels of layer 639. The scale of layer 639 is C×N. The C output channels of layer 639 are input to layer 640. At the last layer 640, each convolution kernel has a size B L At layer 640, B L ×1 convolution kernels have C L The convolution kernel is applied to each of the C input channels to produce C L ×N outputs 660.
[0079] The last layer 640 may use a convolutional layer instead of a linear layer to regress the output channels. For example, the convolution kernel may have a size B L = 1 to reduce the dimension, and the output channel can have size C L (For example, to C L =3) to output C L During inference mode, C L One of the output channels provides the signal correction value. During training mode, all C L output channels (for example, C L =3) can be used for multi-task learning to improve the overall model performance. For example, the last layer 640 of C used during training mode L=3 output channels can include a signal correction value array, a labeled analog signal measurement array, and a maximum allowable residual value array. As described below, the simulation model can be applied to the labeled base sequence to generate the labeled analog signal measurement. The maximum allowable residual value is the maximum error allowed for calling the homopolymer length corresponding to the labeled measurement, as described below.
[0080] During inference mode, output 660 provides an array of signal correction values having 1×N dimensions. Figure 5 The signal correction value is subtracted from the signal measurement output by the signal processing module. The signal correction value is subtracted from the input signal measurement to remove the systematic error component, thereby generating a corrected signal measurement. The corrected signal measurement is input to the base caller.
[0081] Table 2 gives Figure 6 An example of the parameters of U-Net.
[0082] Table 2 .
[0083] parameter symbol value scope Number of input channels M 8 The number of elements in the input channel N 576 The size of the convolution kernel B 7 3 to 9 The size of the convolution kernel in the last layer <![CDATA[B L ]]> 1 1 to 9 Minimum number of output channels for a layer C 48 48 to 128 The number of output channels of the last layer <![CDATA[C L ]]> 3 1 to 3
[0084] In one example, Table 3 lists Figure 6 Parameters of U-Net.
[0085] Table 3
[0086]
[0087]
[0088] Compare the entries in Table 3 with Figure 6In association, rows 1, 2 and 3 give the parameters of layer 602; rows 4, 5 and 6 give the parameters of layer 603; row 7 gives the parameters of layer 604; rows 8, 9 and 10 give the parameters of layer 605; rows 11, 12 and 13 give the parameters of layer 606; row 14 gives the parameters of layer 607; rows 15, 16 and 17 give the parameters of layer 608; rows 18, 19 and 20 give the parameters of layer 609; row 21 gives the parameters of layer 610; rows 22 to 36 give the parameters of CBAM layer 630; Line 37 gives the parameters of layer 631; lines 38, 39, and 40 give the parameters of layer 632; lines 41, 42, and 43 give the parameters of layer 633; line 44 gives the parameters of layer 634; lines 45, 46, and 47 give the parameters of layer 635; lines 48, 49, and 50 give the parameters of layer 636; line 51 gives the parameters of layer 637; lines 52, 53, and 54 give the parameters of layer 638; lines 55, 56, and 57 give the parameters of layer 639; and line 58 gives the parameters of layer 640. In this example, the total number of U-Net parameters is 1,651,339, all of which are trainable.
[0089] Figure 7 shows the analysis workflow (e.g., Figure 5 workflow) versus using ANNs in analytical workflows (e.g. Figure 4 The original base error rate is given when the workflow does not include the ANN (e.g., Figure 4 The ANN base error rate gives the percentage of base calls that are errors when the ANN is included in the workflow (e.g., Figure 5 The difference between the original base error rate and the ANN base error rate was calculated. The improvement is the ratio of the difference to the original base error rate. These results show an overall reduction in base error rate of 32.8%, which shows an improvement in base calling accuracy when ANN is used for signal correction. In addition, for homopolymer lengths from 1 to 8, the base error rate at each homopolymer length shows an improvement in base calling accuracy. When no nucleotides were spiked in (HP=0), an improvement in accuracy was also shown.
[0090] As described above, an artificial neural network for performing signal correction operations using a neural network architecture according to an embodiment of the present disclosure is trained using a training data set. The training data set will match the sequencing data obtained from a sequencing experiment applied to a known reference sample with well-characterized genotyping information with the corresponding known true base sequence. Industry standard cell line samples for NGS benchmark markers, such as NA12878 (also known as HG001) and NA24385 (also known as HG002), can be used as a reference for training the ANN. For example, sequence data for the labeled NA12878 library provides the corresponding "ground truth". Other well-characterized samples, whether publicly available or proprietary, can be used for training. For example, samples can be derived from AMPLISEQ, such as for extended vector screening (ECS). TM CARRIERSEQ TM ECS Panel (Thermo Fisher Scientific) or AMPLISEQ for genome and DNA sequencing TM Assays such as the Exome Panel (Thermo Fisher Scientific).
[0091] Training an ANN typically involves initializing the ANN (e.g., setting weights in the network (such as those in a convolution kernel) to random values) and providing training input data to the network. The output of the network is then compared to labeled training data to generate an error signal (e.g., the difference between the current output and the "ground truth" output), and a back-propagation algorithm with gradient descent is used to update the weights over multiple iterations so that the network computes results closer to the desired ground truth.
[0092] Figure 8 Example processes and systems for labeling and training are illustrated. In one example, the system can act as a labeling system to label measurements for use in training a neural network. In another example, the process and system can act as a training system and can be used to train a neural network, such as a U-Net convolutional neural network, to predict or provide an adjustment or signal correction value. Under normal operation, a sequencer can generate a signal associated with the incorporation of nucleotides complementary to a target sequence, referred to herein as a flow measurement. Using a sequencer or a separate computing system, the signal from the sequencer can be converted into a base sequence, referred to herein as a base call. Typically, a sequencer sequences more than one copy of a sequence or sequences a sequence more than once.
[0093] Figure 8Example processes and systems for labeling and training are illustrated. In one example, the system can act as a labeling system to label measurements for use in training a neural network. In another example, the process and system can act as a training system and can be used to train a neural network, such as a U-Net convolutional neural network, to predict or provide an adjustment or signal correction value. Under normal operation, a sequencer can generate a signal associated with the incorporation of nucleotides complementary to a target sequence, referred to herein as a flow measurement. Using a sequencer or a separate computing system, the signal from the sequencer can be converted into a base sequence, referred to herein as a base call. Typically, a sequencer sequences more than one copy of a sequence or sequences a sequence more than once.
[0094] In addition, the method and system can align reads or sequences to each other and optionally to an expected sequence, referred to herein as alignment. The labeling system can utilize the aligned read sequence from the alignment process or can use the raw base sequence from the base calling process to associate the read sequence and associated signal from the sequencer with a known sequence, its variation, and simulated signal measurements (such as predicted signal measurements or predicted flow measurements in flow space). The labeling system can further determine a signal correction value to associate with the flow measurement and the associated read sequence.
[0095] Such methods and systems are particularly useful when, for example, the same region of a genome is amplified and sequenced many times and stored as many reads. For example, using a library preparation method such as Ion Torrent's Ampliseq TM ) provides many copies of the targeted region being sequenced, thereby providing many stored reads of the same targeted region. Alternatively, when enough copies of the same fragment (i.e., group) are obtained, random fragments of the genome can be used.
[0096] Training neural networks (such as U-Net convolutional neural networks) utilizes large amounts of data. A labeling system can be used to retrieve measurements and label them with appropriate expected values and potential parameters. This labeling can be complicated by the variability of the expected values of the measurements.
[0097] In one example, the measured series or sequence can be compared with the series or sequence set to determine which series or sequence most closely matches the measured series or sequence. Some series or sequences within the series or sequence set may include one or more positions with more than one valid or expected value, referred to as variations. Each variation in these variations represents a valid or expected value. Therefore, variations represent valid results to be detected, rather than errors. The measured series or sequence can be matched with variations within the matched series or sequence. Appropriately marking the measured series or sequence with appropriate sequences and variations allows detection of such variations, rather than treating variations as errors to be corrected. For example, a series may be a series of signal measurements in a flow space. In another example, a sequence may be a sequence of base calls.
[0098] For example, Fig.10 A series or sequence set 1002 of measurements is illustrated. At position 1004, measurement 1002 may have more than one acceptable value. Each of the more than one values represents an expected variation within a sample. On the other hand, a difference in the value, such as at position 1010, may represent an error in the measurement. It is desirable to train a neural network that recognizes or corrects errors such as at position 1010, and does not change the measurement at position 1004, which represents an allowable variation within the measurement. In addition, the measured sequence may have a terminal 1006 or 1008. Terminals 1006 or 1108 may have the same number of measurement positions. Alternatively, for example, due to measurement errors, the measured sequence may have similarities in the middle of the sequence and have different numbers of positions at the end 1006 or 1008. The difference is typically present in a region associated with an amplicon primer. As illustrated, a measurement (such as a nucleic acid sequence) is aligned with other closely matched measurements or sequences. As described below, such sequences may match known or expected sequences and their associated variations.
[0099] When biological systems (such as nucleic acids or proteins) are sequenced, such labeling techniques are particularly useful. For example, the fragments of larger nucleic acid samples can be amplified to provide multiple copies of these nucleic acid fragments. Such fragments can then be sequenced to determine which alleles are present in the sample. Alleles relate to which variations are present on the different sequences derived from the fragment. In a specific example, amplification is designed to amplify the specific amplicon sequence found at the sample nucleic acid region. The sequence measured can be matched with the expected amplicon sequence of the amplicon sequence set. Once the most likely amplicon sequence is matched with the measurement sequence, the variation in the amplicon sequence is compared with the measured sequence to determine which variation represents the expected or true value related to the measured sequence. Therefore, the measured sequence can be labeled with the amplicon sequence and the associated variation of the sequence being matched.
[0100] As described above, it is desirable to correct errors in flow measurements (signal measurements in flow space) before determining a sequence based on flow measurements. Flow measurements are measurements indicating incorporation events in response to nucleotide flows in an ordered series in flow space. Flow space represents a coordinate system comprising a series of nucleotide flows, which are based on the ordered flow of nucleotides through a system, which may cause incorporation. Flow measurements can be used to determine a base sequence, which can be matched with a sequence in a sequence set in base space, and further matched with a variation within the matched sequence. Base space represents a coordinate system comprising base positions within a sequence. The matched sequence and associated variation can then be used to generate an expected flow measurement. Expected flow measurements, flow measurements, and flow sequences can be used to train a neural network to provide corrections in the flow measurement signal, thereby improving sequence-based measurements.
[0101] To label a measurement, a set of expected or acceptable values is generated and then associated with measurements that closely match the expected values. The labeled measurements can then be grouped and statistics about the labeled measurements determined. For example, Fig.11 As shown, method 1100 includes generating tags, as shown at box 1102. Each measurement or read sequence can be labeled with a selected tag from the generated tag set, as shown at box 1104. For example, a sequence associated with a read or measurement can be matched with a sequence in a sequence set. The matched sequences, associated variations, and generated or predicted flow measurements can be used to label the read sequence and its associated flow measurement array. Optionally, a series of residual values can be determined based on the difference between the flow measurement and the predicted flow measurement. As shown at box 1106, the labeled reads can be grouped, and statistics about the labeled reads within the group can be determined. For example, the average residual value at each position within the series of residual values can be determined, as well as the variance of the flow measurement or residual value at that position or at all positions.
[0102] In particular, one can generate label sets such as Fig.11 As shown in block 1102 of FIG. 1 . In one example, Fig.12 A method 1200 of generating tags associated with reads is shown. As shown at block 1202, a set of sequences can be generated. For example, a set of nucleic acid sequences can be generated or a set of protein sequences can be generated.
[0103] In a specific example, an amplicon sequence set can be generated based on an expected sequence or a fragment derived from a nucleic acid sample. For example, each amplicon sequence in an amplicon sequence can represent a fragment of a chromosome or an expected sequence in a region. In one example, such chromosomes can be well characterized in a public database or can be proprietary.
[0104] Some sequences in the sequence set may include variations at positions within the sequence. As shown in block 1204, variations within the sequence may be identified. For example, variations may exist at known positions on the chromosome. Amplicon sequences incorporated into those known positions may be identified, and variations within the amplicon may be identified. Variations may represent single nucleotide polymorphisms (SNPs), multiple nucleotide polymorphisms (MNPs), insertions or deletions (INDELs), and other variations.
[0105] For example, in chromosome 1 (chr1) of the human genome, according to cell line (e.g., HG001 or HG002), there are known single nucleotide polymorphisms (SNPs) at chr1:11794698 and at chr1:11794839. The reference genome can be stored in a reference genome file (.fasta or .fasta.fai). For a well-characterized genome, such variation is known and can be identified. Amplicon overlapping with a known variation can be designed. Such amplicon can be defined in a BED file (.bed). Each amplicon defined in a BED file can be compared (walk-through) to determine which positions in the amplicon include variation and what the tolerance value of the variation is. In one example, true variation and associated amplicon can be defined in a variation call format (VCF) file (.vcf) of a true variation.
[0106] In this example, there are two possible ground truth base sequences in the amplicon (on the forward strand), represented as:
[0107]
[0108] where {phased_seq_1} and {phased_seq_2} represent the true values of the amplicon insert sequences (expected insert sequences) generated by the first phased allele and the second phased allele, respectively.
[0109] Back to Fig.11 , the reads may be tagged, as shown at block 1104. For example, the read sequence may be matched to an expected read sequence, and variations within the read sequence may be identified. Fig.13 In the example illustrated in , method 1300 includes retrieving a read sequence, as shown at 1302. For example, the read sequence can be derived from a flow measurement (a signal measurement in a flow space). In a specific example, the flow measurement can be measured by flowing an ordered sequence of nucleotides (flow order) and measuring the incorporation of such nucleotides. The flow measurement can then be converted into a nucleic acid sequence.
[0110] In some embodiments, the targeted region of the genome can be sequenced. In one example, an amplicon can be used for the target region of amplified sample nucleic acid. For example, a known amplicon set can be used for the target region of amplified nucleic acid samples, and each read sequence in the read sequence obtained from sequencing the target region of amplification includes at least a portion of the amplicon for targeting the region. As shown in frame 1304, an amplicon can be assigned to the read sequence. For example, the amplicon / primer of the expected amplicon set can be matched with the read sequence. In one example, the amplicon matching algorithm can be found in the Torrent variation caller obtained from Thermo Fisher Scientific, Inc's ION Torrent.
[0111] At least a portion of the gene-specific primer or amplicon primer may be retained on the sequenced nucleic acid to form a read sequence. As shown in box 1306, the primer length of a given read sequence can be determined. In order to generate an expected flow space flow measurement value based on the identified amplicon, the primers on the 5' end and 3' end of the read are determined. In some examples, the primer region does not contain variation. As a result, the primer sequence can be determined by the reference genome and the length of the primer. Ideally, the length of the primer can be inferred by the amplicon start / last position and the read alignment start / end position. However, sequencing errors, soft limiting or other alignment artifacts can affect the start / end position of the read. Generally speaking, the 3' end read can be more noisy and suffer from homopolymer insertions and deletions (HP-INDEL) and soft limiting and quality trimming. Optionally, the length of the 3' primer of the read can be estimated by the 5' primer of the read on the relative chain. For example, fragments of the two chains of the double helix DNA can be sequenced, and the 3' primer end can be inferred from the 5' end of the relative chain.
[0112] As shown at box 1308, the read sequence can be labeled. In one example, the read sequence and the associated flow measurement can be first labeled in base space to identify the amplicon and the variation within the amplicon associated with the read sequence. In addition, the read sequence can be further labeled with the expected flow measurement generated based on the matched amplicon sequence (predicted flow measurement) and the variation, as well as the model parameters and the nucleotide flow order. In addition, the read sequence can be labeled with an indicator of the strand direction, 5' end cost, 3' end cost, or residual array.
[0113] For example, Fig.14 As shown, method 1400 may include identifying variations of the assigned sequence, as shown at block 1402. For example, the assigned amplicon may have a position that includes the variation. The read sequence is matched to the most likely amplicon and the assigned variation, and the assigned amplicon and variation are used to label the read sequence in base space.
[0114] In some cases, errors in base calling make identification of amplicons and associated variations difficult. Therefore, a predicted flow measurement (a signal measurement in flow space) can be generated based on the flow order and the matched amplicons, as shown at block 1404. For example, a simulation model and associated model parameters (such as a "carryover" parameter and an "incomplete extension" parameter) can be used to generate a predicted flow measurement.
[0115] Based on the most likely matches of the predicted flow measurements, the amplicons and associated variations can be associated with the read sequences and their associated flow measurements, as shown at block 1406. For example, the read sequences and flow measurements can be labeled with the predicted flow measurements, and optionally with the amplicons, variations, nucleotide flow order, strand direction, or modeling parameters. For example, a model can be used to generate predicted flow measurements from matched amplicons and the most likely variations. In one example, the model and associated parameters can be used together with the nucleotide flow order to provide predicted flow measurements.
[0116] As shown at block 1408, a residual or difference between the flow measurement and the predicted flow measurement may be determined for each position within the series of flow measurements and predicted flow measurements. A hash key may be generated for each read sequence based on the read tagging results.
[0117] Back to Fig.11 , the labeled reads can be grouped, as shown at block 1106. It is assumed that reads supporting the same base sequence and having the same flow spatial pattern share the statistical characteristics of noise. Therefore, the hash key generated in the read tag can be used to group the reads. Fig.15 As shown, method 1500 includes grouping reads with the same label, as shown at block 1502. In particular, reads with the same strand direction, assigned amplicon or gene-specific primer and sequence can form a group. The group can be labeled with total read counts, mean residual arrays, variance arrays, mean predicted flow measurements, variance in predicted flow measurements, or model parameters.
[0118] As shown at block 1504, an average residual at each location in a series of flow measurements and predicted flow measurements may be determined. In particular, a mean of the residual at each location may be determined. In one example, the average residual may be provided as an array.
[0119] As shown in box 1506, the variance at each position can also be determined. The variance at each flow can indicate how noisy the flow measurement at the flow (i.e., each flow of nucleotides) is. The residual and measurement depend on the phasing model. Different reads can have different model parameters, which may or may not further cause the variability of the residual. The variability of the model parameters can lead to a slight variability in the predicted signal. The variance at each flow can be used for analysis or regression loss during the regularization training step. In one example, the variance can be provided as an array.
[0120] Thus, a set of read sequences determined based on flow measurements are labeled with associated expected flow measurements and optionally amplicons, variations, nucleotide flow orders, residual or mean residual arrays, or model parameters (such as phase modeling parameters). Such labeled read sequences can be used to train a neural network to predict an adjustment factor (e.g., a signal correction value) that can be used to adjust the flow measurement, which is used to provide improved base calls. Optionally, the ANN can provide a corrected flow measurement.
[0121] For example, Fig.16 A method 1600 of training a neural network such as a U-Net convolutional neural network to determine an adjustment factor (e.g., a signal correction value) is illustrated. As shown at block 1602, a training system can supply flow measurements as an array and predicted flow measurements as an array as input channels. The input channels can also include nucleotide flow sequences, positions within flow sequences, series masks, matched sequences, measured sequences, variance arrays, or other parameters.
[0122] In one example, the channel is represented by an array. For example, a flow measurement can be represented by a 1×N array, where N is a number, such as an even number greater than the number of flows in the flow measurement. Similarly, a predicted flow measurement can be represented by a 1×N array. In another example, a flow sequence can be represented by a 4×N array (e.g., a flow sequence channel), where the flow of each nucleotide is recorded in each row of the channel. In a specific example, a position (e.g., a signal position channel) and a series mask (e.g., a signal mask channel) in the flow sequence are provided as input channels. For example, a signal position channel can be dedicated to indicating a position with a value range from 0 to 1. Due to various errors or conditions of the simulation model, the expected signal generated by the simulation model can vary based on the position. In addition, the size of the array can be greater than the number of data points, for example, greater than an even number of data points. A series mask (e.g., a signal mask channel) can be used to indicate which columns of the array contain data and which columns are set to empty.
[0123] As shown at box 1604, an array of generated residual values (signal correction values) can be provided as an output channel. During training, the generated flow measurement of the flow measurement (signal value) can also be provided as an output channel. It has been found that using both the generated residual array and another factor (such as the generated flow measurement) as the output to be predicted by the neural network improves the training of the neural network. When the neural network is used for inference, the output related to the other factors can be ignored. In one example, the output signal correction value can be compared with the residual array or the mean residual array. For example, a difference can be determined. In another example, the generated flow measurement can be compared with the predicted flow measurement, for example, a difference can be determined.
[0124] As shown at box 1606, the convolutional neural network can be iteratively trained using input channels and output channels. During the inference mode, the prediction of the second factor (such as the predicted flow measurement or variance array) can be ignored, and the predicted adjustment factor or predicted residual can be used to adjust the flow measurement to improve the base call. In one example, the training optimizes the parameters of the ANN to minimize the mean square error. For example, the training minimizes the mean square error between the residual array or the mean residual array and the output (signal correction value) from the neural network. In another example, the training also minimizes the mean square error between the predicted flow measurement and the output (signal value) from the neural network. Optionally, other output channels (such as variance channels) can be used to improve the training. The method for training may include a machine learning algorithm, for example, a stochastic gradient descent (SGD) algorithm, Adam, Adadelta, Adagrad or other adaptive learning algorithms.
[0125] In one example, the training set may include between 1,000 and 10,000,000 labeled reads. For example, the training set may include 10,000 to 5,000,000 labeled reads, such as 100,000 to 5,000,000 labeled reads or 500,000 to 5,000,000 labeled reads. The labeled reads may be grouped into 1,000 to 100,000 groups. For example, the labeled reads may be grouped into 1,000 to 50,000 groups, such as 5,000 to 50,000 groups. Most arrays have at least 10 reads, such as at least 20 reads or at least 30 reads, but are generally not greater than 10,000 reads. In one example, the mean group size is in the range of 10 to 100 reads, such as the range of 20 to 100 reads or the range of 30 to 80 reads. In one example, the labeled reads of the training set may have between 50 and 1000 bases in base space, such as 50 to 600 bases or 100 to 400 bases. In flow space, the flow measurements associated with the reads may have between 100 and 10,000 flows, such as between 100 and 5,000 flows or between 400 and 2,000 flows.
[0126] Back to Figure 8 To train an artificial neural network, simulated signal measurements such as predicted flow measurements (e.g., simulated signal measurement channels), signal masks (e.g., signal mask channels), signal positions (e.g., signal position channels), nucleotide flow orders (e.g., flow order channels), and measured signals (e.g., signal measurement channels) such as flow measurements are provided as inputs (e.g., input channels) to the artificial neural network. The output from the artificial neural network is compared to a signal correction value (e.g., a mean residual array), thereby providing a training loss that can be used to update parameters of the artificial neural network (e.g., weights for each connection between nodes).
[0127] For example, Figure 8A block diagram of an example of an analysis pipeline is included, which is configured to train an ANN using data obtained from sequencing a reference sample. The ANN is configured to operate in a training mode. A sequencing instrument generates a raw data file during a sequencing run using a targeted sequencing assay to sequence a reference sample. For example, the assay may be a CarrierSeq assay (Thermo Fisher Scientific) or an Ampliseq Exome assay (Thermo Fisher Scientific). The raw data is provided to a signal processing module, which provides a signal measurement of a reference sample. The input channels to the ANN during the training mode may be configured to be the same as those during the inference mode. The base calls applied to the signal measurements of the reference sample use a simulation model to generate predicted base calls and simulated signal measurements. The reference sequence corresponding to the reference sample is provided to an alignment module. The sequence reads output from the base caller are aligned with the reference sequence by the alignment module. Alignment identifies the tag or true value base sequence corresponding to the sequence reads. The tag base sequence is input to determine the "true value" signal correction value. For example, the true signal correction value may be a mean residual value derived from the difference between the flow measurement and the predicted flow measurement. The true signal correction value is provided for training loss determination. The training loss value is used to update the parameters of the ANN.
[0128] like Fig. 9 As shown, the matched sequences and variations can be applied to the simulation model using model parameters. The simulated signal measurement can be used together with the signal measurement of the reference sample to generate a residual array. The residual arrays from similar sequences can be grouped and used to calculate the mean and standard deviation to generate a mean residual array or a variance array. When training a neural network, such a mean residual array or a variance array can be used to determine the training loss. Optionally, the ANN can provide a corrected flow measurement to compare with the predicted flow measurement, thereby providing an additional training loss value. The training loss can be used to adjust the parameters of the neural network. The training optimizes the parameters of the ANN to minimize the mean square error. The method for training can include a machine learning algorithm, for example, a stochastic gradient descent (SGD) algorithm, Adam, Adadelta, Adagrad or other adaptive learning algorithms.
[0129] The artificial neural network architecture can be implemented in any processor. The network architecture can be implemented across multiple processors, multiple devices, or both.
[0130] According to various exemplary embodiments, appropriately configured and / or programmed hardware and / or software elements may be used to perform or implement one or more features of any one or more of the above teachings and / or exemplary embodiments. Determining whether to use hardware and / or software elements to implement an embodiment may be based on any number of factors, such as desired computing rate, power level, thermal tolerance, processing cycle budget, input data rate, output data rate, memory resources, data bus speed, etc., as well as other design or performance constraints.
[0131] Examples of hardware elements may include a processor, a microprocessor, one or more input devices, and / or one or more output devices (I / O) (or peripherals) coupled in a communicative manner by: a local interface circuit, a circuit element (e.g., a transistor, a resistor, a capacitor, an inductor, etc.), an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device (PLD), a digital signal processor (DSP), a graphics processing unit (GPU), a field programmable gate array (FPGA), a logic gate, a register, a semiconductor device, a chip, a microchip, a chipset, etc. The local interface may include, for example, one or more buses or other wired or wireless connections, controllers, buffers (caches), drivers, repeaters, and receivers, etc., to allow appropriate communication between hardware components. A processor is a hardware device for executing software, especially software stored in a memory. A processor may be any custom or commercially available processor, a central processing unit (CPU), an auxiliary processor in several processors associated with a computer, a semiconductor-based microprocessor (e.g., in the form of a microchip or chipset), a macroprocessor, or any device generally used to execute software instructions. A processor may also represent a distributed processing architecture. I / O devices may include input devices, such as keyboards, mice, scanners, microphones, touch screens, interfaces for various medical devices and / or laboratory instruments, bar code readers, styluses, laser readers, radio frequency device readers, etc. In addition, I / O devices may also include output devices, such as printers, bar code printers, displays, etc. Finally, I / O devices may also include devices that communicate as both input and output, such as modulators / demodulators (modems; used to access another device, system, or network), radio frequency (RF) or other transceivers, telephone interfaces, bridges, routers, etc.
[0132] Examples of software may include software components, programs, applications, computer programs, applications, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, programs, software interfaces, application program interfaces (APIs), instruction sets, computing codes, computer codes, code segments, computer code segments, words, values, symbols, or any combination thereof. The software in the memory may include one or more independent programs, which may include an ordered list of executable instructions for performing logical functions. The software in the memory may include a system for identifying data flows according to the teachings of the present invention and any suitable custom or commercially available operating system (O / S) that may control the execution of other computer programs such as the system, and provide scheduling, input-output control, file and data management, memory management, communication control, etc.
[0133] According to various exemplary embodiments, a non-transitory machine-readable medium or object that is appropriately configured and / or programmed to store instructions or instruction sets can be used to perform or implement one or more of the above teachings and / or any one or more of the exemplary embodiments, which instructions or instruction sets, if executed by a machine, can cause the machine to perform the methods and / or operations according to the exemplary embodiments. Such machines may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, scientific or laboratory instrument, etc., and may be implemented using any suitable combination of hardware and / or software. The machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and / or storage unit, such as memory, removable or non-removable medium, erasable or non-erasable medium, writable or rewritable medium, digital or analog medium, hard disk, floppy disk, CD-ROM, CD-R, CD-RW, optical disk, magnetic medium, magneto-optical medium, removable memory card or disk, various types of digital versatile disks (DVD), magnetic tape, cassette, etc., including any medium suitable for a computer. The memory may include any one or combination of volatile memory elements (such as random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.) and non-volatile memory elements (such as ROM, EPROM, EEROM, flash memory, hard disk drive, magnetic tape, CDROM, etc.). In addition, the memory may incorporate electronic, magnetic, optical and / or other types of storage media. The memory may have a distributed structure in which various components are located away from each other but are still accessed by the processor. Instructions may include any suitable type of code implemented using any suitable high-level, low-level, object-oriented, visual, compiled and / or interpreted programming language, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, etc.
[0134] According to various exemplary embodiments, one or more features of any one or more of the above teachings and / or exemplary embodiments may be performed or implemented, at least in part, using distributed, clustered, remote, or cloud computing resources.
[0135] According to various exemplary embodiments, one or more features of any one or more of the above teachings and / or exemplary embodiments can be executed or implemented using a source program, an executable program (target code), a script, or any other entity containing a set of instructions to be executed. When a source program, the program can be translated by a compiler, assembler, interpreter, etc., which may or may not be included in the memory, so as to operate correctly with the O / S. The instructions can be written using: (a) an object-oriented programming language with data classes and method classes; or (b) a procedural programming language with routines, subroutines, and / or functions, which can include, for example, C, C++, R, Pascal, Basic, Fortran, Cobol, Perl, Java, and Ada.
[0136] According to various exemplary embodiments, one or more of the exemplary embodiments described above may include sending, displaying, storing, printing or outputting information related to any information, signals, data and / or intermediate or final results that may be generated, accessed or used by such exemplary embodiments to a user interface device, a computer-readable storage medium, a local computer system or a remote computer system. For example, such information sent, displayed, stored, printed or outputted may be in the form of searchable and / or filterable runs and reports, pictures, tables, charts, graphs, spreadsheets, correlations, sequences and combinations thereof.
[0137] Embodiment 1 is a method for correcting signal measurements, comprising: providing multiple signal measurements to a channel of an input layer of an artificial neural network (ANN), wherein the input layer comprises one or more channels; applying the ANN to the multiple signal measurements to generate multiple signal correction values; subtracting the multiple signal correction values from the multiple signal measurements to form multiple corrected signal measurements; and applying base calls to the multiple corrected signal measurements to produce a base call sequence.
[0138] Embodiment 2 includes the subject matter of embodiment 1, and further specifies that the input layer further includes channels for a plurality of analog signal measurements, wherein the plurality of analog signal measurements corresponds to the plurality of signal measurements.
[0139] Embodiment 3 includes the subject matter of embodiment 1, and further specifies that the input layer further includes a channel for representing a flow order corresponding to the flowing nucleotides, wherein a plurality of signal measurements are detected in response to the nucleotides flowing in the flow order.
[0140] Example 4 includes the subject matter of Example 3, and further specifies that the flow order is represented by four binary arrays in four channels of the input layer, wherein a 1 in a position in the array indicates that a particular nucleotide flows in that position in a flow order to generate a corresponding signal measurement, wherein the flow order of nucleotides A, T, C, and G are each represented in a corresponding array in the array.
[0141] Embodiment 5 includes the subject matter of embodiment 1, and further specifies that the input layer further includes a channel for an array of values indicating locations of the plurality of signal measurements.
[0142] Embodiment 6 includes the subject matter of embodiment 1, and further specifies that the input layer also includes a channel for a signal mask, wherein the signal mask comprises an array having 1s in positions corresponding to multiple signal measurements and 0s in positions corresponding to no signal measurements, wherein the number of signal measurements is less than or equal to the size of the array.
[0143] Embodiment 7 includes the subject matter of embodiment 1, and further specifies that the ANN includes a convolutional neural network (CNN).
[0144] Embodiment 8 includes the subject matter of embodiment 7, and further specifies that CNN includes U-Net.
[0145] Embodiment 9 includes the subject matter of embodiment 8, and further specifies that the U-Net includes an encoder configured to receive channels of an input layer and generate feature maps at multiple scales.
[0146] Embodiment 10 includes the subject matter of embodiment 9, and further specifies that the encoder further includes multiple layer groups, wherein each layer group includes one or more convolutional layers.
[0147] Embodiment 11 includes the subject matter of embodiment 10, and further specifies that the convolutional layer applies multiple convolutions to input channels provided to the convolutional layer to produce multiple feature maps.
[0148] Embodiment 12 includes the subject matter of embodiment 11, and further specifies that the convolutional layer also includes batch normalization applied to multiple feature maps to produce a normalized feature map.
[0149] Embodiment 13 includes the subject matter of embodiment 12, and further specifies that the convolutional layer also includes applying an activation function to the normalized feature map to produce an output feature map for an output channel of the convolutional layer.
[0150] Embodiment 14 includes the subject matter of embodiment 13, and further specifies that the activation function comprises a sigmoid linear unit function (SiLU).
[0151] Embodiment 15 includes the subject matter of embodiment 10, and further specifies that each layer group also includes a pooling layer, wherein the pooling layer receives output channels from a last convolutional layer of the one or more convolutional layers.
[0152] Embodiment 16 includes the subject matter of embodiment 15, and further specifies that the pooling layer applies a MaxPool operation with a kernel size of 2 and a stride value of 2 to each output channel.
[0153] Example 17 includes the subject matter of Example 10, and further specifies that the number of convolutional layers is two.
[0154] Embodiment 18 includes the subject matter of Embodiment 10, and further specifies that the number of layer groups in the plurality of layer groups is three.
[0155] Embodiment 19 includes the subject matter of embodiment 9, and further specifies that the U-Net also includes a decoder, wherein the decoder receives feature maps having multiple scales from the encoder.
[0156] Embodiment 20 includes the subject matter of embodiment 19, and further specifies that the U-Net also includes a convolutional block attention module (CBAM), wherein the CBAM is applied to the output of the last pooling layer of the encoder and provides a refined feature map to the first layer of the decoder.
[0157] Embodiment 21 includes the subject matter of embodiment 19, and further specifies that the decoder also includes a second plurality of layer groups, wherein each layer group includes a convolutional transposed layer.
[0158] Embodiment 22 includes the subject matter of embodiment 21, and further specifies that the convolutional transpose layer applies multiple transposed convolutions to input channels provided to the convolutional transpose layer to produce multiple upsampled feature maps.
[0159] Embodiment 23 includes the subject matter of embodiment 21, and further specifies that each layer group of the decoder also includes one or more convolutional layers.
[0160] Embodiment 24 includes the subject matter of embodiment 23, and further specifies that the convolutional layer applies multiple convolutions to input channels provided to the convolutional layer to produce multiple feature maps.
[0161] Embodiment 25 includes the subject matter of embodiment 24, and further specifies that the convolutional layer also includes batch normalization applied to multiple feature maps to produce a normalized feature map.
[0162] Embodiment 26 includes the subject matter of embodiment 25, and further specifies that the convolutional layer also includes applying an activation function to the normalized feature map to produce an output feature map for an output channel of the convolutional layer.
[0163] Embodiment 27 includes the subject matter of embodiment 26, and further specifies that the activation function comprises a sigmoid linear unit function (SiLU).
[0164] Example 28 includes the subject matter of Example 23, and further specifies that the number of convolutional layers is two.
[0165] Embodiment 29 includes the subject matter of embodiment 23, and further specifies that a first convolutional layer in a layer group of the decoder receives output channels from a convolutional transposed layer of the layer group.
[0166] Embodiment 30 includes the subject matter of embodiment 23, and further includes concatenating a feature map from a layer group of the encoder with a feature map from a convolutional transpose layer to form a concatenated feature map, wherein the feature map from the layer group of the encoder and the feature map from the convolutional transpose layer have the same scale.
[0167] Embodiment 31 includes the subject matter of embodiment 30, and further includes applying the first convolutional layer in the layer group to the cascaded feature map.
[0168] Embodiment 32 includes the subject matter of Embodiment 23, and further specifies that a second convolutional layer in a layer group of the decoder receives output channels from a first convolutional layer in the layer group.
[0169] Embodiment 33 includes the subject matter of Embodiment 21, and further specifies that the number of layer groups in the second plurality of layer groups is three.
[0170] Embodiment 34 includes the subject matter of embodiment 21, and further includes applying a plurality of convolutions to a plurality of outputs of a last layer group in the second plurality of layer groups to produce a plurality of signal correction values.
[0171] Embodiment 35 includes the subject matter of embodiment 1, and further specifies that the plurality of signal measurements are provided by a nucleic acid sequencer.
[0172] Embodiment 36 is a system for correcting signal measurements, comprising: a machine-readable memory; and a processor configured to execute machine-readable instructions, which, when executed by the processor, cause the system to perform a method, comprising: providing multiple signal measurements to a channel of an input layer of an artificial neural network (ANN), wherein the input layer comprises one or more channels; applying the ANN to the multiple signal measurements to generate multiple signal correction values; subtracting the multiple signal correction values from the multiple signal measurements to form multiple corrected signal measurements; and applying base calls to the multiple corrected signal measurements to produce a base call sequence.
[0173] Embodiment 37 includes the subject matter of Embodiment 36, and further specifies that the input layer further includes channels for multiple analog signal measurements, wherein the multiple analog signal measurements correspond to the multiple signal measurements.
[0174] Embodiment 38 includes the subject matter of Embodiment 36, and further specifies that the input layer further includes a channel for representing a flow order corresponding to the flowing nucleotides, wherein a plurality of signal measurements are detected in response to the nucleotides flowing in the flow order.
[0175] Example 39 includes the subject matter of Example 38, and further specifies that the flow order is represented by four binary arrays in four channels of the input layer, wherein a 1 in a position in the array indicates that a particular nucleotide flows in that position in a flow order to generate a corresponding signal measurement, wherein the flow order of nucleotides A, T, C, and G are each represented in a corresponding array in the array.
[0176] Embodiment 40 includes the subject matter of Embodiment 36, and further specifies that the input layer further includes a channel for an array of values indicating locations of a plurality of signal measurements.
[0177] Embodiment 41 includes the subject matter of Embodiment 36, and further specifies that the input layer also includes a channel for a signal mask, wherein the signal mask comprises an array having 1s in positions corresponding to multiple signal measurements and 0s in positions corresponding to no signal measurements, wherein the number of signal measurements is less than or equal to the size of the array.
[0178] Embodiment 42 includes the subject matter of embodiment 36, and further specifies that the ANN comprises a convolutional neural network (CNN).
[0179] Example 43 includes the subject matter of Example 42, and further specifies that CNN includes U-Net.
[0180] Embodiment 44 includes the subject matter of embodiment 43, and further specifies that the U-Net includes an encoder configured to receive channels of an input layer and generate feature maps at multiple scales.
[0181] Embodiment 45 includes the subject matter of embodiment 44, and further specifies that the encoder also includes multiple layer groups, wherein each layer group includes one or more convolutional layers.
[0182] Embodiment 46 includes the subject matter of embodiment 45, and further specifies that the convolutional layer applies multiple convolutions to input channels provided to the convolutional layer to produce multiple feature maps.
[0183] Embodiment 47 includes the subject matter of embodiment 46, and further specifies that the convolutional layer also includes batch normalization applied to multiple feature maps to produce a normalized feature map.
[0184] Embodiment 48 includes the subject matter of embodiment 47, and further specifies that the convolutional layer also includes applying an activation function to the normalized feature map to produce an output feature map for an output channel of the convolutional layer.
[0185] Embodiment 49 includes the subject matter of embodiment 48, and further specifies that the activation function comprises a sigmoid linear unit function (SiLU).
[0186] Embodiment 50 includes the subject matter of embodiment 45, and further specifies that each layer group also includes a pooling layer, wherein the pooling layer receives output channels from a last convolutional layer of the one or more convolutional layers.
[0187] Embodiment 51 includes the subject matter of Embodiment 50, and further specifies that the pooling layer applies a MaxPool operation with a kernel size of 2 and a stride value of 2 to each output channel.
[0188] Example 52 includes the subject matter of Example 45, and further specifies that the number of convolutional layers is two.
[0189] Embodiment 53 includes the subject matter of embodiment 45, and further specifies that the number of layer groups in the plurality of layer groups is three.
[0190] Embodiment 54 includes the subject matter of embodiment 44, and further specifies that the U-Net also includes a decoder, wherein the decoder receives feature maps having multiple scales from the encoder.
[0191] Embodiment 55 includes the subject matter of embodiment 54, and further specifies that the U-Net also includes a convolutional block attention module (CBAM), wherein the CBAM is applied to the output of the last pooling layer of the encoder and provides a refined feature map to the first layer of the decoder.
[0192] Embodiment 56 includes the subject matter of embodiment 54, and further specifies that the decoder also includes a second plurality of layer groups, wherein each layer group includes a convolutional transposed layer.
[0193] Embodiment 57 includes the subject matter of embodiment 56, and further specifies that the convolutional transpose layer applies multiple transposed convolutions to input channels provided to the convolutional transpose layer to produce multiple upsampled feature maps.
[0194] Embodiment 58 includes the subject matter of embodiment 56, and further specifies that each layer group of the decoder also includes one or more convolutional layers.
[0195] Embodiment 59 includes the subject matter of embodiment 58, and further specifies that the convolutional layer applies multiple convolutions to input channels provided to the convolutional layer to produce multiple feature maps.
[0196] Embodiment 60 includes the subject matter of Embodiment 59, and further specifies that the convolutional layer also includes batch normalization applied to multiple feature maps to produce a normalized feature map.
[0197] Embodiment 61 includes the subject matter of embodiment 60, and further specifies that the convolutional layer also includes applying an activation function to the normalized feature map to produce an output feature map for an output channel of the convolutional layer.
[0198] Embodiment 62 includes the subject matter of embodiment 61, and further specifies that the activation function comprises a sigmoid linear unit function (SiLU).
[0199] Example 63 includes the subject matter of Example 58, and further specifies that the number of convolutional layers is two.
[0200] Embodiment 64 includes the subject matter of embodiment 58, and further specifies that a first convolutional layer in a layer group of the decoder receives output channels from a convolutional transposed layer of the layer group.
[0201] Embodiment 65 includes the subject matter of embodiment 58, and further includes concatenating a feature map from a layer group of the encoder with a feature map from a convolutional transpose layer to form a cascaded feature map, wherein the feature map from the layer group of the encoder and the feature map from the convolutional transpose layer have the same scale.
[0202] Embodiment 66 includes the subject matter of embodiment 65, and also includes applying the first convolutional layer in the layer group to the cascaded feature map.
[0203] Embodiment 67 includes the subject matter of embodiment 58, and further specifies that a second convolutional layer in the layer group of the decoder receives output channels from a first convolutional layer in the layer group.
[0204] Embodiment 68 includes the subject matter of Embodiment 56, and further specifies that the number of layer groups in the second plurality of layer groups is three.
[0205] Embodiment 69 includes the subject matter of embodiment 56, and further includes applying a plurality of convolutions to a plurality of outputs of a last layer group in the second plurality of layer groups to produce a plurality of signal correction values.
[0206] Example 70 includes the subject matter of Example 36, and further specifies that the plurality of signal measurements are provided by a nucleic acid sequencer.
[0207] Embodiment 71 is a non-transitory machine-readable storage medium comprising instructions that, when executed by a processor, cause the processor to perform a method for correcting signal measurements, comprising: providing multiple signal measurements to a channel of an input layer of an artificial neural network (ANN), wherein the input layer comprises one or more channels; applying the ANN to the multiple signal measurements to generate multiple signal correction values; subtracting the multiple signal correction values from the multiple signal measurements to form multiple corrected signal measurements; and applying base calls to the multiple corrected signal measurements to produce a base call sequence.
[0208] Embodiment 72 includes the subject matter of Embodiment 71, and further specifies that the input layer further includes channels for multiple analog signal measurements, wherein the multiple analog signal measurements correspond to the multiple signal measurements.
[0209] Embodiment 73 includes the subject matter of embodiment 71, and further specifies that the input layer also includes a channel for representing a flow order corresponding to the flowing nucleotides, wherein multiple signal measurements are detected in response to the nucleotides flowing in the flow order.
[0210] Example 74 includes the subject matter of Example 71, and further specifies that the flow order is represented by four binary arrays in four channels of the input layer, wherein a 1 in a position in the array indicates that a particular nucleotide flows in that position in a flow order to generate a corresponding signal measurement, wherein the flow order of nucleotides A, T, C, and G are each represented in a corresponding array in the array.
[0211] Embodiment 75 includes the subject matter of Embodiment 71, and further specifies that the input layer further includes a channel for an array of values indicating locations of multiple signal measurements.
[0212] Embodiment 76 includes the subject matter of embodiment 71, and further specifies that the input layer also includes a channel for a signal mask, wherein the signal mask comprises an array having 1s in positions corresponding to multiple signal measurements and 0s in positions corresponding to no signal measurements, wherein the number of signal measurements is less than or equal to the size of the array.
[0213] Example 77 includes the subject matter of Example 71, and further specifies that the ANN includes a convolutional neural network (CNN).
[0214] Example 78 includes the subject matter of Example 77, and further specifies that CNN includes U-Net.
[0215] Embodiment 79 includes the subject matter of embodiment 78, and further specifies that the U-Net includes an encoder configured to receive channels of an input layer and generate feature maps at multiple scales.
[0216] Embodiment 80 includes the subject matter of embodiment 79, and further specifies that the encoder also includes multiple layer groups, wherein each layer group includes one or more convolutional layers.
[0217] Embodiment 81 includes the subject matter of embodiment 80, and further specifies that the convolutional layer applies multiple convolutions to input channels provided to the convolutional layer to produce multiple feature maps.
[0218] Embodiment 82 includes the subject matter of embodiment 81, and further specifies that the convolutional layer also includes batch normalization applied to multiple feature maps to produce a normalized feature map.
[0219] Embodiment 83 includes the subject matter of embodiment 82, and further specifies that the convolutional layer also includes applying an activation function to the normalized feature map to produce an output feature map for an output channel of the convolutional layer.
[0220] Embodiment 84 includes the subject matter of embodiment 83, and further specifies that the activation function comprises a sigmoid linear unit function (SiLU).
[0221] Embodiment 85 includes the subject matter of embodiment 80, and further specifies that each layer group also includes a pooling layer, wherein the pooling layer receives output channels from a last convolutional layer of the one or more convolutional layers.
[0222] Embodiment 86 includes the subject matter of Embodiment 85, and further specifies that the pooling layer applies a MaxPool operation with a kernel size of 2 and a stride value of 2 to each output channel.
[0223] Example 87 includes the subject matter of Example 80, and further specifies that the number of convolutional layers is two.
[0224] Embodiment 88 includes the subject matter of Embodiment 80, and further specifies that the number of layer groups in the plurality of layer groups is three.
[0225] Embodiment 89 includes the subject matter of embodiment 79, and further specifies that the U-Net also includes a decoder, wherein the decoder receives feature maps having multiple scales from the encoder.
[0226] Embodiment 90 includes the subject matter of embodiment 89, and further specifies that the U-Net also includes a convolutional block attention module (CBAM), wherein the CBAM is applied to the output of the last pooling layer of the encoder and provides a refined feature map to the first layer of the decoder.
[0227] Embodiment 91 includes the subject matter of embodiment 89, and further specifies that the decoder also includes a second plurality of layer groups, wherein each layer group includes a convolutional transposed layer.
[0228] Embodiment 92 includes the subject matter of embodiment 91, and further specifies that the convolutional transpose layer applies multiple transposed convolutions to input channels provided to the convolutional transpose layer to produce multiple upsampled feature maps.
[0229] Embodiment 93 includes the subject matter of embodiment 91, and further specifies that each layer group of the decoder also includes one or more convolutional layers.
[0230] Embodiment 94 includes the subject matter of embodiment 93, and further specifies that the convolutional layer applies multiple convolutions to input channels provided to the convolutional layer to produce multiple feature maps.
[0231] Embodiment 95 includes the subject matter of embodiment 94, and further specifies that the convolutional layer also includes batch normalization applied to multiple feature maps to produce a normalized feature map.
[0232] Embodiment 96 includes the subject matter of embodiment 95, and further specifies that the convolutional layer also includes applying an activation function to the normalized feature map to produce an output feature map for an output channel of the convolutional layer.
[0233] Embodiment 97 includes the subject matter of embodiment 96, and further specifies that the activation function comprises a sigmoid linear unit function (SiLU).
[0234] Example 98 includes the subject matter of Example 93, and further specifies that the number of convolutional layers is two.
[0235] Embodiment 99 includes the subject matter of embodiment 93, and further specifies that the first convolutional layer in the layer group of the decoder receives output channels from the convolutional transposed layer of the layer group.
[0236] Embodiment 100 includes the subject matter of embodiment 93, and further includes concatenating a feature map from a layer group of the encoder with a feature map from a convolutional transpose layer to form a cascaded feature map, wherein the feature map from the layer group of the encoder and the feature map from the convolutional transpose layer have the same scale.
[0237] Embodiment 101 includes the subject matter of embodiment 100, and further includes applying a first convolutional layer in the layer group to the cascaded feature map.
[0238] Embodiment 102 includes the subject matter of embodiment 93, and further specifies that a second convolutional layer in a layer group of the decoder receives output channels from a first convolutional layer in the layer group.
[0239] Embodiment 103 includes the subject matter of Embodiment 91, and further specifies that the number of layer groups in the second plurality of layer groups is three.
[0240] Embodiment 104 includes the subject matter of embodiment 91, and further includes applying a plurality of convolutions to a plurality of outputs of a last layer group in the second plurality of layer groups to produce a plurality of signal correction values.
[0241] Embodiment 105 includes the subject matter of Embodiment 71, and further specifies that the plurality of signal measurements are provided by a nucleic acid sequencer.
Claims
1. A method for correcting signal measurement, comprising: providing a plurality of signal measurements to channels of an input layer of an artificial neural network (ANN), wherein the input layer comprises one or more channels; applying the ANN to the plurality of signal measurements to generate a plurality of signal correction values; subtracting the plurality of signal correction values from the plurality of signal measurements to form a plurality of corrected signal measurements; as well as Base calls are applied to the plurality of corrected signal measurements to produce a base call sequence. 2 . The method of claim 1 , wherein the input layer further comprises channels for a plurality of analog signal measurements, wherein the plurality of analog signal measurements correspond to the plurality of signal measurements.
3. The method of claim 1, wherein the input layer further comprises channels for representing a flow order corresponding to flowing nucleotides, wherein the plurality of signal measurements are detected in response to the nucleotides flowing in the flow order.
4. The method of claim 1, wherein the ANN comprises a convolutional neural network (CNN).
5. The method of claim 4, wherein the CNN comprises a U-Net.
6. The method of claim 5, wherein the U-Net comprises an encoder configured to receive the channels of the input layer and generate feature maps at multiple scales.
7. The method of claim 6, wherein the encoder further comprises a plurality of layer groups, wherein each layer group comprises one or more convolutional layers, wherein the convolutional layers apply a plurality of convolutions to input channels provided to the convolutional layers to produce a plurality of feature maps.
8. The method of claim 7, wherein the convolutional layer further comprises batch normalization applied to the plurality of feature maps to produce a normalized feature map.
9. The method of claim 8, wherein the convolutional layer further comprises applying an activation function to the normalized feature map to produce an output feature map for an output channel of the convolutional layer.
10. The method of claim 7, wherein each layer group further comprises a pooling layer, wherein the pooling layer receives output channels from a last convolutional layer of the one or more convolutional layers, wherein the pooling layer applies a MaxPool operation.
11. The method of claim 6, wherein the U-Net further comprises a decoder, wherein the decoder receives the feature maps having the multiple scales from the encoder.
12. The method of claim 11, wherein the U-Net further comprises a convolutional block attention module (CBAM), wherein the CBAM is applied to the output of the last pooling layer of the encoder and provides a refined feature map to the first layer of the decoder.
13. The method of claim 11, wherein the decoder further comprises a second plurality of layer groups, wherein each layer group comprises a convolutional transposed layer.
14. The method of claim 13, wherein the convolutional transpose layer applies a plurality of transposed convolutions to input channels provided to the convolutional transpose layer to produce a plurality of upsampled feature maps.
15. The method of claim 13, wherein each layer group of the decoder further comprises one or more convolutional layers, wherein the convolutional layers apply multiple convolutions to input channels provided to the convolutional layers to produce multiple feature maps.
16. The method of claim 15, wherein the convolutional layer further comprises batch normalization applied to the plurality of feature maps to produce a normalized feature map.
17. The method of claim 16, wherein the convolutional layer further comprises applying an activation function to the normalized feature map to produce an output feature map for an output channel of the convolutional layer.
18. The method of claim 15, wherein a first convolutional layer in the layer group of the decoder receives output channels from the convolutional transposed layer of the layer group, the method further comprising: concatenating a feature map from a layer group of the encoder with a feature map from the convolutional transpose layer to form a concatenated feature map, wherein the feature map from the layer group of the encoder and the feature map from the convolutional transpose layer have the same scale; as well as Applying the first convolutional layer in the layer group to the concatenated feature map.
19. The method of claim 15, wherein a second convolutional layer in the layer group of the decoder receives output channels from a first convolutional layer in the layer group.
20. The method of claim 13, further comprising applying a plurality of convolutions to a plurality of outputs of a last layer group in the second plurality of layer groups to generate the plurality of signal correction values.
Citation Information
Patent Citations
Methods for flow space quality score prediction by neural networks
CN111699531A
Solid nanopore sequencing electric signal noise reduction processing method based on residual autoencoder convolutional neural network
CN113743301A
Methods and Apparatuses for Estimating Parameters in a Predictive Model for Use in Sequencing-by-Synthesis
US20140051584A1
Methods and systems for sequence calling
US20210366576A1
Characterizing intra-site tumor heterogeneity
WO2021108382A1
Cited By
Systems and methods using deep neural network for signal correction for base calling and variant calling
WO2026207220A1
