DNA optimal storage coding and decoding method based on special inner code and hamming, vt code

CN116418351BActive Publication Date: 2026-09-22SHANGHAI JIAOTONG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310398749.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-14
Publication Date
2026-09-22
Estimated Expiration
2043-04-14

AI Technical Summary

Technical Problem

[0004]本发明针对现有技术存在的上述不足,提出一种基于特殊内码和汉明、VT码的DNA优化存储编解码方法,适用于DNA存储系统,编码后的DNA序列,能够同时满足GC-平衡和游程约束,具有高鲁棒性,而且具备纠错性能,解决现有方法无法做到的:同时达到高鲁棒性、低冗余度,并且纠正碱基替换、插入、删除错误的问题

Benefits of technology

[0031]本发明通过对原始数据预处理、进行汉明码编码、利用特殊构造的内码级联、级联后再编码、转化为DNA序列存储的步骤,从而在每个编码过程中,分别实现DNA序列纠正替换错误、高鲁棒性以及纠正插入删除错误的特性。。与现有技术直接对二进制数据序列编码,再转化为四元序列存储相比,本发明优先对二进制数据序列预处理,得到q元序列,从而可以在有限域上进行数据编码。通过建立到的映射,再转化为四元序列编码并存储,显著增加编码的灵活性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116418351B_ABST
    Figure CN116418351B_ABST
Patent Text Reader

Abstract

The application discloses a DNA optimization storage encoding and decoding method based on special inner code and Hamming and VT code, which comprises a parameter initialization stage, a preprocessing stage, an encoding stage and a decoding stage. The DNA sequence after encoding can meet GC-balance and run constraint simultaneously, has high robustness, and has error correction performance, so that the problems that the prior art cannot achieve, such as simultaneously achieving high robustness and low redundancy, and correcting base substitution, insertion and deletion errors, are solved. When the code length is n, the decoding complexity of the method is at most O(nlogn).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to an information encoding technology in the field of distributed storage, specifically a DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes. Background Technology

[0002] In recent years, global data has experienced explosive growth, a trend that will soon exceed the capacity of existing storage media such as hard drives. DNA molecules, due to their high storage density, long shelf life, and low maintenance costs, have become the preferred next-generation storage medium. DNA storage encoding technology ensures the reliability of DNA data storage by introducing redundant data; the encoded data is then stored through DNA synthesis.

[0003] Based on the structural characteristics of DNA molecules and biological storage technologies, suitable coding methods for DNA storage require: 1) the ability to correct base substitution, insertion, and deletion errors in the DNA sequence; 2) the DNA sequence satisfying guanine-cytosine (GC) balance (GC content of 50%) and run constraints (the length of consecutive identical bases does not exceed 6) to reduce the error rate and improve robustness during storage; 3) low redundancy to reduce coding costs; and 4) the ability to recover the original data through decoding. Existing coding methods fall into the following categories: The first category uses traditional error-correcting codes (RS codes, BCH codes, LDPC codes, etc.) for data encoding. This method can only correct base substitution or erasure errors in the DNA sequence and cannot handle insertion or deletion errors. The second category directly uses Levenshtein codes. DNA sequences generated by this method can correct insertion, deletion, or substitution errors, but do not satisfy GC balance and run constraints, resulting in poor robustness. The third category combines Levenshtein codes with a balancing technique to achieve GC balance, but does not satisfy run constraints, leading to poor robustness. Summary of the Invention

[0004] This invention addresses the aforementioned shortcomings of existing technologies by proposing a DNA optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes. This method is applicable to DNA storage systems, and the encoded DNA sequence simultaneously satisfies GC-balance and run-length constraints, exhibiting high robustness and error correction capabilities. It solves the problem that existing methods cannot achieve simultaneously: high robustness, low redundancy, and correction of base substitution, insertion, and deletion errors. When the code length is n, the decoding complexity of this method is at most O(nlogn).

[0005] This invention is achieved through the following technical solution:

[0006] This invention relates to a DNA optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes, comprising: a parameter initialization stage, a preprocessing stage, an encoding stage, and a decoding stage.

[0007] The parameter initialization stage refers to initializing the parameters of the highly robust special inner code, Hamming code, and VT code. Specifically, it involves selecting an inner code length of 6 and constructing a quadruple field. Let be a finite field containing four elements, and let be the scope of the inner code; select the finite field for the Hamming code's scope. The size parameter q and the codimensional r of the Hamming code are chosen, where q is a prime power not exceeding 1280 and r is a positive integer; α is chosen as a finite field. Generators, generating finite fields Choose β to satisfy β 2 +β+1=0 serves as a generator, generating a quadruple field.

[0008] The code length of the Hamming code mentioned Dimension

[0009] The code length of the VT code is

[0010] The preprocessing stage refers to converting the binary data sequence to be stored into a metadata sequence q to be encoded.

[0011] The encoding stage includes:

[0012] Step 1: Encode the preprocessed q-ary metadata sequence m using Hamming codes to obtain Hamming codewords of length n, forming the q-ary Hamming code Ham(r; q).

[0013] Step 2: Generate a set of highly robust internal codes Specifically: Initialize the internal code set Consider the quadruple field in sequence 6-dimensional vector on According to the mapping 0→C, 1→G, β→A, β 2 →T, transform into a DNA sequence y of length 6, and determine whether to add x to the set if the number of C and G bases in y is 3. Otherwise discard; when traversing the quaternion domain After applying all 6-dimensional vectors, a highly robust set of internal codes is obtained.

[0014] Step 3: Process the set of internal codes obtained in Step 2 Sort the codewords in the codewords, specifically: sort the four-element fields. The element order is: 0 > 1 > β > β2 For any two different codewords Compare each component of c and c′ sequentially from left to right, find the position i where the first component in c and c′ differs, and determine when c... i Greater than c i If c' is true, then construct c > c'; otherwise, construct c < c'.

[0015] Step 4: Compare the q-ary Hamming code Ham(r; q) from Step 1 with the robust internal code set generated in Step 2. Perform cascading encoding:

[0016] Step 5: Construct from a finite field To a set of highly robust internal codes Injective π: Mapping 0 to The first codeword; for 0≤i≤q-2, α i Mapped to The (i+2)th codeword.

[0017] Step 6: Use the mapping π to map each Hamming codeword c = (c1, c2, ..., c n Concatenated encoding is performed on c ∈ Ham(r; q), specifically: each component c of c is... i Mapped to The vector π(c) in i This yields a quadruple vector of length 6n. And in accordance with 0→0, 1→1, β→2, β 2 The mapping relationship →3 is transformed into a quaternary sequence of length 6n, forming a concatenated code. This concatenation code

[0018] The concatenated code The code length is 6n, and the number of codewords is The minimum Hamming distance is greater than or equal to 3, i.e. It can correct a one-bit substitution error.

[0019] Step 7: Concatenation Code The quaternary VT code encoding is performed as follows: integers a and b are selected as the check parameters of the quaternary VT code, and the (a, b) type quaternary VT code is used to... Encoding yields a quadrigram DNA code.

[0020] The verification parameters satisfy: 0 ≤ a ≤ 6n-1, 0 ≤ b ≤ 3. These verification parameters a and b are obtained as follows: for the quaternary sequence x = (x1, ..., xn)... 6n )∈{0,1,2,3} 6nConstruct its binary co-occurrence sequence as a(x) = (a1, ..., a2) 6n )∈{0,1} 6n Where: a1 takes the value 0, for 2≤i≤6n, when x i ≥x i-1 At that time, a i The value is 1; when x i <x i-1 At that time, a i The value is 0; for According to the pigeonhole principle, there exist integers a and b such that: Iterate through all integers a between 0 and 6n-1 and integers b between 0 and 3, and select those that satisfy the following conditions: A set of integers a and b.

[0021] Step 8: According to the mapping relationship: 0→C, 1→G, 2→A, 3→T, construct the quadrivalent DNA code. The quaternary sequence is converted into a DNA sequence consisting of A, T, C, and G for storage, with a sequence length of 6n.

[0022] Preferably, the highly robust code set in step 2 The four-element vectors in the model all satisfy GC-balance and run-length constraints, exhibiting high robustness. Specifically, based on the mapping relationship "0→C, 1→G, β→A, β..." in step 4... 2 →T”, the content of bases G and C in the quaternion vector is equivalent to the content of symbols 1 and 0, which is exactly 50%. Meanwhile, each quaternion vector has a length of 6, so the length of consecutive occurrences of the same symbol is at most 3, meaning the run length does not exceed 3, thus constituting a highly robust code set. It is a highly robust internal code, and the number of codewords is [number missing].

[0023] Preferably, the concatenation code in step 6 All codewords satisfy GC-balance and run-length constraints, exhibiting high robustness. Specifically, let (π(c1), π(c2), ..., π(c...)... n )) is a concatenation code For any codeword, then (c1, c2, ..., c n ) is a Hamming codeword. For i = 1, ..., n, we have π(c i )yes The codeword. According to step 4, π(c i If the GC content of a given sample is 50% and the run length does not exceed 3, then (π(c1), π(c2), ..., π(c...)) n The GC content of the product is 50%, and the run length does not exceed 6. All codewords satisfy GC-balanced and run-length constraints, which can reduce the error rate in the storage process and achieve high robustness.

[0024] Preferably, the quadrivalent DNA code in step 7 It satisfies GC-balance and run-length constraints, exhibiting high robustness. Specifically: Each codeword is also a concatenated code. The codewords thus satisfy GC-balance and run-length constraints.

[0025] Preferably, the DNA code in step 7 Number of code words and Let N = 6n represent the DNA code. The code length can be calculated. The redundancy is Bit.

[0026] The decoding stage includes: converting the DNA sequence after DNA sequencing into a quaternary sequence y = (y1, ..., y2) according to the relationship C→0, G→1, A→2, T→3. n′ )∈{0,1,2,3} n′ Given a sequence of length n′, compare n′ with 6n:

[0027] ① When n′=6n, a one-bit substitution error is detected, and recovery is performed: A quaternion sequence set {0, 1, 2, 3} is established. 6 arrive The mapping σ: If the quaternary sequence x lies in the image set of the mapping π (where v refers to the mapping π given in the encoding stage - step 7), that is, if there exists a... If an element z in the matrix makes π(z) = x, then σ maps x to the element z. Otherwise, σ maps x to 0, and then groups the quaternary sequence y into 6-bit groups, according to the mapping relationship σ, to transform it into a single... Given a sequence c of length n, c is a Hamming codeword that has a substitution error at most one position. The vector c is decoded using a Hamming code decoder to obtain the original q-data sequence m, which is then restored to binary data for reading.

[0028] ② When n′=6n+1 or 6n-1, a bit insertion or deletion error is detected and recovery is performed: Using the decoding algorithm of the quaternary VT code, the quaternary sequence y is decoded to obtain the original VT codeword c of length 6n. c is grouped into 6-bit sets and mapped by σ to transform it into a q-ary sequence of length n. This sequence is a Hamming codeword, from which the q-ary data sequence m can be obtained and restored to binary data for reading.

[0029] Preferably, the DNA code in the decoding stage It can correct single base substitution errors. It uses a Hamming code decoding algorithm for decoding, with a decoding complexity of O(NlogN), where N is the code length.

[0030] Preferably, the DNA code in the decoding stage It can correct single base insertion or deletion errors. It uses a quaternary VT code decoding algorithm for decoding, with a decoding complexity of O(N), where N is the code length. Technical effect

[0031] This invention achieves DNA sequence storage by preprocessing the original data, encoding with Hamming codes, concatenating specially constructed inner codes, re-encoding after concatenation, and finally converting the data into a DNA sequence. In each encoding process, it respectively realizes the characteristics of correcting substitution errors, high robustness, and correcting insertion and deletion errors. Compared with existing technologies that directly encode binary data sequences and then convert them into quaternary sequences for storage, this invention prioritizes preprocessing the binary data sequence to obtain a q-ary sequence, thus enabling storage in a finite field. Data encoding is performed on top of this. This is achieved by establishing... arrive The mapping is then transformed into a four-element sequence for encoding and storage, which significantly increases the flexibility of the encoding. Attached Figure Description

[0032] Figure 1 This is a schematic diagram of the process of the present invention. Detailed Implementation

[0033] like Figure 1 As shown, this embodiment relates to a DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes, which includes the following steps:

[0034] Step 1: Initialize the parameters of the robust inner code, Hamming code, and VT code. Select a code length of 6 for the inner code and construct the quadruple field for its operation. Here β satisfies β 2 +β+1=0 is The generator is q. Choosing q = 1279 (a prime number), a finite field for the action of Hamming codes is constructed. If we choose the codimensional r of the Hamming code to be 2, then the code length of the Hamming code is... The dimension k = 1278. The code length of the VT code is chosen to be 6n = 7680. In practice, the parameters q and r of the Hamming code can be adjusted as needed. This embodiment is a special example and does not affect the effect of the invention under other parameters.

[0035] Step 2: Randomly input 16K binary data from the computer as the raw data, and convert it into a data sequence m of 1279 bytes to be encoded.

[0036] Step 3: Encode the data using Hamming codes. The preprocessed sequence m is encoded using a Hamming code encoder to obtain a Hamming codeword of length 1280, forming a 1279-ary Hamming code, denoted as Ham(2; 1279). Specifically, for an information sequence m = (m1, ..., m... 1278 As information bits, two parity bits p1 and p2 are generated according to the following two parity equations for Hamming code: (1)m1+m2+…m 1278 +p1 = 0 (mod 1279); (2)0·m1+1·m2+2·m3+…+1277·m 1278 +1278·p1+p2=0(mod1279). The encoded Hamming codeword is (m1, ..., m 1278 (p1, p2).

[0037] Step 4: Generate a highly robust internal code The specific generation process is as follows:

[0038] Initialize the internal code set Consider in turn 6-dimensional vector on According to the mapping 0→C, 1→G, β→A, β 2 → Transform T into DNA sequence y, and determine if the number of C and G bases in y is 3. If so, add x to the set. Otherwise, discard. When iterating... After considering all 6-dimensional vectors, the final set is obtained. It was obtained through calculation. The number of codewords is 1280. According to the given {0, 1, β, β...} 2 The mapping from {} to the DNA base set {A, T, C, G} The GC content of each vector is equivalent to the content of 0 and 1 in that vector, which is exactly 50%.

[0039] Step 5: Check the internal code Sort the code words in the code. First, sort the... The elements are ordered as follows: 0 > 1 > β > β 2 For any two different codewords Compare each component of c and c′ sequentially from left to right, find the position i where the first component in c and c′ differs, and compare c. i and c i The size of c. i >c i If c' is true, then construct c > c'; otherwise, construct c < c'. Based on the sorting rules, the internal code can be determined through computer search and sorting. The code words are arranged in a specific order. Considering... There are 1280 code characters, listed below in order. The first 16 codewords are as follows (format: sequence number / codeword): <![CDATA[2(0,0,0,β,β,β 2 )]]> <![CDATA[6(0,0,0,β 2 ,BB 2 )]]> <![CDATA[10(0,0,1,β,β,β 2 )]]> <![CDATA[14(0,0,1, β 2 ,BB 2 )]]> <![CDATA[3(0,0,0,β,β 2 ,b)]]> <![CDATA[7(0,0,0,β 2 ,b 2 ,b)]]> <![CDATA[11(0,0,1,β,β 2 ,b)]]> <![CDATA[15(0,0,1,β 2 ,b 2 ,b)]]> <![CDATA[4(0,0,0,β,β 2 ,b 2 )]]> <![CDATA[8(0,0,0,β 2 ,b 2 ,b 2 )]]> <![CDATA[12(0,0,1,β,β 2 ,b 2 )]]> <![CDATA[16(0,0,1,β 2 ,b 2 ,b 2 )]]>

[0040] Step 6: For the Hamming codeword encoded in Step 3, use the internal code constructed in Step 4. Perform cascading encoding:

[0041] Step 7: Construct from the finite field to internal code The mapping of π: π will The element i in the map is mapped to The (i+1)th codeword, 0≤i≤1278.

[0042] Step 8: Using the internal code And the mapping π, for Hamming codewords c = (c1, c2, ..., c 1280 ) Perform a cascade, combining each c i Mapped to The vector π(c) in i This yields a quad vector of length 7680. Then follow the sequence 0→0, 1→1, β→2, β 2 The mapping relationship →3 transforms the concatenated codewords into a quaternary sequence, forming the concatenated code. and Each quaternary sequence in the database has a GC content (0 and 1 content) of 50% and a run length of less than or equal to 6, meeting the requirements for high robustness and significantly reducing the error rate during storage. The minimum Hamming distance of each quaternary sequence is greater than or equal to 3, which can correct a one-bit substitution error.

[0043] Step 9: For the quaternary sequence x = (x1, ..., x2) 7680 )∈{0,1,2,3} 7680Construct its binary co-occurrence sequence as a(x) = (a1, ..., a2) 7680 )∈{0,1} 7680 Where: a1 takes the value 0, for 2≤i≤7680, when x i ≥x i-1 At that time, a i The value is 1; when x i <x i-1 At that time, a i The value is 0.

[0044] Step 10: [Regarding...] The quaternary sequence in the code is encoded using a (0,0) type quaternary VT code to obtain a quaternary DNA code.

[0045] Step 11: According to the mapping relationship: 0→C, 1→G, 2→A, 3→T, convert the DNA code... The quaternary sequence is converted into a DNA sequence consisting of A, T, C, and G for storage.

[0046] Step 12: Decoding process: The DNA sequence after DNA sequencing is converted into a quaternary sequence y = (y1, ..., y2) according to the relationship C→0, G→1, A→2, T→3. n′ )∈{0,1,2,3} n Given a sequence of length n′, compare the size of n′ with 7680.

[0047] Step 13: If n′=7680, then a one-bit substitution error has occurred. First, establish a quaternion sequence set {0, 1, 2, 3}. 6 to finite field The mapping σ: If the quaternary sequence x lies in the image set of the mapping π (where π refers to the mapping π given in the encoding stage - step 7), that is, if there exists a... If an element z in the matrix makes π(z) = x, then σ maps x to the element z. Otherwise, σ maps x to 0, and then groups the quaternary sequence y into 6-bit groups, according to the mapping relationship σ, to transform it into a single... Given a sequence c of length 1280, c is a Hamming codeword in which a substitution error occurs at most one position. The vector c is decoded using a Hamming code decoder to obtain the original 1279 metadata sequence m, which is then restored to binary data for reading.

[0048] Step 14: If n′ = 7681 or 7679, then a bit insertion or deletion error has occurred. Using the decoding algorithm of the quaternary VT code, the quaternary sequence y is decoded to obtain the original VT codeword c of length 7680. c is grouped into 6-bit sets, and according to the mapping σ described in Step 13, it is transformed into a 1279-bit sequence of length 1280. This sequence is a Hamming codeword, from which the 1279-bit data sequence m can be obtained and restored to binary data for reading.

[0049] Through specific practical experiments, simulations were performed on the MATLAB 2021 platform. 16K random binary data was input as the original data, and the Hamming code codimensional r = 3 was selected, within a finite field. The above method was run with a size q = 1279. The experimental data obtained are: 10 quadruple DNA coding sequences of length 7860 were generated. Each DNA sequence satisfies the conditions of a stable GC content of 50% and run-length constraints, exhibiting high robustness and significantly reducing the error rate in DNA synthesis and sequencing. Based on the decoding algorithms of Hamming codes and quadruple VT codes, this DNA coding method can resist one-bit substitution, insertion, or deletion errors. Furthermore, this DNA coding method stores 16K of data, requiring… The data volume in bytes has a redundancy ratio of [value missing]. Based on theoretical calculations, the redundancy of the DNA encoding ultimately obtained using this method is: Bits, redundancy ratio is When q is 1279, the redundancy reaches [value missing]. Theoretically, the redundancy ratio can reach 100%. This is largely consistent with the experiment. In other cases, the size q of the finite field of the Hamming code can be any prime power not exceeding 1280, and the codimensional r of the Hamming code can be a randomly generated positive integer.

[0050] This invention preprocesses the raw binary data and then encodes the preprocessed data three times: first, Hamming codes are used as the outer code; then, a self-constructed, highly robust quadruple inner code is used for concatenated encoding; next, the concatenated quadruple code is further encoded using quadruple VT codes; finally, a DNA encoding scheme that corrects single insertion, deletion, and substitution errors is provided. This ensures that the GC- content of the DNA sequence is stable at 50%, and that the number of consecutive occurrences of the same base in each DNA sequence is less than or equal to 6, satisfying the run constraint. This significantly reduces the error rate of DNA sequences during synthesis and sequencing.

[0051] Compared to previous encoding schemes, the DNA encoding method obtained in this invention can simultaneously achieve the following advantages: i) the GC- content is stable at 50%; ii) the length of consecutive occurrences of the same base in the encoded DNA sequence is less than or equal to 6; iii) it can correct one-base substitution, insertion, and deletion errors; iv) it has low redundancy, saving encoding costs, thereby significantly reducing the error rate of DNA sequences in synthesis and sequencing, thus achieving high robustness while overcoming the limitations of previous DNA encoding methods that could not simultaneously achieve error correction performance and high robustness.

[0052] The above-described specific implementations can be partially adjusted by those skilled in the art in different ways without departing from the principles and purpose of the present invention. The scope of protection of the present invention is defined by the claims and is not limited to the above-described specific implementations. All implementation schemes within the scope of the claims are bound by the present invention.

Claims

1. A DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes, characterized in that, include: The parameters are initialized, preprocessed, encoded, and decoded. The preprocessing stage refers to converting the binary data sequence to be stored into a q-data sequence m to be encoded; The encoding stage includes: Step 1: Encode the preprocessed q-ary metadata sequence m using Hamming codes to obtain Hamming codewords of length n, forming the q-ary Hamming code Ham(r; q). Step 2: Generate a set of highly robust internal codes Specifically: Initialize the internal code set Consider the quadruple field in sequence 6-dimensional vector on According to the mapping 0→C, 1→G, β→A, β 2 →T, transform into a DNA sequence y of length 6, and determine whether to add x to the set if the number of C and G bases in y is 3. Otherwise discard; when traversing the quaternion domain After applying all 6-dimensional vectors, a highly robust set of internal codes is obtained. Step 3: Process the set of internal codes obtained in Step 2 Sort the codewords in the codewords, specifically: sort the four-element fields. The element order is: 0 > 1 > β > β 2 For any two different codewords Compare each component of c and c′ sequentially from left to right, find the position i where the first component in c and c′ differs, and determine when c... i Greater than c i If c' is true, construct c > c'; otherwise, construct c < c'. Step 4: Compare the q-ary Hamming code (Hamcr;q) from Step 1 with the robust internal code set generated in Step 2. Perform cascading encoding: Step 5: Construct from the finite field To a set of highly robust internal codes Injective π: Mapping 0 to The first codeword; for 0≤i≤q-2, α i Mapped to The (i+2)th codeword; Step 6: Use the mapping π to map each Hamming codeword c = (c1, c2, ..., c...) n Concatenated encoding is performed on c ∈ Ham(r; q), specifically: each component c of c is... i Mapped to The vector π(c) in i This yields a quadruple vector of length 6n. And in accordance with 0→0, 1→1, β→2, β 2 The mapping relationship →3 is transformed into a quaternary sequence of length 6n, forming a concatenated code. This concatenation code Step 7: Concatenation Code The quaternary VT code encoding is performed as follows: integers a and b are selected as the check parameters of the quaternary VT code, and the (a, b) type quaternary VT code is used to... Encoding yields a quadrigram DNA code. Step 8: According to the mapping relationship: 0→C, 1→G, 2→A, 3→T, construct the quadrivalent DNA code. The quaternary sequence is converted into a DNA sequence consisting of A, T, C, and G for storage, with a sequence length of 6n.

2. The DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes according to claim 1, characterized in that, The parameter initialization stage refers to initializing the parameters of the robust inner code, Hamming code, and VT code, specifically by selecting a code length of 6 for the inner code and constructing a quadruple field. Let be a finite field containing four elements, and let be the scope of the inner code; select the finite field of the Hamming code's scope. The size parameter q and the codimensional r of the Hamming code are chosen, where q is a prime power not exceeding 1280 and r is a positive integer; α is chosen as a finite field. Generators, generating finite fields Choose β to satisfy β 2 +β+1=0 serves as a generator, generating a quadruple field.

3. The DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes according to claim 1, characterized in that, The verification parameters satisfy: 0 ≤ a ≤ 6n-1, 0 ≤ b ≤ 3. These verification parameters a and b are obtained as follows: for the quaternary sequence x = (x1, ..., xn)... 6n )∈{0,1,2,3} 6n Construct its binary co-occurrence sequence as a(x) = (a1, ..., a2) 6n )∈{0,1} 6n Where: a1 takes the value 0, for 2≤i≤6n, when x i ≥x i-1 At that time, a i The value is 1; when x i <x i-1 At that time, a i The value is 0; for According to the pigeonhole principle, there exist integers a and b such that: Iterate through all integers a between 0 and 6n-1 and integers b between 0 and 3, and select those that satisfy the following conditions: A set of integers a and b.

4. The DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes according to claim 1, characterized in that, The decoding stage includes: Step a: Convert the DNA sequence obtained after DNA sequencing into a quaternary sequence y = (y1, ..., y2) according to the relationship C→0, G→1, A→2, T→3. n′ )∈{0,1,2,3} n′ Given a sequence of length n′, compare n′ with 6n: ① When n′=6n, a one-bit substitution error is detected, and recovery is performed: A quaternion sequence set {0, 1, 2, 3} is established. 6 arrive The mapping σ: when the quaternary sequence x has a value in the image set of the mapping π If an element z in the matrix makes π(z) = x, then σ maps x to the element z. Otherwise, σ maps x to 0; then, the quaternary sequence y is grouped into 6-bit sets according to the mapping relationship σ, and transformed into a single digit. The sequence c of length n is a Hamming codeword that has a substitution error at most one position. The vector c is decoded using a Hamming code decoder to obtain the original q data sequence m, and then restored to binary data for reading. ② When n′=6n+1 or 6n-1, it is determined that a bit insertion or deletion error has occurred, and recovery is performed: using the decoding algorithm of the quaternary VT code, the quaternary sequence y is decoded to obtain the original VT code code word c of length 6n. c is grouped into 6 bits and mapped to a q-ary sequence of length n through mapping σ. This sequence is a Hamming code word, and then the q-ary data sequence m can be obtained and restored to binary data for reading.

5. The DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes according to claim 1, characterized in that, The content of bases G and C in the quaternion vector is equivalent to the content of symbols 1 and 0, which is exactly 50%. Each quaternion vector has a length of 6, so the length of consecutive occurrences of the same symbol is at most 3, that is, the run length does not exceed 3, which is a highly robust code set. It is a highly robust internal code, and the number of codewords is [number missing].

6. The DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes according to claim 1, characterized in that, The concatenated code All codewords satisfy GC-balance and run-length constraints, specifically: Let (π(c1), π(c2), ..., π(c...). n )) is a concatenation code For any codeword, then (c1, c2, ..., c n ) is a Hamming codeword, for i = 1, ..., n, π(c i )yes The codeword, as described in step 4, π(c i If the GC content of a given sample is 50% and the run length does not exceed 3, then (π(c1), π(c2), ..., π(c...)) n The GC content of the product is 50%, and the run length does not exceed 6. All codewords satisfy GC-balance and run-length constraints.

7. The DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes according to claim 1, characterized in that, The aforementioned quaternary DNA code Satisfying GC balance and run-length constraints, specifically: Each codeword is also a concatenated code. The codewords thus satisfy GC-balance and run-length constraints.

8. The DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes according to claim 1, characterized in that, The DNA code mentioned Number of code words and When DNA code If the code length N = 6n, then the DNA code The redundancy is Bit.

9. The DNA-optimized storage encoding and decoding method based on special internal codes and Hamming and VT codes according to claim 1, characterized in that, DNA code in the decoding stage To correct single base substitution errors, a Hamming code decoding algorithm is used for decoding, with a decoding complexity of O(NlogN), where N is the code length. DNA code in the decoding stage To correct single base insertion or deletion errors, a quaternary VT code decoding algorithm is used, with a decoding complexity of O(N), where N is the code length.