Sequence processing method and apparatus, posterior matrix processing method and apparatus, and computing device

By integrating the first vectorized representation sequence of the nanopore signal with the weight vector generated by the machine learning model, a second vectorized representation sequence is generated, and the posterior matrix is ​​decoded, the problem of difficulty in effectively utilizing sequence context information in the prior art is solved, and the processing efficiency and accuracy of the nanopore signal are improved.

WO2025050527A1PCT designated stage expired Publication Date: 2025-03-13BEIJING QITAN TECH CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/135133
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-06
Filing Date
2023-11-29
Publication Date
2025-03-13

AI Technical Summary

Technical Problem

The prior art is difficult to effectively utilize sequence context information when processing nanopore signals, resulting in low deletion and processing efficiency and accuracy of polymer units.

Method used

By inputting the first vectorized representation sequence into the first machine learning model, a weight vector is generated, and integrating it with the original sequence, a second vectorized representation sequence is generated. At the same time, the posterior test matrix is ​​decoded to obtain the polymer unit sequence to avoid deletion of the polymer unit.

Benefits of technology

It improves the processing efficiency and accuracy of nanopore signals, effectively utilizes sequence context information, reduces the deletion of polymer units, and improves decoding efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023135133_13032025_PF_FP_ABST
    Figure CN2023135133_13032025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the field of nanopore sequencing, and in particular, to a method and apparatus for processing a first vectorized representation sequence representing a polymer, a method and apparatus for processing a posterior matrix, a computing device, a computer-readable storage medium, and a computer program product. The method for processing a first vectorized representation sequence representing a polymer comprises: inputting a first vectorized representation sequence into a first machine learning model to obtain a weight vector output by the first machine learning model, wherein the weight vector has the same length as the first vectorized representation sequence and comprises a plurality of predicted translocation values, and each predicted translocation value indicates how many polymer units a polymer has moved at a corresponding time step relative to an observation site of nanopore sequencing; and integrating the first vectorized representation sequence and the weight vector to obtain a second vectorized representation sequence representing the polymer.
Need to check novelty before this filing date? Find Prior Art

Description

Sequence and posterior matrix processing method, device and computing equipment Technical Field

[0001] The present application relates to the field of nanopore sequencing, and specifically to a method and apparatus for processing a first vectorized representation sequence characterizing a polymer, a processing method and apparatus for processing a posterior matrix, a computing device, a computer-readable storage medium, and a computer program product. Background Art

[0002] In the prior art, nanopore signals can be processed through machine learning methods to output the corresponding polymer sequences.

[0003] The approaches described in this section are not necessarily approaches that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any approach described in this section is prior art simply by virtue of its inclusion in this section. Similarly, unless otherwise indicated, the issues raised in this section should not be considered as having been recognized in any prior art.

[0004] Summary of the Invention

[0005] The present disclosure provides a method and apparatus for processing a first vectorized representation sequence characterizing a polymer, a processing method and apparatus for processing a posterior matrix, a computing device, a computer-readable medium, and a computer program product.

[0006] According to one aspect of the present disclosure, a method for processing a first vectorized representation sequence characterizing a polymer is provided, wherein the polymer includes a sequence of polymer units, and the first vectorized representation sequence is generated based on an original signal, and the original signal is derived from the polymer by performing nanopore sequencing on the polymer. The method includes: inputting the first vectorized representation sequence into a first machine learning model to obtain a weight vector output by the first machine learning model, wherein the weight vector has the same length as the first vectorized representation sequence and includes multiple predicted translocation values, each predicted translocation value indicating how many polymer units the polymer has moved relative to the observation site of the nanopore sequencing at a corresponding time step; and integrating the first vectorized representation sequence with the weight vector to obtain a second vectorized representation sequence characterizing the polymer.

[0007] According to another aspect of the present disclosure, a processing method for processing a posterior matrix is ​​provided, wherein the posterior matrix is ​​obtained by processing the second vectorized representation sequence obtained by the method for processing the first vectorized representation sequence characterizing a polymer provided by the present disclosure by a third machine learning model, the number of rows of the posterior matrix is ​​equal to the number of polymer unit classifications, each column element of the posterior matrix indicates a corresponding polymer unit among a plurality of polymer units, and consecutive multiple column elements of the posterior matrix indicate corresponding different polymer units among a plurality of polymer units, the processing method comprising: decoding the posterior matrix to obtain a decoding sequence, each element in the decoding sequence corresponding to a polymer unit classification among the polymer unit classifications; and obtaining the polymer unit sequence based on the decoding sequence.

[0008] According to another aspect of the present disclosure, a computing device is provided, comprising: at least one processor; and at least one memory having code instructions stored thereon. When the code instructions are executed by the at least one processor, the computing device executes the method for processing a first vectorized representation sequence characterizing a polymer or the processing method for processing a posterior matrix provided in the present disclosure.

[0009] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause a computer to execute the method for processing a first vectorized representation sequence characterizing a polymer or the processing method for processing a posterior matrix provided by the present disclosure.

[0010] According to yet another aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements the method for processing a first vectorized representation sequence characterizing a polymer or the processing method for processing a posterior matrix provided by the present disclosure.

[0011] According to the embodiments of the present disclosure, the output of the base movement prediction module can be integrated with the high-dimensional information encoded after the nanopore sequencing original signal to obtain high-dimensional features about the original signal, thereby helping the downstream module to output the polymer sequence associated with the nanopore signal. Thanks to the utilization of sequence context information during the processing process, the processing efficiency and accuracy of the nanopore signal are improved. In addition, the classification of each time step obtained after decoding the posterior matrix represents a base or base fragment, and consecutive time steps do not represent the same base or base fragment, which can effectively avoid the deletion of polymer units that may occur when decoding the processed signal representing the polymer, thereby improving decoding efficiency and accuracy.

[0012] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The accompanying drawings illustrate exemplary embodiments and constitute a part of the specification. Together with the description of the specification, they serve to explain exemplary implementation of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals designate similar, but not necessarily identical, elements.

[0014] FIG1 shows a schematic diagram of an exemplary system in which various methods described herein may be implemented according to an embodiment of the present disclosure;

[0015] FIG2 shows a flowchart of a method for processing a first vectorized representation sequence representing a polymer according to an exemplary embodiment of the present disclosure;

[0016] 3-4 illustrate block diagrams of exemplary processes for processing a first vectorized representation sequence representing a polymer according to exemplary embodiments of the present disclosure;

[0017] FIG5 shows a flowchart of a processing method for processing a posterior matrix according to an exemplary embodiment of the present disclosure;

[0018] 6-7 illustrate block diagrams of exemplary processes for processing a posterior matrix according to exemplary embodiments of the present disclosure;

[0019] 8-11 are diagrams illustrating exemplary processes for decoding a posterior matrix according to exemplary embodiments of the present disclosure;

[0020] FIG12 shows a block diagram of an apparatus for processing a first vectorized representation sequence representing a polymer according to an exemplary embodiment of the present disclosure;

[0021] FIG13 shows a block diagram of a processing device for processing a posterior matrix according to an exemplary embodiment of the present disclosure; and

[0022] FIG14 shows a block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure. DETAILED DESCRIPTION

[0023] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be appreciated by those skilled in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0024] In this disclosure, unless otherwise specified, the use of terms such as "first" and "second" to describe various elements is not intended to limit the positional relationship, temporal relationship, or importance relationship of these elements. Such terms are only used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of the element, while in some cases, based on the context of the description, they may also refer to different instances.

[0025] The terms used in the descriptions of the various examples described in this disclosure are for the purpose of describing specific examples only and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element may be one or more. In addition, the term "and / or" used in this disclosure encompasses any one and all possible combinations of the listed items.

[0026] In the existing technology, the processing of nanopore signals can be achieved through machine learning methods, and the corresponding polymer sequence can be output. For example, the technology in the field of speech recognition can be used to implement nanopore signal processing. In the field of speech recognition, there are two relatively mainstream models, one is the neural network model based on autoregressive decoding, and the other is the neural network model based on dynamic programming decoding such as CTC. However, the neural network model based on autoregressive decoding has problems such as slow speed, difficulty in applying context information to forward prediction, and the model is not suitable for long sequences. The neural network model based on dynamic programming decoding such as CTC is prone to deletion because it determines whether consecutive steps are consistent during decoding and only outputs them when they are inconsistent.

[0027] In view of this, the present disclosure provides a method for processing a first vectorized representation sequence characterizing a polymer, the method first inputting the first vectorized representation sequence into a first machine learning model to obtain a weight vector output by the first machine learning model, the weight vector having the same length as the first vectorized representation sequence and including a plurality of predicted translocation values, each of which indicates how many polymer units the polymer has moved relative to the observation site of nanopore sequencing at a corresponding time step; and then integrating the first vectorized representation sequence with the weight vector to obtain a second vectorized representation sequence characterizing the polymer. Thus, the present disclosure can integrate the output of the base movement prediction module with the high-dimensional information encoded after the original signal of the nanopore sequencing to obtain high-dimensional features about the original signal, thereby helping the downstream module to output the polymer sequence associated with the nanopore signal, and benefiting from the utilization of the sequence context information during the processing process, thereby achieving improved processing efficiency and accuracy of the nanopore signal.

[0028] To better understand the technical solutions provided by the embodiments of the present application, the following briefly introduces the application scenarios to which the technical solutions provided by the embodiments of the present application are applicable. It should be noted that the application scenarios introduced below are only used to illustrate the embodiments of the present application and are not limiting. In specific implementation, the technical solutions provided by the embodiments of the present application can be flexibly applied according to actual needs.

[0029] The method provided in the embodiment of the present application can be applied to the application scenario shown in Figure 1. Referring to Figure 1, the exemplary system 100 in the application scenario includes multiple terminal devices 101, 102, 103, 104, 105 and 106, a server 120 and one or more communication networks 110 that couple one or more client devices to the server 120. The terminal devices 101, 102, 103, 104, 105 and 106 can be connected to the server 120 via a wired connection or a wireless connection and transmit data. For example, the terminal devices 101, 102, 103, 104, 105 and 106 can be connected to the server 120 via a data cable or via a wired network; the terminal devices 101, 102, 103, 104, 105 and 106 can also be connected to the server 120 via a radio frequency module, a WiFi module or a wireless network.

[0030] Terminal devices 101, 102, 103, 104, 105, and 106 may be computers, notebooks, PDAs, tablet computers, and the like. These terminal devices can be used by researchers and experimenters in the field of nanopore sequencing applications, allowing them to conveniently perform operations such as real-time monitoring of polymer nanopore sequencing, data acquisition, data processing, and viewing and analyzing sequencing results. Server 120 may be a single server, a server cluster consisting of multiple servers, a cloud computing center, a virtualization platform, a personal computer, a large or medium-sized computer, or a computer cluster. Network 110 may be any type of network well known to those skilled in the art, and may use any of a variety of available protocols (including but not limited to TCP / IP, SNA, IPX, etc.) to support data communications. By way of example only, one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.

[0031] The system 100 may also include one or more databases 130. In some embodiments, these databases can be used to store data and other information. For example, one or more of the databases 130 can be used to store information such as audio files and video files. The data repository 130 can reside in a variety of locations. For example, the data repository used by the server 120 can be local to the server 120, or can be remote from the server 120 and can communicate with the server 120 via a network-based or dedicated connection. The data repository 130 can be of different types. In some embodiments, the data repository used by the server 120 can be a database, such as a relational database. One or more of these databases can store, update, and retrieve data to and from the database in response to commands.

[0032] In some implementations, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.

[0033] Depending on the implementation requirements, the application scenarios in the embodiments of the present application may have any number of terminal devices, servers, networks, and databases. This application does not specifically limit this. The method for processing the first vectorized representation sequence representing the polymer and the processing method for processing the posterior matrix provided in the embodiments of the present application may be executed by the server 120, or may be executed collaboratively by the terminal devices 101, 102, 103, 104, 105, and 106 and the server 120.

[0034] To further illustrate the technical solutions provided by the embodiments of the present application, this is described in detail below with reference to the accompanying drawings and specific implementation methods. Although the embodiments of the present application provide method operation steps as shown in the following embodiments or drawings, more or fewer operation steps may be included in the method based on routine or no creative labor. In steps where there is no necessary causal relationship logically, the execution order of these steps is not limited to the execution order provided by the embodiments of the present application. The method may be executed in the order of the methods shown in the embodiments or drawings or in parallel during the actual processing process or when the device is executed.

[0035] According to one aspect of the present disclosure, a method 200 for processing a first vectorized representation sequence representing a polymer is provided. As shown in FIG2 , the method 200 includes: step S201, inputting the first vectorized representation sequence into a first machine learning model to obtain a weight vector output by the first machine learning model; and step S202, integrating the first vectorized representation sequence with the weight vector to obtain a second vectorized representation sequence representing the polymer.

[0036] In examples, the polymer can be any type of organic compound, such as a nucleotide or nucleic acid, a polypeptide such as a protein, or a sugar, etc. In examples, the polymer can be natural or synthetic.

[0037] In examples, a polymer can include a series of polymer units or a sequence of polymer units.

[0038] In the case of nucleotides or nucleic acids, the polymer unit can be any type of nucleotide. Nucleotides can be naturally occurring or artificially synthesized. Nucleoside is composed of a nucleobase (also referred to as a base) and a sugar. Nucleobases can include purines and pyrimidines, such as adenine, guanine, thymine, uracil, and cytosine. In examples, nucleobases can also include modified bases. The polymer unit can also be any type of nucleic acid. Nucleic acids can generally include deoxyribonucleic acid (DNA), ribonucleic acid (RNA), cDNA, or synthetic nucleic acids known in the art, such as peptide nucleic acid (PNA), glycerol nucleic acid (GNA), threose nucleic acid (TNA), locked nucleic acid (LNA), or other synthetic polymers with nucleotide side chains.

[0039] In the case of polypeptides, the polymer units may be naturally occurring or artificially synthesized amino acids.

[0040] In the case of sugars, the polymer units may be monosaccharides or polysaccharides, etc.

[0041] For example, the polymer may be a nucleobase-containing polymer. In this case, the polymer units may be various nucleobase identifiers representing natural nucleobase types (i.e., nucleobase IDs, such as A for adenine, G for guanine, C for cytosine, T for thymine, and U for uracil), various nucleobase identifiers representing synthetic nucleobases, or identifiers representing nucleobase fragments, etc.

[0042] Of course, in the examples, the polymer may also be any type of inorganic compound, and the present disclosure does not impose any limitation on this.

[0043] In an example, the first vectorized representation sequence may characterize a polymer.

[0044] As used in this disclosure, the term "vectorized representation sequence" refers to a sequence composed of vectorized representations, that is, each element of the sequence is a vectorized representation or each step of the sequence corresponds to a vectorized representation. Exemplarily, each individual vectorized representation can be a column vector of size N×1. In this way, the size of the sequence composed of each individual vectorized representation (i.e., the vectorized representation sequence) is N×T, where T is the number of elements contained in the sequence or the number of steps of the sequence. Exemplarily, each individual vectorized representation can also be a row vector of size 1×N, so that the size of the sequence composed is T×N.

[0045] In an example, dimension N may represent the number of channels used to characterize information of a polymer unit. For example, N may be 126, 258, 512, etc., and this disclosure does not impose any limitation thereto.

[0046] In an example, the first vectorized representation sequence may be generated based on a raw signal derived from the polymer by performing nanopore sequencing on the polymer.

[0047] As described above, the first vectorized representation sequence can represent the polymer. Specifically, each element (i.e., each vectorized representation) of the first vectorized representation sequence can represent a signal component (e.g., a current signal component with fluctuating characteristics) corresponding to each time step of the original signal derived from the polymer during nanopore sequencing. In other words, the signal payload corresponding to each time step of the original signal can be processed (e.g., encoded) into a corresponding vectorized representation of the first vectorized representation sequence.

[0048] Nanopore sequencing is a single-molecule real-time sequencing technology based on nanopore electrical signals. During the sequencing process, the DNA or RNA double strand is connected to the motor protease, and under the action of the motor protease, it combines with the nanopore protein anchored on the biomembrane and unwinds. Due to the potential difference between the two sides of the biomembrane, the unwound DNA or RNA single strand passes through the nanopore at a certain rate. During this displacement process, the ion current in the nanopore fluctuates with the movement of the nucleic acid in the hole. This is because different base genes have different chemical properties and cause different electrical signal changes when passing through the nanopore. By capturing, detecting and analyzing the fluctuating electrical signals, subsequent base sequence recognition can be allowed. In other words, the polymer unit determination based on the nanopore is made based on the electrical signal derived from the polymer during the sequencing process (the electrical signal has the property of fluctuation).

[0049] In step S201 of the embodiment, the first machine learning model can be any suitable machine learning model, such as a convolutional neural network, a recurrent neural network, an attention mechanism, or a combination of one or more networks (such as an integrated model), and the present disclosure does not impose any restrictions on this.

[0050] As used in this disclosure, the term "machine learning model" refers to an algorithm or mathematical function that can convert input data into a specific output. The trained model is obtained by receiving input training samples under a corresponding training task, providing actual output samples, and adjusting or optimizing the model based on the comparison results between the actual output samples and the expected output training samples. Accordingly, the training process or training task of a machine learning model can be summarized as a computer program, based on given learning data and model methods, updating the model's parameter values ​​through an algorithm to optimize the indicators of the processing task, and ultimately learning a better model, thereby being able to complete recognition or prediction tasks, etc.

[0051] In step S201 , the first machine learning model may refer to an algorithm or mathematical model capable of converting the first vectorized representation sequence characterizing the polymer into a weight vector.

[0052] In an example, the first machine learning model can output a weight vector having the same length as the first vectorized representation sequence in response to receiving the first vectorized representation sequence. The weight vector can include multiple predicted translocation values. In other words, the number of predicted translocation values ​​included in the weight vector is the same as the number of elements or steps in the first vectorized representation sequence, and thus the same as the number of steps in the raw signal derived from the polymer during nanopore sequencing.

[0053] It can be understood that when referring to the length of a vectorized representation sequence (for example, the first vectorized representation sequence above and the second vectorized representation sequence to be described in detail below), it refers to the number of elements (for example, column vectors) that constitute the vectorized representation sequence. Taking the first vectorized representation sequence of size N×T above as an example, its length is T, that is, the number of elements (for example, N×1 column vectors) included in the first vectorized representation sequence. It can also be understood that in the present disclosure, terms such as "length", "number of elements", "number of steps", and "time steps" of the vectorized representation sequence can be used interchangeably.

[0054] In an example, each predicted translocation value may indicate how many polymer units the polymer has moved relative to the observed site of nanopore sequencing at the corresponding time step.

[0055] For example, assuming the weight vector is [0.5, 0.3, 0.8, 1.3, 0.2], the first element 0.5 can indicate that the polymer moved 0.5 polymer units relative to the non-specific observation site of nanopore sequencing in the first time step, the second element 0.3 can indicate that the same polymer moved 0.3 polymer units relative to the observation site of nanopore sequencing in the second time step, and so on. It can be understood that the number of elements in the weight vector indicates that the number of steps in the raw signal derived from the polymer during nanopore sequencing is 5. Therefore, the weight vector predicts at most how many polymer units the polymer has moved relative to the nanopore sequencing observation site in the fifth time step. In this example, the polymer has moved 0.2 polymer units relative to the observation site in the fifth time step.

[0056] For example, in the case of bases or base fragments, the training and performance evaluation of the first machine learning model can be similar to base or base fragment movement prediction algorithms known in the art. Therefore, this disclosure does not further describe the first machine learning model to avoid obscuring the innovative concept of this disclosure.

[0057] In step S202 of the embodiment, the first vectorized representation sequence and the weight vector may be integrated to obtain a second vectorized representation sequence representing the polymer.

[0058] Assume that the weight vector is [0.5, 0.3, 0.8, 1.3, 0.2]. Exemplarily, a sampling method can be used to extract elements greater than or equal to a threshold from the weight vector. For example, the threshold can be set to 0.5 to extract the first, third, and fourth elements in the weight vector. Subsequently, the column vectors X1, X3, X4 at the corresponding first, third, and fourth time steps can be intercepted from the first vectorized representation sequence (here it is assumed that the first vectorized representation sequence adopts an N×T arrangement, where T is the number of sequence elements or the number of time steps, and N represents the number of channels) and combined to form the second vectorized representation sequence, that is, B = [X1, X3, X4]. At this time, the length (step length) of B is L = 3.

[0059] For example, the threshold can be relaxed to 0.3 to extract the first to fourth elements in the weight vector. Subsequently, the column vectors X1 to X4 corresponding to the first to fourth time steps can be intercepted from the first vectorized representation sequence (here, it is assumed that the first vectorized representation sequence adopts a T×N arrangement, where T is the number of sequence elements or time steps, and N is the number of channels) and combined to form the second vectorized representation sequence, that is, B = [X1, X2, X3, X4]. In this case, the length (step size) of B is L = 4, which is 1 larger than L in the previous exemplary method.

[0060] For example, weights below a threshold in the weight vector may be reset to zero, or the vectorized representations at the steps corresponding to the elements below the threshold in the weight vector in the first vectorized representation sequence may be replaced with high-dimensional feature maps corresponding to no bases, thereby obtaining a second vectorized representation sequence (in this case, the length of the second vectorized representation sequence is the same as that of the first vectorized representation sequence). Additionally, these replaced high-dimensional feature maps may be concentrated at the beginning or end of the second vectorized representation sequence.

[0061] It will be appreciated that the above method for integrating the first vectorized representation sequence with the weight vector is merely an example. Any method capable of obtaining an integrated vectorized representation sequence of the raw nanopore sequencing signal based on both the first vectorized representation sequence and the weight vector is feasible, and this disclosure does not impose any limitations thereon.

[0062] Thus, the above-mentioned method 200 can integrate the output of the base movement prediction module (such as the first machine learning model) with the high-dimensional information obtained by encoding the original signal derived from the polymer during nanopore sequencing, thereby obtaining high-dimensional features about the original signal, thereby helping the downstream module to output the polymer sequence corresponding to the nanopore signal, and benefiting from the use of sequence context information during the processing process, achieving improved processing efficiency and accuracy for the nanopore signal.

[0063] In an embodiment, the first vectorized representation sequence may be obtained by processing the raw signal using a second machine learning model. Because high-dimensional information carries more information payload than low-dimensional information, processing the low-dimensional raw signal into a high-dimensional vectorized representation sequence using a machine learning model can facilitate downstream machine learning model processing, particularly subsequent prediction of polymer unit translocation values, thereby improving the processing efficiency and accuracy of the nanopore signal.

[0064] In the example, the second machine learning model can be any suitable machine learning model, such as a fully connected network, a convolutional neural network, a recurrent neural network, an attention mechanism, etc., or a combination of one or more networks (such as an integrated model), and the present disclosure does not impose any limitations on this.

[0065] In an example, the second machine learning model may refer to an algorithm or mathematical model capable of converting a raw signal derived from a polymer during nanopore sequencing of the polymer into a first vectorized representation sequence characterizing the polymer.

[0066] In an example, the second machine learning model may output a first vectorized representation sequence having the same step size as the original signal in response to receiving the original signal.

[0067] As used herein, the term "step size" refers specifically to the sampling points of a discretized signal or the elements of a vectorized representation sequence. For the raw signal derived from a polymer during nanopore sequencing, the term "step size" may refer to each sampling point of the raw signal, i.e., each signal value that the raw signal comprises over time, while the term "step size" may refer to the number of sampling points of the raw signal. For a vectorized representation sequence, the term "step size" may refer to each element of the sequence, i.e., each vectorized representation that the sequence comprises, while the term "step size" may refer to the number of elements or vectorized representations that the sequence comprises.

[0068] In this disclosure, the terms "step size" and "time step" may be used interchangeably.

[0069] In an embodiment, the first vectorized representation sequence may be obtained by processing the original signal through a second machine learning model and then downsampling it, thereby further reducing the amount of computation and improving the robustness of nanopore signal processing.

[0070] In the example, the original signal of t time steps can be processed into high-dimensional information (ie, a first vectorized representation sequence) with a step size of t / s, where s is a downsampling coefficient.

[0071] In an embodiment, the second machine learning model may be an encoder model.

[0072] In an example, the encoder model may be an encoder in a transformer-based encoder and decoder model, etc. The present disclosure does not impose any limitation in this regard.

[0073] In an embodiment, the first machine learning model may include:

[0074] A first sub-model may be used to process the first vectorized representation sequence to obtain a processed first vectorized representation sequence; and

[0075] The second sub-model can be used to process the processed first vectorized representation sequence to obtain the weight vector.

[0076] In one embodiment, the first sub-model is a convolutional neural network layer, which is used to provide contextual information for processing by the second sub-model. Thus, through the convolutional neural network processing, each vectorized representation in the processed first vectorized representation sequence can be combined with the information payload of other vectorized representations in the sequence, thereby providing rich contextual information for the generation of weight vectors and improving the reliability of nanopore signal processing.

[0077] In an embodiment, the first vectorized representation sequence and the second vectorized representation sequence both have a second dimension other than length, and the first vectorized representation sequence and the second vectorized representation sequence have the same number of channels in the second dimension.

[0078] In an example, the number of channels may correspond to the number of nanopores in a nanopore sequencing instrument capable of performing parallel sequencing simultaneously.

[0079] Exemplarily, the number of channels N may be any suitable positive integer, such as 16, 32, 64, 128, 256, or 512, etc., and the present disclosure does not impose any limitation thereto, and the number of channels is not limited to an integer power of 2.

[0080] In an embodiment, integrating the first vectorized representation sequence with the weight vector comprises:

[0081] The first vectorized representation sequence is processed based on the corresponding predicted transposition values ​​in the weight vector while maintaining the number of channels of the first vectorized representation sequence in the second dimension unchanged.

[0082] In an embodiment, processing the first vectorized representation sequence based on the corresponding predicted transposition values ​​in the weight vector may include:

[0083] For each element in the weight vector, add the element to all the elements before the element, and use the result as the replacement element of the element to obtain the forward accumulation vector;

[0084] In the forward accumulation vector, every element with a value of 1 is used as a merging point to obtain a merging vector;

[0085] For each merging point in the merging vector, split the element at the corresponding position in the weight vector into the part before the merging point and the part after the merging point to obtain a decomposed weight vector;

[0086] Determining a merging interval of the decomposed weight vector based on grouping elements in the decomposed weight vector;

[0087] The vectorized representations of corresponding time steps of the first vectorized representation sequence are weighted according to the weights in each merging interval of the decomposition weight vector to obtain a second vectorized representation sequence.

[0088] This embodiment is described in detail below.

[0089] For example, assume that the weight vector is [0.5, 0.3, 0.8, 1.3, 0.2].

[0090] The first step is forward accumulation, adding each element in the weight vector to all the elements before it (if any), and the result is used as the replacement element for the element. Specifically, for the first element 0.5 of the weight vector, since this element itself is at the top of all elements and there are no other elements before it, the first element of the vector obtained after forward accumulation is still 0.5; for the second element 0.3 of the weight vector, it is added to the first element 0.5 before it to obtain a value of 0.8, which is used as the second element of the vector obtained after forward accumulation; for the third element 0.8 of the weight vector, it is added to the first element 0.5 and the second element 0.3 before it to obtain a value of 1.6, which is used as the replacement element for the element. This is used as the third element of the vector obtained after forward accumulation. For the fourth element of the weight vector, 1.3, it is added to the first element 0.5, the second element 0.3, and the third element 0.8 before it to obtain a value of 2.9, which is used as the fourth element of the vector obtained after forward accumulation. And for the fifth element of the weight vector, 0.2, it is added to the first element 0.5, the second element 0.3, the third element 0.8, and the fourth element 1.3 before it to obtain a value of 3.1, which is used as the fifth element of the vector obtained after forward accumulation. Thus, the forward accumulation vector [0.5, 0.8, 1.6, 2.9, 3.1] is obtained.

[0091] The second step is to find merging points. In the forward accumulated vector, elements with values ​​that are all 1 are used as merging points to obtain the merging vector. Specifically, the first and second elements in the forward accumulated vector are not all 1 and therefore cannot be merging points. The third element, 1.6, is all 1 and can be used as a merging point and replaced with the value 1. The fourth element, 2.9, is all 2 and can be used as a merging point and replaced with the value 2. Finally, the fifth element, 3.1, is all 3 and can be used as a merging point and replaced with the value 3. Thus, the merging vector [0, 0, 1, 2, 3] is obtained.

[0092] The third step is to split the weight vector according to the merging vector. Recognizing that the elements of the merging vector and the weight vector are in one-to-one correspondence, for each merging point in the merging vector, the element at the corresponding position in the weight vector needs to be split into the part before the merging point and the part after the merging point to obtain the decomposed weight vector. Specifically, for the first and second elements of the weight vector, since the elements at the corresponding positions in the merging vector are not merging points, the first and second elements in the decomposed weight vector are still the original first and second elements in the weight vector, 0.5 and 0.3. For the third element of the weight vector, since the element at the corresponding position in the merging vector is merging point 1, merging point 1 is first split into two values. The first value is such that the sum of all elements before the element corresponding to the merging point in the weight vector (i.e., the first and second elements 0.5 and 0.3) is equal to 1, and the second value is the remainder after subtracting the first value from the element corresponding to the merging point in the weight vector. In this example, the first value is (1-0.5-0.3)=0.2, and the second value is (0.8-0.2)=0.6. For the fourth element of the weight vector, since the element at the corresponding position in the merge vector is merge point 2, the merge point 2 is first split into two values. The first value is such that the sum of all elements before the element corresponding to the merge point position in the weight vector (i.e., the first to third elements 0.5, 0.3, and 0.8) is equal to 2, and the second value is the remaining value after subtracting the first value from the element corresponding to the merge point position in the weight vector. In this example, the first value is (2-0.5-0.3-0.8)=0.4, and the second value is (1.3-0.4)=0.9. For the fifth element of the weight vector, since the element at the corresponding position in the merge vector is merge point 3, the merge point 3 is first split into two values. The first value is such that the sum of all elements before the element corresponding to the merge point position in the weight vector (i.e., the first to fourth elements 0.5, 0.3, 0.8, and 1.3) is equal to 3, and the second value is the remaining value after subtracting the first value from the element corresponding to the merge point position in the weight vector. In this example, the first value is (3-0.5-0.3-0.8-1.3) = 0.1, and the second value is (0.2-0.1) = 0.1. Thus, the weight vector after splitting (i.e., the decomposed weight vector) is [0.5, 0.3, 0.2|0.6, 0.4|0.9, 0.1|0.1].

[0093] The fourth step is to determine the merging interval of the weight vector after splitting (i.e., the decomposed weight vector). The merging interval means grouping the elements in the weight vector after splitting with the corresponding split values ​​of the adjacent merging points in the weight vector after splitting as the boundary, and using this as each merging interval. For example, the first merging point in the weight vector after splitting is the third element, i.e., 0.2|0.6. Although there are no other merging points before this merging point, the first element 0.5 can be used as the lower bound of the first merging interval, and the split value 0.2 in the merging point 0.2|0.6 can be used as the upper bound of the first merging interval, thereby obtaining the weights in the first merging interval, i.e., [0.5, 0.3, 0.2]. By analogy, the second merge point in the weight vector after the split is the fourth element, 0.4|0.9. Before this merge point, there is another split value of 0.6 from the first merge point. This split value 0.6 can be used as the lower bound of the second merge interval, and the split value 0.4 in the merge point 0.4|0.9 can be used as the upper bound, thus obtaining the weights in the second merge interval, i.e. [0.6, 0.4]. Next, the third merge point in the weight vector after the split is the fifth element, 0.1|0.1. Before this merge point, there is another split value of 0.9 from the second merge point. This split value 0.9 can be used as the lower bound of the second merge interval, and the split value 0.1 (the 0.1 on the left) in the merge point 0.1|0.1 can be used as the upper bound, thus obtaining the weights in the third merge interval, i.e. [0.9, 0.1]. Note that the sum of all weight values ​​in each merge interval is exactly 1. Also note that there is another split value 0.1 (0.1 on the right) in the last merge point 0.1|0.1. Since there are no other elements or other merge points and their split values ​​in the weight vector after the split, in this example, this other split value 0.1 can be discarded. Thus, three merge intervals are obtained: [0.5, 0.3, 0.2], [0.6, 0.4], and [0.9, 0.1].

[0094] In the fifth step, the vectorized representation of the corresponding time step of the first vectorized representation sequence is weighted according to the weight in the merging interval of the split weight vector (i.e., the decomposed weight vector) to obtain a second vectorized representation sequence of length L.

[0095] For ease of understanding, the three merged intervals obtained in the fourth step can be aligned with the step size of the first vectorized representation sequence. Before this, as mentioned above, since the number of predicted transposition values ​​included in the weight vector is the same as the number of elements or step size of the first vectorized representation sequence, it can be seen that the step size T of the first vectorized representation sequence is also 5. Assuming that the size of each individual vectorized representation is an N×1 column vector, the size of the first vectorized representation sequence here is N×5. Therefore, the first vectorized representation sequence A can be recorded as A=[X1,X2,X3,X4,X5], and for each column vector X n (n∈1,…,5), which can have N elements (i.e., N rows or N channels, where N is a positive integer greater than or equal to 1, as described above). Thus, the aligned merged intervals C1-C3 are: C1 = [0.5, 0.3, 0.2, null, null]; C2 = [null, null, 0.6, 0.4, null]; and C3 = [null, null, null, 0.9, 0.1].

[0096] Here, null means empty, that is, the element at the corresponding position in the first vectorized representation sequence (that is, the corresponding vectorized representation) does not need to participate in the weighted operation.

[0097] Next, the vectorized representations of the corresponding time steps in the first vectorized representation sequence can be weighted according to each merging interval C1-C3. Specifically, X1, X2, and X3 can be multiplied with the corresponding non-null elements in C1 to obtain the first element of the second vectorized representation sequence of length L, namely 0.5X1+0.3X2+0.2X3. Similarly, X3 and X4 can be multiplied with the corresponding non-null elements in C2 to obtain the second element of the second vectorized representation sequence of length L, namely 0.6X3+0.4X4. X4 and X5 can be multiplied with the corresponding non-null elements in C3 to obtain the third element of the second vectorized representation sequence of length L, namely 0.9X4+0.1X5.

[0098] At this point, we can obtain a second vectorized representation sequence B = [0.5X1 + 0.3X2 + 0.2X3, 0.6X3 + 0.4X4, 0.9X4 + 0.1X5] with a length (step size) of L = 3. Compared with the length of the first vectorized representation sequence, the length of the obtained second vectorized representation sequence is shortened.

[0099] It can be understood that each element in the second vectorized representation sequence B contains the contextual information of several adjacent vectorized representations in the first vectorized representation sequence, which helps to improve the processing efficiency and accuracy during the process of sequencing polymer units based on the nanopore raw signal.

[0100] Of course, there is more than one way to process the first vectorized representation sequence based on the corresponding predicted transposition value in the weight vector. It can also include, for example, the method of using thresholds described above, etc., and the present disclosure does not impose any restrictions on this.

[0101] It should be noted that the length of the second vectorized representation sequence obtained by integrating the weight vector and the first vectorized representation sequence may be the same as or longer than the first vectorized representation sequence. If the lengths of the two are the same, reference can be made to the description of step S202 of the embodiment above. If the length of the second vectorized representation sequence is longer than the first vectorized representation sequence, reference can be made to the following example.

[0102] For example, assuming that the weight vector is [1.3, 1.4, 0.7, 1.2, 1.9, 1.8], it can be understood that the length of the original signal and its first vectorized representation sequence are both 6.

[0103] The first step is forward accumulation, which adds each element in the weight vector to all the elements before it (if any), and uses the result as a replacement for the element. Thus, the forward accumulation vector [1.3, 2.7, 3.4, 4.6, 6.5, 8.3] is obtained.

[0104] The second step is to find the merging point. In the forward accumulated vector, the elements with values ​​of 1 are used as merging points. Thus, the merging vector [1, 2, 3, 4, 6, 8] is obtained.

[0105] The third step is to split the weight vector according to the merge vector. Thus, the split weight vector (i.e., the decomposed weight vector) is [1.0|0.3,0.7|0.7,0.3|0.4,0.6|0.6,0.4|1.0|0.5,0.5|1.0] (there is one split value 0.3 left, which is discarded because it is less than 1 and no other split value can be merged into 1 with it).

[0106] The fourth step is to determine the merging interval of the split weight vector (i.e., the decomposed weight vector), thereby obtaining 8 merging intervals: [1.0], [0.3, 0.7], [0.7, 0.3], [0.4, 0.6], [0.6, 0.4], [1.0], [0.5, 0.5] and [1.0].

[0107] In the fifth step, the vectorized representations of the corresponding time steps of the first vectorized representation sequence are weighted according to the weights within the combined interval of the decomposed weight vectors (i.e., the decomposed weight vectors), resulting in a second vectorized representation sequence of length L = 8. It can be seen that the length of the second vectorized representation sequence obtained in this way is longer than that of the first vectorized representation sequence.

[0108] Exemplarily, a second vectorized representation of the raw signal of nanopore sequencing can be obtained by threshold extraction.

[0109] In an embodiment, processing a first vectorized representation sequence based on corresponding predicted transposition values ​​in a weight vector may include: determining one or more elements in the weight vector that meet a threshold; selecting one or more vectorized representations from the first vectorized representation sequence that positionally correspond to one or more elements in the weight vector that meet the threshold; and obtaining a second vectorized representation sequence based on the selected one or more vectorized representations.

[0110] In the example, based on the selected one or more vectorized representations, obtaining the second vectorized representation sequence may include directly concatenating the selected one or more vectorized representations to obtain the second vectorized representation sequence. Additionally, the vectorized representations in the first vectorized representation sequence that correspond to elements in the weight vector that do not meet a threshold (e.g., below a threshold) in position may be replaced with default vectorized representations (e.g., such default vectorized representations are associated with meaningless words (e.g., in the case of a base sequence, meaningless words do not represent any base or base fragment)), and these replaced default vectorized representations may be placed at any position in the second vectorized representation sequence (e.g., at the head or tail of the sequence, etc.).

[0111] Exemplarily, a second vectorized representation of the raw signal of nanopore sequencing can be obtained through attention calculation or matrix transformation.

[0112] In an embodiment, integrating the first vectorized representation sequence with the weight vector may include obtaining a high-dimensional feature matrix corresponding to the first vectorized representation sequence and a feature fusion matrix corresponding to the weight vector according to an attention mechanism; and performing matrix operations based on the high-dimensional feature matrix and the feature fusion matrix to obtain a second vectorized representation sequence.

[0113] In this example, the size of the high-dimensional feature matrix A is T×C in , T represents the step length, C in Indicates the number of channels. After calculation by the fully connected network in the attention layer, AW is obtained q +b q =V and AW k +b k =K, where W q 、W k 、b q 、b k are parameters related to query and key respectively, and the sizes of V and K are both T × C. The high-dimensional feature matrix A can be a matrix representation corresponding to the first vectorized representation sequence described above.

[0114] Note that the size of the fusion feature matrix B is L×1 or L×C in2 , the matrix B can be a high-dimensional feature after weighted summation, or a vector that directly integrates the predicted transposition value (i.e., the weight vector described above). After calculation by the fully connected network in the attention layer, BW is obtained q +b q =Q, the size of Q is L×C. Among them, C can be C in The same or different, but one of the dimensions C of Q, K, and V is the same. The fused feature matrix B can be a matrix representation corresponding to the weight vector described above.

[0115] After attention calculation, Q, K, and V can obtain the second vectorized representation sequence.

[0116] For example, the attention computation can be expressed as The operators softmax and The shape (size) of the matrix is ​​not changed. The above attention calculation can also be expressed in the following matrix operation form: (Q [L×C] K T [C×T] )V [T×C] =[L×T]×[T×C]=[L×C],

[0117] That is, the obtained second vectorized representation sequence has a length L and a number of channels C. The process of attention calculation is well known in the art and will not be described in detail here.

[0118] In an embodiment, the polymer is a base sequence, and the polymer units are bases or combinations of bases.

[0119] It will be understood that the polymers disclosed herein are not limited to base sequences. For example, when the polymer is a polypeptide, the polymer units may be naturally occurring or synthetic amino acids. For another example, when the polymer is a sugar, the polymer units may be monosaccharides or polysaccharides. Of course, the polymers disclosed herein may also be inorganic polymers, as will be readily understood by those skilled in the art, and this disclosure does not impose any limitation thereto.

[0120] 3-4 illustrate block diagrams of exemplary processes for processing a first sequence of vectorized representations representing a polymer according to exemplary embodiments of the present disclosure.

[0121] As shown in Figure 3, exemplary process 300a begins with a first vectorized representation sequence 303. First vectorized representation sequence 303 is obtained and input into a first machine learning model 305, resulting in a weight vector 306 output by first machine learning model 305. Information integration 307 is performed between first vectorized representation sequence 303 and weight vector 305 to produce a second vectorized representation.

[0122] The exemplary process 300a may be understood by referring to the description of the above method 200, which will not be described in detail here.

[0123] Continuing with reference to FIG. 4 , the exemplary process 300b shown in FIG. 4 differs from the exemplary process 300a in that a processed first vectorized representation sequence 303′ is shown as being obtained from the original signal 301 derived from the polymer during nanopore sequencing. Specifically, the original signal 301 is input into a second machine learning model 302 to obtain a processed first vectorized representation sequence 303′ output by the second machine learning model 302. As described above, the second machine learning model 302 can, for example, process the low-dimensional original signal 301 into a high-dimensional vectorized representation sequence, thereby facilitating processing by downstream machine learning models, particularly subsequent predictions of polymer unit translocation values ​​(e.g., the first sub-model 305-1 and the second sub-model 305-2 shown in FIG. 4 ), thereby improving the processing efficiency and accuracy of the nanopore signal. Additionally, the second machine learning model 302 can include a certain amount of downsampling, thereby reducing computational complexity and improving the robustness of nanopore signal processing. As shown in FIG. 4 , the first machine learning model can be further refined into a first sub-model 305-1 and a second sub-model 305-2. As described above, the first sub-model can be used to reprocess the processed first vectorized representation sequence (for example, the high-dimensional information of the input sub-model 305-1 (i.e., the processed first vectorized representation sequence 303') is again sorted to provide contextual information for the base movement prediction process. The first sub-model 305-1 can be, for example, a convolutional network layer, etc.) to obtain a reprocessed first vectorized representation sequence, and the second sub-model can be used to process the reprocessed first vectorized representation sequence to obtain a weight vector 306.

[0124] The exemplary process 300b may be understood by referring to the description of the above method embodiment, and will not be described in detail here.

[0125] According to another aspect of the present disclosure, a method 400 for processing a posterior matrix is ​​provided. As shown in FIG5 , the method 400 includes: step S401 , decoding the posterior matrix to obtain a decoded sequence; and step S402 , obtaining a polymer unit sequence based on the decoded sequence.

[0126] In the example, the posterior matrix can be obtained by processing the second vectorized representation sequence obtained according to any of the above method embodiments by a third machine learning model.

[0127] The number of rows of the posterior matrix obtained by processing the third machine learning model is equal to the number of polymer unit classifications, each column element of the posterior matrix indicates a corresponding polymer unit among the multiple polymer units, and multiple consecutive column elements of the posterior matrix indicate corresponding different polymer units among the multiple polymer units.

[0128] It is understood that different polymer units refer to polymer units that exist independently, and do not mean that the identifiers of the polymer units are different. For example, according to an embodiment, the continuous m column elements of the posterior matrix can indicate m independent (i.e., independently existing) polymer units. Exemplarily, the continuous m column elements P1, P2, ..., P m may indicate (eg correspond to) polymer units D1, D2, ..., D m , wherein, in polymer units D1 to D m There may be two or more adjacent polymer units with the same identifier.

[0129] In the example, the third machine learning model can be any suitable machine learning model, such as a fully connected network, a convolutional neural network, a recurrent neural network, an attention mechanism, etc., or a combination of one or more networks (such as an integrated model), and the present disclosure does not impose any limitations on this.

[0130] In an example, the third machine learning model may refer to an algorithm or mathematical model capable of converting the second vectorized representation sequence into a posterior matrix.

[0131] In an example, the third machine learning model may output a posterior matrix having the same number of columns as the stride of the second vectorized representation sequence and the same number of rows as the number of categories of the word unit in response to receiving the second vectorized representation sequence.

[0132] As used in this disclosure, the term "token" refers to a basic unit of text, and in the context of nanopore sequencing of polymers, particularly refers to the smallest constituent element of a polymer unit sequence, which can be various polymer unit identifiers used to indicate the type of polymer unit (in the case of a base sequence, for example, A for adenine, G for guanine, C for cytosine, T for thymine, and U for uracil), or various optional markers (for example, a placeholder N, a sequence start marker, a sequence end marker, etc.). Therefore, it will be understood that in the context of this disclosure, when referring to various polymer unit sequences, it can refer to polymer unit sequences that are homogeneous with polymer unit sequences that exist or have not yet been found in nature (i.e., the smallest constituent element constituting the polymer unit sequence only includes the polymer unit ID), or it can refer to polymer unit sequences that are heterogeneous with polymer unit sequences that exist or have not yet been found in nature (i.e., the smallest constituent element constituting the polymer unit sequence includes or only includes various markers). In the context of nanopore sequencing of polymers, words can only be selected from various polymer unit identifiers and various tags, so each polymer unit identifier and tag is an alternative word, and various polymer unit identifiers and various tags constitute an alternative word library.

[0133] As used herein, the term "posterior matrix" may refer to matrixed information obtained after taking into account prior knowledge and undergoing operations based on that knowledge. In the context of nanopore sequencing of polymers, this refers particularly to matrixed information obtained by performing (multiple) operations based on prior knowledge on the raw nanopore sequencing signal (e.g., processing a first vectorized representation sequence using a pretrained first machine learning model, processing a second vectorized representation sequence using a pretrained third machine learning model, etc.). This matrixed information can be used to make polymer unit determinations in the nanopore sequencing scenario.

[0134] In step S401 of the embodiment, a decoding operation may be performed on the posterior matrix to obtain a decoding sequence.

[0135] Exemplarily, the decoding operation may be performed on each column element in the posterior matrix respectively.

[0136] Turning to FIG. 8 , shown is a diagram illustrating an exemplary process for decoding a posterior matrix according to an exemplary embodiment of the present disclosure.

[0137] As shown in Figure 8, the size of the posterior matrix is ​​C×L, where C is the number of word categories and L is the sequence length equal to the number of steps of the second vectorized representation sequence. In the illustrated scenario, based on prior knowledge, the word categories are bases A, C, G and T respectively. That is, the third machine learning model processes the second vectorized representation sequence into a posterior matrix containing only the above four categories of bases based on prior knowledge. As an example and not a limitation, decoding operations can be performed on each column element in the illustrated posterior matrix separately. It is understandable that when the polymer unit categories contained in the posterior matrix are various individual bases, the decoding results of Viterbi decoding, beam search with a beam width of 1, and greedy search (i.e., taking the polymer category corresponding to the maximum value of each column element as the polymer identifier on the step corresponding to the column element) are the same.

[0138] That is, as shown in FIG8 , the base category A corresponding to the maximum value 0.7 of the element in the first column of the posterior matrix is ​​taken as the base ID for the first column element corresponding to step size l = 1, the base category C corresponding to the maximum value 0.6 of the element in the second column of the posterior matrix is ​​taken as the base ID for the second column element corresponding to step size l = 2, the base category A corresponding to the maximum value 0.8 of the element in the third column of the posterior matrix is ​​taken as the base ID for the third column element corresponding to step size l = 3, the base category A corresponding to the maximum value 0.9 of the element in the fourth column of the posterior matrix is ​​taken as the base ID for the fourth column element corresponding to step size l = 4, the base category G corresponding to the maximum value 0.8 of the element in the fifth column of the posterior matrix is ​​taken as the base ID for the fifth column element corresponding to step size l = 5, and the base category T corresponding to the maximum value 0.8 of the element in the sixth column of the posterior matrix is ​​taken as the base ID for the sixth column element corresponding to step size l = 6. Thus, the decoding sequence ACAAGT is obtained.

[0139] Turning to FIG. 9 , shown is a diagram illustrating another exemplary process for decoding a posterior matrix according to an exemplary embodiment of the present disclosure.

[0140] As shown in Figure 9, the size of the posterior matrix is ​​C×L, where C is the number of word categories and L is the sequence length equal to the number of steps of the second vectorized representation sequence. In the illustrated scenario, based on prior knowledge, the word categories are bases A, C, G, T and N respectively. It can be seen that, unlike the example in Figure 8, the word category here has an additional placeholder N. However, this does not affect the decoding operation performed on each column element in the posterior matrix separately. It can be understood that when the polymer unit categories contained in the posterior matrix are various individual bases and / or various individual placeholders, the decoding results of Viterbi decoding, beam search with a beam width of 1, and greedy search (i.e., taking the polymer category corresponding to the maximum value of each column element as the polymer identifier on the step corresponding to the column element) are still the same.

[0141] That is, as shown in FIG9 , according to the same decoding process as FIG8 , a decoding sequence ANAAGN can be obtained.

[0142] In step S402 of the embodiment, a polymer unit sequence may be obtained based on the decoding sequence.

[0143] In an example, the decoding sequence can be directly used as the polymer unit sequence. For example, as shown in FIG8 , the decoding sequence ACAAGT can be directly used as the polymer unit sequence.

[0144] In an example, the decoded sequence may be processed and the processed result may be used as the polymer unit sequence. For example, as shown in FIG9 , the placeholder word in the decoded sequence may be deleted and the resulting sequence AAAG may be used as the polymer unit sequence.

[0145] 10 and 11 , two diagrams are shown respectively illustrating two other exemplary processes for decoding a posterior matrix according to exemplary embodiments of the present disclosure.

[0146] Different from Figures 8 to 9, the polymer categories contained in the posterior matrices in Figures 10 to 11 are no longer single bases, but base fragments consisting of three bases, and the individual bases belong to one of A, C, G and T. In other words, a total of 4 3 = 64 base fragment categories.

[0147] As shown in Figure 10, similar to the decoding process in Figures 8 and 9, for each column element in the posterior matrix, the base segment category corresponding to the maximum value of the element is selected as the base segment ID for the corresponding step size of the column element. For example, if the maximum value of the first column element is 0.60, which corresponds to the base segment AAA, AAA is used as the base segment ID for the first step size; if the maximum value of the second column element is 0.50, which corresponds to the base segment AAC, AAC is used as the base segment ID for the second step size, and so on. This results in the decoded sequence AAA AAC TTA GCA ATG GGT. Assuming that given a priori knowledge indicates that the polymer units included in the polymer unit sequence are all base segments consisting of three bases, the above decoded sequence can be directly used as the polymer unit sequence. Conversely, if given a priori knowledge indicates that the polymer units included in the polymer unit sequence only include various individual bases and not base segments, the least significant bits of the base segment IDs obtained by decoding each column element of the posterior matrix can be retained, for example, to obtain the final polymer unit sequence. That is, as shown in FIG10 , the rightmost base ID of each base fragment ID in the decoded sequence AAA AAC TTA GCA ATG GGT is retained, thereby obtaining a polymer unit sequence ACAAGT.

[0148] In another example, the middle base ID of each base fragment ID in the decoding sequence AAA AAC TTA GCA ATG GGT shown in Figure 10 can be retained to obtain the polymer unit sequence AATCTG. In yet another example, the leftmost base ID of each base fragment ID in the decoding sequence AAA AAC TTA GCA ATG GGT shown in Figure 10 can also be retained to obtain the polymer unit sequence AATGAG. It can be understood that the above-mentioned various methods of obtaining the final polymer unit sequence based on the base fragment ID obtained by decoding each column element of the posterior matrix are exemplary, and those skilled in the art can select the base IDs that need to be retained in each base fragment ID to form a polymer unit sequence as needed, and the present disclosure does not impose any limitations on this.

[0149] Figure 11 illustrates an exemplary process of Viterbi decoding of the posterior matrix. As shown in Figure 11, first, for the first column elements in the posterior matrix, the base fragment category corresponding to the element maximum value 0.60 is selected as the base fragment identifier AAA on the step size corresponding to the first column element. Then, taking overflow into account, the base fragment identifier AAA is shifted one position to the left to obtain the candidate base fragment pattern AAX on the next step size (i.e., the step size corresponding to the second column element), where X represents the base identifier to be determined, which can be selected from one of A, C, G, and T. It can be understood that there are four types of base fragments that conform to the base fragment pattern AAX, namely AAA, AAC, AAG, and AAT. The element maximum value 0.50 is determined from the elements corresponding to these four base fragments in the second column of the posterior matrix, and the base fragment category corresponding to 0.50 is used as the base fragment identifier AAC on the step size corresponding to the second column element. Next, similarly, taking overflow into account, the base segment identifier AAC is shifted left by one position, resulting in candidate base segment patterns ACX for the next step length (i.e., the step length corresponding to the third column element), namely ACA, ACC, ACG, and ACT. The maximum value of the elements corresponding to these four base segments in the third column of the posterior matrix is ​​determined, and the base segment category corresponding to this maximum value is used as the base segment identifier for the step length corresponding to the third column element, which is ACA in this example. This process is repeated L times in this manner, resulting in the decoded sequence AAA AAC ACA CAA AAG AGT. Assuming that prior knowledge indicates that the polymer units included in the polymer unit sequence are all base segments consisting of three bases, the decoded sequence can be directly used as the polymer unit sequence. Conversely, if prior knowledge indicates that the polymer units included in the polymer unit sequence only include various individual bases and not base segments, the least significant bits of the base segment IDs obtained from L decoding cycles can be retained, for example, to obtain the final polymer unit sequence. That is, as shown in FIG11 , the rightmost base ID of each base fragment ID in the decoded sequence AAA AAC ACA CAA AAG AGT is retained, thereby obtaining a polymer unit sequence ACAAGT.

[0150] It should be noted that for the sake of brevity, the accompanying figures do not show all base segment classifications. As shown in Figures 10 and 11, the ellipsis indicates that the middle 56 base segment categories (i.e., base segments ACX to TGX) are not shown. It is understood that this omission does not affect the description and understanding of the decoding process.

[0151] In an embodiment, decoding the posterior matrix comprises one of:

[0152] Decoding the posterior matrix using Viterbi decoding;

[0153] decoding the posterior matrix using a beam search; and

[0154] The maximum value of each column of the posterior matrix is ​​taken to obtain the decoding sequence.

[0155] In an embodiment, the polymer unit classification includes placeholders, and deriving the polymer unit sequence based on the decoded sequence includes: removing the placeholders in the decoded sequence.

[0156] In an embodiment, the polymer unit is a base combination, each element in the decoding sequence represents a corresponding base combination, and obtaining a polymer unit sequence based on the decoding sequence includes: selecting a base at the same position from each element in the decoding sequence as a corresponding element of the polymer unit sequence.

[0157] Illustratively, obtaining the polymer unit sequence based on the decoded sequence may include: selecting the rightmost base from each element in the decoded sequence as a corresponding element of the polymer unit sequence, as described above with reference to FIG. 11 .

[0158] In an embodiment, the third machine learning model includes at least one of the following: a fully connected neural network, a convolutional neural network, a recurrent neural network, or an attention mechanism.

[0159] In an embodiment, the method further comprises, before decoding the posterior matrix:

[0160] The second vectorized representation sequence is input into a fourth machine learning model to obtain a processed second vectorized representation sequence output by the fourth machine learning model.

[0161] Some deep learning or machine learning methods can be introduced to constrain and integrate the information of the second vectorized representation sequence again. Exemplarily, the fourth machine learning model can use conditional random fields to enable the transition of polymer units on adjacent steps to be restricted, thereby providing more prior knowledge. Exemplarily, some network layers such as convolutional layers, recurrent neural network layers, etc. can also be used to construct the fourth machine learning model. It is understandable that the fourth machine learning model can be any suitable machine learning model, such as a convolutional neural network, a recurrent neural network, an attention mechanism, etc., or a combination of one or more networks (such as an integrated model), and the present disclosure does not impose any restrictions on this.

[0162] In an embodiment, the fourth machine learning model is used to provide prior constraints for the step of decoding the posterior matrix.

[0163] In an embodiment, the polymer unit classification is determined based on one or more of the plurality of polymer units.

[0164] For example, the polymer unit classification can be determined based on individual polymer units in the plurality of polymer units, such as classifications A, C, G, and T as shown in FIG. 8 to FIG. 9 .

[0165] For example, the polymer unit classification can be determined based on multiple individual polymer units in the multiple polymer units, such as the classifications AAA, AAC, AAG, AAT to TTA, TTC, TTG, TTT as shown in FIG. 10 to FIG. 11 .

[0166] 6-7 are block diagrams illustrating exemplary processes for processing a posterior matrix according to exemplary embodiments of the present disclosure.

[0167] As shown in FIG6 , exemplary process 500a begins with second vectorized representation sequence 308. Second vectorized representation sequence 308 is obtained and input into third machine learning model 311, resulting in a posterior matrix 312 output by third machine learning model 311. After performing a decoding operation 313 on posterior matrix 312, a polymer unit sequence 314 is ultimately obtained.

[0168] The exemplary process 500a may be understood by referring to the description of the processing method 400 above, and will not be described in detail here.

[0169] Continuing with reference to FIG7 , the exemplary process 500b shown in FIG7 differs from the exemplary process 500a in that the second vectorized representation sequence 308 is shown to undergo an additional processing, namely, input into the fourth machine learning model 309 to obtain a processed second vectorized representation sequence 310 output by the fourth machine learning model 309. Exemplarily, as shown above, the fourth machine learning model can be used to provide a priori constraints for the step of decoding the posterior matrix.

[0170] The exemplary process 300b may be understood by referring to the description of the above method embodiment, and will not be described in detail here.

[0171] FIG12 shows a block diagram of an apparatus 700 for processing a first vectorized representation sequence representing a polymer according to an exemplary embodiment of the present disclosure.

[0172] In an embodiment, the polymer may include a sequence of polymer units, and the first vectorized representation of the sequence may be generated based on a raw signal, which may be derived from the polymer by performing nanopore sequencing on the polymer.

[0173] As shown in FIG12 , the apparatus 700 includes a weight acquisition module 701 and an integration module 702 .

[0174] The weight acquisition module 701 is used to input the first vectorized representation sequence into the first machine learning model to obtain the weight vector output by the first machine learning model.

[0175] In an embodiment, the weight vector may be the same length as the first vectorized representation sequence and may include a plurality of predicted translocation values, each of which may indicate how many polymer units the polymer has moved relative to the observed site of nanopore sequencing at a corresponding time step.

[0176] The integration module 702 is configured to integrate the first vectorized representation sequence with the weight vector to obtain a second vectorized representation sequence representing the polymer.

[0177] FIG13 shows a block diagram of an apparatus 800 for processing a posterior matrix according to an exemplary embodiment of the present disclosure.

[0178] In an embodiment, the posterior matrix can be obtained by processing the second vectorized representation sequence obtained according to any of the above method embodiments by a third machine learning model, the number of rows of the posterior matrix can be equal to the number of polymer unit classifications, each column element of the posterior matrix can indicate a corresponding polymer unit among multiple polymer units, and multiple consecutive column elements of the posterior matrix can indicate corresponding different polymer units among multiple polymer units.

[0179] As shown in FIG. 13 , the apparatus 800 includes a decoding module 801 and a generating module 802 .

[0180] The decoding module 801 is used to decode the posterior matrix to obtain a decoding sequence.

[0181] In an embodiment, each element in the decode sequence corresponds to one of the polymer unit classes.

[0182] The generation module 802 is used to obtain a polymer unit sequence based on the decoding sequence.

[0183] It should be understood that the various modules / units of apparatus 700 and apparatus 800 shown in Figures 12 and 13 may correspond to the various steps in method 200 and processing method 400 described with reference to Figures 2 and 5. Therefore, the operations, features, and advantages described above for method 200 and processing method 400 are also applicable to apparatus 700 and apparatus 800 and the modules / units included therein. For the sake of brevity, certain operations, features, and advantages are not described in detail herein.

[0184] While specific functionality has been discussed above with reference to specific modules, it should be noted that the functionality of the various modules discussed herein may be separated into multiple modules, and / or at least some functionality of multiple modules may be combined into a single module. A specific module as discussed herein performing an action includes the specific module itself performing the action, or alternatively, the specific module calling or otherwise accessing another component or module that performs the action (or performs the action in conjunction with the specific module). Thus, a specific module that performs an action may include the specific module itself that performs the action and / or another module that the specific module calls or otherwise accesses to perform the action.

[0185] It should also be understood that various technologies can be described herein in the general context of software hardware elements or program modules. The above modules and / or units described about Figures 12 to 13 can be implemented in hardware or in hardware in combination with software and / or firmware. For example, these modules and / or units can be implemented as computer program codes / instructions, which are configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, these modules and / or units can be implemented as hardware logic / circuits. One or more of the modules and / or units can be implemented together in a system on chip (SoC). SoC can include an integrated circuit chip (which includes a processor (e.g., central processing unit (CPU), microcontroller, microprocessor, digital signal processor (DSP) etc.), memory, one or more communication interfaces, and / or one or more components in other circuits), and can optionally perform received program code and / or include embedded firmware to perform functions.

[0186] According to an embodiment of the present disclosure, a computing device is also provided. The computing device may include at least one processor and a memory communicatively connected to the at least one processor. The memory may store instructions executable by the at least one processor, and the instructions may be executed by the at least one processor to enable the at least one processor to perform the method disclosed in any of the method embodiments described above.

[0187] According to an embodiment of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is also provided. The computer instructions can be used to cause a computer to execute the method disclosed in any of the method embodiments described above.

[0188] According to an embodiment of the present disclosure, a computer program product is also provided. The computer program product may include a computer program. When executed by a processor, the computer program may implement the method disclosed in any of the method embodiments described above. According to an embodiment of the present disclosure, an electronic device, a readable storage medium, and a computer program product are also provided. Referring to Figure 14, a block diagram of an electronic device 900 that can serve as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0189] As shown in Figure 14, the electronic device 900 includes a computing unit 901, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 902 or a computer program loaded from a storage unit 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the electronic device 900 can also be stored. The computing unit 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.

[0190] Multiple components within electronic device 900 are connected to I / O interface 905, including an input unit 906, an output unit 907, a storage unit 908, and a communication unit 909. Input unit 906 can be any type of device capable of inputting information into electronic device 900. Input unit 906 can receive input numeric or character information and generate key signal input related to user settings and / or function control of the electronic device. It may include, but is not limited to, a mouse, keyboard, touch screen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 907 can be any type of device capable of presenting information, and may include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. Storage unit 908 may include, but is not limited to, a magnetic disk or an optical disk. Communication unit 909 allows electronic device 900 to exchange information / data with other devices via computer networks such as the Internet and / or various telecommunication networks. It may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver and / or chipset, such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0191] The computing unit 901 can be various general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning network algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 901 performs the various methods and processes described above, such as a method for processing a first vectorized representation sequence characterizing a polymer and / or a processing method for processing a posterior matrix and its various embodiments. For example, in some embodiments, a neural network training method and / or a method for predicting protein structure can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 908. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded into RAM 903 and executed by computing unit 901, one or more steps of the method for processing a first vectorized representation sequence representing a polymer and / or the processing method for processing a posterior matrix and their respective embodiments described above may be performed. Alternatively, in other embodiments, computing unit 901 may be configured to execute the method for processing a first vectorized representation sequence representing a polymer and / or the processing method for processing a posterior matrix and their respective embodiments by any other appropriate means (e.g., via firmware).

[0192] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0193] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0194] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0195] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0196] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0197] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact via a communication network. This client-server relationship is established by computer programs running on the respective computers, establishing a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host, a host product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosts and VPS services ("Virtual Private Servers" or simply "VPS"). The server may also be a server in a distributed system or a server integrated with blockchain.

[0198] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not limited herein.

[0199] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but is only limited by the claims after authorization and their equivalents. Various elements in the embodiments or examples may be omitted or replaced by their equivalents. In addition, the steps may be performed in an order different from that described in this disclosure. Further, the various elements in the embodiments or examples may be combined in various ways. It is important that as technology evolves, many of the elements described herein may be replaced by equivalent elements that appear after this disclosure.

Claims

1. A method for processing a first vectorized representation sequence characterizing a polymer, the polymer comprising a sequence of polymer units, the first vectorized representation sequence being generated based on an original signal derived from the polymer by nanopore sequencing the polymer, the method comprising: Inputting the first vectorized representation sequence into a first machine learning model to obtain a weight vector output by the first machine learning model, wherein the weight vector has the same length as the first vectorized representation sequence and comprises a plurality of predicted translocation values, each predicted translocation value indicating how many polymer units the polymer has moved relative to an observation site of the nanopore sequencing at a corresponding time step; and The first vectorized representation sequence is integrated with the weight vector to obtain a second vectorized representation sequence representing the polymer.

2. The method according to claim 1, wherein: The first vectorized representation sequence is obtained by processing the original signal through a second machine learning model.

3. The method according to claim 1, wherein: The first vectorized representation sequence is obtained by processing the original signal through a second machine learning model and then undergoing downsampling.

4. The method according to claim 2 or 3, wherein: The second machine learning model is an encoder model.

5. The method according to any one of claims 1 to 3, wherein: The first machine learning model includes: A first sub-model is used to process the first vectorized representation sequence to obtain a processed first vectorized representation sequence; and The second sub-model is used to process the processed first vectorized representation sequence The weight vector is obtained.

6. The method according to claim 5, wherein: The first sub-model is a convolutional neural network layer, which is used to provide context information for the processing of the second sub-model.

7. The method according to any one of claims 1 to 3, wherein: The first vectorized representation sequence and the second vectorized representation sequence both have a second dimension other than length, and the first vectorized representation sequence and the second vectorized representation sequence have the same number of channels in the second dimension.

8. The method according to claim 7, wherein: Integrating the first vectorized representation sequence with the weight vector comprises: The first vectorized representation sequence is processed based on the corresponding predicted transposition values ​​in the weight vector while maintaining the number of channels of the first vectorized representation sequence in the second dimension unchanged.

9. The method according to claim 8, wherein: Processing the first vectorized representation sequence based on the corresponding predicted transposition values ​​in the weight vector comprises: For each element in the weight vector, add the element to all elements before the element, and use the result as a replacement element for the element to obtain a forward accumulation vector; In the forward accumulation vector, each element with a value of 1 is used as a merging point to obtain a merging vector; For each merging point in the merging vector, split the element at the corresponding position in the weight vector into a part before the merging point and a part after the merging point to obtain a decomposed weight vector; Determining a merging interval of the decomposed weight vector based on grouping elements in the decomposed weight vector; According to the weights in each merging interval of the decomposition weight vector, the vectorized representation of the corresponding time step of the first vectorized representation sequence is weighted to obtain the second vectorized representation sequence. Quantize the representation sequence.

10. The method according to claim 8, wherein: Processing the first vectorized representation sequence based on the corresponding predicted transposition values ​​in the weight vector comprises: Determining one or more elements in the weight vector that meet a threshold; Selecting one or more vectorized representations from the first sequence of vectorized representations that correspond in position to the one or more elements in the weight vector that meet the threshold; Based on the selected one or more vectorized representations, the second vectorized representation sequence is obtained.

11. The method according to any one of claims 1 to 3, wherein: Integrating the first vectorized representation sequence with the weight vector comprises: Obtaining a high-dimensional feature matrix corresponding to the first vectorized representation sequence and a feature fusion matrix corresponding to the weight vector according to the attention mechanism; Based on the matrix operation of the high-dimensional feature matrix and the feature fusion matrix, the second vectorized representation sequence is obtained.

12. The method according to any one of claims 1 to 3, wherein: The polymer is a sequence of bases, and the polymer units are bases or combinations of bases.

13. A method for processing a posterior matrix, wherein: The posterior matrix is ​​obtained by processing the second vectorized representation sequence obtained by the method according to any one of claims 1 to 12 by a third machine learning model, the number of rows of the posterior matrix is ​​equal to the number of polymer unit classifications, each column element of the posterior matrix indicates a corresponding polymer unit among multiple polymer units, and multiple consecutive column elements of the posterior matrix indicate corresponding different polymer units among multiple polymer units, and the processing method includes: Decoding the posterior matrix to obtain a decoding sequence, each element in the decoding sequence corresponds to one of the polymer unit classifications; and Based on the decoded sequence, the polymer unit sequence is obtained.

14. The method according to claim 13, wherein: Decoding the a posteriori matrix comprises one of: Decoding the posterior matrix using Viterbi decoding; decoding the posterior matrix using a beam search; and The maximum value of each column of the posterior matrix is ​​taken to obtain the decoded sequence.

15. The method according to claim 13, wherein: The polymer unit classification includes placeholders, and obtaining the polymer unit sequence based on the decoded sequence includes: removing the placeholders in the decoded sequence.

16. The method according to claim 13, wherein: The polymer unit is a base combination, each element in the decoded sequence represents a corresponding base combination, and obtaining a polymer unit sequence based on the decoded sequence includes: selecting a base at the same position from each element in the decoded sequence as a corresponding element of the polymer unit sequence.

17. The method according to any one of claims 13 to 16, wherein: The third machine learning model includes at least one of the following: a fully connected neural network, a convolutional neural network, a recurrent neural network, or an attention mechanism.

18. The method according to any one of claims 13 to 16, further comprising, before decoding the posterior matrix: The second vectorized representation sequence is input into a fourth machine learning model to obtain a processed second vectorized representation sequence output by the fourth machine learning model.

19. The method according to claim 18, wherein: The fourth machine learning model is used to provide prior constraints for the step of decoding the posterior matrix.

20. The method according to any one of claims 13 to 16, wherein: The polymer unit classification is determined based on one or more of the plurality of polymer units.

21. An apparatus for processing a first vectorized representation sequence characterizing a polymer, comprising: A weight acquisition module, configured to input the first vectorized representation sequence into a first machine learning model to obtain a weight vector output by the first machine learning model, wherein the weight vector has the same length as the first vectorized representation sequence and comprises a plurality of predicted translocation values, each predicted translocation value indicating how many polymer units the polymer has moved relative to an observation site of the nanopore sequencing at a corresponding time step; as well as An integration module is used to integrate the first vectorized representation sequence with the weight vector to obtain a second vectorized representation sequence representing the polymer.

22. A device for processing a posterior matrix, wherein: The posterior matrix is ​​obtained by processing the second vectorized representation sequence obtained by the method according to any one of claims 1 to 12 by a third machine learning model, the number of rows of the posterior matrix is ​​equal to the number of polymer unit classifications, each column element of the posterior matrix indicates a corresponding polymer unit among multiple polymer units, and multiple consecutive column elements of the posterior matrix indicate corresponding different polymer units among multiple polymer units, and the device includes: a decoding module, configured to decode the posterior matrix to obtain a decoding sequence, wherein each element in the decoding sequence corresponds to one of the polymer unit classifications; and A generating module is used to obtain the polymer unit sequence based on the decoding sequence.

23. A computing device comprising: at least one processor; as well as At least one memory having code instructions stored thereon, wherein when the code instructions are executed by the at least one processor, the computing device executes the method of any one of claims 1-20.

24. A computer-readable storage medium having code instructions stored thereon, wherein when the code instructions are executed by one or more processors, the one or more processors are caused to execute the method according to any one of claims 1-20.

25. A computer program product, comprising code instructions, which, when executed by one or more processors, cause the one or more processors to perform the method of any one of claims 1-20.

Citation Information

Patent Citations

  • Method for quickly identifying single-molecule nanopore sequencing bases based on deep network

    CN112183486A

  • Analysis of nanopore signal using machine-learning technique

    CN113166804A

  • Sequence and posterior matrix processing method and device and computing equipment

    CN116884503A

  • Methods and systems for characterizing a polymer

    US20050136408A1