DNA storage coding and decoding method and device, electronic equipment and storage medium
By filling and coding the data to be encoded, the encoding error mode of DNA base sequences is identified and decoded, the problem of poor DNA storage and coding accuracy is solved, and efficient and accurate DNA storage and coding is achieved.
Patent Information
- Application Number
- CN202411190808.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-21
- Filing Date
- 2024-08-27
- Publication Date
- 2025-03-04
AI Technical Summary
The accuracy of existing DNA storage compilation and decoding methods is poor, especially the problems of information loss caused by errors such as nucleotide replacement, insertion and deletion that may occur during DNA storage.
By obtaining the data to be encoded for information filling, the target binary sequence is obtained, and encoding and mapping is performed to generate a DNA base sequence. Identify the encoding error mode of the DNA base sequence, and select the corresponding decoding algorithm for decoding to obtain the decoded data.
It improves the accuracy and efficiency of DNA storage compilation and decoding, and can determine the other error bit position through one error bit position during decoding, reduces the coding complexity, and improves the decoding accuracy through different encoding error modes, realizing lossless compilation of encoded data.
Smart Images

Figure CN119560034A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of coding technology, and in particular to a DNA storage coding method, device, electronic equipment and storage medium. Background Art
[0002] As the amount of information grows exponentially, the research and development of new data storage technologies has become a focus of attention in all walks of life. As a carrier of information, deoxyribonucleic acid (DNA) molecules have many advantages over traditional storage media. Its high storage density, potential low maintenance costs and other outstanding features make it an ideal choice for information storage. DNA storage involves converting data into sequence information of different bases in the DNA molecule chain through a DNA encoding algorithm and storing it in the corresponding storage carrier. When needed, it can be read through a specific DNA decoding algorithm to regenerate the original data.
[0003] DNA coding plays a key role in DNA storage, and its goal is to store data information accurately with as few base sequences as possible. The quality of DNA coding directly affects storage performance and the integrity of data reading and writing. In the process of DNA storage information, including DNA coding, synthesis, storage, DNA sequencing, and decoding, there are potential error risks that may lead to information loss. In order to maximize the guarantee of error-free reading of information, the corresponding error correction mechanism is introduced in the DNA storage process to improve the accuracy of storage. Using DNA storage (Barcode) libraries to identify single biomolecules marked in a collection population has become an important tool in current large-scale parallel biomedical experiments. However, errors may occur during the synthesis of Barcode, the experimental process, and the final sequencing, such as nucleotide substitutions, insertions, and deletions. Therefore, in order to recover the original codeword from the chaotic (wrong) version of the storage, researchers hope to use the technology of error correction codes without comparing each possible erroneous read with each known codeword in the library one by one. Such an error correction code mechanism can improve the accuracy of storage identification and make it possible to recover the original codeword.
[0004] RS (Reed-Solomon) code is the main error correction method currently used in DNA storage. It is used to detect and correct errors introduced during DNA storage. During the synthesis, storage, reading and sequencing process, DNA molecules have potential error risks, such as nucleotide substitution, insertion and deletion. By embedding RS codewords into the DNA molecule chain, some errors can be detected and corrected during reading, improving the reliability of stored data. By encoding the original data and selecting appropriate RS code parameters according to the characteristics of the storage system, codewords with high error correction capabilities can be generated. In this way, even if a certain number of errors occur during data storage and reading, the original data can be restored through decoding operations.
[0005] The RS code uses a polynomial encoding method to detect and correct errors by adding some redundant information to the original data. The basic principle is to regard the data as a polynomial and encode the polynomial. During the encoding process, the data polynomial is converted into a set of error correction codewords by using finite field operations in discrete mathematics. The error correction codeword contains the original data and some additional redundant information. At the receiving end, the original data can be restored by decoding and correcting the received data. In order to achieve a higher error correction capability, the RS code introduces more redundant information, which leads to an increase in the overhead of data storage or transmission. Higher redundancy will take up more storage space. The encoding and decoding process of the RS code is relatively complex and requires polynomial operations and finite field operations. This poses certain challenges to the implementation of efficient encoding and decoding algorithms, especially in a resource-constrained environment, resulting in poor efficiency and accuracy of encoding and decoding. Summary of the invention
[0006] The present invention provides a DNA storage encoding method, device, electronic device and storage medium, the main purpose of which is to solve the problem of poor accuracy of the DNA storage encoding method provided in the related art.
[0007] To achieve the above-mentioned purpose, the present invention provides a DNA storage encoding and decoding method, comprising: obtaining data to be encoded, filling information on the data to be encoded, and obtaining a target binary sequence; encoding and mapping the target binary sequence to obtain a DNA base sequence corresponding to the data to be encoded; identifying a coding error pattern of the data to be encoded according to the DNA base sequence; and selecting a corresponding decoding algorithm according to the coding error pattern to decode the DNA base sequence to obtain decoded data.
[0008] The present invention also provides a DNA storage encoding and decoding device, including: an information filling module, used to obtain data to be encoded, fill information on the data to be encoded, and obtain a target binary sequence; a coding mapping module, used to encode and map the target binary sequence to obtain a DNA base sequence corresponding to the data to be encoded; a coding error pattern recognition module, used to identify the coding error pattern of the data to be encoded according to the DNA base sequence; a DNA base sequence decoding module, used to select a corresponding decoding algorithm according to the coding error pattern to decode the DNA base sequence to obtain decoded data.
[0009] The present invention also provides an electronic device, comprising: a memory communicatively connected to at least one processor; wherein the processor is used to execute a computer program stored in the memory; the memory stores a computer program executable by at least one processor, and the computer program is executed by at least one processor so that the at least one processor can execute the above-mentioned DNA storage encoding and decoding method.
[0010] The present invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements any one of the above-mentioned DNA storage encoding and decoding methods.
[0011] The embodiment of the present invention can fill the information of the data to be encoded so that the length of the data to be encoded meets the length requirement of the polarization code, thereby realizing an adaptive length DNA storage design, which is beneficial to improving the efficiency and accuracy of subsequent encoding; encoding and mapping the target binary sequence can obtain the encoded DNA base sequence; identifying the encoding error pattern corresponding to the DNA base sequence for decoding, and the position of another erroneous bit can be determined by the position of one erroneous bit during decoding, further reducing the complexity of decoding, and at the same time, the accuracy of decoding can be effectively improved through different encoding error patterns, realizing lossless encoding of the data to be encoded. Therefore, the DNA storage encoding method, device, electronic device and storage medium proposed by the present invention can solve the problem of poor accuracy of DNA storage encoding and decoding, and realize DNA storage encoding of arbitrary length. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 A schematic diagram of a flow chart of a DNA storage encoding and decoding method provided by one embodiment of the present invention;
[0013] Figure 2 A schematic diagram of the principle of DNA storage provided by one embodiment of the present invention;
[0014] Figure 3 A schematic diagram of the principle of filling information into a binary sequence provided by an embodiment of the present invention;
[0015] Figure 4 A schematic diagram of the principle of channel polarization provided by an embodiment of the present invention;
[0016] Figure 5 A schematic diagram of the principle of puncturing a padded binary sequence provided by an embodiment of the present invention;
[0017] Figure 6 A schematic diagram of the principle of polar code coding provided by an embodiment of the present invention;
[0018] Figure 7A schematic diagram of the principle of DNA base mapping provided by one embodiment of the present invention;
[0019] Figure 8 A schematic diagram of the codeword correspondence between encoding and decoding provided by an embodiment of the present invention;
[0020] Fig. 9 A schematic diagram of a decoding process corresponding to a deletion error provided by an embodiment of the present invention;
[0021] Fig.10 A schematic diagram of a decoding process corresponding to an insertion error provided by an embodiment of the present invention;
[0022] Fig.11 A comparison chart of encoding and decoding performance when the DNA storage length is 10 nt provided in one embodiment of the present invention;
[0023] Fig.12 A comparison chart of encoding and decoding performance when the DNA storage length is 22 nt provided in one embodiment of the present invention;
[0024] Fig.13 A comparison chart of encoding and decoding performance when the DNA storage length is 24 nt provided in one embodiment of the present invention;
[0025] Fig.14 A comparison chart of encoding and decoding performance when the DNA storage length is 26 nt provided in one embodiment of the present invention;
[0026] Fig.15 A performance diagram of an SCL (L=16) decoding algorithm provided by an embodiment of the present invention;
[0027] Fig.16 A performance diagram of an SC decoding algorithm provided by an embodiment of the present invention;
[0028] Fig.17 A functional module diagram of a DNA storage encoding and decoding device provided by one embodiment of the present invention;
[0029] Fig.18 A schematic diagram of the structure of an electronic device for implementing a DNA storage encoding and decoding method provided in accordance with an embodiment of the invention.
[0030] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0031] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.
[0032] The embodiment of the present application provides a DNA storage encoding and decoding method. The execution subject of a DNA storage encoding and decoding method includes but is not limited to at least one of the electronic devices such as a server, a terminal, etc. that can be configured to execute the method provided in the embodiment of the present application. In other words, a DNA storage encoding and decoding method can be executed by software or hardware installed on a terminal device or a server device. The server includes but is not limited to: a single server, a server cluster, a cloud server or a cloud server cluster, etc. The server can be an independent server, or it can be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), and basic cloud computing services such as big data and artificial intelligence platforms.
[0033] Reference Figure 1 FIG. 1 is a flow chart of a DNA storage encoding and decoding method provided by an embodiment of the present invention, which specifically includes the following process:
[0034] S1. Obtain the data to be encoded, fill the data to be encoded with information, and obtain the target binary sequence.
[0035] In one embodiment, the data to be encoded may be binary data of one or more of text, image, numerical data, and audio and video data. By filling the binary data with information, the data length of the target binary sequence can meet the adaptive requirements.
[0036] Specifically, DNA storage involves converting data into sequence information of different bases in the DNA molecular chain through a DNA encoding algorithm and storing it in a corresponding storage carrier. For details on the encoding and decoding of DNA data, please refer to Figure 2 shown.
[0037] In one embodiment, information filling is performed on the data to be encoded to obtain a target binary sequence, including: dividing the data to be encoded into binary sequences of preset lengths; and information filling is performed on the binary sequence using preset frozen bit information to obtain the target binary sequence.
[0038] In one embodiment, the length of each data in the binary sequence can be determined according to the code rate of the data to be encoded, and the binary sequence can be padded with preset frozen bit information so that the data length of the binary sequence is an integer power of 2, which facilitates subsequent encoding and compression of the data.
[0039] Specifically, data filling is performed based on the channel polarization theory to fill the frozen bit information, for example, Figure 3 As shown, Figure 3The frozen bits are the information sequence shared during encoding and decoding. The frozen bits are used to fill the frozen bit information [010100101] into the position of the polarization subchannel where the error probability tends to 1. The information bits are the actual information sequence carried. The binary sequence [1011011] is filled into the position of the polarization subchannel where the error probability tends to 0.
[0040] In one embodiment, information filling is performed on a binary sequence using preset frozen bit information to obtain a target binary sequence, including: performing channel polarization simulation on a channel of the data to be encoded according to a preset error probability to obtain reliability information of each channel, and determining frozen bits and information bits according to the reliability information; filling the preset frozen bit information and the binary sequence into the frozen bits and information bits to obtain a filled binary sequence; and puncturing the filled binary sequence to obtain a target binary sequence.
[0041] In one embodiment, the channel polarization simulation of the polar code is a low-complexity forward error correction code that can achieve channel capacity in a binary-input symmetric memoryless channel. Through the channel polarization simulation, it can have a clear recursive structure and low coding complexity. Its recursive structure is as follows Figure 4 As shown, is the input source bit, Enter channel W N After that, it is first converted into Represents a bit reversal sort operation, with the input being The output is Then there are two sub-channels W N / 2 The input, then through the sub-channel W N / 2 Perform recursion to get the final output
[0042] in, represents XOR operation, channel W N The two sub-channels W N / 2 The subchannel W N / 2 There are two smaller sub-channels W N / 4 The recursion level by level produces polarization phenomenon: part of the channel becomes worse, that is, the error probability tends to 1 as the frozen bit, and part of the channel becomes better, that is, the error probability tends to 0 as the information bit. The better channel is used to send information, and the worse channel is used as redundant bit to assist decoding. Therefore, the frozen bit information is filled into the frozen bit, and the binary sequence is filled into the information bit, where the reliability information is the error probability of each channel.
[0043] It should be noted that the frozen bit information is a preset binary sequence, and the data length of the frozen bit information plus the data length of the binary sequence is the length of the binary data. For example, the binary data is equally divided into sequences of length K, then the data length of the frozen bit information is NK, and a target binary sequence consisting of data each of which has a data length of N can be obtained.
[0044] Specifically, punching is to use punching technology to achieve adaptive length DNA coding design. For example, to design a DNA storage with a length of N, it is necessary to The basic idea of puncturing is to generate the polar code matrix G according to N The characteristics of the sequence U before encoding Specific positions are filled with 0 so that the sequence X obtained after multiplying by the generator matrix has A specific position is always 0, so the position that is always 0 can be deleted to make the encoded sequence reach the specified length. When decoding, it is only necessary to fill 0 at the punctured position to continue decoding the polar code.
[0045] See also Figure 5 As shown, according to the rule of mapping binary sequences to DNA base sequences, we can use the symmetrical punching method to select the upper and lower parts of the binary sequence U. The positions are filled with 0, so that the upper and lower halves of the encoded sequence X have The positions are always 0 and correspond to each other, that is, when the i-th position is a puncture position, the The bit must also be a punctured bit, so that subsequent encoding and up and down mapping can be performed to obtain a DNA sequence, where A, T, G, and C represent one of the four bases in the DNA sequence.
[0046] In one embodiment, by filling information on the data to be encoded, the length of the data to be encoded can meet the length requirement of the polar code, thereby realizing an adaptive length DNA storage design and an arbitrary length error correction code design, which can be used in a variety of scenarios and is conducive to improving the efficiency and accuracy of subsequent encoding.
[0047] S2. Encode and map the target binary sequence to obtain the DNA base sequence corresponding to the data to be encoded.
[0048] In one embodiment, see Figure 3 As shown, the encoding is performed by multiplying the target binary sequence of binary data filled with frozen bit information and the data to be encoded by the polar code generation matrix to obtain the encoded binary sequence, and finally mapping the encoded binary sequence to a base sequence to obtain a DNA sequence corresponding to the encoded data.
[0049] In one embodiment, encoding and mapping a target binary sequence to obtain a DNA sequence corresponding to the data to be encoded includes: calculating a polarization code generation matrix corresponding to the target binary sequence; generating a coded binary sequence according to the polarization code generation matrix; and performing up-down symmetrical mapping on the coded binary sequence to obtain a DNA base sequence.
[0050] In an embodiment, the polarization code generation matrix is a generation matrix of the polarization code, and polarization code encoding can be implemented through the polarization code generation matrix.
[0051] In one embodiment, calculating a polar code generation matrix corresponding to a target binary sequence includes: constructing a permutation matrix according to a data code length of the target binary sequence; and generating a polar code generation matrix according to the permutation matrix and the data code length.
[0052] In one embodiment, the permutation matrix is an N*N matrix, where N is the data code length of the target binary sequence. For example, the permutation matrix may be a bit reversal matrix.
[0053] In one embodiment, the polar code generation matrix is generated using the following formula:
[0054]
[0055] Among them, G N represents the polar code generation matrix, B N represents the permutation matrix, represents the Kronecker product of the matrix, and N represents the data code length.
[0056] The generating matrix is a polar code generating matrix corresponding to a target binary sequence having the same code length as the data, generated by the log2(N)-times Kronecker product of the matrix F and the permutation matrix. Thus, the polar code generating matrix can be used to encode the data to be encoded.
[0057] Specifically, since DNA contains four bases, the binary sequence needs to be converted into a quaternary sequence and then mapped to a quaternary sequence during DNA storage. Two binary symbols are combined into a quaternary symbol. There are many ways to select the position of the binary symbol. Considering the characteristics of polar codes, the synthesis can be performed in a symmetrical mapping manner, which is easier to analyze and handle error scenarios.
[0058] like Figure 3As shown, channel polarization simulation can divide the channel into good channels and bad channels, so as to determine the frozen bits (no information is stored) and information bits (bits used to store information). The positions of the frozen bits and information bits are usually concentrated on both sides of the sequence. Therefore, the upper and lower symmetrical mapping can synthesize an information bit and a frozen bit into a quaternary symbol to obtain a DNA base sequence. For example, the base G is obtained by the first information bit 1 and the frozen bit information 0, and the base C is obtained by the second information bit 1 and the frozen bit information 1. By analogy, the binary sequence can be mapped to the DNA base sequence, and then the DNA sequence can be synthesized through the base sequence and stored in the preset DNA medium.
[0059] In one embodiment, through upper and lower symmetric mapping, during decoding, the position of another erroneous bit can be determined by only the position of one erroneous bit, thereby reducing the complexity of decoding.
[0060] S3. Identify the encoding error pattern of the data to be encoded according to the DNA base sequence.
[0061] In one embodiment, the coding error pattern is a coding error that may occur in the encoding process of the data to be encoded, such as an insertion error, a deletion error, a substitution error, and an error-free pattern. By identifying the coding error pattern and correctly decoding the DNA base sequence, the decoding accuracy can be improved.
[0062] In one embodiment, identifying a coding error pattern of data to be encoded based on a DNA base sequence includes: mapping the DNA base sequence to a decoding binary sequence; and identifying a coding error pattern of the data to be encoded based on a sequence length of the decoding binary sequence.
[0063] In one embodiment, the coding method based on polar code can be as follows: Figure 6 As shown, the source data is converted into binary to obtain the data to be encoded, and then data filling and subsequent encoding are performed according to the frozen bit information, and then mapped to a base sequence, and the final DNA sequence is generated and stored in the corresponding DNA medium, and then the decoding algorithm of the present invention is used to perform the inverse operation of encoding to achieve the restoration of the data to be encoded.
[0064] In one embodiment, see Figure 7As shown, the base sequence in the DNA base sequence is mapped to the corresponding decoding binary sequence through mapping. For example, the base sequence in the DNA base sequence is [GCCGTCGC], and the binary sequence obtained by upper and lower symmetric mapping is [0101001011011011]. Then, the encoding error mode is determined according to the sequence length of the decoding binary sequence. For example, if the sequence length of the decoding binary sequence is longer than that of the original target binary sequence, the encoding error mode is an insertion error, if the sequence length is shortened, the encoding error mode is a deletion error, and if the sequence length remains unchanged, the encoding error mode is a replacement error or no error, so that targeted decoding can be performed to improve the accuracy of decoding.
[0065] S4. Select a corresponding decoding algorithm according to the coding error pattern to decode the DNA base sequence to obtain decoded data.
[0066] In one embodiment, the SC decoding algorithm can be directly used to decode the replacement error or no error. Specifically, for the polar code with a length of N, the signal received by the SC decoder is: (i.e. y1,y2,...,y N ), decoding is first based on Decode to get u1, and then according to and n1 to get u2, and then decode each bit by bit using the existing information until u is obtained. N .
[0067] Bit errors in the middle of SC decoding will affect the subsequent decoding results. In order to affect the subsequent decoding, the SC list (SCL) algorithm can be used. The SC decoding algorithm selects a single path with the largest conditional probability to decode to the end during the decoding process, while the SCL decoding algorithm follows the L paths with the largest conditional probabilities, continuously pruning in the middle to maintain the maximum L paths until the decoding is completed. This can decode the DNA sequence more accurately and ensure the accuracy of the encoding and decoding of the data to be encoded.
[0068] In one embodiment, the decoding algorithm for deletion errors adds the calculation of the deletion state based on SC decoding. If the code length is N, after DNA synthesis and sequencing, d symbols are deleted, then the signal received by the decoder is At this time, the SC or SCL decoder cannot be used directly for decoding. Assume that the encoded codeword is You need to find and The correct correspondence can be decoded. If all cases are enumerated directly, there are Possibility, and For details on the corresponding relationship, please refer to Figure 8 shown.
[0069] For example, It is divided into three parts: Assume that the number of symbols deleted in the three parts is d1, d2, and d3, and d1+d2+d3=d, then d3=d-d1-d2, so we only need to determine d1 and d2 to determine and Table 1 lists all the possibilities under this division method, which has a total of (d+1)(d+2) / 2 possibilities. That is, according to this division method, each node only needs to consider three states during decoding, which can greatly reduce the amount of calculation. The time complexity is O(d 2 N log N).
[0070] Table 1
[0071]
[0072] like Fig. 9 As shown, the sequence After encoding, in is the intermediate sequence of the encoding process, A two-bit deletion error occurred, resulting in the sequence When calculating to the node where t1 is located, the information of x1 and x2 is needed, that is, and The corresponding relationship of all three possibilities is shown in Table 2.
[0073] Table 2
[0074]
[0075]
[0076] The decoding algorithm for insertion errors is similar to that for deletion errors. The insertion state is added based on SC decoding. Indicates that in x i s1 elements are inserted in front, at x i to x j s2 elements are inserted in the middle and x j s3 elements are inserted later, and the calculation of the formula can also be simplified by the mapping rule. For example, see Fig.10 As shown, there is an insertion error in the middle. When calculating to the node where t1 is located, the information of x1 and x2 is needed, that is, and The corresponding relationship of all three possibilities is shown in Table 3.
[0077] Table 3
[0078]
[0079] There are two possibilities at this time. Corresponding to the original There is no insertion error in the part, so when calculating correspond Another possibility is Corresponding to the original If an insertion error occurs in the part of correspond Implements decoding of inserted errors.
[0080] For example, see Fig.11 As shown in the figure, when the designed DNA base sequence length is 10 nt (20 bits), SCL (L = 16) is used for decoding, and the bit rate is 0.5, the error rate is 4.32×10 -2 , the bit error rate is 1.16×10 -2 , even if the bit rate is increased to 0.7, it can still maintain 9.73×10 -2 The error rate and 3.73×10 -2 The bit error rate of Fig.12 As shown in the figure, when the designed DNA storage length is 22 nt, SCL (L = 16) is used for decoding, and the bit rate is 0.5, the error rate is 3.95×10 -2 , the bit error rate is 1.36×10 -2 , even if the bit rate is increased to 0.7, it can still maintain 9.83×10 -2 The error rate and 3.6×10 -2 The bit error rate of Fig.13 As shown in the figure, when the designed DNA storage length is 24 nt, SCL (L = 16) is used for decoding, and the bit rate is 0.5, the error rate is 3.83 × 10 -2 , the bit error rate is 1.17×10 -2 . See Fig.14 As shown in the figure, when the designed DNA storage length is 26 nt, SCL (L = 16) is used for decoding, and the bit rate is 0.5, the error rate is 3.49 × 10 -2 , the bit error rate is 9.32×10 -3 .
[0081] In one embodiment, Fig.15 The results are shown in the SCL (L = 16) decoding algorithm for a code length of 64, 32 nt (base pairs) with a 4-bit cyclic redundancy code (CRC). Overall, as the bit rate increases, the error rate and bit error rate increase. When the bit rate is 0.5, the error rate is 2.28×10 -3, the bit error rate is 5.97×10 -4 When the bit rate is as high as 0.8, it can still maintain 1.54×10 -1 The error rate and 4.52×10 -2 The bit error rate of Fig.16 The SC decoding algorithm is used to compare the results of using and not using symmetric coding at 32nt and code length of 64. When the bit rate is low, the performance of using symmetric coding is better than that of not using symmetric coding. As the bit rate increases, the advantage of using symmetric coding becomes less obvious. When the bit rate is 0.7-0.9, there is almost no difference in performance with or without using symmetric coding.
[0082] In summary, since the information of frozen bits is known during decoding, the accuracy of decoding can be increased. In addition, during sequencing, errors such as deletion, insertion and substitution may occur in the base sequence. When these errors occur, since the synthesis of symbols is symmetrical, the position of one of the erroneous bits can be used to determine the position of another erroneous bit during decoding, further reducing the complexity of decoding. At the same time, different coding error modes can effectively improve the accuracy of decoding and achieve lossless compilation of the coded data.
[0083] like Fig.17 FIG. 1 is a functional module diagram of a DNA storage encoding and decoding device provided by an embodiment of the present invention.
[0084] The DNA storage encoding and decoding device 170 of this embodiment can be installed in an electronic device. According to the functions to be implemented, the DNA storage encoding and decoding device 170 may include an information filling module 171, a coding mapping module 172, a coding error pattern recognition module 173, and a DNA base sequence decoding module 174. The module of the present invention can also be called a unit, which refers to a series of computer program segments that can be executed by an electronic device processor and can complete fixed functions, which are stored in the memory of the electronic device.
[0085] In this embodiment, the functions of each module / unit are as follows: an information filling module 171 is used to obtain the data to be encoded, fill the data to be encoded with information, and obtain a target binary sequence; a coding mapping module 172 is used to encode and map the target binary sequence to obtain a DNA base sequence corresponding to the data to be encoded; a coding error pattern recognition module 173 is used to identify the coding error pattern of the data to be encoded according to the DNA base sequence; a DNA base sequence decoding module 174 is used to select a corresponding decoding algorithm according to the coding error pattern to decode the DNA base sequence to obtain decoded data.
[0086] In detail, in one embodiment, each module in a DNA storage encoding and decoding device 170 adopts the same technical means as a DNA storage encoding and decoding method in the accompanying drawings when used, and can produce the same technical effects, which will not be repeated here.
[0087] like Fig.18 FIG. 1 is a schematic diagram of the structure of an electronic device for implementing a DNA storage encoding and decoding method provided by an embodiment of the present invention.
[0088] The electronic device 180 may include a processor 181, a memory 182, a communication bus 183, and a communication interface 184, and may also include a computer program stored in the memory 182 and executable on the processor 181, such as a DNA storage encoding program.
[0089] In some embodiments, the processor 181 may be composed of an integrated circuit, for example, a single packaged integrated circuit, or a plurality of packaged integrated circuits with the same or different functions, including one or more central processing units (CPUs), microprocessors, digital processing chips, graphics processors, and combinations of various control chips. The processor 181 is the control core (Control Unit) of the electronic device, and uses various interfaces and lines to connect various components of the entire electronic device, and executes various functions of the electronic device and processes data by running or executing programs or modules stored in the memory 182 (for example, executing a DNA storage encoding program, etc.), and calling data stored in the memory 182.
[0090] The memory 182 includes at least one type of readable storage medium, and the readable storage medium includes a flash memory, a mobile hard disk, a multimedia card, a card-type memory (for example, SD or DX memory, etc.), a magnetic memory, a disk, an optical disk, etc. In some embodiments, the memory 182 may be an internal storage unit of an electronic device, such as a mobile hard disk of the electronic device. In other embodiments, the memory 182 may also be an external storage device of an electronic device, such as a plug-in mobile hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the electronic device. Further, the memory 182 may also include both an internal storage unit of the electronic device and an external storage device. The memory 182 can not only be used to store application software and various types of data installed in the electronic device, such as a code based on a DNA storage encoding and decoding program, but can also be used to temporarily store data that has been output or is to be output.
[0091] The communication bus 183 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. The bus is configured to realize connection and communication between the memory 182 and at least one processor 181, etc.
[0092] The communication interface 184 is used for communication between the above-mentioned electronic device and other devices, including a network interface and a user interface. Optionally, the network interface may include a wired interface and / or a wireless interface (such as a WI-FI interface, a Bluetooth interface, etc.), which is generally used to establish a communication connection between the electronic device and other electronic devices. The user interface may be a display (Display), an input unit (such as a keyboard (Keyboard)), and optionally, the user interface may also be a standard wired interface, a wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, and an OLED (Organic Light-Emitting Diode, organic light-emitting diode) touch device, etc. Among them, the display may also be appropriately referred to as a display screen or a display unit, which is used to display information processed in the electronic device and to display a visual user interface.
[0093] Fig.18 Only an electronic device with components is shown, and those skilled in the art will understand that Fig.18 The structure shown does not constitute a limitation on the electronic device 180 , and may include fewer or more components than shown in the figure, or combine certain components, or arrange the components differently.
[0094] For example, although not shown, the electronic device may also include a power source (such as a battery) for supplying power to various components. Preferably, the power source may be logically connected to at least one processor 181 through a power management device, so that the power management device can realize functions such as charging management, discharging management, and power consumption management. The power source may also include any components such as one or more DC or AC power sources, recharging devices, power failure detection circuits, power converters or inverters, and power status indicators. The electronic device may also include a variety of sensors, Bluetooth modules, Wi-Fi modules, etc., which will not be repeated here.
[0095] It should be understood that the embodiment is for illustration only and the scope of the patent application is not limited by this structure.
[0096] The present invention also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it can implement a DNA storage encoding method of any of the above embodiments. It should be noted that the computer-readable storage medium can be volatile or non-volatile. For example, the computer-readable medium may include: any entity or device that can carry computer program code, a recording medium, a USB flash drive, a mobile hard disk, a magnetic disk, an optical disk, a computer memory, and a read-only memory (ROM). In the several embodiments provided by the present invention, it should be understood that the disclosed devices, apparatuses and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of modules is only a logical function division, and there may be other division methods in actual implementation.
[0097] The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0098] In addition, each functional module in each embodiment of the present invention may be integrated into one processing unit, each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional modules.
[0099] It is obvious to those skilled in the art that the present invention is not limited to the details of the above exemplary embodiments, and that the present invention can be implemented in other specific forms without departing from the spirit or essential characteristics of the present invention.
[0100] Therefore, no matter from which point of view, the embodiments should be regarded as illustrative and non-restrictive, and the scope of the present invention is limited by the appended claims rather than the above description, so it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims are included in the present invention. Any attached figure mark in the claims should not be regarded as limiting the claims involved.
[0101] In addition, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the system claim can also be implemented by one unit or device through software or hardware. The words first, second, etc. are used to indicate names, and do not indicate any particular order.
[0102] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solution of the present invention can be modified or replaced by equivalents without departing from the spirit and scope of the technical solution of the present invention.
Claims
1. A DNA storage encoding method, characterized in that: The method comprises: Acquire data to be encoded, and perform information filling on the data to be encoded to obtain a target binary sequence; Encoding and mapping the target binary sequence to obtain a DNA base sequence corresponding to the data to be encoded; Identifying a coding error pattern of the data to be encoded according to the DNA base sequence; A corresponding decoding algorithm is selected according to the coding error pattern to decode the DNA base sequence to obtain decoded data.
2. A DNA storage encoding method as claimed in claim 1, characterized in that: The step of filling the data to be encoded with information to obtain a target binary sequence includes: Dividing the data to be encoded into binary sequences of preset length; The binary sequence is filled with information using preset frozen bit information to obtain a target binary sequence.
3. A DNA storage encoding method as claimed in claim 2, characterized in that: The step of filling the binary sequence with information by using the preset frozen bit information to obtain a target binary sequence includes: Performing channel polarization simulation on the channel of the data to be encoded according to a preset error probability to obtain reliability information of each channel; Selecting the frozen bits and information bits of the data to be encoded according to the reliability information; Filling the frozen bits and the information bits with the preset frozen bit information and the binary sequence to obtain a filled binary sequence; The padded binary sequence is punctured to obtain a target binary sequence.
4. A DNA storage encoding method as claimed in claim 1, characterized in that: The encoding and mapping of the target binary sequence to obtain a DNA base sequence corresponding to the data to be encoded includes: Calculating a polar code generation matrix corresponding to the target binary sequence; generating a coded binary sequence according to the polar code generation matrix; The encoded binary sequence is mapped symmetrically up and down to obtain a DNA base sequence.
5. A DNA storage encoding method as claimed in claim 4, characterized in that: The calculating a polar code generation matrix corresponding to the target binary sequence includes: Constructing a permutation matrix according to the data code length of the target binary sequence; A polar code generation matrix is generated according to the permutation matrix and the data code length.
6. A DNA storage encoding method as claimed in claim 5, characterized in that: The generating a polar code generation matrix according to the permutation matrix and the data code length includes: The polar code generation matrix is generated using the following formula: Among them, G N represents the polar code generation matrix, B N represents the permutation matrix, represents the Kronecker product of the matrix, and N represents the data code length.
7. A DNA storage encoding method as claimed in claim 1, characterized in that: The step of identifying the encoding error pattern of the data to be encoded according to the DNA base sequence includes: Mapping the DNA base sequence into a decoding binary sequence; The encoding error pattern of the data to be encoded is identified according to the sequence length of the decoded binary sequence.
8. A DNA storage encoding and decoding device, characterized in that: The device comprises: An information filling module is used to obtain data to be encoded, perform information filling on the data to be encoded, and obtain a target binary sequence; A coding and mapping module, used to encode and map the target binary sequence to obtain a DNA base sequence corresponding to the data to be encoded; A coding error pattern recognition module, used to recognize a coding error pattern of the data to be encoded according to the DNA base sequence; The DNA base sequence decoding module is used to select a corresponding decoding algorithm according to the coding error mode to decode the DNA base sequence to obtain decoding data.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The processor is used to execute the computer program stored in the memory; The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the DNA storage encoding method according to any one of claims 1 to 7.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the DNA storage encoding and decoding method according to any one of claims 1 to 7 is implemented.
Citation Information
Cited By
Customer information data storage method and system
CN120750514A
A customer information data storage method and system
CN120750514B
Array dot type DNA information storage method and application
CN120998314A