# US 12,592,298 B2 · Hardware execution and acceleration of artificial intelligence-based base caller

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,592,298 B2
- Document ID: US12592298B2
- Status: Granted
- Kind: B2
- Application number: 17/176,147
- Filed: 2021-02-15
- Published: 2021-08-26
- Granted: 2026-03-31
- Earliest claimed: 2020-02-20
- Assignees: Illumina, Inc.
- Applicants: Illumina, Inc.
- Inventors: Gavin Derek Parnaby; Mark David Hahm; Andrew Christopher Du Preez; Jason Edward Cosky; John S. Vieceli; Andrew Dodge Heiberg; Gery Vessere
- Web page: https://patentgrep.com/patent/US12592298B2

## CPC

- G06N 3/063: using electronic means
- G16B 30/20: Sequence assembly
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/0495: Quantised networks; Sparse networks; Compressed networks
- G06N 3/08: Learning methods
- G06N 3/082: modifying the architecture, e.g. adding, deleting or silencing nodes or connections
- G06N 3/09: Supervised learning
- G16B 30/00: ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B 40/10: Signal processing, e.g. from mass spectrometry [MS] or from PCR
- G16B 40/20: Supervised data analysis
- G16B 50/30: Data warehousing; Computing architectures
- C12Q 1/6869: Methods for sequencing
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G16B: BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- C12Q: MEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS (immunoassay G01N33/53); COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES

## Abstract

A system for analysis of base call sensor output has memory accessible by the runtime program storing tile data including sensor data for a tile from sensing cycles of a base calling operation. A neural network processor having access to the memory is configured to execute runs of a neural network using trained parameters to produce classification data for sensing cycles. A run of the neural network operates on a sequence of N arrays of tile data from respective sensing cycles of N sensing cycles, including a subject cycle, to produce the classification data for the subject cycle. Data flow logic moves tile data and the trained parameters from the memory to the neural network processor for runs of the neural network using input units including data for spatially aligned patches of the N arrays from respective sensing cycles of N sensing cycles.

## Claims

### Claim 1

A system for analysis of base call sensor output, comprising:
a host processor;
memory accessible by the host processor storing tile data including arrays of sensor data for tiles from sensing cycles of a base calling operation, wherein the sensor data comprises pixel arrays from images of clusters of nucleic acids captured by a light detector of a sequencer; and
a neural network processor having access to the memory, the neural network processor including:
a plurality of execution clusters, the execution clusters in the plurality of execution clusters configured to execute a neural network; and
data flow logic having access to the memory and to execution clusters in the plurality of execution clusters to:
provide input units of tile data comprising the pixel arrays to available execution clusters in the plurality of execution clusters, the input units including N spatially aligned patches of the pixel arrays from tile data from respective sensing cycles, including a subject sensing cycle;
cause the execution clusters to apply the N spatially aligned patches to the neural network;
identify locations of clusters of nucleic acids depicted by the images of clusters of nucleic acids;
based on the identified locations of clusters of nucleic acids depicted by the images of clusters of nucleic acids, remove data for a subset of the clusters of nucleic acids from intermediate data; and
produce, utilizing the neural network, output patches of classification data for a spatially aligned patch for the subject sensing cycle based on the intermediate data, where N is greater than 1.

### Claim 2 (depends on 1)

The system of claim 1, including logic to assemble the output patches from the plurality of execution clusters to provide base call classification data for the subject sensing cycle, and to store the base call classification data in memory.

### Claim 3 (depends on 1)

The system of claim 1, wherein an execution cluster in the plurality of execution clusters comprises a set of computation engines having plural members, configured to convolve trained parameters over input data for multiple layers of the neural network, wherein input data for a first layer is from an input unit, and data for subsequent layers is from activation data output from a previous layer.

### Claim 4 (depends on 3)

The system of claim 3, including memory storing plural versions of trained parameters for the neural network, and wherein clusters in the plurality of execution clusters in the neural network processor are configured to include kernel memory to store the trained parameters, and the data flow logic is configured to provide instances of trained parameters to the kernel memory of execution clusters in the plurality of execution clusters for use in execution of the neural network.

### Claim 5 (depends on 4)

The system of claim 4, wherein the instances of trained parameters are applied as a function of cycle number in the sensing cycles of the base calling operation.

### Claim 6 (depends on 1)

The system of claim 1, wherein an execution cluster in the plurality of execution clusters comprises a set of computation engines having plural members, the set of computation engines configured to apply a plurality of configurable filters for corresponding layers of the neural network to sub-patches from an input unit, and to sub-patches from activation data output from a layer of the neural network.

### Claim 7 (depends on 1)

The system of claim 1, wherein the neural network executes for each spatially aligned patch of an input unit, a segregated stack of spatial layers, and provides data from the N spatially aligned patches output from the segregated stacks of spatial layers to one or more combinatorial layers.

### Claim 8 (depends on 7)

The system of claim 7, wherein an execution cluster in the plurality of execution clusters is configured to execute N segregated stacks of spatial layers using sensor data of the N spatially aligned patches input to produce an output patch of classification data for the spatially aligned patch for the subject sensing cycle.

### Claim 9 (depends on 7)

The system of claim 7, wherein an execution cluster in the plurality of execution clusters is configured to execute a segregated stack of spatial layers using sensor data of a current spatially aligned patch, to feedback intermediate data for the current spatially aligned patch to the memory for use as tile data in input units for other cycles, and to provide the intermediate data from previous cycles and an output of the segregated stack of spatial layers for a current sensing cycle to the one or more combinatorial layers to produce an output patch for the subject sensing cycle.

### Claim 10 (depends on 7)

The system of claim 7, including a tile cluster mask stored in the memory for the tiles of a base calling operation, and the execution clusters are configured to remove data from intermediate data from at least one of the spatial layers of the segregated stacks of spatial layers using the tile cluster mask.

### Claim 11 (depends on 1)

The system of claim 1, wherein N is an integer equal to 5 or greater.

### Claim 12 (depends on 1)

The system of claim 1, wherein logic circuits are configured to load input units in a sequence traversing the arrays of tile data for a plurality of sensing cycles, including writing a next input unit in the sequence to the neural network processor for an execution cluster during execution of the neural network by the execution cluster for a previous input unit.

### Claim 13 (depends on 1)

The system of claim 1, including logic in the host processor to execute an activation function over the output patches.

### Claim 14 (depends on 1)

The system of claim 1, wherein the execution clusters are configured to remove the data for the subset of the clusters of nucleic acids by removing data for the subset of the clusters of nucleic acids from intermediate data processed by at least one layer of the neural network.

### Claim 15 (depends on 1)

The system of claim 1, wherein the arrays of tile data include M features, where M is greater than one.

### Claim 16

A computer-implemented method for analysis of base call sensor output, comprising:
storing tile data in memory including arrays of sensor data for tiles from sensing cycles of a base calling operation, wherein the sensor data comprises pixel arrays from images of clusters of nucleic acids captured by a light detector of a sequencer; and
executing a neural network over the tile data using a plurality of execution clusters, including:
providing input units of tile data comprising the pixel arrays to available execution clusters in the plurality of execution clusters, the input units including N spatially aligned patches of the pixel arrays from tile data from respective sensing cycles, including a subject sensing cycle;
causing the execution clusters to apply the N spatially aligned patches of the pixel arrays to the neural network;
identifying locations of clusters of nucleic acids depicted by the images of clusters of nucleic acids;
based on the identified locations of clusters of nucleic acids depicted by the images of clusters of nucleic acids, removing data for a subset of the clusters of nucleic acids from intermediate data; and
producing, utilizing the neural network, output patches of classification data for a spatially aligned patch for the subject sensing cycle based on the intermediate data, where N is greater than 1.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16, including assembling the output patches from the plurality of execution clusters to provide base call classification data for the subject sensing cycle, and storing the base call classification data in memory.

### Claim 18 (depends on 16)

The computer-implemented method of claim 16, wherein an execution cluster in the plurality of execution clusters comprises a set of computation engines having plural members, configured to convolve trained parameters over input data for multiple layers of the neural network, wherein input data for a first layer is from an input unit, and data for subsequent layers is from activation data output from a previous layer.

### Claim 19 (depends on 18)

The computer-implemented method of claim 18, including storing plural versions of trained parameters for the neural network, and wherein clusters in the plurality of execution clusters are configured to include kernel memory to store the trained parameters, and providing instances of trained parameters to the kernel memory of execution clusters in the plurality of execution clusters for use in execution of the neural network.

### Claim 20

A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computing device to:
store tile data in memory including sensor data for a tile from sensing cycles of a base calling operation, wherein the sensor data comprises pixel arrays from images of clusters of nucleic acids captured by a light detector of a sequencer; and
execute a neural network over the tile data using a plurality of execution clusters, including:
providing input units of tile data comprising the pixel arrays to available execution clusters in the plurality of execution clusters, the input units including N spatially aligned patches of the pixel arrays from tile data from respective sensing cycles, including a subject sensing cycle;
causing the execution clusters to apply the N spatially aligned patches of the pixel arrays to the neural network;
identifying locations of clusters of nucleic acids depicted by the images of clusters of nucleic acids;
based on the identified locations of clusters of nucleic acids depicted by the images of clusters of nucleic acids, remove data for a subset of the clusters of nucleic acids from intermediate data; and
produce, utilizing the neural network, output patches of classification data for a spatially aligned patch for the subject sensing cycle based on the filtered intermediate data, where N is greater than 1.
