WO2023240540A1 - Optical computing method and system, and controller and storage medium - Google Patents
Optical computing method and system, and controller and storage medium Download PDFInfo
- Publication number
- WO2023240540A1 WO2023240540A1 PCT/CN2022/099179 CN2022099179W WO2023240540A1 WO 2023240540 A1 WO2023240540 A1 WO 2023240540A1 CN 2022099179 W CN2022099179 W CN 2022099179W WO 2023240540 A1 WO2023240540 A1 WO 2023240540A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sub
- signal
- optical computing
- cache
- computing chip
- Prior art date
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 234
- 238000004364 calculation method Methods 0.000 title claims abstract description 58
- 229920000642 polymer Polymers 0.000 claims abstract description 113
- 239000000872 buffer Substances 0.000 claims description 82
- 239000011159 matrix material Substances 0.000 claims description 35
- 230000015654 memory Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000003491 array Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000005693 optoelectronics Effects 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 claims description 3
- 230000005945 translocation Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 abstract description 10
- 238000000034 method Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 29
- 230000000875 corresponding effect Effects 0.000 description 28
- 230000008569 process Effects 0.000 description 19
- 101100434411 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ADH1 gene Proteins 0.000 description 16
- 101150102866 adc1 gene Proteins 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 238000013528 artificial neural network Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 12
- 238000005259 measurement Methods 0.000 description 11
- 108020004414 DNA Proteins 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 108090000765 processed proteins & peptides Proteins 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 101100162020 Mesorhizobium japonicum (strain LMG 29417 / CECT 9101 / MAFF 303099) adc3 gene Proteins 0.000 description 3
- 101150042711 adc2 gene Proteins 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 108091028043 Nucleic acid sequence Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007672 fourth generation sequencing Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000012528 membrane Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000178 monomer Substances 0.000 description 2
- 150000007523 nucleic acids Chemical group 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 108091033319 polynucleotide Proteins 0.000 description 2
- 102000040430 polynucleotide Human genes 0.000 description 2
- 239000002157 polynucleotide Substances 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 102000004169 proteins and genes Human genes 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 102000053602 DNA Human genes 0.000 description 1
- 238000001712 DNA sequencing Methods 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 101000899334 Homo sapiens Helicase POLQ-like Proteins 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 108020004682 Single-Stranded DNA Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000562 conjugate Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 239000000863 peptide conjugate Substances 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 102000004196 processed proteins & peptides Human genes 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Definitions
- the present disclosure relates to the field of sequencing analysis of polymer units in polymers, and in particular to an optical computing method and system, a controller and a storage medium.
- a type of measurement system used to estimate a target sequence of polymer units in a polymer using nanopores. Such systems translocate the polymer relative to the nanopore by allowing the polymer monomers to pass through the nanopore. Changes in physical properties such as the current generated by the unit are used to determine the arrangement of polymer units in the polymer through methods such as artificial neural networks.
- an optical computing system including:
- an analog-to-digital converter array configured to convert an electrical current generated upon translocation of the polymer relative to the nanopore into a digital signal
- An optical computing chip configured to identify the arrangement of polymer units in a polymer based on digital signals.
- the optical computing chip is configured to determine whether the digital signal is a valid signal, and by identifying the valid signal, identify the arrangement of polymer units in the polymer.
- the optical computing system further includes:
- a controller configured to split the digital signal output by each analog-to-digital converter in the analog-to-digital converter array into multiple sub-signals, and add a corresponding identification to each sub-signal, wherein the identification includes a time stamp and Analog-to-digital converter identification;
- the first cache includes a plurality of sub-cache, is arranged between the analog-to-digital converter array and the optical computing chip, and is configured to store the sub-signal after adding the corresponding identifier; in the case where one sub-cache in the first cache stores the sub-signal, Switch the sub-buffer and output the sub-signal in the sub-buffer to the optical computing chip.
- the optical computing system further includes:
- the second cache is disposed between the first cache and the optical computing chip, and is configured to cache the sub-signals output by the first cache and then output them to the optical computing chip;
- controller is further configured to set the bandwidth of each sub-signal output of the second cache to the optical computing chip to be higher than the computing operating frequency of the optical computing chip.
- the optical computing chip includes:
- a first computing chip configured to determine whether the digital signal is a valid signal
- a second computing chip is configured to identify the arrangement of polymer units in the polymer by identifying valid signals.
- the optical computing system further includes:
- the third cache is disposed between the first computing chip and the second computing chip, and is configured to store valid signals calculated by the first computing chip.
- the third buffer is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array.
- the controller is further configured to place the sub-signals of multiple consecutive timestamps from the same nanopore in the third cache in the same section in time sequence; or by referencing the pointer , the sub-signals from the same nanopore in the third buffer are sequentially entered into the optical computing chip.
- the second buffer is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array.
- the controller is further configured to place multiple consecutive timestamp sub-signals from the same nanopore in the second cache in the same section in time sequence; or by referencing a pointer , the sub-signals from the same nanopore in the second buffer are sequentially entered into the optical computing chip.
- the analog-to-digital converter array is an analog-to-digital converter array that includes a plurality of analog-to-digital converters.
- the length of the sub-signal in the first buffer is less than or equal to the sequence length processed by the optical computing chip configuration.
- the transmission bandwidth of the first cache to the optical computing chip is equal to the computing speed of the optical computing chip.
- the controller is further configured to use the end data of the previous sub-signal and the subsequent sub-signal when the length of the current sub-signal in the first buffer is less than the sequence length configured to be processed by the optical computing chip. At least one of the starting data of the sub-signal complements the current sub-signal, so that the length of the current sub-signal in the first buffer is equal to the sequence length processed by the optical computing chip configuration.
- the optical computing chip includes:
- a light source configured to output unmodulated light for use in calculations
- a first digital-to-analog conversion array configured to receive external input data and convert the external input data into a first analog signal
- a modulator array configured to form tensor data based on the light output by the light source and the first analog signal
- the weight data cache is configured to store the weight data of the multiplication matrix
- a second digital-to-analog conversion array configured to convert the weight data into a second analog signal
- An optoelectronic matrix multiplication module is configured to perform a matrix multiplication operation according to the tensor data and the second analog signal to implement optical path calculation.
- a light calculation method including:
- the current generated when the polymer translocates relative to the nanopore is converted into a digital signal by an analog-to-digital converter array
- Controlled light computing chips identify the arrangement of polymer units in the polymer based on digital signals.
- controlling the light computing chip to identify the arrangement of polymer units in the polymer according to the digital signal includes: controlling the light computing chip to determine whether the digital signal is a valid signal, and by identifying the valid signal, identifying The arrangement of polymer units in a polymer.
- the light calculation method further includes:
- the first cache Control the first cache to store the sub-signal with the corresponding identifier added, and when a sub-cache in the first cache stores the sub-signal, switch the sub-cache and output the sub-signal in the sub-cache to the optical computing chip, wherein,
- the first cache includes multiple sub-caches.
- the light calculation method further includes:
- the bandwidth of each sub-signal output from the second cache to the optical computing chip is set to be higher than the computing operating frequency of the optical computing chip.
- control light computing chip determines whether the digital signal is a valid signal, and by identifying the valid signal, identifying the arrangement of polymer units in the polymer includes:
- the effective signal calculated by the first computing chip is stored in the third cache;
- a second computing chip is controlled to identify the arrangement of polymer units in the polymer by identifying valid signals.
- the light calculation method further includes:
- Sub-signals from multiple consecutive timestamps in the third buffer from the same nanopore are placed in the same section in time sequence.
- the light calculation method further includes:
- the sub-signals from the same nanopore in the third buffer are sequentially entered into the optical computing chip.
- the light calculation method further includes:
- the optical computing method further includes: sequentially entering the sub-signals from the same nanopore in the second cache into the optical computing chip by referencing a pointer.
- the light calculation method further includes:
- the transmission bandwidth of the first buffer to the optical computing chip is set equal to the computing speed of the optical computing chip.
- the light calculation method further includes:
- the length of the current sub-signal in the first cache is less than the length of the sequence configured to be processed by the optical computing chip, at least one of the end data of the previous sub-signal and the beginning data of the next sub-signal is used to complement the current sub-signal, This makes the current sub-signal length in the first buffer equal to the sequence length processed by the optical computing chip configuration.
- a controller including:
- a first control module for converting the current generated when the polymer is translocated relative to the nanopore into a digital signal through an analog-to-digital converter array
- the second control module is used to control the optical computing chip to identify the arrangement of polymer units in the polymer according to the digital signal.
- a controller including:
- Memory used to store instructions
- a processor configured to execute the instructions, causing the controller to perform operations for implementing the optical computing method described in any of the above embodiments.
- a computer-readable storage medium stores computer instructions, and when the instructions are executed by a processor, the methods described in any of the above embodiments are implemented. Light calculation method.
- Figure 1 is a schematic diagram of some embodiments of an optical computing system of the present disclosure.
- FIG. 2 is a schematic diagram of other embodiments of the optical computing system of the present disclosure.
- Figure 3 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure.
- Figure 4 is a schematic diagram of other embodiments of the optical computing system of the present disclosure.
- Figure 5 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure.
- Figure 6 is a schematic diagram of cache segmentation setting and ordering in some embodiments of the present disclosure.
- Figures 7a, 7b, 7c and 7d are schematic diagrams of sub-signals in some embodiments of the present disclosure.
- Figure 8 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure.
- Figure 9 is a schematic diagram of some embodiments of the light computing method of the present disclosure.
- Figure 10 is a schematic diagram of some embodiments of a controller of the present disclosure.
- Figure 11 is a schematic structural diagram of some other embodiments of the controller of the present disclosure.
- any specific values are to be construed as illustrative only and not as limiting. Accordingly, other examples of the exemplary embodiments may have different values.
- the inventors discovered through research that the present invention involves the analysis of measurements taken from polymer units in a polymer (such as, but not limited to, a polynucleotide) during its translocation relative to a nanopore.
- a polymer such as, but not limited to, a polynucleotide
- a type of measurement system used to estimate a target sequence of polymer units in a polymer using nanopores translocate the polymer relative to the nanopore by allowing the polymer monomers to pass through the nanopore. Changes in physical properties such as the current generated by the unit are used to determine the arrangement of polymer units in the polymer through methods such as artificial neural networks.
- Such measurement systems using nanopores hold considerable promise, particularly in the field of sequencing polynucleotides such as DNA or RNA, and have been the subject of recent developments.
- Protein peptide chains can also be sequenced through nanopores, and related technologies disclose single-molecule peptide sequencing methods based on nanopore technology.
- the DNA-peptide conjugate is pulled through the MspA nanopore.
- the nanopore will generate a unique ladder-like current signal in the ion flow.
- the current signal can be accurately identified and the current median value can be analyzed to retroactively confirm the sequence information.
- Related technology can identify polymer sequencing signals through neural networks.
- Related art discloses the use of machine learning techniques using recurrent neural networks (RNN) to analyze polymer signals passing through nanopores and derive posterior probability matrices, each posterior probability matrix representing: prior to the corresponding measurement of the polymer unit.
- RNN recurrent neural networks
- the posterior probabilities of multiple different changes in the corresponding historical sequences of polymer units generate new polymer unit sequences.
- the analysis may include performing convolution on a set of consecutive measurements using a trained feature detector such as a convolutional neural network to derive a series of feature vectors on which the RNN operates.
- the current signal given by the nanopore is not always an effective signal of the polymer unit passing through the nanopore, but the comparison document does not give the process and structure for identifying effective signals.
- identifying effective signals and identifying the base sequences in the signals require a lot of computing power.
- the displacement speed of DNA in nanopores reaches 420nt/s, and the array usually has more than 1,000 nanopores.
- Artificial neural networks are used, including CNN, RNN, LSTM, Transformer, etc., which require a large number of matrix operations and operators.
- the computing power of a single GPU core is at the 10-100G Flops level.
- the GPU computing power of the related technology is not enough to support the real-time analysis of data generated by tens of thousands of nanopores to achieve effective signals. Base calling in recognition and efficient signaling.
- the present disclosure provides an optical computing method and system, a controller and a storage medium.
- the present disclosure is described below through specific embodiments.
- Figure 1 is a schematic diagram of some embodiments of an optical computing system of the present disclosure.
- the optical computing system of the present disclosure includes an analog-to-digital converter array 100, a nanohole array 300 and an optical computing chip 200, wherein:
- the analog-to-digital converter ADC array 100 is configured to convert the electric current generated when the polymer translocates relative to the nanopore into a digital signal.
- Optical computing chip 200 is configured to identify the arrangement of polymer units in a polymer based on digital signals.
- the optical computing chip 200 may be configured to determine whether the digital signal is a valid signal, and by identifying the valid signal, identify the arrangement of polymer units in the polymer.
- the above embodiments of the present disclosure process the signals generated by the nanohole array and the ADC array through an optical computing chip, determine whether the signal is a valid signal through the optical computing chip that can accelerate matrix multiplication, and identify the arrangement of polymer units in the polymer.
- the reason for the invalid signal is that 1) no nucleic acid sequence passes through the nanopore, 2) there is a nucleic acid sequence passing through the nanopore, but it does not continue to move under the action of the electric field, resulting in a stable potential difference on both sides of the membrane as well as electromagnetic interference and impurities in the pore. An unstable signal is produced.
- the optical computing chip 200 can be configured to filter out unstable signals through low-pass filtering and then remove invalid signals based on potential differences.
- the method in the above embodiments of the present disclosure has a small amount of calculation but low accuracy. .
- the optical computing chip 200 can also be configured to perform inference on the signal after training the model through a classifier or neural network to realize the identification of effective signals.
- the optical computing chip 200 is configured to identify the bases in the effective signal from the electrical signal collected through the nanopore.
- the algorithm used is usually trained by a neural network.
- the model of the neural network can be a recursive neural network. Network (RNN), convolutional neural network (CNN), long short-term memory (LSTM), and Transformer, etc., by collecting multiple polymer unit sequences that determine the target sequence or its complementary sequence from the self-containment Measurement results are obtained through training. Using the resulting model inference, the target sequence of the newly measured polymer unit can be estimated by identifying effective signal inferences from the electrical signals collected through the nanopore.
- RNN recursive neural network.
- CNN convolutional neural network
- LSTM long short-term memory
- Transformer etc.
- each model measurement relies on a k-mer (k polymer unit) model to process the input signal sequence into observations of k-mer states.
- k-mer k polymer unit
- each model's k-mer type and input sequence are processed into multidimensional k-mer states and produce an estimate of the polymer unit sequence.
- the optical computing chip 200 may include a wavelength routing based photon matrix vector multiplier.
- the optical computing chip 200 may include an all-optical diffraction neural network implemented on an optical waveguide and/or an optical chip.
- the optical computing chip 200 provides an optoelectronic processing device with a segmented optical modulator including three or more segments, which can improve the analog-to-digital conversion accuracy of the Mach-Zehnder interferometer.
- the optical waveguide device, the data to be processed includes vector element values of the input vector and matrix element values of the model matrix associated with the neural network model, and the processed data includes between different subsets based on the vector element values and different corresponding preprocessing vectors Element-wise vector multiplication to compute multiple intermediate vectors.
- inventions of the present disclosure apply optical computing chips with computing capabilities better than GPUs to nanopore-based polymer sequencing, optimizing the optical computing chip to "identify effective signals” and “recognize effective signals” when multiple nanopores generate data in parallel. Computational speed of "polymer units" in the effective signal.
- nanopores as a type of measurement system for estimating a target sequence of polymer units in a polymer.
- This type of system has multiple nanopores and multiple ADC units.
- the polymer is compared to the nanometer
- the hole is translocated, the generated current is converted into a digital signal through the ADC unit array.
- the above embodiments of the present disclosure process the signals generated by the nanohole array and the ADC array through an optical computing chip, determine whether the signal is a valid signal through the optical computing chip that can accelerate matrix multiplication, and identify the arrangement of polymer units in the polymer.
- FIG. 2 is a schematic diagram of other embodiments of the optical computing system of the present disclosure.
- the optical computing system of the present disclosure includes an analog-to-digital converter array 100, a nanohole array 300, an optical computing chip 200, a first buffer 400, a controller and an output sequence signal buffer 500, wherein:
- the controller may include system controller 610 and ADC array controller 620, where:
- the ADC array controller 620 is used to control the analog-to-digital converter array 100, the nanohole array 300 and the first cache 400.
- System controller 610 is used to control various component modules of the system.
- the controllers are configured to split the digital signal output by each analog-to-digital converter in the analog-to-digital converter array into Multiple sub-signals, and add corresponding identification to each sub-signal, where the identification includes a time stamp and an analog-to-digital converter identification.
- the function of adding time and ADC identification in the above embodiments of the present disclosure is to allow the segmented sub-signals to be spliced according to the time stamp and ADC identification to form a complete signal after the bases are identified by the optical computing chip.
- the first cache 400 includes a plurality of sub-cache, is disposed between the analog-to-digital converter array and the optical computing chip, and is configured to store the sub-signal after adding the corresponding identification; in the first cache When one sub-buffer stores a sub-signal, the sub-buffer is switched and the sub-signal in the sub-buffer is output to the optical computing chip.
- the first cache 400 may be configured such that the storage ratio of a sub-cache in the first cache is greater than a predetermined value, the remaining storage space is less than a preset value, or data of a preset size is written.
- switch the sub-buffer and output the sub-signal in the sub-buffer to the optical computing chip that is, when a sub-buffer is close to overflow, switch the sub-buffer and output the sub-buffer in the sub-buffer that is nearly full.
- the sub-signals are output to the optical computing chip.
- the analog-to-digital converter array 110 may be an analog-to-digital converter array including a plurality of analog-to-digital converters.
- the length of the sub-signal in the first cache 400 is less than or equal to the sequence length processed by the optical computing chip configuration.
- the transmission bandwidth from the first cache 400 to the optical computing chip is equal to the computing speed of the optical computing chip.
- the first cache 400 may be a ping-pong cache.
- the controller may also be configured to use the end data of the previous sub-signal and the following sub-signal when the length of the current sub-signal in the first buffer is less than the sequence length configured to be processed by the optical computing chip. At least one of the starting data of a segment of sub-signals complements the current sub-signal, so that the length of the current sub-signal in the first buffer is equal to the sequence length processed by the optical computing chip configuration.
- the output signal of the signal output unit of each ADC unit enters the ping-pong buffer. After preliminary segmentation, it is divided into multiple sub-signals. Each sub-signal is added with a corresponding identifier.
- the identifier can be a timestamp + ADC. logo.
- Figure 3 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure.
- the optical computing system of the present disclosure includes an analog-to-digital converter array 100 , a nanohole array 300 , an optical computing chip 200 , a first buffer 400 , a controller, and an output sequence signal buffer 500 .
- the first cache 400 may be a ping-pong cache.
- the first cache 400 may be a ping-pong cache.
- sub-matrix-vector multiplication mainly includes three categories, namely matrix calculation based on (single/multiple) plane light conversion (PLC), Mach-Zehnder interferometer (MZI) network-based Matrix calculations, and matrix calculations based on wavelength division multiplexing (WDM).
- PLC plane light conversion
- MZI Mach-Zehnder interferometer
- WDM wavelength division multiplexing
- the output vector length of MZI and WDM is generally less than 100 and is mainly used for integrated photon matrix computing chips.
- the optical computing chip can have a built-in cache, so that the sequence length N processed by the optical computing chip is configured to include multiple vectors of length L.
- the embodiment of Figure 3 also provides a specific structure of the optical computing chip 200.
- the optical computing chip 200 includes an optical computing chip controller 201, a weight data cache 202, and a light source. 203.
- Light source 203 is configured to output unmodulated light for calculation.
- the first digital-to-analog conversion array (first DAC array) 204 is configured to receive external input data and convert the external input data into a first analog signal.
- the modulator array 205 is configured to form tensor data to be subjected to a matrix multiplication operation according to the light output by the light source and the first analog signal.
- the weight data cache 202 is configured to store the weight data of the multiplication matrix.
- the weight data cache 202 is configured so that when the model used for inference is switched according to the sample type, the weight of the artificial neural network in the corresponding optical computing chip 200 can also be changed accordingly, for Store weights.
- the second digital-to-analog conversion array (second DAC array) 206 is configured to convert the weight data into a second analog signal.
- the photoelectric matrix multiplication module 207 is configured to perform a matrix multiplication operation according to the tensor data and the second analog signal to implement optical path calculation.
- the optical computing chip controller 201 of the optical computing chip 200 is configured through the system control 610 so that the chip performs matrix calculations at a certain speed.
- the photoelectric matrix multiplication module 207 is configured to perform optical calculations of matrix and waveguide vectors. Through changes in digital signals, it can determine the binding, membrane penetration, via holes, and exit holes of the DNA single strand corresponding to the digital signals, and identify effective signals. , and identify the base sequence in the effective signal.
- the optoelectronic matrix multiplication module 207 may be configured for matrix calculation based on a Mach-Zehnder interferometer (MZI) network and matrix calculation based on wavelength division multiplexing (WDM).
- MZI Mach-Zehnder interferometer
- WDM wavelength division multiplexing
- the tensor propagates through multiple photoelectric matrix multiplication modules through the optical path to implement multiple matrix multiplication operations.
- the coefficients of matrix multiplication are derived from the machine learning model. Since optical path calculation is used, this step can save computing power and calculation time.
- the calculation results are output to the system controller 610 through the ADC array 208 .
- optical computing chip controller 201 executes.
- system controller 610 is configured to process the result data output by the ADC array, and output the result data to the output according to the settings of the library and the information of the nanopore 300 and the analog-to-digital converter array 100 Sequence signal buffer 500.
- the cache of the output sequence signal cache 500 does not have to be a cache, but the speed of writing data must match the speed of the output results of the optical computing chip.
- a nanopore array 300 composed of 256 ⁇ 256 nanopores is used to read DNA single-stranded fragments, and the array 100 composed of multiple ADC units reads under the control of the ADC array controller 620
- the current signals obtained from the plurality of nanopores in the nanopore array 100 are taken and converted into digital signals.
- the digital signal obtained by the ADC array is added with a sampling time stamp and a corresponding ADC identifier, forming multiple sub-signals that enter the ping-pong cache 400.
- the ping-pong cache 400 may have more than one sub-cache, and the ADCs in the ADC array may have a one-to-one or one-to-many relationship.
- the generated subsequence when multiple nanopores correspond to one ADC (for example, 256 ⁇ 256 nanopores correspond to 128 ⁇ 128 ADC units), the generated subsequence includes both the ADC identifier and System time identifier.
- four nanopores correspond to one ADC.
- the ADC detects the nanopores with through-hole signals, which can improve the utilization rate of the ADC.
- the system controller 610 or the ADC array controller 620 will record the time when switching the corresponding relationship. , thereby corresponding the signal in a specific time period to the nanopore signal.
- ADC1+timestamp (t0-t1), ADC1+timestamp (t1-t2), and ADC1+timestamp (t2-t3) are three consecutive sub-signals from nanopore A.
- the ADC1+ timestamp (t4-t5), ADC1+ timestamp (t5-t6), and ADC1+ timestamp (t6-t7) are three consecutive sub-signals from nanopore B.
- the length of the signal collected by the ADC is generally longer than the length of the sequence processed by the optical computing chip.
- the signal collected by the ADC is transferred to the ping-pong storage, the signal can be segmented so that the length of the sub-signal in the ping-pong buffer is consistent with the sequence length configured to be processed by the optical computing chip.
- the buffer is switched and the sub-signals in the full buffer are output to the optical computing chip. The transmission bandwidth is consistent with the computing speed of the optical computing chip, thus maximizing the use of the optical computing chip. Calculate ability.
- the above embodiments of the present disclosure add ping-pong buffers and caches between the ADC array and the optical chip that can accelerate the multiplication matrix operation, making full use of the computing power of the optical computing chip, making the generation and calculation of digital signals more efficient and faster.
- Figure 4 is a schematic diagram of other embodiments of the optical computing system of the present disclosure.
- Figure 5 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure.
- the optical computing system includes an analog-to-digital converter array 100, a nanohole array 300, an optical computing chip 200, a first cache 400, a control
- a second buffer 700 may also be included, wherein:
- the second cache 700 is disposed between the first cache 400 and the optical computing chip 200, and is configured to cache the sub-signals output by the first cache and then output them to the optical computing chip.
- the controller (system controller 610 and ADC array controller 620) may also be configured to set the bandwidth of each sub-signal output of the second buffer to the optical computing chip to be higher than the computing operating frequency of the optical computing chip.
- the first cache 400 may be a ping-pong cache; the second cache 700 may be a cache.
- the above embodiments of the present disclosure add a cache (103) between the ping-pong cache and the optical computing chip, thereby ensuring that switching of the ping-pong cache will not affect the computing speed of the optical computing chip.
- this disclosure sets the output bandwidth of the cache to be consistent with the read speed of the optical computing chip;
- this disclosure sets the high-speed write bandwidth to be higher than the sub-storage output bandwidth of the ping-pong storage. Therefore, the optical computing chip of the present disclosure can continuously read the cache without being affected by ping-pong memory cache switching.
- the second buffer 700 is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array 100 .
- the controller may also be configured to place multiple consecutive timestamp sub-signals from the same nanopore in the second cache in the same section in time sequence; or by reference Pointer, the sub-signals from the same nanopore in the second buffer are entered into the optical computing chip in sequence.
- each sub-signal carries the identification of the nanopore ADC, so instead, the signals from the same nanopore ADC in the cache are stored in adjacent order through an algorithm, or by reference Pointer to ensure that sub-signals from the same ADC enter the optical computing chip in order.
- the signal from the same nanopore ADC in the cache can be determined through the identification of the ADC identification and the system time.
- the cache can also be an array controlled by a controller to ensure correspondence between adjacent nanopores.
- the sub-signal with the signal identification mark is directly written into the cache of a specific and matching optical computing element.
- the cache implementation can be an on-chip or off-chip linear SRAM, GDDR, HBM, etc. Storage devices, or customized storage devices with special structures through FPGA and ASIC.
- the frequency at which each cached sub-signal is output to the DAC array on the optical computing chip is consistent with the computing operating frequency of the optical computing element (i.e., the DAC array on the optical computing chip, the modulator array, the optoelectronic matrix multiplication unit and The minimum value of the maximum operating frequency of the ADC array is consistent.
- the output bandwidth (output frequency) of cache data is higher than the computing operating frequency of the optical computing chip to ensure that the computing power of the optical computing chip is maximized.
- the frequency at which each cached sub-signal is output to the DAC array on the optical computing chip refers to the output bandwidth from the last cache.
- the computing operating frequency may change in real time or be a fixed value.
- the speed at which the optical computing element reads the cache will also change in real time. Therefore, it is necessary to ensure that the output bandwidth (output frequency) of the cache data is higher than the computing operating frequency of the optical computing chip.
- the cache may be a FIFO cache capable of storing multiple sub-signals simultaneously.
- the cache segmentation can be set and sorted so that sub-signals with multiple consecutive timestamps from the same nanopore are placed in the same section in time sequence, or in the form of a register linked list pointer. Ensure that the sub-signals can be output continuously.
- the above-described embodiments of the present disclosure provide ping-pong buffers and caches that match the speed of optical computing chips.
- the above-mentioned embodiments of the present disclosure greatly improve the accuracy of the operations of "identifying effective signals” and “identifying polymer units in effective signals” through optimized cache structures.
- Figure 6 is a schematic diagram of cache segmentation setting and ordering in some embodiments of the present disclosure.
- ADC1 the sub-signals of a specific time period t0-t3 correspond to nanopore A
- the sub-signals of a specific time period t4-t7 correspond to nanopore B. Therefore, ADC1+timestamp (t0-t1), ADC1+timestamp (t1-t2), and ADC1+timestamp (t2-t3) are three consecutive sub-signals from nanopore A.
- the ADC1+ timestamp (t4-t5), ADC1+ timestamp (t5-t6), and ADC1+ timestamp (t6-t7) are three consecutive sub-signals from nanopore B.
- the ADC3+ timestamp (t0-t1), ADC3+ timestamp (t1-t2), and ADC3+ timestamp (t2-t3) are three consecutive sub-signals from nanopore C.
- ADC2+timestamp (t0-t1), ADC2+timestamp (t1-t2), and ADC2+timestamp (t2-t3) are three consecutive sub-signals from nanopore D.
- the system since the corresponding relationship between the nanopore and the ADC is dynamically determined according to the sequence via situation during the sequencing process, the system will record the time when switching the corresponding relationship. This allows the signal of a specific time period to be correlated with the nanopore signal.
- ADC identification + time stamp is equivalent to nanopore identification.
- nanopore A or nanopore B nanopore A or nanopore B
- Figures 7a, 7b, 7c and 7d are schematic diagrams of sub-signals in some embodiments of the present disclosure.
- the sub-signal may include a nanopore identification, an ADC identification, a timestamp and a sub-signal of length N.
- the ADC identification + time stamp may be equivalent to the nanopore identification.
- the sub-signal may include an ADC identification, a timestamp and a sub-signal of length N.
- the sub-signals entering the cache can also include the end data of the previous sub-signal of the same ADC (the sub-signal of the previous timestamp) or the following sub-signal. Start data and send it to linear cache.
- the sub-signals entering the cache include timestamps, ADC identifiers, data at the end (N-n) of the previous sub-signal of the same ADC, and sub-signals with a length of this timestamp of n.
- the sub-signals entering the cache include a timestamp, an ADC identifier, a sub-signal with a length of this timestamp of n, and the data of the beginning (N-n) of the next sub-signal.
- Figure 8 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure.
- the optical computing system includes an analog-to-digital converter array 100, a nanohole array 300, a first buffer 400, a controller and an output sequence signal buffer 500.
- the system controller 610 and the ADC array controller 620 it may also include a first computing chip 210 and a second computing chip 220, wherein:
- the optical computing chip 200 shown in any embodiment of Figures 1 to 5 may include a first computing chip 210 and a second computing chip 220, wherein:
- the first computing chip 210 is configured to determine whether the digital signal is a valid signal.
- the second computing chip 220 is configured to identify the arrangement of polymer units in the polymer by identifying valid signals.
- the first computing chip 210 and the second computing chip 220 may be implemented as the specific structure of the optical computing chip 200 in the embodiment of FIG. 3 or FIG. 5 .
- one of the first computing chip 210 and the second computing chip 220 may be replaced with a GPU chip.
- the above embodiments of the present disclosure can use the first computing chip 210 and the second computing chip 220 to be connected in series to solve the problems of "identifying effective signals” and “identifying bases in effective signals” respectively, thereby improving signal processing efficiency.
- the optical computing system may further include a third cache 800, wherein:
- the third cache 800 is disposed between the first computing chip and the second computing chip, and is configured to store valid signals calculated by the first computing chip.
- the first cache 400 may be a ping-pong cache; the second cache 700 and the third cache 800 may be caches.
- the third buffer is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array.
- the segmented cache can be changed to multiple parallel multiple cache arrays corresponding to the ADC or nanopore.
- the cache array may be arranged one-to-one, many-to-one, or one-to-many with the analog-to-digital converters 100 in the ADC array.
- the controller is further configured to place the sub-signals of multiple consecutive timestamps from the same nanopore in the third cache in the same section in time sequence; or by referencing the pointer , the sub-signals from the same nanopore in the third buffer are sequentially entered into the optical computing chip.
- the sub-signals entering the cache 800 also include the end data of the previous sub-signal or the beginning data of the next sub-signal of the same ADC, and are sent to the linear cache. Therefore, there is a repeated signal between the sub-signals of the present disclosure, which can reduce signal validity segment errors and base recognition errors caused by sub-signal truncation.
- the nanopores used for DNA sequencing are changed to nanopores used for detecting protein peptides, and corresponding adaptations are made on the ADC, This enables it to generate a ladder-like current signal when the "DNA-peptide" conjugate passes through the nanopore.
- the current signal can be identified and the current can be analyzed.
- the median value is analyzed to retrospectively confirm the information of the "DNA-peptide" sequence.
- the role of DNA is to combine with the nanopore structure, allowing single-stranded DNA to pass through the nanopore and guide the coupled peptide segment to follow the DNA. through nanopores.
- multiple optical computing chips are jointly used to detect effective signals and identify polymer units in the effective signals.
- the above-mentioned embodiments of the present disclosure respectively solve the problems of "identifying effective signals” and “identifying bases in effective signals” by using optical computing chips in series, which greatly improves signal processing efficiency.
- the algorithm used for "identifying valid signals” is simple, but requires a high degree of parallelism; the algorithm used for "identifying bases in valid signals” is usually more complex.
- the steps for identifying effective signals in nanopore sequencing generally require simultaneous processing of digital signals generated by multiple nanopores and ADC units. Judging from development trends, the number of nanopores in a single device can exceed 10,000.
- the above embodiments of the present disclosure enrich the effective signals through the step of "identifying effective signals", so that the "identifying bases in effective signals” can work more effectively and improve the efficiency of the entire system.
- the present disclosure can increase the proportion of effective signals in the buffer, thereby allowing more computing resources such as optical computing coprocessors to be used to identify bases in the effective signals.
- Figure 9 is a schematic diagram of some embodiments of the light computing method of the present disclosure.
- this embodiment can be executed by the optical computing system of the present disclosure or the controller of the present disclosure.
- the method may include at least one of steps 91 to 92, wherein:
- Step 91 Convert the current generated when the polymer is translocated relative to the nanopore into a digital signal through an analog-to-digital converter array.
- Step 92 Control the light computing chip to identify the arrangement of polymer units in the polymer according to the digital signal.
- step 92 may include controlling the light computing chip to determine whether the digital signal is a valid signal, and by identifying the valid signal, identify the arrangement of polymer units in the polymer.
- the optical computing method may further include: dividing the digital signal output by each analog-to-digital converter in the analog-to-digital converter array into a plurality of sub-signals, and providing each sub-signal with Add a corresponding identifier, wherein the identifier includes a time stamp and an analog-to-digital converter identifier; control the first cache to store the sub-signal after adding the corresponding identifier, and switch the sub-cache when a sub-cache in the first cache stores the sub-signal , and output the sub-signals in the sub-cache to the optical computing chip, where the first cache includes a plurality of sub-cache.
- the optical computing method may further include: the storage ratio of a sub-cache in the first cache is greater than a predetermined value, the remaining storage space is less than a preset value, or writing data of a preset size
- switch the sub-buffer and output the sub-signal in the sub-buffer to the optical computing chip that is, when a sub-buffer is close to overflow, switch the sub-buffer and output the sub-buffer in the sub-buffer that is nearly full.
- the sub-signals are output to the optical computing chip.
- the optical computing method may further include: buffering the sub-signals output by the first buffer through the second buffer, and then outputting them to the optical computing chip; outputting each sub-signal of the second buffer to The bandwidth of the optical computing chip is set higher than the computing operating frequency of the optical computing chip.
- step 92 of the embodiment of Figure 9 may include: controlling the first computing chip to determine whether the digital signal is a valid signal; storing the valid signal calculated by the first computing chip through a third cache; controlling A second computing chip identifies the arrangement of polymer units in the polymer by identifying the valid signal.
- the optical calculation method may further include: placing multiple consecutive time-stamped sub-signals from the same nanopore in the third buffer in the same section in time sequence.
- the optical computing method may further include: sequentially entering the sub-signals from the same nanopore in the third buffer into the optical computing chip by referencing a pointer.
- the optical calculation method may further include: placing multiple consecutive time-stamped sub-signals from the same nanopore in the second cache in the same section in time sequence.
- the optical computing method may further include: sequentially entering the sub-signals from the same nanopore in the second cache into the optical computing chip by referencing a pointer.
- the optical computing method may further include: setting the length of the sub-signal in the first cache to be less than or equal to the sequence length configured and processed by the optical computing chip; transmitting the first cache to the optical computing chip The bandwidth is set equal to the computing speed of the optical computing chip.
- the optical computing method may further include: when the length of the current sub-signal in the first buffer is less than the length of the sequence configured to be processed by the optical computing chip, using the end data of the previous sub-signal and At least one of the starting data of the subsequent sub-signal complements the current sub-signal, so that the length of the current sub-signal in the first buffer is equal to the sequence length processed by the optical computing chip configuration.
- FIG 10 is a schematic diagram of some embodiments of a controller of the present disclosure.
- the controller of the present disclosure may include a first control module 101 and a second control module 102, wherein:
- the first control module 101 is used to convert the current generated when the polymer is translocated relative to the nanopore into a digital signal through an analog-to-digital converter array.
- the first control module 101 may be implemented as the ADC array controller 620 of the embodiments of FIGS. 2-5 and 8 .
- the second control module 102 is used to control the optical computing chip to identify the arrangement of polymer units in the polymer according to the digital signal.
- the second control module 102 is used to control the optical computing chip to determine whether the digital signal is a valid signal, and to identify the arrangement of polymer units in the polymer by identifying the valid signal.
- the second control module 102 may be implemented as the system controller 610 and the optical computing chip controller 201 of the embodiments of FIGS. 2-5 and 8 .
- the controller may be configured to perform operations for implementing the optical computing method described in any of the above embodiments (eg, the embodiment of FIG. 9 ).
- Figure 11 is a schematic structural diagram of some other embodiments of the controller of the present disclosure. As shown in FIG. 11 , the controller includes a memory 111 and a processor 112 .
- the memory 111 is used to store instructions, and the processor 112 is coupled to the memory 111.
- the processor 112 is configured to execute and implement the optical computing method described in the above embodiments (such as the embodiment of Figure 9) based on the instructions stored in the memory.
- the controller also includes a communication interface 113 for information exchange with other devices.
- the controller also includes a bus 114, through which the processor 112, the communication interface 113, and the memory 111 complete communication with each other.
- the memory 111 may include high-speed RAM memory, or may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
- the memory 111 may also be a memory array.
- the storage 111 may also be divided into blocks, and the blocks may be combined into virtual volumes according to certain rules.
- processor 112 may be a central processing unit (CPU), or may be an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present disclosure.
- CPU central processing unit
- ASIC application specific integrated circuit
- controller described in Figure 10 or Figure 11 of the present disclosure can be implemented as the system controller 610, the ADC array controller 620 and the optical computing chip controller 201 of the embodiments of Figures 2 to 5 and Figure 8.
- inventions of the present disclosure apply optical computing chips with computing capabilities better than GPUs to nanopore-based polymer sequencing, optimizing the optical computing chip to "identify effective signals” and “recognize effective signals” when multiple nanopores generate data in parallel. Computational speed of "polymer units" in the effective signal.
- nanopores as a type of measurement system for estimating a target sequence of polymer units in a polymer.
- This type of system has multiple nanopores and multiple ADC units.
- the polymer is compared to the nanometer
- the hole is translocated, the generated current is converted into a digital signal through the ADC unit array.
- the above embodiments of the present disclosure process the signals generated by the nanohole array and the ADC array through an optical computing chip, determine whether the signal is a valid signal through the optical computing chip that can accelerate matrix multiplication, and identify the arrangement of polymer units in the polymer.
- a computer-readable storage medium stores computer instructions, and when the instructions are executed by a processor, the implementation is as described in any of the above embodiments (for example, FIG. The light calculation method described in Embodiment 9).
- the computer-readable storage medium may be a non-transitory computer-readable storage medium.
- the above embodiments of the present disclosure add ping-pong buffers and caches between the ADC array and the optical chip that can accelerate the multiplication matrix operation, making full use of the computing power of the optical computing chip, making the generation and calculation of digital signals more efficient and faster.
- multiple optical computing chips are jointly used to detect effective signals and identify polymer units in the effective signals.
- the above-mentioned embodiments of the present disclosure respectively solve the problems of "identifying effective signals” and “identifying bases in effective signals” by using optical computing chips in series, which greatly improves signal processing efficiency.
- the algorithm used for "identifying valid signals” is simple, but requires a high degree of parallelism; the algorithm used for "identifying bases in valid signals” is usually more complex.
- the steps for identifying effective signals in nanopore sequencing generally require simultaneous processing of digital signals generated by multiple nanopores and ADC units. Judging from development trends, the number of nanopores in a single device can exceed 10,000.
- the above embodiments of the present disclosure enrich the effective signals through the step of "identifying effective signals", so that the "identifying bases in effective signals” can work more effectively and improve the efficiency of the entire system.
- the present disclosure can increase the proportion of effective signals in the buffer, thereby allowing more computing resources such as optical computing coprocessors to be used to identify bases in the effective signals.
- embodiments of the present disclosure may be provided as methods, apparatuses, or computer program products. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk memory, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein. .
- These computer program instructions may also be stored in a computer-readable memory that causes a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction means, the instructions
- the device implements the functions specified in a process or processes of the flowchart and/or a block or blocks of the block diagram.
- These computer program instructions may also be loaded onto a computer or other programmable data processing device, causing a series of operating steps to be performed on the computer or other programmable device to produce computer-implemented processing, thereby executing on the computer or other programmable device.
- Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.
- the controller described above may be implemented as a general-purpose processor, programmable logic controller (PLC), digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or any appropriate combination thereof.
- PLC programmable logic controller
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- the program can be stored in a non-transitory computer-readable storage medium.
- the storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Optical Integrated Circuits (AREA)
Abstract
The present disclosure relates to an optical computing method and system, and a controller and a storage medium. The optical computing system comprises: an analog-to-digital converter array, which is configured to convert into a digital signal a current that is generated when a polymer is translocated with respect to nanopores; and an optical computing chip, which is configured to identify the arrangement of polymer units in the polymer according to the digital signal. The optical computing chip which has better computing power than a GPU in the present disclosure is applied to nanopore-based polymer sequencing, thereby optimizing the computing speed of the optical computing chip in "identifying polymer units in a valid signal" when a plurality of nanopores generate data in parallel.
Description
本公开涉及聚合物中的聚合物单元测序分析领域,特别涉及一种光计算方法和系统、控制器和存储介质。The present disclosure relates to the field of sequencing analysis of polymer units in polymers, and in particular to an optical computing method and system, a controller and a storage medium.
相关技术使用纳米孔用于估计聚合物中聚合物单元的目标序列的一种类型的测量系统,这类系统使聚合物相对于纳米孔易位,通过聚合物单体通过纳米孔时各聚合物单元产生的电流等物理性质的变化,通过人工神经网络等方法,判断聚合物中聚合物单元的排列。RELATED ART A type of measurement system used to estimate a target sequence of polymer units in a polymer using nanopores. Such systems translocate the polymer relative to the nanopore by allowing the polymer monomers to pass through the nanopore. Changes in physical properties such as the current generated by the unit are used to determine the arrangement of polymer units in the polymer through methods such as artificial neural networks.
发明内容Contents of the invention
根据本公开的一个方面,提供一种光计算系统,包括:According to one aspect of the present disclosure, an optical computing system is provided, including:
模数转换器阵列,被配置为将聚合物相对于纳米孔易位的情况下产生的电流转换为数字信号;an analog-to-digital converter array configured to convert an electrical current generated upon translocation of the polymer relative to the nanopore into a digital signal;
光计算芯片,被配置为根据数字信号识别聚合物中聚合物单元的排列。An optical computing chip configured to identify the arrangement of polymer units in a polymer based on digital signals.
在本公开的一些实施例中,光计算芯片,被配置为判断所述数字信号是否为有效信号,并且通过识别有效信号,识别聚合物中聚合物单元的排列。In some embodiments of the present disclosure, the optical computing chip is configured to determine whether the digital signal is a valid signal, and by identifying the valid signal, identify the arrangement of polymer units in the polymer.
在本公开的一些实施例中,所述光计算系统还包括:In some embodiments of the present disclosure, the optical computing system further includes:
控制器,被配置为将模数转换器阵列中每个模数转换器输出的数字信号输出的数字信号分割为多个子信号,并为每个子信号添加相应标识,其中所述标识包括时间戳和模数转换器标识;A controller configured to split the digital signal output by each analog-to-digital converter in the analog-to-digital converter array into multiple sub-signals, and add a corresponding identification to each sub-signal, wherein the identification includes a time stamp and Analog-to-digital converter identification;
第一缓存,包括多个子缓存,设置在模数转换器阵列和光计算芯片之间,被配置为存储添加相应标识后的子信号;在第一缓存中的一个子缓存存储子信号的情况下,切换子缓存,并将该子缓存中的子信号输出至光计算芯片。The first cache includes a plurality of sub-cache, is arranged between the analog-to-digital converter array and the optical computing chip, and is configured to store the sub-signal after adding the corresponding identifier; in the case where one sub-cache in the first cache stores the sub-signal, Switch the sub-buffer and output the sub-signal in the sub-buffer to the optical computing chip.
在本公开的一些实施例中,所述光计算系统还包括:In some embodiments of the present disclosure, the optical computing system further includes:
第二缓存,设置在第一缓存和光计算芯片之间,被配置为将第一缓存输出的子信号进行缓存后,输出至光计算芯片;The second cache is disposed between the first cache and the optical computing chip, and is configured to cache the sub-signals output by the first cache and then output them to the optical computing chip;
其中,控制器,还被配置为将第二缓存的每个子信号输出至光计算芯片的带宽设置为高于光计算芯片的计算工作频率。Wherein, the controller is further configured to set the bandwidth of each sub-signal output of the second cache to the optical computing chip to be higher than the computing operating frequency of the optical computing chip.
在本公开的一些实施例中,所述光计算芯片包括:In some embodiments of the present disclosure, the optical computing chip includes:
第一计算芯片,被配置为判断所述数字信号是否为有效信号;A first computing chip configured to determine whether the digital signal is a valid signal;
第二计算芯片,被配置为通过识别有效信号,识别聚合物中聚合物单元的排列。A second computing chip is configured to identify the arrangement of polymer units in the polymer by identifying valid signals.
在本公开的一些实施例中,所述光计算系统还包括:In some embodiments of the present disclosure, the optical computing system further includes:
第三缓存,设置在第一计算芯片和第二计算芯片之间,被配置为存储第一计算芯片计算得到的有效信号。The third cache is disposed between the first computing chip and the second computing chip, and is configured to store valid signals calculated by the first computing chip.
在本公开的一些实施例中,第三缓存为与模数转换器阵列对应的多个并行缓存器阵列。In some embodiments of the present disclosure, the third buffer is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array.
在本公开的一些实施例中,控制器,还被配置为将第三缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内;或通过引用指针,将第三缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。In some embodiments of the present disclosure, the controller is further configured to place the sub-signals of multiple consecutive timestamps from the same nanopore in the third cache in the same section in time sequence; or by referencing the pointer , the sub-signals from the same nanopore in the third buffer are sequentially entered into the optical computing chip.
在本公开的一些实施例中,第二缓存为与模数转换器阵列对应的多个并行缓存器阵列。In some embodiments of the present disclosure, the second buffer is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array.
在本公开的一些实施例中,控制器,还被配置为将第二缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内;或通过引用指针,将第二缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。In some embodiments of the present disclosure, the controller is further configured to place multiple consecutive timestamp sub-signals from the same nanopore in the second cache in the same section in time sequence; or by referencing a pointer , the sub-signals from the same nanopore in the second buffer are sequentially entered into the optical computing chip.
在本公开的一些实施例中,模数转换器阵列为包括多个模数转换器的模数转换器阵列。In some embodiments of the present disclosure, the analog-to-digital converter array is an analog-to-digital converter array that includes a plurality of analog-to-digital converters.
在本公开的一些实施例中,第一缓存中的子信号长度小于等于光计算芯片配置处理的序列长度。In some embodiments of the present disclosure, the length of the sub-signal in the first buffer is less than or equal to the sequence length processed by the optical computing chip configuration.
在本公开的一些实施例中,第一缓存至光计算芯片的传输带宽等于光计算芯片的计算速度。In some embodiments of the present disclosure, the transmission bandwidth of the first cache to the optical computing chip is equal to the computing speed of the optical computing chip.
在本公开的一些实施例中,控制器,还被配置为在第一缓存中的当前子信号长度小于光计算芯片配置处理的序列长度的情况下,采用前一段子信号的末尾数据和后一段子信号的开端数据中的至少一种补齐当前子信号,使得第一缓存中的当前子信号长度等于光计算芯片配置处理的序列长度。In some embodiments of the present disclosure, the controller is further configured to use the end data of the previous sub-signal and the subsequent sub-signal when the length of the current sub-signal in the first buffer is less than the sequence length configured to be processed by the optical computing chip. At least one of the starting data of the sub-signal complements the current sub-signal, so that the length of the current sub-signal in the first buffer is equal to the sequence length processed by the optical computing chip configuration.
在本公开的一些实施例中,所述光计算芯片包括:In some embodiments of the present disclosure, the optical computing chip includes:
光源,被配置为输出未调制的、用于计算的光;a light source configured to output unmodulated light for use in calculations;
第一数模转换阵列,被配置为接收外部输入数据,并将外部输入数据转化为第一模拟信号;A first digital-to-analog conversion array configured to receive external input data and convert the external input data into a first analog signal;
调制器阵列,被配置为根据光源输出的光和所述第一模拟信号,形成张量数据;a modulator array configured to form tensor data based on the light output by the light source and the first analog signal;
权重数据缓存,被配置为存储乘法矩阵的权重数据;The weight data cache is configured to store the weight data of the multiplication matrix;
第二数模转换阵列,被配置为将权重数据转化为第二模拟信号;a second digital-to-analog conversion array configured to convert the weight data into a second analog signal;
光电矩阵乘法模块,被配置为根据所述张量数据和所述第二模拟信号进行矩阵乘法操作,实现光路计算。An optoelectronic matrix multiplication module is configured to perform a matrix multiplication operation according to the tensor data and the second analog signal to implement optical path calculation.
根据本公开的另一方面,提供一种光计算方法,包括:According to another aspect of the present disclosure, a light calculation method is provided, including:
通过模数转换器阵列将聚合物相对于纳米孔易位的情况下产生的电流转换为数字信号;The current generated when the polymer translocates relative to the nanopore is converted into a digital signal by an analog-to-digital converter array;
控制光计算芯片根据数字信号识别聚合物中聚合物单元的排列。Controlled light computing chips identify the arrangement of polymer units in the polymer based on digital signals.
在本公开的一些实施例中,所述控制光计算芯片根据数字信号识别聚合物中聚合物单元的排列包括:控制光计算芯片判断所述数字信号是否为有效信号,并且通过识别有效信号,识别聚合物中聚合物单元的排列。In some embodiments of the present disclosure, controlling the light computing chip to identify the arrangement of polymer units in the polymer according to the digital signal includes: controlling the light computing chip to determine whether the digital signal is a valid signal, and by identifying the valid signal, identifying The arrangement of polymer units in a polymer.
在本公开的一些实施例中,所述光计算方法还包括:In some embodiments of the present disclosure, the light calculation method further includes:
将模数转换器阵列中每个模数转换器输出的数字信号输出的数字信号分割为多个子信号,并为每个子信号添加相应标识,其中所述标识包括时间戳和模数转换器标识;Split the digital signal output by each analog-to-digital converter in the analog-to-digital converter array into multiple sub-signals, and add a corresponding identification to each sub-signal, wherein the identification includes a time stamp and an analog-to-digital converter identification;
控制第一缓存存储添加相应标识后的子信号,在第一缓存中的一个子缓存存储子信号的情况下,切换子缓存,并将该子缓存中的子信号输出至光计算芯片,其中,第一缓存包括多个子缓存。Control the first cache to store the sub-signal with the corresponding identifier added, and when a sub-cache in the first cache stores the sub-signal, switch the sub-cache and output the sub-signal in the sub-cache to the optical computing chip, wherein, The first cache includes multiple sub-caches.
在本公开的一些实施例中,所述光计算方法还包括:In some embodiments of the present disclosure, the light calculation method further includes:
通过第二缓存将第一缓存输出的子信号进行缓存后,输出至光计算芯片;After buffering the sub-signals output from the first buffer through the second buffer, output them to the optical computing chip;
将第二缓存的每个子信号输出至光计算芯片的带宽设置为高于光计算芯片的计算工作频率。The bandwidth of each sub-signal output from the second cache to the optical computing chip is set to be higher than the computing operating frequency of the optical computing chip.
在本公开的一些实施例中,所述控制光计算芯片判断所述数字信号是否为有效信号,并且通过识别有效信号,识别聚合物中聚合物单元的排列包括:In some embodiments of the present disclosure, the control light computing chip determines whether the digital signal is a valid signal, and by identifying the valid signal, identifying the arrangement of polymer units in the polymer includes:
控制第一计算芯片判断所述数字信号是否为有效信号;Control the first computing chip to determine whether the digital signal is a valid signal;
通过第三缓存存储第一计算芯片计算得到的有效信号;The effective signal calculated by the first computing chip is stored in the third cache;
控制第二计算芯片通过识别有效信号,识别聚合物中聚合物单元的排列。A second computing chip is controlled to identify the arrangement of polymer units in the polymer by identifying valid signals.
在本公开的一些实施例中,所述光计算方法还包括:In some embodiments of the present disclosure, the light calculation method further includes:
将第三缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内。Sub-signals from multiple consecutive timestamps in the third buffer from the same nanopore are placed in the same section in time sequence.
在本公开的一些实施例中,所述光计算方法还包括:In some embodiments of the present disclosure, the light calculation method further includes:
通过引用指针,将第三缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。Through the reference pointer, the sub-signals from the same nanopore in the third buffer are sequentially entered into the optical computing chip.
在本公开的一些实施例中,所述光计算方法还包括:In some embodiments of the present disclosure, the light calculation method further includes:
将第二缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内;Place the sub-signals of multiple consecutive timestamps from the same nanopore in the second cache in the same section in time sequence;
在本公开的一些实施例中,所述光计算方法还包括:通过引用指针,将第二缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。In some embodiments of the present disclosure, the optical computing method further includes: sequentially entering the sub-signals from the same nanopore in the second cache into the optical computing chip by referencing a pointer.
在本公开的一些实施例中,所述光计算方法还包括:In some embodiments of the present disclosure, the light calculation method further includes:
将第一缓存中的子信号长度设置为小于等于光计算芯片配置处理的序列长度;Set the sub-signal length in the first cache to be less than or equal to the sequence length processed by the optical computing chip configuration;
将第一缓存至光计算芯片的传输带宽设置为等于光计算芯片的计算速度。The transmission bandwidth of the first buffer to the optical computing chip is set equal to the computing speed of the optical computing chip.
在本公开的一些实施例中,所述光计算方法还包括:In some embodiments of the present disclosure, the light calculation method further includes:
在第一缓存中的当前子信号长度小于光计算芯片配置处理的序列长度的情况下,采用前一段子信号的末尾数据和后一段子信号的开端数据中的至少一种补齐当前子信号,使得第一缓存中的当前子信号长度等于光计算芯片配置处理的序列长度。When the length of the current sub-signal in the first cache is less than the length of the sequence configured to be processed by the optical computing chip, at least one of the end data of the previous sub-signal and the beginning data of the next sub-signal is used to complement the current sub-signal, This makes the current sub-signal length in the first buffer equal to the sequence length processed by the optical computing chip configuration.
根据本公开的另一方面,提供一种控制器,包括:According to another aspect of the present disclosure, a controller is provided, including:
第一控制模块,用于通过模数转换器阵列将聚合物相对于纳米孔易位的情况下产生的电流转换为数字信号;a first control module for converting the current generated when the polymer is translocated relative to the nanopore into a digital signal through an analog-to-digital converter array;
第二控制模块,用于控制光计算芯片根据数字信号识别聚合物中聚合物单元的排列。The second control module is used to control the optical computing chip to identify the arrangement of polymer units in the polymer according to the digital signal.
根据本公开的另一方面,提供一种控制器,包括:According to another aspect of the present disclosure, a controller is provided, including:
存储器,用于存储指令;Memory, used to store instructions;
处理器,用于执行所述指令,使得所述控制器执行实现如上述任一实施例所述的光计算方法的操作。A processor, configured to execute the instructions, causing the controller to perform operations for implementing the optical computing method described in any of the above embodiments.
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述性计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例所述的光计算方法。According to another aspect of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and when the instructions are executed by a processor, the methods described in any of the above embodiments are implemented. Light calculation method.
为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or related technologies, the drawings needed to be used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings in the following description are only for the purpose of describing the embodiments or related technologies. For some disclosed embodiments, those of ordinary skill in the art can also obtain other drawings based on these drawings without exerting any creative effort.
图1为本公开光计算系统一些实施例的示意图。Figure 1 is a schematic diagram of some embodiments of an optical computing system of the present disclosure.
图2为本公开光计算系统另一些实施例的示意图。FIG. 2 is a schematic diagram of other embodiments of the optical computing system of the present disclosure.
图3为本公开光计算系统又一些实施例的示意图。Figure 3 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure.
图4为本公开光计算系统另一些实施例的示意图。Figure 4 is a schematic diagram of other embodiments of the optical computing system of the present disclosure.
图5为本公开光计算系统又一些实施例的示意图。Figure 5 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure.
图6为本公开一些实施例中高速缓存分段设置和排序的示意图。Figure 6 is a schematic diagram of cache segmentation setting and ordering in some embodiments of the present disclosure.
图7a、图7b、图7c和图7d本公开一些实施例中子信号的示意图。Figures 7a, 7b, 7c and 7d are schematic diagrams of sub-signals in some embodiments of the present disclosure.
图8为本公开光计算系统又一些实施例的示意图。Figure 8 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure.
图9为本公开光计算方法一些实施例的示意图。Figure 9 is a schematic diagram of some embodiments of the light computing method of the present disclosure.
图10为本公开控制器一些实施例的示意图。Figure 10 is a schematic diagram of some embodiments of a controller of the present disclosure.
图11为本公开控制器另一些实施例的结构示意图。Figure 11 is a schematic structural diagram of some other embodiments of the controller of the present disclosure.
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。The technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only some of the embodiments of the present disclosure, rather than all of the embodiments. The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the disclosure, its application or uses. Based on the embodiments in this disclosure, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this disclosure.
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。The relative arrangement of components and steps, numerical expressions, and numerical values set forth in these examples do not limit the scope of the disclosure unless otherwise specifically stated.
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。At the same time, it should be understood that, for convenience of description, the dimensions of various parts shown in the drawings are not drawn according to actual proportional relationships.
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。Techniques, methods and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, such techniques, methods and devices should be considered part of the authorized specification.
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。In all examples shown and discussed herein, any specific values are to be construed as illustrative only and not as limiting. Accordingly, other examples of the exemplary embodiments may have different values.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。It should be noted that similar reference numerals and letters refer to similar items in the following figures, so that once an item is defined in one figure, it does not need further discussion in subsequent figures.
发明人通过研究发现:本发明涉及在聚合物(例如但不限于多核苷酸)相对于纳米孔易位期间对从所述聚合物中的聚合物单元获取的测量结果进行分析。The inventors discovered through research that the present invention involves the analysis of measurements taken from polymer units in a polymer (such as, but not limited to, a polynucleotide) during its translocation relative to a nanopore.
相关技术使用纳米孔用于估计聚合物中聚合物单元的目标序列的一种类型的测量系统,这类系统使聚合物相对于纳米孔易位,通过聚合物单体通过纳米孔时各聚合物单元产 生的电流等物理性质的变化,通过人工神经网络等方法,判断聚合物中聚合物单元的排列。这种使用纳米孔的测量系统具有相当大的前景,特别是在对如DNA或RNA等多核苷酸进行测序的领域中,并且已经成为最近发展的主题。RELATED ART A type of measurement system used to estimate a target sequence of polymer units in a polymer using nanopores. Such systems translocate the polymer relative to the nanopore by allowing the polymer monomers to pass through the nanopore. Changes in physical properties such as the current generated by the unit are used to determine the arrangement of polymer units in the polymer through methods such as artificial neural networks. Such measurement systems using nanopores hold considerable promise, particularly in the field of sequencing polynucleotides such as DNA or RNA, and have been the subject of recent developments.
蛋白质肽链也可以通过纳米孔进行测序,相关技术披露了基于纳米孔技术的单分子肽测序方法。在Hel308DNA解旋酶的作用下,将DNA-肽偶联物拉过MspA纳米孔,此时纳米孔会在离子流中产生独特的阶梯状电流信号。通过配套的识别软件,可以准确识别电流信号,并对电流中值进行分析,从而回溯确认序列的信息。Protein peptide chains can also be sequenced through nanopores, and related technologies disclose single-molecule peptide sequencing methods based on nanopore technology. Under the action of Hel308 DNA helicase, the DNA-peptide conjugate is pulled through the MspA nanopore. At this time, the nanopore will generate a unique ladder-like current signal in the ion flow. Through the supporting identification software, the current signal can be accurately identified and the current median value can be analyzed to retroactively confirm the sequence information.
相关技术通过神经网络可以识别多聚物测序信号。相关技术披露了使用递归神经网络(RNN)的机器学习技术分析通过在通过纳米孔的聚合物信号,导出后验概率矩阵,每个后验概率矩阵表示:就聚合物单元的对应于相应测量之前的测量结果的不同相应历史序列而言,聚合物单元的所述相应历史序列的多个不同变化的后验概率产生新的聚合物单元序列。所述分析可以包括使用如卷积神经网络等经过训练的特征检测器对连续测量结果组执行卷积,以导出作为RNN操作对象的一系列特征向量。Related technology can identify polymer sequencing signals through neural networks. Related art discloses the use of machine learning techniques using recurrent neural networks (RNN) to analyze polymer signals passing through nanopores and derive posterior probability matrices, each posterior probability matrix representing: prior to the corresponding measurement of the polymer unit. In terms of different corresponding historical sequences of measurement results, the posterior probabilities of multiple different changes in the corresponding historical sequences of polymer units generate new polymer unit sequences. The analysis may include performing convolution on a set of consecutive measurements using a trained feature detector such as a convolutional neural network to derive a series of feature vectors on which the RNN operates.
纳米孔给出的电流信号并不都是聚合物单元通过纳米孔的有效信号,但是对比文件并没有给出识别有效信号的过程和结构。以DNA为例,识别有效信号和识别信号中的碱基序列都需要大量算力支持。DNA在纳米孔中移位速度达到420nt/s,阵列通常超过1000个纳米孔,采用人工神经网络,形式包括CNN,RNN,LSTM,Transformer等,需要大量矩阵运算和算子。The current signal given by the nanopore is not always an effective signal of the polymer unit passing through the nanopore, but the comparison document does not give the process and structure for identifying effective signals. Taking DNA as an example, identifying effective signals and identifying the base sequences in the signals require a lot of computing power. The displacement speed of DNA in nanopores reaches 420nt/s, and the array usually has more than 1,000 nanopores. Artificial neural networks are used, including CNN, RNN, LSTM, Transformer, etc., which require a large number of matrix operations and operators.
发明人通过研究发现:相关技术的GPU算力不够,单个GPU核的计算能力在10-100G Flops级别,相关技术的GPU算力不足以支撑上万个纳米孔产生数据的实时解析,实现有效信号识别和有效信号中的碱基识别。The inventor found through research that the GPU computing power of the related technology is not enough. The computing power of a single GPU core is at the 10-100G Flops level. The GPU computing power of the related technology is not enough to support the real-time analysis of data generated by tens of thousands of nanopores to achieve effective signals. Base calling in recognition and efficient signaling.
鉴于以上技术问题中的至少一项,本公开提供了一种光计算方法和系统、控制器和存储介质,下面通过具体实施例对本公开进行说明。In view of at least one of the above technical problems, the present disclosure provides an optical computing method and system, a controller and a storage medium. The present disclosure is described below through specific embodiments.
图1为本公开光计算系统一些实施例的示意图。如图1所示,本公开光计算系统包括模数转换器阵列100、纳米孔阵列300和光计算芯片200,其中:Figure 1 is a schematic diagram of some embodiments of an optical computing system of the present disclosure. As shown in Figure 1, the optical computing system of the present disclosure includes an analog-to-digital converter array 100, a nanohole array 300 and an optical computing chip 200, wherein:
模数转换器ADC阵列100,被配置为将聚合物相对于纳米孔易位的情况下产生的电流转换为数字信号。The analog-to-digital converter ADC array 100 is configured to convert the electric current generated when the polymer translocates relative to the nanopore into a digital signal.
光计算芯片片200,被配置为根据数字信号识别聚合物中聚合物单元的排列。Optical computing chip 200 is configured to identify the arrangement of polymer units in a polymer based on digital signals.
在本公开的一些实施例中,光计算芯片200,可以被配置为判断所述数字信号是否为有效信号,并且通过识别有效信号,识别聚合物中聚合物单元的排列。In some embodiments of the present disclosure, the optical computing chip 200 may be configured to determine whether the digital signal is a valid signal, and by identifying the valid signal, identify the arrangement of polymer units in the polymer.
本公开上述实施例通过光计算芯片处理纳米孔阵列和ADC阵列产生的信号,通过能够加速矩阵乘法的光计算芯片,判断信号是否为有效信号,并且识别聚合物中聚合物单元的排列。The above embodiments of the present disclosure process the signals generated by the nanohole array and the ADC array through an optical computing chip, determine whether the signal is a valid signal through the optical computing chip that can accelerate matrix multiplication, and identify the arrangement of polymer units in the polymer.
无效信号产生的原因是1)没有核酸序列穿过纳米孔,2)有核酸序列通过纳米孔,但并没有在电场的作用下持续移动,导致膜两边保持稳定的电势差以及电磁干扰和孔内杂质产生的不稳定信号。The reason for the invalid signal is that 1) no nucleic acid sequence passes through the nanopore, 2) there is a nucleic acid sequence passing through the nanopore, but it does not continue to move under the action of the electric field, resulting in a stable potential difference on both sides of the membrane as well as electromagnetic interference and impurities in the pore. An unstable signal is produced.
在本公开的一些实施例中,光计算芯片200,可以被配置为通过低通滤波滤除不稳定信号后根据电势差去掉无效信号,本公开上述实施例的方法计算量小,但准确度较低。In some embodiments of the present disclosure, the optical computing chip 200 can be configured to filter out unstable signals through low-pass filtering and then remove invalid signals based on potential differences. The method in the above embodiments of the present disclosure has a small amount of calculation but low accuracy. .
在本公开的另一些实施例中,光计算芯片200,还可以被配置为通过分类器或神经网络训练模型后对信号实施推理,实现有效信号的识别。In other embodiments of the present disclosure, the optical computing chip 200 can also be configured to perform inference on the signal after training the model through a classifier or neural network to realize the identification of effective signals.
在本公开的一些实施例中,光计算芯片200,被配置为通过纳米孔采集得到的电信号识别有效信号中的碱基,所用算法通常采用神经网络训练得到,神经网络的模型可以是递归神经网络(RNN)、卷积神经网络(CNN)、长短期存储器(long short-term memory,LSTM)、以及Transformer等形式,通过由采集自包含确定目标序列或其互补序列的聚合物单元序列的多次测量结果训练得到。利用得到的模型推理,可以以通过纳米孔采集得到的电信号识别有效信号推理估计新测量的聚合物单元的靶序列。在推理估计过程中,每个模型测量依赖于k-mer(k个聚合物单元)模型将输入的信号序列处理为k-mer状态的观察值。通过模型,将每个模型的k-mer类型和输入序列处理为多维k-mer状态并产生聚合物单元序列的估计。In some embodiments of the present disclosure, the optical computing chip 200 is configured to identify the bases in the effective signal from the electrical signal collected through the nanopore. The algorithm used is usually trained by a neural network. The model of the neural network can be a recursive neural network. Network (RNN), convolutional neural network (CNN), long short-term memory (LSTM), and Transformer, etc., by collecting multiple polymer unit sequences that determine the target sequence or its complementary sequence from the self-containment Measurement results are obtained through training. Using the resulting model inference, the target sequence of the newly measured polymer unit can be estimated by identifying effective signal inferences from the electrical signals collected through the nanopore. During the inference estimation process, each model measurement relies on a k-mer (k polymer unit) model to process the input signal sequence into observations of k-mer states. By model, each model's k-mer type and input sequence are processed into multidimensional k-mer states and produce an estimate of the polymer unit sequence.
在本公开的一些实施例中,光计算芯片200可以包括基于波长路由的光子矩阵向量乘法器。In some embodiments of the present disclosure, the optical computing chip 200 may include a wavelength routing based photon matrix vector multiplier.
在本公开的一些实施例中,光计算芯片200可以包括在光波导和/或光芯片上实现的全光衍射神经网络。In some embodiments of the present disclosure, the optical computing chip 200 may include an all-optical diffraction neural network implemented on an optical waveguide and/or an optical chip.
在本公开的一些实施例中,光计算芯片200中,提供了具有片段式光学调制器的光电处理设备包括具有三个或更多个片段,能够提高马赫-曾德尔干涉仪的模数转换精度的光学波导装置,待处理的数据包括输入向量的向量元素值和与神经网络模型相关联的模型矩阵的矩阵元素值,处理数据包括基于向量元素值的不同子集与不同相应预处理向量之间的逐元素向量乘法来计算多个中间向量。In some embodiments of the present disclosure, the optical computing chip 200 provides an optoelectronic processing device with a segmented optical modulator including three or more segments, which can improve the analog-to-digital conversion accuracy of the Mach-Zehnder interferometer. The optical waveguide device, the data to be processed includes vector element values of the input vector and matrix element values of the model matrix associated with the neural network model, and the processed data includes between different subsets based on the vector element values and different corresponding preprocessing vectors Element-wise vector multiplication to compute multiple intermediate vectors.
本公开上述实施例将计算能力优于GPU的光计算芯片应用于基于纳米孔的多聚物测序,优化了光计算芯片在多个纳米孔平行产生数据的情况下“识别有效信号”和“识别有 效信号中的多聚物单元”的计算速度。The above-mentioned embodiments of the present disclosure apply optical computing chips with computing capabilities better than GPUs to nanopore-based polymer sequencing, optimizing the optical computing chip to "identify effective signals" and "recognize effective signals" when multiple nanopores generate data in parallel. Computational speed of "polymer units" in the effective signal.
本公开上述实施例使用纳米孔用于估计聚合物中聚合物单元的目标序列的一种类型的测量系统,这类系统带有多个纳米孔和多个ADC单元,当使聚合物相对于纳米孔易位时,将产生的电流通过ADC单元阵列转化为数字信号。The above embodiments of the present disclosure use nanopores as a type of measurement system for estimating a target sequence of polymer units in a polymer. This type of system has multiple nanopores and multiple ADC units. When the polymer is compared to the nanometer When the hole is translocated, the generated current is converted into a digital signal through the ADC unit array.
本公开上述实施例通过光计算芯片处理纳米孔阵列和ADC阵列产生的信号,通过能够加速矩阵乘法的光计算芯片,判断信号是否为有效信号,并且识别聚合物中聚合物单元的排列。The above embodiments of the present disclosure process the signals generated by the nanohole array and the ADC array through an optical computing chip, determine whether the signal is a valid signal through the optical computing chip that can accelerate matrix multiplication, and identify the arrangement of polymer units in the polymer.
图2为本公开光计算系统另一些实施例的示意图。如图2所示,本公开光计算系统包括模数转换器阵列100、纳米孔阵列300、光计算芯片200、第一缓存400、控制器和输出序列信号缓存500,其中:FIG. 2 is a schematic diagram of other embodiments of the optical computing system of the present disclosure. As shown in Figure 2, the optical computing system of the present disclosure includes an analog-to-digital converter array 100, a nanohole array 300, an optical computing chip 200, a first buffer 400, a controller and an output sequence signal buffer 500, wherein:
在本公开的一些实施例中,控制器可以包括系统控制器610和ADC阵列控制器620,其中:In some embodiments of the present disclosure, the controller may include system controller 610 and ADC array controller 620, where:
ADC阵列控制器620,用于对模数转换器阵列100、纳米孔阵列300和第一缓存400进行控制。The ADC array controller 620 is used to control the analog-to-digital converter array 100, the nanohole array 300 and the first cache 400.
系统控制器610,用于对系统的各个组成模块进行控制。System controller 610 is used to control various component modules of the system.
在本公开的一些实施例中,控制器(系统控制器610和ADC阵列控制器620),被配置为将模数转换器阵列中每个模数转换器输出的数字信号输出的数字信号分割为多个子信号,并为每个子信号添加相应标识,其中所述标识包括时间戳和模数转换器标识。In some embodiments of the present disclosure, the controllers (system controller 610 and ADC array controller 620) are configured to split the digital signal output by each analog-to-digital converter in the analog-to-digital converter array into Multiple sub-signals, and add corresponding identification to each sub-signal, where the identification includes a time stamp and an analog-to-digital converter identification.
本公开上述实施例加时间和ADC标识的作用是为了让分段的子信号经过光计算芯片识别碱基之后,还能根据时间戳和ADC标识拼接,形成完整的信号。The function of adding time and ADC identification in the above embodiments of the present disclosure is to allow the segmented sub-signals to be spliced according to the time stamp and ADC identification to form a complete signal after the bases are identified by the optical computing chip.
在本公开的一些实施例中,第一缓存400,包括多个子缓存,设置在模数转换器阵列和光计算芯片之间,被配置为存储添加相应标识后的子信号;在第一缓存中的一个子缓存存储子信号的情况下,切换子缓存,并将该子缓存中的子信号输出至光计算芯片。In some embodiments of the present disclosure, the first cache 400 includes a plurality of sub-cache, is disposed between the analog-to-digital converter array and the optical computing chip, and is configured to store the sub-signal after adding the corresponding identification; in the first cache When one sub-buffer stores a sub-signal, the sub-buffer is switched and the sub-signal in the sub-buffer is output to the optical computing chip.
在本公开的一些实施例中,第一缓存400,可以被配置为在第一缓存中的一个子缓存的存储占比大于预定值、剩余存储空间小于预设值或写入预设大小的数据的情况下,切换子缓存,并将该子缓存中的子信号输出至光计算芯片,即,在一个子缓存接近溢出的情况下,切换子缓存,并将该接近存储满的子缓存中的子信号输出至光计算芯片。In some embodiments of the present disclosure, the first cache 400 may be configured such that the storage ratio of a sub-cache in the first cache is greater than a predetermined value, the remaining storage space is less than a preset value, or data of a preset size is written. In the case of , switch the sub-buffer and output the sub-signal in the sub-buffer to the optical computing chip, that is, when a sub-buffer is close to overflow, switch the sub-buffer and output the sub-buffer in the sub-buffer that is nearly full. The sub-signals are output to the optical computing chip.
在本公开的一些实施例中,模数转换器阵列110可以为包括多个模数转换器的模数转换器阵列。In some embodiments of the present disclosure, the analog-to-digital converter array 110 may be an analog-to-digital converter array including a plurality of analog-to-digital converters.
在本公开的一些实施例中,第一缓存400中的子信号长度小于等于光计算芯片配置处理的序列长度。In some embodiments of the present disclosure, the length of the sub-signal in the first cache 400 is less than or equal to the sequence length processed by the optical computing chip configuration.
在本公开的一些实施例中,第一缓存400至光计算芯片的传输带宽等于光计算芯片的计算速度。In some embodiments of the present disclosure, the transmission bandwidth from the first cache 400 to the optical computing chip is equal to the computing speed of the optical computing chip.
在本公开的一些实施例中,第一缓存400可以为乒乓缓存。In some embodiments of the present disclosure, the first cache 400 may be a ping-pong cache.
在本公开的一些实施例中,控制器,还可以被配置为在第一缓存中的当前子信号长度小于光计算芯片配置处理的序列长度的情况下,采用前一段子信号的末尾数据和后一段子信号的开端数据中的至少一种补齐当前子信号,使得第一缓存中的当前子信号长度等于光计算芯片配置处理的序列长度。In some embodiments of the present disclosure, the controller may also be configured to use the end data of the previous sub-signal and the following sub-signal when the length of the current sub-signal in the first buffer is less than the sequence length configured to be processed by the optical computing chip. At least one of the starting data of a segment of sub-signals complements the current sub-signal, so that the length of the current sub-signal in the first buffer is equal to the sequence length processed by the optical computing chip configuration.
本公开上述实施例中每个ADC单元的信号输出单元的输出信号进入乒乓缓存,通过初步分割后,分割为多个子信号,每个子信号都加上了相应的标识,标识可以是时间戳+ADC的标识。当子信号长度<光计算芯片配置处理的序列长度N时,可以用前一个子信号末端和后一个子信号前段的信号补齐至N。In the above embodiments of the present disclosure, the output signal of the signal output unit of each ADC unit enters the ping-pong buffer. After preliminary segmentation, it is divided into multiple sub-signals. Each sub-signal is added with a corresponding identifier. The identifier can be a timestamp + ADC. logo. When the length of the sub-signal < the sequence length N processed by the optical computing chip configuration, the end of the previous sub-signal and the signal in the front section of the next sub-signal can be used to complete the sequence up to N.
图3为本公开光计算系统又一些实施例的示意图。如图3所示,本公开光计算系统包括模数转换器阵列100、纳米孔阵列300、光计算芯片200、第一缓存400、控制器和输出序列信号缓存500。在本公开的一些实施例中,第一缓存400可以为乒乓缓存。Figure 3 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure. As shown in FIG. 3 , the optical computing system of the present disclosure includes an analog-to-digital converter array 100 , a nanohole array 300 , an optical computing chip 200 , a first buffer 400 , a controller, and an output sequence signal buffer 500 . In some embodiments of the present disclosure, the first cache 400 may be a ping-pong cache.
在本公开的一些实施例中,第一缓存400可以为乒乓缓存。In some embodiments of the present disclosure, the first cache 400 may be a ping-pong cache.
在本公开的一些实施例中,子矩阵-矢量乘法(MVM)主要包含三类,即基于(单/多)平面光转换(PLC)的矩阵计算,基于马赫泽德干涉仪(MZI)网络的矩阵计算,和基于波分复用(WDM)的矩阵计算。In some embodiments of the present disclosure, sub-matrix-vector multiplication (MVM) mainly includes three categories, namely matrix calculation based on (single/multiple) plane light conversion (PLC), Mach-Zehnder interferometer (MZI) network-based Matrix calculations, and matrix calculations based on wavelength division multiplexing (WDM).
本公开以MZI和WDM方法做一举例,MZI和WDM输出向量长度一般在100以下,主要用于集成光子矩阵计算芯片。This disclosure takes the MZI and WDM methods as an example. The output vector length of MZI and WDM is generally less than 100 and is mainly used for integrated photon matrix computing chips.
在本公开的一些实施例中,光计算芯片可以内置缓存,让光计算芯片配置处理的序列长度N包含多个长度为L的向量。In some embodiments of the present disclosure, the optical computing chip can have a built-in cache, so that the sequence length N processed by the optical computing chip is configured to include multiple vectors of length L.
与图2实施例相比,图3实施例还给出了光计算芯片200的具体结构,如图3所示,所述光计算芯片200包括光计算芯片控制器201、权重数据缓存202、光源203、第一数模转换阵列204、调制器阵列205、多个第二数模转换阵列206、多个光电矩阵乘法模块207和模数转换阵列208,其中:Compared with the embodiment of Figure 2, the embodiment of Figure 3 also provides a specific structure of the optical computing chip 200. As shown in Figure 3, the optical computing chip 200 includes an optical computing chip controller 201, a weight data cache 202, and a light source. 203. A first digital-to-analog conversion array 204, a modulator array 205, a plurality of second digital-to-analog conversion arrays 206, a plurality of photoelectric matrix multiplication modules 207 and an analog-to-digital conversion array 208, wherein:
光源203,被配置为输出未调制的、用于计算的光。 Light source 203 is configured to output unmodulated light for calculation.
第一数模转换阵列(第一DAC阵列)204,被配置为接收外部输入数据,并将外部输入数据转化为第一模拟信号。The first digital-to-analog conversion array (first DAC array) 204 is configured to receive external input data and convert the external input data into a first analog signal.
调制器阵列205,被配置为根据光源输出的光和所述第一模拟信号,形成要进行矩阵乘法操作的张量数据。The modulator array 205 is configured to form tensor data to be subjected to a matrix multiplication operation according to the light output by the light source and the first analog signal.
权重数据缓存202,被配置为存储乘法矩阵的权重数据。The weight data cache 202 is configured to store the weight data of the multiplication matrix.
在本公开的一些实施例中,权重数据缓存202,被配置为当推理用的模型要根据样本类型进行切换时,对应的光计算芯片中200中人工神经网络的权重也能相应改变,用于存储权重。In some embodiments of the present disclosure, the weight data cache 202 is configured so that when the model used for inference is switched according to the sample type, the weight of the artificial neural network in the corresponding optical computing chip 200 can also be changed accordingly, for Store weights.
第二数模转换阵列(第二DAC阵列)206,被配置为将权重数据转化为第二模拟信号。The second digital-to-analog conversion array (second DAC array) 206 is configured to convert the weight data into a second analog signal.
光电矩阵乘法模块207,被配置为根据所述张量数据和所述第二模拟信号进行矩阵乘法操作,实现光路计算。The photoelectric matrix multiplication module 207 is configured to perform a matrix multiplication operation according to the tensor data and the second analog signal to implement optical path calculation.
如图3所示,通过系统控制610配置光计算芯片200的光计算芯片控制器201,使芯片在一定速度进行矩阵计算。As shown in FIG. 3 , the optical computing chip controller 201 of the optical computing chip 200 is configured through the system control 610 so that the chip performs matrix calculations at a certain speed.
光电矩阵乘法模块207,被配置为能够进行矩阵与波导向量的光计算,通过数字信号的变化,判断数字信号对应的DNA单链绑定、穿膜、过孔、离孔的情况,识别有效信号,并且识别有效信号中的碱基序列。The photoelectric matrix multiplication module 207 is configured to perform optical calculations of matrix and waveguide vectors. Through changes in digital signals, it can determine the binding, membrane penetration, via holes, and exit holes of the DNA single strand corresponding to the digital signals, and identify effective signals. , and identify the base sequence in the effective signal.
在本公开的一些实施例中,光电矩阵乘法模块207,可以被配置为基于马赫泽德干涉仪(MZI)网络的矩阵计算,和基于波分复用(WDM)的矩阵计算。张量通过光路传播通过多个光电矩阵乘法模块,实现多个矩阵乘法操作,其中,矩阵乘法的系数是由机器学习模型推导得到的。由于是利用光路计算,此步骤能节省算力和计算时间。计算结果通过ADC阵列208输出至系统控制器610。In some embodiments of the present disclosure, the optoelectronic matrix multiplication module 207 may be configured for matrix calculation based on a Mach-Zehnder interferometer (MZI) network and matrix calculation based on wavelength division multiplexing (WDM). The tensor propagates through multiple photoelectric matrix multiplication modules through the optical path to implement multiple matrix multiplication operations. Among them, the coefficients of matrix multiplication are derived from the machine learning model. Since optical path calculation is used, this step can save computing power and calculation time. The calculation results are output to the system controller 610 through the ADC array 208 .
在本公开的一些实施例中,由于光计算过程速度快,需要协调各个第一DAC阵列204、第二DAC阵列206、ADC阵列208协同工作,涉及的光路、电路开关,以及数据的搬运由光计算芯片控制器201执行。In some embodiments of the present disclosure, due to the fast speed of the optical computing process, it is necessary to coordinate the cooperative work of each of the first DAC array 204, the second DAC array 206, and the ADC array 208. The involved optical paths, circuit switches, and data transfer are performed by optical The computing chip controller 201 executes.
在本公开的一些实施例中,系统控制器610,被配置为处理ADC阵列输出的结果数据,根据建库的设置以及纳米孔300、模数转换器阵列100的信息,将结果数据输出至输出序列信号缓存500。In some embodiments of the present disclosure, the system controller 610 is configured to process the result data output by the ADC array, and output the result data to the output according to the settings of the library and the information of the nanopore 300 and the analog-to-digital converter array 100 Sequence signal buffer 500.
在本公开的一些实施例中,输出序列信号缓存500的缓存并不必须是高速缓存,但起写入数据速度必须能与光计算芯片输出结果的速度相匹配。In some embodiments of the present disclosure, the cache of the output sequence signal cache 500 does not have to be a cache, but the speed of writing data must match the speed of the output results of the optical computing chip.
在本公开的一些实施例中,由256×256个纳米孔组成的纳米孔阵列300用于读取DNA 单链片段,由多个ADC单元组成的阵列100在ADC阵列控制器620的控制下读取纳米孔阵列100中多个纳米孔中获得的电流信号,并转化为数字信号。ADC阵列得到的数字信号在系统控制器610或ADC阵列控制器620的控制下,加上了采样时间标记和对应ADC标识,形成多个子信号进入乒乓缓存400。In some embodiments of the present disclosure, a nanopore array 300 composed of 256×256 nanopores is used to read DNA single-stranded fragments, and the array 100 composed of multiple ADC units reads under the control of the ADC array controller 620 The current signals obtained from the plurality of nanopores in the nanopore array 100 are taken and converted into digital signals. Under the control of the system controller 610 or the ADC array controller 620, the digital signal obtained by the ADC array is added with a sampling time stamp and a corresponding ADC identifier, forming multiple sub-signals that enter the ping-pong cache 400.
在本公开的一些实施例中,乒乓缓存400的子缓存可以不止一个,并且ADC阵列中的ADC可以是一对一、一对多的关系。In some embodiments of the present disclosure, the ping-pong cache 400 may have more than one sub-cache, and the ADCs in the ADC array may have a one-to-one or one-to-many relationship.
在本公开的一些实施例中,在多个纳米孔对应一个ADC的情况下(例如256×256个纳米孔对应128×128个ADC单元),生成的子序列中,既包括ADC标识、也包含系统时间的标识。In some embodiments of the present disclosure, when multiple nanopores correspond to one ADC (for example, 256×256 nanopores correspond to 128×128 ADC units), the generated subsequence includes both the ADC identifier and System time identifier.
在本公开的一些实施例中,四个纳米孔对应一个ADC,在测序过程中判断DNA是否过孔,ADC检测有过孔信号的纳米孔,这样能够提高ADC的利用率。In some embodiments of the present disclosure, four nanopores correspond to one ADC. During the sequencing process, it is determined whether the DNA has passed through the holes, and the ADC detects the nanopores with through-hole signals, which can improve the utilization rate of the ADC.
在本公开的一些实施例中,由于纳米孔与ADC的对应关系是在测序过程中根据序列过孔的情况动态确定的,系统控制器610或ADC阵列控制器620在切换对应关系时会记录时间,从而将特定时间段的信号与纳米孔信号对应起来。In some embodiments of the present disclosure, since the corresponding relationship between the nanopore and the ADC is dynamically determined according to the sequence via situation during the sequencing process, the system controller 610 or the ADC array controller 620 will record the time when switching the corresponding relationship. , thereby corresponding the signal in a specific time period to the nanopore signal.
在本公开的一些实施例中,如图6所示,对于ADC1,特定时间段t0-t3的子信号对应来自纳米孔A,而对于ADC1,特定时间段t4-t7的子信号对应来自纳米孔B。因此ADC1+时间戳(t0-t1)、ADC1+时间戳(t1-t2)、ADC1+时间戳(t2-t3)为来自纳米孔A的三个连续子信号。而ADC1+时间戳(t4-t5)、ADC1+时间戳(t5-t6)、ADC1+时间戳(t6-t7)为来自纳米孔B的三个连续子信号。In some embodiments of the present disclosure, as shown in Figure 6, for ADC1, the sub-signals of a specific time period t0-t3 correspond to coming from the nanopore A, and for ADC1, the sub-signals of a specific time period t4-t7 correspond to coming from the nanopore B. Therefore, ADC1+timestamp (t0-t1), ADC1+timestamp (t1-t2), and ADC1+timestamp (t2-t3) are three consecutive sub-signals from nanopore A. The ADC1+ timestamp (t4-t5), ADC1+ timestamp (t5-t6), and ADC1+ timestamp (t6-t7) are three consecutive sub-signals from nanopore B.
在本公开的一些实施例中,通常ADC采集的得到的信号长度要比光计算芯片处理的序列长度更长。在ADC采集的信号转移至乒乓存储时,可以对信号加以分段,让乒乓缓存中的子信号长度与光计算芯片配置处理的序列长度一致。当乒乓缓存的一个缓存接近溢出时,切换缓存,并让满了的缓存中的子信号输出至光计算芯片,传输带宽与光计算芯片的计算速度一致,因而最大程度地利用了光计算芯片的计算能力。In some embodiments of the present disclosure, the length of the signal collected by the ADC is generally longer than the length of the sequence processed by the optical computing chip. When the signal collected by the ADC is transferred to the ping-pong storage, the signal can be segmented so that the length of the sub-signal in the ping-pong buffer is consistent with the sequence length configured to be processed by the optical computing chip. When a buffer of the ping-pong buffer is close to overflowing, the buffer is switched and the sub-signals in the full buffer are output to the optical computing chip. The transmission bandwidth is consistent with the computing speed of the optical computing chip, thus maximizing the use of the optical computing chip. Calculate ability.
本公开上述实施例通过在ADC阵列与能够加速乘法矩阵运算的光芯片之间加入乒乓缓存和高速缓存,将光计算芯片算能的充分利用,使数字信号的产生与计算更加高效、迅速。The above embodiments of the present disclosure add ping-pong buffers and caches between the ADC array and the optical chip that can accelerate the multiplication matrix operation, making full use of the computing power of the optical computing chip, making the generation and calculation of digital signals more efficient and faster.
图4为本公开光计算系统另一些实施例的示意图。图5为本公开光计算系统又一些实施例的示意图。与图2和图3实施例相比,图4和图5实施例中,所述光计算系统除了包 括模数转换器阵列100、纳米孔阵列300、光计算芯片200、第一缓存400、控制器和输出序列信号缓存500、系统控制器610和ADC阵列控制器620外,还可以包括第二缓存700,其中:Figure 4 is a schematic diagram of other embodiments of the optical computing system of the present disclosure. Figure 5 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure. Compared with the embodiments of Figures 2 and 3, in the embodiments of Figures 4 and 5, the optical computing system includes an analog-to-digital converter array 100, a nanohole array 300, an optical computing chip 200, a first cache 400, a control In addition to the processor and output sequence signal buffer 500, the system controller 610 and the ADC array controller 620, a second buffer 700 may also be included, wherein:
第二缓存700,设置在第一缓存400和光计算芯片200之间,被配置为将第一缓存输出的子信号进行缓存后,输出至光计算芯片。The second cache 700 is disposed between the first cache 400 and the optical computing chip 200, and is configured to cache the sub-signals output by the first cache and then output them to the optical computing chip.
其中,控制器(系统控制器610和ADC阵列控制器620),还可以被配置为将第二缓存的每个子信号输出至光计算芯片的带宽设置为高于光计算芯片的计算工作频率。The controller (system controller 610 and ADC array controller 620) may also be configured to set the bandwidth of each sub-signal output of the second buffer to the optical computing chip to be higher than the computing operating frequency of the optical computing chip.
在本公开的一些实施例中,第一缓存400可以为乒乓缓存;第二缓存700可以为高速缓存。In some embodiments of the present disclosure, the first cache 400 may be a ping-pong cache; the second cache 700 may be a cache.
本公开上述实施例在乒乓缓存和光计算芯片之间增加了高速缓存(103),从而保证乒乓缓存的切换不会影响到光计算芯片的计算速度。首先,本公开设置高速缓存的输出带宽与光计算芯片的读取速度相一致;其次,本公开设置高速的写入带宽高于乒乓存储的子存储输出带宽。由此本公开光计算芯片能够连续不断地读取高速缓存,不受乒乓存储缓存切换的影响。The above embodiments of the present disclosure add a cache (103) between the ping-pong cache and the optical computing chip, thereby ensuring that switching of the ping-pong cache will not affect the computing speed of the optical computing chip. First, this disclosure sets the output bandwidth of the cache to be consistent with the read speed of the optical computing chip; second, this disclosure sets the high-speed write bandwidth to be higher than the sub-storage output bandwidth of the ping-pong storage. Therefore, the optical computing chip of the present disclosure can continuously read the cache without being affected by ping-pong memory cache switching.
在本公开的一些实施例中,第二缓存700为与模数转换器阵列100对应的多个并行缓存器阵列。In some embodiments of the present disclosure, the second buffer 700 is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array 100 .
在本公开的一些实施例中,控制器,还可以被配置为将第二缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内;或通过引用指针,将第二缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。In some embodiments of the present disclosure, the controller may also be configured to place multiple consecutive timestamp sub-signals from the same nanopore in the second cache in the same section in time sequence; or by reference Pointer, the sub-signals from the same nanopore in the second buffer are entered into the optical computing chip in sequence.
在本公开的一些实施例中,各子信号上都带有纳米孔ADC的标识,因此可替代地,通过算法,让高速缓存中来自同一个纳米孔ADC的信号存储相邻排序,或通过引用指针,保证来自同一个ADC的子信号按顺序进入光计算芯片。In some embodiments of the present disclosure, each sub-signal carries the identification of the nanopore ADC, so instead, the signals from the same nanopore ADC in the cache are stored in adjacent order through an algorithm, or by reference Pointer to ensure that sub-signals from the same ADC enter the optical computing chip in order.
在本公开的一些实施例中,可以通过ADC标识和系统时间的标识确定高速缓存中来自同一个纳米孔ADC的信号。In some embodiments of the present disclosure, the signal from the same nanopore ADC in the cache can be determined through the identification of the ADC identification and the system time.
在本公开的一些实施例中,高速缓存也可以是一个由控制器控制的阵列,保证相邻纳米孔对应。In some embodiments of the present disclosure, the cache can also be an array controlled by a controller to ensure correspondence between adjacent nanopores.
在本公开的一些实施例中,将带有信号识别标识的子信号直接写入特定、匹配光计算元件的高速缓存,缓存实现方式可以是片上或片外的SRAM、GDDR、HBM等类型的线性存储装置,或通过FPGA、ASIC定制具有特殊结构的存储装置。In some embodiments of the present disclosure, the sub-signal with the signal identification mark is directly written into the cache of a specific and matching optical computing element. The cache implementation can be an on-chip or off-chip linear SRAM, GDDR, HBM, etc. Storage devices, or customized storage devices with special structures through FPGA and ASIC.
在本公开的一些实施例中,缓存的每个子信号输出至光计算芯片上DAC阵列的频率 与光计算元件的计算工作频率(即光计算芯片上DAC阵列、调制器阵列、光电矩阵乘法单元和ADC阵列最大工作频率的最小值)一致。In some embodiments of the present disclosure, the frequency at which each cached sub-signal is output to the DAC array on the optical computing chip is consistent with the computing operating frequency of the optical computing element (i.e., the DAC array on the optical computing chip, the modulator array, the optoelectronic matrix multiplication unit and The minimum value of the maximum operating frequency of the ADC array is consistent.
在本公开的一些实施例中,高速缓存数据的输出带宽(输出频率)要高于光计算芯片计算工作频率,保证光计算芯片计算能力最大化。其中,缓存的每个子信号输出至光计算芯片上DAC阵列的频率指的是从最后高速缓存的输出带宽。In some embodiments of the present disclosure, the output bandwidth (output frequency) of cache data is higher than the computing operating frequency of the optical computing chip to ensure that the computing power of the optical computing chip is maximized. Among them, the frequency at which each cached sub-signal is output to the DAC array on the optical computing chip refers to the output bandwidth from the last cache.
在本公开的一些实施例中,由于各厂家光计算元件的实现原理不同,计算工作频率可以是实时变化的,也可以是固定值。实时变化时,光计算元件读取高速缓存的速度也会实时变化,因此需要保证高速缓存数据的输出带宽(输出频率)要高于光计算芯片计算工作频率。In some embodiments of the present disclosure, due to different implementation principles of optical computing components from various manufacturers, the computing operating frequency may change in real time or be a fixed value. When changing in real time, the speed at which the optical computing element reads the cache will also change in real time. Therefore, it is necessary to ensure that the output bandwidth (output frequency) of the cache data is higher than the computing operating frequency of the optical computing chip.
在本公开的一些实施例中,高速缓存可以是FIFO缓存,能够同时存储多个子信号。In some embodiments of the present disclosure, the cache may be a FIFO cache capable of storing multiple sub-signals simultaneously.
本公开上述实施例中,可以在高速缓存分段设置和排序,让来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内,或者通过寄存器链表指针的形式保证子信号能够连续地输出。In the above embodiments of the present disclosure, the cache segmentation can be set and sorted so that sub-signals with multiple consecutive timestamps from the same nanopore are placed in the same section in time sequence, or in the form of a register linked list pointer. Ensure that the sub-signals can be output continuously.
本公开上述实施例设置了与光计算芯片速度相匹配的乒乓缓存和高速缓存。本公开上述实施例通过优化的缓存结构,大大提升了“识别有效信号”和“识别有效信号中的多聚物单元”操作的准确度。The above-described embodiments of the present disclosure provide ping-pong buffers and caches that match the speed of optical computing chips. The above-mentioned embodiments of the present disclosure greatly improve the accuracy of the operations of "identifying effective signals" and "identifying polymer units in effective signals" through optimized cache structures.
图6为本公开一些实施例中高速缓存分段设置和排序的示意图。如图6所示,对于ADC1,特定时间段t0-t3的子信号对应来自纳米孔A,而对于ADC1,特定时间段t4-t7的子信号对应来自纳米孔B。因此ADC1+时间戳(t0-t1)、ADC1+时间戳(t1-t2)、ADC1+时间戳(t2-t3)为来自纳米孔A的三个连续子信号。而ADC1+时间戳(t4-t5)、ADC1+时间戳(t5-t6)、ADC1+时间戳(t6-t7)为来自纳米孔B的三个连续子信号。而ADC3+时间戳(t0-t1)、ADC3+时间戳(t1-t2)、ADC3+时间戳(t2-t3)为来自纳米孔C的三个连续子信号。ADC2+时间戳(t0-t1)、ADC2+时间戳(t1-t2)、ADC2+时间戳(t2-t3)为来自纳米孔D的三个连续子信号。Figure 6 is a schematic diagram of cache segmentation setting and ordering in some embodiments of the present disclosure. As shown in Figure 6, for ADC1, the sub-signals of a specific time period t0-t3 correspond to nanopore A, while for ADC1, the sub-signals of a specific time period t4-t7 correspond to nanopore B. Therefore, ADC1+timestamp (t0-t1), ADC1+timestamp (t1-t2), and ADC1+timestamp (t2-t3) are three consecutive sub-signals from nanopore A. The ADC1+ timestamp (t4-t5), ADC1+ timestamp (t5-t6), and ADC1+ timestamp (t6-t7) are three consecutive sub-signals from nanopore B. The ADC3+ timestamp (t0-t1), ADC3+ timestamp (t1-t2), and ADC3+ timestamp (t2-t3) are three consecutive sub-signals from nanopore C. ADC2+timestamp (t0-t1), ADC2+timestamp (t1-t2), and ADC2+timestamp (t2-t3) are three consecutive sub-signals from nanopore D.
本公开上述实施例中由于纳米孔与ADC的对应关系是在测序过程中根据序列过孔的情况动态确定的,系统在切换对应关系时会记录时间。由此可以将特定时间段的信号与纳米孔信号对应起来。In the above embodiments of the present disclosure, since the corresponding relationship between the nanopore and the ADC is dynamically determined according to the sequence via situation during the sequencing process, the system will record the time when switching the corresponding relationship. This allows the signal of a specific time period to be correlated with the nanopore signal.
在本公开一些实施例中,ADC标识+时间戳等效于纳米孔标识。In some embodiments of the present disclosure, ADC identification + time stamp is equivalent to nanopore identification.
在本公开一些实施例中,对于“多个纳米孔对应一个ADC的情况”是否只添加纳米孔标识(纳米孔A或纳米孔B),不需要添加ADC标识,也可以保证同一个纳米孔的连续 多个时间戳的子信号按时间序列放置在同一个区段。In some embodiments of the present disclosure, whether only a nanopore identifier (nanopore A or nanopore B) is added for the "situation in which multiple nanopores correspond to one ADC", there is no need to add an ADC identifier, and it can also be ensured that the same nanopore Sub-signals with multiple consecutive timestamps are placed in the same section in time sequence.
图7a、图7b、图7c和图7d本公开一些实施例中子信号的示意图。如图7a所示,子信号可以包括纳米孔标识、ADC标识、时间戳和长度为N的子信号。Figures 7a, 7b, 7c and 7d are schematic diagrams of sub-signals in some embodiments of the present disclosure. As shown in Figure 7a, the sub-signal may include a nanopore identification, an ADC identification, a timestamp and a sub-signal of length N.
在本公开另一些实施例中,如图7b所示,ADC标识+时间戳可以等效于纳米孔标识。由此,子信号可以包括ADC标识、时间戳和长度为N的子信号。In other embodiments of the present disclosure, as shown in Figure 7b, the ADC identification + time stamp may be equivalent to the nanopore identification. Thus, the sub-signal may include an ADC identification, a timestamp and a sub-signal of length N.
如图7c和图7d所示,进入高速缓存的子信号除了时间戳和ADC标识外,还可以包括相同ADC前一段子信号的末尾数据(上一个时间戳的子信号)或后一段子信号的开端数据,送入线性高速缓存。其中,图7c实施例中,进入高速缓存的子信号包括时间戳、ADC标识、相同ADC前一段子信号的末尾(N-n)的数据和本时间戳长度为n的子信号。As shown in Figure 7c and Figure 7d, in addition to the timestamp and ADC identification, the sub-signals entering the cache can also include the end data of the previous sub-signal of the same ADC (the sub-signal of the previous timestamp) or the following sub-signal. Start data and send it to linear cache. Among them, in the embodiment of Figure 7c, the sub-signals entering the cache include timestamps, ADC identifiers, data at the end (N-n) of the previous sub-signal of the same ADC, and sub-signals with a length of this timestamp of n.
图7d实施例中,进入高速缓存的子信号包括时间戳、ADC标识、本时间戳长度为n的子信号、后一段子信号的开端(N-n)的数据。In the embodiment of Figure 7d, the sub-signals entering the cache include a timestamp, an ADC identifier, a sub-signal with a length of this timestamp of n, and the data of the beginning (N-n) of the next sub-signal.
由此本公开子信号之间有一段重复信号,能够减少因为子信号截断造成的信号有效性片段错误以及碱基识别错误。Therefore, there is a repeated signal between the sub-signals of the present disclosure, which can reduce signal validity segment errors and base recognition errors caused by sub-signal truncation.
图8为本公开光计算系统又一些实施例的示意图。与图4和图5实施例相比,图8实施例中,所述光计算系统除了包括模数转换器阵列100、纳米孔阵列300、第一缓存400、控制器和输出序列信号缓存500、系统控制器610和ADC阵列控制器620外,还可以包括第一计算芯片210和第二计算芯片220,其中:Figure 8 is a schematic diagram of some further embodiments of the optical computing system of the present disclosure. Compared with the embodiment of Figure 4 and Figure 5, in the embodiment of Figure 8, the optical computing system includes an analog-to-digital converter array 100, a nanohole array 300, a first buffer 400, a controller and an output sequence signal buffer 500. In addition to the system controller 610 and the ADC array controller 620, it may also include a first computing chip 210 and a second computing chip 220, wherein:
在本公开的一些实施例中,如图8所示,图1-图5任一实施例所示的光计算芯片200可以包括第一计算芯片210和第二计算芯片220,其中:In some embodiments of the present disclosure, as shown in Figure 8, the optical computing chip 200 shown in any embodiment of Figures 1 to 5 may include a first computing chip 210 and a second computing chip 220, wherein:
第一计算芯片210,被配置为判断所述数字信号是否为有效信号。The first computing chip 210 is configured to determine whether the digital signal is a valid signal.
第二计算芯片220,被配置为通过识别有效信号,识别聚合物中聚合物单元的排列。The second computing chip 220 is configured to identify the arrangement of polymer units in the polymer by identifying valid signals.
在本公开的一些实施例中,第一计算芯片210和第二计算芯片220可以实现为图3或图5实施例中光计算芯片200的具体结构。In some embodiments of the present disclosure, the first computing chip 210 and the second computing chip 220 may be implemented as the specific structure of the optical computing chip 200 in the embodiment of FIG. 3 or FIG. 5 .
在本公开的一些实施例中,第一计算芯片210和第二计算芯片220的其中之一(通常为第一计算芯片210)可以以GPU芯片替换。In some embodiments of the present disclosure, one of the first computing chip 210 and the second computing chip 220 (usually the first computing chip 210) may be replaced with a GPU chip.
本公开上述实施例可以采用第一计算芯片210和第二计算芯片220串接的方式分别解决“识别有效信号”和“识别有效信号中的碱基”的问题,从而提高了信号处理效率。The above embodiments of the present disclosure can use the first computing chip 210 and the second computing chip 220 to be connected in series to solve the problems of "identifying effective signals" and "identifying bases in effective signals" respectively, thereby improving signal processing efficiency.
在本公开的一些实施例中,如图8所示,所述光计算系统还可以包括第三缓存800,其中:In some embodiments of the present disclosure, as shown in Figure 8, the optical computing system may further include a third cache 800, wherein:
第三缓存800,设置在第一计算芯片和第二计算芯片之间,被配置为存储第一计算芯片计算得到的有效信号。The third cache 800 is disposed between the first computing chip and the second computing chip, and is configured to store valid signals calculated by the first computing chip.
在本公开的一些实施例中,第一缓存400可以为乒乓缓存;第二缓存700和第三缓存800可以为高速缓存。In some embodiments of the present disclosure, the first cache 400 may be a ping-pong cache; the second cache 700 and the third cache 800 may be caches.
在本公开的一些实施例中,第三缓存为与模数转换器阵列对应的多个并行缓存器阵列。In some embodiments of the present disclosure, the third buffer is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array.
在本公开的一些实施例中,可以将分段设置的高速缓存改为与ADC或纳米孔对应的多个并行多个高速缓存器阵列。In some embodiments of the present disclosure, the segmented cache can be changed to multiple parallel multiple cache arrays corresponding to the ADC or nanopore.
在本公开的一些实施例中,高速缓存阵列可以与ADC阵列中100的模数转换器一对一、多对一、或一对多设置。In some embodiments of the present disclosure, the cache array may be arranged one-to-one, many-to-one, or one-to-many with the analog-to-digital converters 100 in the ADC array.
在本公开的一些实施例中,控制器,还被配置为将第三缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内;或通过引用指针,将第三缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。In some embodiments of the present disclosure, the controller is further configured to place the sub-signals of multiple consecutive timestamps from the same nanopore in the third cache in the same section in time sequence; or by referencing the pointer , the sub-signals from the same nanopore in the third buffer are sequentially entered into the optical computing chip.
在本公开的一些实施例中,进入高速缓存800的子信号除了时间戳和ADC标识外,还包括相同ADC前一段子信号的末尾数据或后一段子信号的开端数据,送入线性高速缓存。由此本公开子信号之间有一段重复信号,能够减少因为子信号截断造成的信号有效性片段错误以及碱基识别错误。In some embodiments of the present disclosure, in addition to the timestamp and ADC identification, the sub-signals entering the cache 800 also include the end data of the previous sub-signal or the beginning data of the next sub-signal of the same ADC, and are sent to the linear cache. Therefore, there is a repeated signal between the sub-signals of the present disclosure, which can reduce signal validity segment errors and base recognition errors caused by sub-signal truncation.
在本公开上述实施例(例如图1-图8实施例)的基础上,将用于DNA测序的纳米孔改为用于检测蛋白质肽段的纳米孔,并在ADC上加以相应的适配,使之能够在“DNA-肽”偶联物经过纳米孔时,产生阶梯状电流信号,通过在光计算芯片上加载配套的人工神经网络模型及相应的权重数据,可以识别电流信号,并对电流中值进行分析,从而回溯确认“DNA-肽”段序列的信息,其中,DNA的作用是实现与纳米孔结构的结合,从而让单链DNA穿过纳米孔,引导偶联的肽段接着DNA通过纳米孔。On the basis of the above embodiments of the present disclosure (such as the embodiments in Figures 1 to 8), the nanopores used for DNA sequencing are changed to nanopores used for detecting protein peptides, and corresponding adaptations are made on the ADC, This enables it to generate a ladder-like current signal when the "DNA-peptide" conjugate passes through the nanopore. By loading the supporting artificial neural network model and corresponding weight data on the optical computing chip, the current signal can be identified and the current can be analyzed. The median value is analyzed to retrospectively confirm the information of the "DNA-peptide" sequence. The role of DNA is to combine with the nanopore structure, allowing single-stranded DNA to pass through the nanopore and guide the coupled peptide segment to follow the DNA. through nanopores.
本公开上述实施例中多个光计算芯片联合应用,分别应用于检测有效信号和识别有效信号中的聚合物单元。In the above embodiments of the present disclosure, multiple optical computing chips are jointly used to detect effective signals and identify polymer units in the effective signals.
本公开上述实施例将“识别有效信号”和“识别有效信号中的多聚物单元”的操作分开,大大提高了信号处理的效率。The above-described embodiments of the present disclosure separate the operations of "identifying effective signals" and "identifying polymer units in effective signals", which greatly improves the efficiency of signal processing.
本公开上述实施例用光计算芯片串接的方式分别解决“识别有效信号”和“识别有效信号中的碱基”的问题,大大提高了信号处理效率。“识别有效信号”所用的算法简单,但要求并行度大;“识别有效信号中的碱基”所用算法通常较为复杂。纳米孔测序识别有效信号的步骤一般要同时处理多个纳米孔和ADC单元产生的数字信号,从发展趋势看, 单台设备的纳米孔数量可以突破万个。The above-mentioned embodiments of the present disclosure respectively solve the problems of "identifying effective signals" and "identifying bases in effective signals" by using optical computing chips in series, which greatly improves signal processing efficiency. The algorithm used for "identifying valid signals" is simple, but requires a high degree of parallelism; the algorithm used for "identifying bases in valid signals" is usually more complex. The steps for identifying effective signals in nanopore sequencing generally require simultaneous processing of digital signals generated by multiple nanopores and ADC units. Judging from development trends, the number of nanopores in a single device can exceed 10,000.
本公开上述实施例通过“识别有效信号”的步骤,将有效信号加以富集,能够让“识别有效信号中的碱基”更有效地工作,提高整个系统的效率。本公开可以提高缓冲区中有效信号的比重,从而使光计算协处理器等计算资源更多地用于识别有效信号中的碱基。The above embodiments of the present disclosure enrich the effective signals through the step of "identifying effective signals", so that the "identifying bases in effective signals" can work more effectively and improve the efficiency of the entire system. The present disclosure can increase the proportion of effective signals in the buffer, thereby allowing more computing resources such as optical computing coprocessors to be used to identify bases in the effective signals.
图9为本公开光计算方法一些实施例的示意图。优选的,本实施例可由本公开光计算系统或本公开控制器执行。该方法至少可以包括步骤91-步骤92中的至少一项,其中:Figure 9 is a schematic diagram of some embodiments of the light computing method of the present disclosure. Preferably, this embodiment can be executed by the optical computing system of the present disclosure or the controller of the present disclosure. The method may include at least one of steps 91 to 92, wherein:
步骤91,通过模数转换器阵列将聚合物相对于纳米孔易位的情况下产生的电流转换为数字信号。Step 91: Convert the current generated when the polymer is translocated relative to the nanopore into a digital signal through an analog-to-digital converter array.
步骤92,控制光计算芯片根据数字信号识别聚合物中聚合物单元的排列。Step 92: Control the light computing chip to identify the arrangement of polymer units in the polymer according to the digital signal.
在本公开的一些实施例中,步骤92可以包括:控制光计算芯片判断所述数字信号是否为有效信号,并且通过识别有效信号,识别聚合物中聚合物单元的排列。In some embodiments of the present disclosure, step 92 may include controlling the light computing chip to determine whether the digital signal is a valid signal, and by identifying the valid signal, identify the arrangement of polymer units in the polymer.
在本公开的一些实施例中,所述光计算方法还可以包括:将模数转换器阵列中每个模数转换器输出的数字信号输出的数字信号分割为多个子信号,并为每个子信号添加相应标识,其中所述标识包括时间戳和模数转换器标识;控制第一缓存存储添加相应标识后的子信号,在第一缓存中的一个子缓存存储子信号的情况下,切换子缓存,并将该子缓存中的子信号输出至光计算芯片,其中,第一缓存包括多个子缓存。In some embodiments of the present disclosure, the optical computing method may further include: dividing the digital signal output by each analog-to-digital converter in the analog-to-digital converter array into a plurality of sub-signals, and providing each sub-signal with Add a corresponding identifier, wherein the identifier includes a time stamp and an analog-to-digital converter identifier; control the first cache to store the sub-signal after adding the corresponding identifier, and switch the sub-cache when a sub-cache in the first cache stores the sub-signal , and output the sub-signals in the sub-cache to the optical computing chip, where the first cache includes a plurality of sub-cache.
在本公开的一些实施例中,所述光计算方法还可以包括:在第一缓存中的一个子缓存的存储占比大于预定值、剩余存储空间小于预设值或写入预设大小的数据的情况下,切换子缓存,并将该子缓存中的子信号输出至光计算芯片,即,在一个子缓存接近溢出的情况下,切换子缓存,并将该接近存储满的子缓存中的子信号输出至光计算芯片。In some embodiments of the present disclosure, the optical computing method may further include: the storage ratio of a sub-cache in the first cache is greater than a predetermined value, the remaining storage space is less than a preset value, or writing data of a preset size In the case of , switch the sub-buffer and output the sub-signal in the sub-buffer to the optical computing chip, that is, when a sub-buffer is close to overflow, switch the sub-buffer and output the sub-buffer in the sub-buffer that is nearly full. The sub-signals are output to the optical computing chip.
在本公开的一些实施例中,所述光计算方法还可以包括:通过第二缓存将第一缓存输出的子信号进行缓存后,输出至光计算芯片;将第二缓存的每个子信号输出至光计算芯片的带宽设置为高于光计算芯片的计算工作频率。In some embodiments of the present disclosure, the optical computing method may further include: buffering the sub-signals output by the first buffer through the second buffer, and then outputting them to the optical computing chip; outputting each sub-signal of the second buffer to The bandwidth of the optical computing chip is set higher than the computing operating frequency of the optical computing chip.
在本公开的一些实施例中,图9实施例的步骤92可以包括:控制第一计算芯片判断所述数字信号是否为有效信号;通过第三缓存存储第一计算芯片计算得到的有效信号;控制第二计算芯片通过识别有效信号,识别聚合物中聚合物单元的排列。In some embodiments of the present disclosure, step 92 of the embodiment of Figure 9 may include: controlling the first computing chip to determine whether the digital signal is a valid signal; storing the valid signal calculated by the first computing chip through a third cache; controlling A second computing chip identifies the arrangement of polymer units in the polymer by identifying the valid signal.
在本公开的一些实施例中,所述光计算方法还可以包括:将第三缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内。In some embodiments of the present disclosure, the optical calculation method may further include: placing multiple consecutive time-stamped sub-signals from the same nanopore in the third buffer in the same section in time sequence.
在本公开的一些实施例中,所述光计算方法还可以包括:通过引用指针,将第三缓存 中来自同一个纳米孔的子信号按顺序进入光计算芯片。In some embodiments of the present disclosure, the optical computing method may further include: sequentially entering the sub-signals from the same nanopore in the third buffer into the optical computing chip by referencing a pointer.
在本公开的一些实施例中,所述光计算方法还可以包括:将第二缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内。In some embodiments of the present disclosure, the optical calculation method may further include: placing multiple consecutive time-stamped sub-signals from the same nanopore in the second cache in the same section in time sequence.
在本公开的一些实施例中,所述光计算方法还可以包括:通过引用指针,将第二缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。In some embodiments of the present disclosure, the optical computing method may further include: sequentially entering the sub-signals from the same nanopore in the second cache into the optical computing chip by referencing a pointer.
在本公开的一些实施例中,所述光计算方法还可以包括:将第一缓存中的子信号长度设置为小于等于光计算芯片配置处理的序列长度;将第一缓存至光计算芯片的传输带宽设置为等于光计算芯片的计算速度。In some embodiments of the present disclosure, the optical computing method may further include: setting the length of the sub-signal in the first cache to be less than or equal to the sequence length configured and processed by the optical computing chip; transmitting the first cache to the optical computing chip The bandwidth is set equal to the computing speed of the optical computing chip.
在本公开的一些实施例中,所述光计算方法还可以包括:在第一缓存中的当前子信号长度小于光计算芯片配置处理的序列长度的情况下,采用前一段子信号的末尾数据和后一段子信号的开端数据中的至少一种补齐当前子信号,使得第一缓存中的当前子信号长度等于光计算芯片配置处理的序列长度。In some embodiments of the present disclosure, the optical computing method may further include: when the length of the current sub-signal in the first buffer is less than the length of the sequence configured to be processed by the optical computing chip, using the end data of the previous sub-signal and At least one of the starting data of the subsequent sub-signal complements the current sub-signal, so that the length of the current sub-signal in the first buffer is equal to the sequence length processed by the optical computing chip configuration.
图10为本公开控制器一些实施例的示意图。如图10所示,本公开控制器可以包括第一控制模块101和第二控制模块102,其中:Figure 10 is a schematic diagram of some embodiments of a controller of the present disclosure. As shown in Figure 10, the controller of the present disclosure may include a first control module 101 and a second control module 102, wherein:
第一控制模块101,用于通过模数转换器阵列将聚合物相对于纳米孔易位的情况下产生的电流转换为数字信号。The first control module 101 is used to convert the current generated when the polymer is translocated relative to the nanopore into a digital signal through an analog-to-digital converter array.
在本公开的一些实施例中,第一控制模块101可以实现为图2-图5、图8实施例的ADC阵列控制器620。In some embodiments of the present disclosure, the first control module 101 may be implemented as the ADC array controller 620 of the embodiments of FIGS. 2-5 and 8 .
第二控制模块102,用于控制光计算芯片根据数字信号识别聚合物中聚合物单元的排列。The second control module 102 is used to control the optical computing chip to identify the arrangement of polymer units in the polymer according to the digital signal.
在本公开的一些实施例中,第二控制模块102,用于控制光计算芯片判断所述数字信号是否为有效信号,并且通过识别有效信号,识别聚合物中聚合物单元的排列。In some embodiments of the present disclosure, the second control module 102 is used to control the optical computing chip to determine whether the digital signal is a valid signal, and to identify the arrangement of polymer units in the polymer by identifying the valid signal.
在本公开的一些实施例中,第二控制模块102可以实现为图2-图5、图8实施例的系统控制器610和光计算芯片控制器201。In some embodiments of the present disclosure, the second control module 102 may be implemented as the system controller 610 and the optical computing chip controller 201 of the embodiments of FIGS. 2-5 and 8 .
在本公开的一些实施例中,所述控制器可以用于执行实现如上述任一实施例(例如图9实施例)所述的光计算方法的操作。In some embodiments of the present disclosure, the controller may be configured to perform operations for implementing the optical computing method described in any of the above embodiments (eg, the embodiment of FIG. 9 ).
图11为本公开控制器另一些实施例的结构示意图。如图11所示,控制器包括存储器111和处理器112。Figure 11 is a schematic structural diagram of some other embodiments of the controller of the present disclosure. As shown in FIG. 11 , the controller includes a memory 111 and a processor 112 .
存储器111用于存储指令,处理器112耦合到存储器111,处理器112被配置为基于 存储器存储的指令执行实现上述实施例(例如图9实施例)所述的光计算方法。The memory 111 is used to store instructions, and the processor 112 is coupled to the memory 111. The processor 112 is configured to execute and implement the optical computing method described in the above embodiments (such as the embodiment of Figure 9) based on the instructions stored in the memory.
如图11所示,该控制器还包括通信接口113,用于与其它设备进行信息交互。同时,该控制器还包括总线114,处理器112、通信接口113、以及存储器111通过总线114完成相互间的通信。As shown in Figure 11, the controller also includes a communication interface 113 for information exchange with other devices. At the same time, the controller also includes a bus 114, through which the processor 112, the communication interface 113, and the memory 111 complete communication with each other.
存储器111可以包含高速RAM存储器,也可还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器111也可以是存储器阵列。存储器111还可能被分块,并且块可按一定的规则组合成虚拟卷。The memory 111 may include high-speed RAM memory, or may also include non-volatile memory (non-volatile memory), such as at least one disk memory. The memory 111 may also be a memory array. The storage 111 may also be divided into blocks, and the blocks may be combined into virtual volumes according to certain rules.
此外,处理器112可以是一个中央处理器CPU,或者可以是专用集成电路ASIC,或是被配置成实施本公开实施例的一个或多个集成电路。Additionally, the processor 112 may be a central processing unit (CPU), or may be an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present disclosure.
本公开图10或图11所述的控制器可以实现为图2-图5、图8实施例的系统控制器610、ADC阵列控制器620和光计算芯片控制器201。The controller described in Figure 10 or Figure 11 of the present disclosure can be implemented as the system controller 610, the ADC array controller 620 and the optical computing chip controller 201 of the embodiments of Figures 2 to 5 and Figure 8.
本公开上述实施例将计算能力优于GPU的光计算芯片应用于基于纳米孔的多聚物测序,优化了光计算芯片在多个纳米孔平行产生数据的情况下“识别有效信号”和“识别有效信号中的多聚物单元”的计算速度。The above-mentioned embodiments of the present disclosure apply optical computing chips with computing capabilities better than GPUs to nanopore-based polymer sequencing, optimizing the optical computing chip to "identify effective signals" and "recognize effective signals" when multiple nanopores generate data in parallel. Computational speed of "polymer units" in the effective signal.
本公开上述实施例使用纳米孔用于估计聚合物中聚合物单元的目标序列的一种类型的测量系统,这类系统带有多个纳米孔和多个ADC单元,当使聚合物相对于纳米孔易位时,将产生的电流通过ADC单元阵列转化为数字信号。The above embodiments of the present disclosure use nanopores as a type of measurement system for estimating a target sequence of polymer units in a polymer. This type of system has multiple nanopores and multiple ADC units. When the polymer is compared to the nanometer When the hole is translocated, the generated current is converted into a digital signal through the ADC unit array.
本公开上述实施例通过光计算芯片处理纳米孔阵列和ADC阵列产生的信号,通过能够加速矩阵乘法的光计算芯片,判断信号是否为有效信号,并且识别聚合物中聚合物单元的排列。The above embodiments of the present disclosure process the signals generated by the nanohole array and the ADC array through an optical computing chip, determine whether the signal is a valid signal through the optical computing chip that can accelerate matrix multiplication, and identify the arrangement of polymer units in the polymer.
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述性计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例(例如图9实施例)所述的光计算方法。According to another aspect of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and when the instructions are executed by a processor, the implementation is as described in any of the above embodiments (for example, FIG. The light calculation method described in Embodiment 9).
在本公开的一些实施例中,计算机可读存储介质可以为非瞬时性计算机可读存储介质。In some embodiments of the present disclosure, the computer-readable storage medium may be a non-transitory computer-readable storage medium.
本公开上述实施例通过在ADC阵列与能够加速乘法矩阵运算的光芯片之间加入乒乓缓存和高速缓存,将光计算芯片算能的充分利用,使数字信号的产生与计算更加高效、迅速。The above embodiments of the present disclosure add ping-pong buffers and caches between the ADC array and the optical chip that can accelerate the multiplication matrix operation, making full use of the computing power of the optical computing chip, making the generation and calculation of digital signals more efficient and faster.
本公开上述实施例中多个光计算芯片联合应用,分别应用于检测有效信号和识别有效信号中的聚合物单元。In the above embodiments of the present disclosure, multiple optical computing chips are jointly used to detect effective signals and identify polymer units in the effective signals.
本公开上述实施例将“识别有效信号”和“识别有效信号中的多聚物单元”的操作分开,大大提高了信号处理的效率。The above-described embodiments of the present disclosure separate the operations of "identifying effective signals" and "identifying polymer units in effective signals", which greatly improves the efficiency of signal processing.
本公开上述实施例用光计算芯片串接的方式分别解决“识别有效信号”和“识别有效信号中的碱基”的问题,大大提高了信号处理效率。“识别有效信号”所用的算法简单,但要求并行度大;“识别有效信号中的碱基”所用算法通常较为复杂。纳米孔测序识别有效信号的步骤一般要同时处理多个纳米孔和ADC单元产生的数字信号,从发展趋势看,单台设备的纳米孔数量可以突破万个。The above-mentioned embodiments of the present disclosure respectively solve the problems of "identifying effective signals" and "identifying bases in effective signals" by using optical computing chips in series, which greatly improves signal processing efficiency. The algorithm used for "identifying valid signals" is simple, but requires a high degree of parallelism; the algorithm used for "identifying bases in valid signals" is usually more complex. The steps for identifying effective signals in nanopore sequencing generally require simultaneous processing of digital signals generated by multiple nanopores and ADC units. Judging from development trends, the number of nanopores in a single device can exceed 10,000.
本公开上述实施例通过“识别有效信号”的步骤,将有效信号加以富集,能够让“识别有效信号中的碱基”更有效地工作,提高整个系统的效率。本公开可以提高缓冲区中有效信号的比重,从而使光计算协处理器等计算资源更多地用于识别有效信号中的碱基。The above embodiments of the present disclosure enrich the effective signals through the step of "identifying effective signals", so that the "identifying bases in effective signals" can work more effectively and improve the efficiency of the entire system. The present disclosure can increase the proportion of effective signals in the buffer, thereby allowing more computing resources such as optical computing coprocessors to be used to identify bases in the effective signals.
本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。It should be understood by those skilled in the art that embodiments of the present disclosure may be provided as methods, apparatuses, or computer program products. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk memory, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein. .
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each process and/or block in the flowchart illustrations and/or block diagrams, and combinations of processes and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing device produce a use A device for realizing the functions specified in one process or multiple processes of the flowchart and/or one block or multiple blocks of the block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory that causes a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction means, the instructions The device implements the functions specified in a process or processes of the flowchart and/or a block or blocks of the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions may also be loaded onto a computer or other programmable data processing device, causing a series of operating steps to be performed on the computer or other programmable device to produce computer-implemented processing, thereby executing on the computer or other programmable device. Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.
在上面所描述的控制器可以实现为用于执行本申请所描述功能的通用处理器、可编程逻辑控制器(PLC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。The controller described above may be implemented as a general-purpose processor, programmable logic controller (PLC), digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or any appropriate combination thereof.
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。Up to this point, the present disclosure has been described in detail. To avoid obscuring the concepts of the present disclosure, some details that are well known in the art have not been described. Based on the above description, those skilled in the art can completely understand how to implement the technical solution disclosed here.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种非瞬时性计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware, or can be completed by instructing the relevant hardware through a program. The program can be stored in a non-transitory computer-readable storage medium. , the storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk, etc.
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。The description of the present disclosure has been presented for the purposes of illustration and description, and is not intended to be exhaustive or to limit the disclosure to the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure and design various embodiments with various modifications as are suited to the particular use contemplated.
Claims (23)
- 一种光计算系统,包括:An optical computing system including:模数转换器阵列,被配置为将聚合物相对于纳米孔易位的情况下产生的电流转换为数字信号;an analog-to-digital converter array configured to convert an electrical current generated upon translocation of the polymer relative to the nanopore into a digital signal;光计算芯片,被配置为根据数字信号识别聚合物中聚合物单元的排列。An optical computing chip configured to identify the arrangement of polymer units in a polymer based on digital signals.
- 根据权利要求1所述的光计算系统,其中:The optical computing system of claim 1, wherein:光计算芯片,被配置为判断所述数字信号是否为有效信号,通过识别有效信号,识别聚合物中聚合物单元的排列。The optical computing chip is configured to determine whether the digital signal is a valid signal, and by identifying the valid signal, the arrangement of the polymer units in the polymer is identified.
- 根据权利要求2所述的光计算系统,还包括:The optical computing system of claim 2, further comprising:控制器,被配置为将模数转换器阵列中每个模数转换器输出的数字信号输出的数字信号分割为多个子信号,并为每个子信号添加相应标识,其中所述标识包括时间戳和模数转换器标识;A controller configured to split the digital signal output by each analog-to-digital converter in the analog-to-digital converter array into multiple sub-signals, and add a corresponding identification to each sub-signal, wherein the identification includes a time stamp and Analog-to-digital converter identification;第一缓存,包括多个子缓存,设置在模数转换器阵列和光计算芯片之间,被配置为存储添加相应标识后的子信号;在第一缓存中的一个子缓存存储子信号的情况下,切换子缓存,并将该子缓存中的子信号输出至光计算芯片。The first cache includes a plurality of sub-cache, is arranged between the analog-to-digital converter array and the optical computing chip, and is configured to store the sub-signal after adding the corresponding identifier; in the case where one sub-cache in the first cache stores the sub-signal, Switch the sub-buffer and output the sub-signal in the sub-buffer to the optical computing chip.
- 根据权利要求3所述的光计算系统,还包括:The optical computing system of claim 3, further comprising:第二缓存,设置在第一缓存和光计算芯片之间,被配置为将第一缓存输出的子信号进行缓存后,输出至光计算芯片;The second cache is disposed between the first cache and the optical computing chip, and is configured to cache the sub-signals output by the first cache and then output them to the optical computing chip;其中,控制器,还被配置为将第二缓存的每个子信号输出至光计算芯片的带宽设置为高于光计算芯片的计算工作频率。Wherein, the controller is further configured to set the bandwidth of each sub-signal output of the second cache to the optical computing chip to be higher than the computing operating frequency of the optical computing chip.
- 根据权利要求4所述的光计算系统,其中,所述光计算芯片包括:The optical computing system according to claim 4, wherein the optical computing chip includes:第一计算芯片,被配置为判断所述数字信号是否为有效信号;A first computing chip configured to determine whether the digital signal is a valid signal;第二计算芯片,被配置为通过识别有效信号,识别聚合物中聚合物单元的排列。A second computing chip is configured to identify the arrangement of polymer units in the polymer by identifying valid signals.
- 根据权利要求5所述的光计算系统,还包括:The optical computing system of claim 5, further comprising:第三缓存,设置在第一计算芯片和第二计算芯片之间,被配置为存储第一计算芯片计算得到的有效信号。The third cache is disposed between the first computing chip and the second computing chip, and is configured to store valid signals calculated by the first computing chip.
- 根据权利要求6所述的光计算系统,其中:The optical computing system of claim 6, wherein:第三缓存为与模数转换器阵列对应的多个并行缓存器阵列;The third buffer is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array;和/或,and / or,控制器,还被配置为将第三缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内;或通过引用指针,将第三缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。The controller is further configured to place multiple consecutive sub-signals from the same nanopore in the third cache in the same section in time sequence; or to place the sub-signals from the same nanopore in the third cache by referencing the pointer. The sub-signals from the nanopore enter the optical computing chip sequentially.
- 根据权利要求4-7中任一项所述的光计算系统,其中:The optical computing system according to any one of claims 4-7, wherein:第二缓存为与模数转换器阵列对应的多个并行缓存器阵列;The second buffer is a plurality of parallel buffer arrays corresponding to the analog-to-digital converter array;和/或,and / or,控制器,还被配置为将第二缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内;或通过引用指针,将第二缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。The controller is further configured to place multiple consecutive sub-signals from the same nanopore in the second cache in the same section in time sequence; or to place the sub-signals from the same nanopore in the second cache through a reference pointer. The sub-signals from the nanopore enter the optical computing chip sequentially.
- 根据权利要求3-7中任一项所述的光计算系统,其中:The optical computing system according to any one of claims 3-7, wherein:模数转换器阵列为包括多个模数转换器的模数转换器阵列;The analog-to-digital converter array is an analog-to-digital converter array including a plurality of analog-to-digital converters;和/或,and / or,第一缓存中的子信号长度小于等于光计算芯片配置处理的序列长度;The length of the sub-signal in the first cache is less than or equal to the sequence length configured to be processed by the optical computing chip;和/或,and / or,第一缓存至光计算芯片的传输带宽等于光计算芯片的计算速度。The transmission bandwidth from the first cache to the optical computing chip is equal to the computing speed of the optical computing chip.
- 根据权利要求3-7中任一项所述的光计算系统,其中:The optical computing system according to any one of claims 3-7, wherein:控制器,还被配置为在第一缓存中的当前子信号长度小于光计算芯片配置处理的序列长度的情况下,采用前一段子信号的末尾数据和后一段子信号的开端数据中的至少一种补齐当前子信号,使得第一缓存中的当前子信号长度等于光计算芯片配置处理的序列长度。The controller is further configured to use at least one of the end data of the previous sub-signal and the beginning data of the next sub-signal when the length of the current sub-signal in the first buffer is less than the sequence length configured to be processed by the optical computing chip. The current sub-signal is complemented so that the length of the current sub-signal in the first buffer is equal to the sequence length configured and processed by the optical computing chip.
- 根据权利要求1-7中任一项所述的光计算系统,其中,所述光计算芯片包括:The optical computing system according to any one of claims 1-7, wherein the optical computing chip includes:光源,被配置为输出未调制的、用于计算的光;a light source configured to output unmodulated light for use in calculations;第一数模转换阵列,被配置为接收外部输入数据,并将外部输入数据转化为第一模拟信号;A first digital-to-analog conversion array configured to receive external input data and convert the external input data into a first analog signal;调制器阵列,被配置为根据光源输出的光和所述第一模拟信号,形成张量数据;a modulator array configured to form tensor data based on the light output by the light source and the first analog signal;权重数据缓存,被配置为存储乘法矩阵的权重数据;The weight data cache is configured to store the weight data of the multiplication matrix;第二数模转换阵列,被配置为将权重数据转化为第二模拟信号;a second digital-to-analog conversion array configured to convert the weight data into a second analog signal;光电矩阵乘法模块,被配置为根据所述张量数据和所述第二模拟信号进行矩阵乘法操作,实现光路计算。An optoelectronic matrix multiplication module is configured to perform a matrix multiplication operation according to the tensor data and the second analog signal to implement optical path calculation.
- 一种光计算方法,包括:A light calculation method including:通过模数转换器阵列将聚合物相对于纳米孔易位的情况下产生的电流转换为数字信号;The current generated when the polymer translocates relative to the nanopore is converted into a digital signal by an analog-to-digital converter array;控制光计算芯片根据数字信号识别聚合物中聚合物单元的排列。Controlled light computing chips identify the arrangement of polymer units in the polymer based on digital signals.
- 根据权利要求12所述的光计算方法,其中,所述控制光计算芯片根据数字信号识别聚合物中聚合物单元的排列包括:The optical computing method according to claim 12, wherein controlling the optical computing chip to identify the arrangement of polymer units in the polymer according to the digital signal includes:控制光计算芯片判断所述数字信号是否为有效信号,并且通过识别有效信号,识别聚合物中聚合物单元的排列。The light computing chip is controlled to determine whether the digital signal is a valid signal, and by identifying the valid signal, the arrangement of the polymer units in the polymer is identified.
- 根据权利要求13所述的光计算方法,还包括:The light calculation method according to claim 13, further comprising:将模数转换器阵列中每个模数转换器输出的数字信号输出的数字信号分割为多个子信号,并为每个子信号添加相应标识,其中所述标识包括时间戳和模数转换器标识;Split the digital signal output by each analog-to-digital converter in the analog-to-digital converter array into multiple sub-signals, and add a corresponding identification to each sub-signal, wherein the identification includes a time stamp and an analog-to-digital converter identification;控制第一缓存存储添加相应标识后的子信号,在第一缓存中的一个子缓存的存储占比大于预定值的情况下,切换子缓存,并将该子缓存中的子信号输出至光计算芯片,其中,第一缓存包括多个子缓存。Control the first cache to store the sub-signal with the corresponding identifier added, and when the storage ratio of a sub-cache in the first cache is greater than a predetermined value, switch the sub-cache and output the sub-signal in the sub-cache to the optical computing A chip, wherein the first cache includes a plurality of sub-cache.
- 根据权利要求14所述的光计算系统,还包括:The optical computing system of claim 14, further comprising:通过第二缓存将第一缓存输出的子信号进行缓存后,输出至光计算芯片;After buffering the sub-signals output from the first buffer through the second buffer, output them to the optical computing chip;将第二缓存的每个子信号输出至光计算芯片的带宽设置为高于光计算芯片的计算工作频率。The bandwidth of each sub-signal output from the second cache to the optical computing chip is set to be higher than the computing operating frequency of the optical computing chip.
- 根据权利要求15所述的光计算方法,其中,所述控制光计算芯片判断所述数字信号是否为有效信号,并且通过识别有效信号,识别聚合物中聚合物单元的排列包括:The optical computing method according to claim 15, wherein the controlling the optical computing chip determines whether the digital signal is a valid signal, and by identifying the valid signal, identifying the arrangement of polymer units in the polymer includes:控制第一计算芯片判断所述数字信号是否为有效信号;Control the first computing chip to determine whether the digital signal is a valid signal;通过第三缓存存储第一计算芯片计算得到的有效信号;The effective signal calculated by the first computing chip is stored in the third cache;控制第二计算芯片通过识别有效信号,识别聚合物中聚合物单元的排列。A second computing chip is controlled to identify the arrangement of polymer units in the polymer by identifying valid signals.
- 根据权利要求16所述的光计算方法,还包括:The light calculation method according to claim 16, further comprising:将第三缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内;Place multiple consecutive timestamp sub-signals from the same nanopore in the third cache in the same section in time sequence;或,or,通过引用指针,将第三缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。Through the reference pointer, the sub-signals from the same nanopore in the third buffer are sequentially entered into the optical computing chip.
- 根据权利要求15-17中任一项所述的光计算方法,还包括:The light calculation method according to any one of claims 15-17, further comprising:将第二缓存中来自同一个纳米孔的连续多个时间戳的子信号按时间序列放置在同一个区段内;Place the sub-signals of multiple consecutive timestamps from the same nanopore in the second cache in the same section in time sequence;或,or,通过引用指针,将第二缓存中来自同一个纳米孔的子信号按顺序进入光计算芯片。By referencing the pointer, the sub-signals from the same nanopore in the second buffer are sequentially entered into the optical computing chip.
- 根据权利要求14-17中任一项所述的光计算方法,还包括:The light calculation method according to any one of claims 14-17, further comprising:将第一缓存中的子信号长度设置为小于等于光计算芯片配置处理的序列长度;Set the sub-signal length in the first cache to be less than or equal to the sequence length processed by the optical computing chip configuration;将第一缓存至光计算芯片的传输带宽设置为等于光计算芯片的计算速度。The transmission bandwidth of the first buffer to the optical computing chip is set equal to the computing speed of the optical computing chip.
- 根据权利要求14-17中任一项所述的光计算方法,还包括:The light calculation method according to any one of claims 14-17, further comprising:在第一缓存中的当前子信号长度小于光计算芯片配置处理的序列长度的情况下,采用前一段子信号的末尾数据和后一段子信号的开端数据中的至少一种补齐当前子信号,使得第一缓存中的当前子信号长度等于光计算芯片配置处理的序列长度。When the length of the current sub-signal in the first cache is less than the length of the sequence configured to be processed by the optical computing chip, at least one of the end data of the previous sub-signal and the beginning data of the next sub-signal is used to complement the current sub-signal, This makes the current sub-signal length in the first buffer equal to the sequence length processed by the optical computing chip configuration.
- 一种控制器,包括:A controller including:第一控制模块,用于通过模数转换器阵列将聚合物相对于纳米孔易位的情况下产生 的电流转换为数字信号;A first control module for converting the current generated when the polymer is translocated relative to the nanopore into a digital signal through an analog-to-digital converter array;第二控制模块,用于控制光计算芯片根据数字信号识别聚合物中聚合物单元的排列。The second control module is used to control the optical computing chip to identify the arrangement of polymer units in the polymer according to the digital signal.
- 一种控制器,包括:A controller including:存储器,用于存储指令;Memory, used to store instructions;处理器,用于执行所述指令,使得所述控制器执行实现如权利要求12-20中任一项所述的光计算方法的操作。A processor, configured to execute the instructions, causing the controller to perform operations for implementing the optical computing method according to any one of claims 12-20.
- 一种计算机可读存储介质,其中,所述性计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求12-20中任一项所述的光计算方法。A computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and when the instructions are executed by a processor, the optical computing method according to any one of claims 12-20 is implemented.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/099179 WO2023240540A1 (en) | 2022-06-16 | 2022-06-16 | Optical computing method and system, and controller and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/099179 WO2023240540A1 (en) | 2022-06-16 | 2022-06-16 | Optical computing method and system, and controller and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023240540A1 true WO2023240540A1 (en) | 2023-12-21 |
Family
ID=89192781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/099179 WO2023240540A1 (en) | 2022-06-16 | 2022-06-16 | Optical computing method and system, and controller and storage medium |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023240540A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118053495A (en) * | 2024-02-18 | 2024-05-17 | 中科计算技术西部研究院 | Sequencing and analysis system for accelerating base recognition and base recognition device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112232503A (en) * | 2020-06-09 | 2021-01-15 | 联合微电子中心有限责任公司 | Computing device, computing method, and computing system |
KR20210053292A (en) * | 2018-08-03 | 2021-05-11 | 카탈로그 테크놀로지스, 인크. | Nucleic acid-based data storage and reading system and method with error protection |
CN112994680A (en) * | 2021-04-21 | 2021-06-18 | 成都齐碳科技有限公司 | Multi-channel switching circuit and switching method |
CN113033087A (en) * | 2021-03-17 | 2021-06-25 | 电子科技大学 | High-speed data transmission method for optical neural network based on FPGA |
CN113159306A (en) * | 2018-06-05 | 2021-07-23 | 光子智能股份有限公司 | Photoelectric computing system |
-
2022
- 2022-06-16 WO PCT/CN2022/099179 patent/WO2023240540A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159306A (en) * | 2018-06-05 | 2021-07-23 | 光子智能股份有限公司 | Photoelectric computing system |
KR20210053292A (en) * | 2018-08-03 | 2021-05-11 | 카탈로그 테크놀로지스, 인크. | Nucleic acid-based data storage and reading system and method with error protection |
CN112232503A (en) * | 2020-06-09 | 2021-01-15 | 联合微电子中心有限责任公司 | Computing device, computing method, and computing system |
CN113033087A (en) * | 2021-03-17 | 2021-06-25 | 电子科技大学 | High-speed data transmission method for optical neural network based on FPGA |
CN112994680A (en) * | 2021-04-21 | 2021-06-18 | 成都齐碳科技有限公司 | Multi-channel switching circuit and switching method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118053495A (en) * | 2024-02-18 | 2024-05-17 | 中科计算技术西部研究院 | Sequencing and analysis system for accelerating base recognition and base recognition device |
CN118053495B (en) * | 2024-02-18 | 2024-09-13 | 中科计算技术西部研究院 | Sequencing and analysis system for accelerating base recognition and base recognition device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Neural network renormalization group | |
Ahmed et al. | Weighted transformer network for machine translation | |
Keyl et al. | Estimating the spectrum of a density operator | |
Campisi et al. | Influence of measurements on the statistics of work performed on a quantum system | |
Chiribella et al. | Quantum circuit architecture | |
WO2023240540A1 (en) | Optical computing method and system, and controller and storage medium | |
Fu et al. | A parallel ant colony optimization algorithm with GPU-acceleration based on all-in-roulette selection | |
JP2019074951A (en) | Computation processing circuit, computation processing unit including computation processing circuit, information processing device including computation processing unit, and method | |
US9983876B2 (en) | Non-deterministic finite state machine module for use in a regular expression matching system | |
CN107301454A (en) | The artificial neural network reverse train apparatus and method for supporting discrete data to represent | |
Zhao et al. | Probabilistic dual network architecture search on graphs | |
CN110796120A (en) | Time domain feature-based circuit breaker mechanical fault XGboost diagnosis method | |
CN113298246B (en) | Data processing method, device and computer readable storage medium | |
Fang et al. | EAT-NAS: Elastic architecture transfer for accelerating large-scale neural architecture search | |
Krawczyk | GPU-accelerated extreme learning machines for imbalanced data streams with concept drift | |
Yang et al. | Fpnet: Customized convolutional neural network for fpga platforms | |
Wen et al. | Multiswarm artificial bee colony algorithm based on spark cloud computing platform for medical image registration | |
CN107016110B (en) | OWLHorst rule distributed parallel reasoning algorithm combined with Spark platform | |
Balasubramaniam et al. | Delay-range dependent stability criteria for neural networks with Markovian jumping parameters | |
CN113793076B (en) | Dynamic risk pool monitoring method, system, equipment and readable storage medium | |
CN116167446B (en) | Quantum computing processing method and device and electronic equipment | |
IT201900018821A1 (en) | METHOD AND APPARATUS FOR PRUNING NEURAL NETWORKS | |
Chen et al. | Reduced-GEP: improving gene expression programming by gene reduction | |
CN113609948B (en) | Method, device and equipment for detecting video time sequence action | |
Wu et al. | Mitigating Communication Costs in Neural Networks: The Role of Dendritic Nonlinearity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22946233 Country of ref document: EP Kind code of ref document: A1 |