Hardware Execution and Acceleration of Artificial Intelligence-Based Base Caller
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.
1 - 20 . (canceled)
21 . A system comprising:
at least one processor; and
a non-transitory computer-readable medium storing image data of nucleic-acid sites captured by sensors of a sequencer and instructions that, when executed by the at least one processor, cause the system to:
process, in a first iteration of a neural network, input image data depicting a nucleic-acid site from one or more sensing cycles for a base calling operation of the sequencer;
generate, utilizing the neural network, intermediate image data comprising a feature set from the input image data;
write the intermediate image data to memory;
produce, using the intermediate image data, base-call classification data for a first subject sensing cycle; and
reuse, in a second iteration of the neural network, the intermediate image data written to memory to produce base-call classification data for a second subject sensing cycle for the base calling operation.
22 . The system of claim 21 , further comprising instructions that, when executed by the at least one processor, cause the system to reuse the intermediate image data written to memory to produce the base-call classification data for the second subject sensing cycle by reusing the feature set from the intermediate image data to produce the base-call classification data for the second subject sensing cycle.
23 . The system of claim 21 , further comprising instructions that, when executed by the at least one processor, cause the system to:
process the input image data by processing, in the first iteration of the neural network, input image data depicting the nucleic-acid site over a first window of sensing cycles; and
produce the base-call classification data for the first subject sensing cycle by producing the base-call classification data for the first subject sensing cycle based on a first set of intermediate image data for the first window of sensing cycles.
24 . The system of claim 23 , further comprising instructions that, when executed by the at least one processor, cause the system to reuse, in the second iteration of the neural network, the intermediate image data written to memory to produce the base-call classification data for the second subject sensing cycle by:
reusing, in the second iteration of the neural network, at least a portion of the first set of intermediate image data to produce the base-call classification data for the second subject sensing cycle corresponding to a second window of sensing cycles.
25 . The system of claim 21 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the intermediate image data by utilizing one or more spatial layers of the neural network to process the input image data depicting the nucleic-acid site.
26 . The system of claim 25 , wherein the one or more spatial layers comprise a segregated stack of spatial layers configured to execute a convolution operation.
27 . The system of claim 25 , further comprising instructions that, when executed by the at least one processor, cause the system to:
generate the intermediate image data by utilizing a stack of spatial layers to process the input image data and to reduce a number of features; and
generate the feature set from the input image data comprising the reduced number of features.
28 . The system of claim 25 , further comprising instructions that, when executed by the at least one processor, cause the system to produce the base-call classification data for the first subject sensing cycle by utilizing one or more temporal layers of the neural network to process the intermediate image data.
29 . The system of claim 21 , further comprising instructions that, when executed by the at least one processor, cause the system to write the intermediate image data to memory by writing the intermediate image data to memory in place of at least a portion of the input image data.
30 . The system of claim 21 , wherein the input image data comprises pixel arrays from images of nucleic-acid sites captured by a sensor of the sequencer.
31 . A computer-implemented method comprising:
accessing image data, stored in memory, of nucleic-acid sites captured by sensors of a sequencer;
processing, in a first iteration of a neural network, input image data depicting a nucleic-acid site from one or more sensing cycles for a base calling operation of the sequencer;
generating, utilizing the neural network, intermediate image data comprising a feature set from the input image data;
writing the intermediate image data to memory;
producing, using the intermediate image data, base-call classification data for a first subject sensing cycle; and
reusing, in a second iteration of the neural network, the intermediate image data written to memory to produce base-call classification data for a second subject sensing cycle for the base calling operation.
32 . The computer-implemented method of claim 31 , wherein reusing the intermediate image data written to memory to produce the base-call classification data for the second subject sensing cycle comprises reusing the feature set from the intermediate image data to produce the base-call classification data for the second subject sensing cycle.
33 . The computer-implemented method of claim 31 , further comprising:
processing the input image data by processing, in the first iteration of the neural network, input image data depicting the nucleic-acid site over a first window of sensing cycles; and
producing the base-call classification data for the first subject sensing cycle by producing the base-call classification data for the first subject sensing cycle based on a first set of intermediate image data for the first window of sensing cycles.
34 . The computer-implemented method of claim 33 , wherein reusing, in the second iteration of the neural network, the intermediate image data written to memory to produce the base-call classification data for the second subject sensing cycle comprises:
reusing, in the second iteration of the neural network, at least a portion of the first set of intermediate image data to produce the base-call classification data for the second subject sensing cycle corresponding to a second window of sensing cycles.
35 . The computer-implemented method of claim 31 , further comprising generating the intermediate image data by utilizing one or more spatial layers of the neural network to process the input image data depicting the nucleic-acid site.
36 . A non-transitory computer-readable medium storing image data of nucleic-acid sites captured by sensors of a sequencer and instructions that, when executed by at least one processor, cause a computing device to:
process, in a first iteration of a neural network, input image data depicting a nucleic-acid site from one or more sensing cycles for a base calling operation of the sequencer;
generate, utilizing the neural network, intermediate image data comprising a feature set from the input image data;
write the intermediate image data to memory;
produce, using the intermediate image data, base-call classification data for a first subject sensing cycle; and
reuse, in a second iteration of the neural network, the intermediate image data written to memory to produce base-call classification data for a second subject sensing cycle for the base calling operation.
37 . The non-transitory computer-readable medium of claim 36 , further comprising instructions that, when executed by the at least one processor, cause the computing device to reuse the intermediate image data written to memory to produce the base-call classification data for the second subject sensing cycle by reusing the feature set from the intermediate image data to produce the base-call classification data for the second subject sensing cycle.
38 . The non-transitory computer-readable medium of claim 36 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:
process the input image data by processing, in the first iteration of the neural network, input image data depicting the nucleic-acid site over a first window of sensing cycles; and
produce the base-call classification data for the first subject sensing cycle by producing the base-call classification data for the first subject sensing cycle based on a first set of intermediate image data for the first window of sensing cycles.
39 . The non-transitory computer-readable medium of claim 38 , further comprising instructions that, when executed by the at least one processor, cause the computing device to reuse, in the second iteration of the neural network, the intermediate image data written to memory to produce the base-call classification data for the second subject sensing cycle by:
reusing, in the second iteration of the neural network, at least a portion of the first set of intermediate image data to produce the base-call classification data for the second subject sensing cycle corresponding to a second window of sensing cycles.
40 . The non-transitory computer-readable medium of claim 36 , further comprising instructions that, when executed by the at least one processor, cause the computing device to generate the intermediate image data by utilizing one or more spatial layers of the neural network to process the input image data depicting the nucleic-acid site.