A protein storage coding error correction scheme
By adopting a new data storage format and RS code error correction scheme in the protein storage system, the problem of insufficient error correction ability in polypeptide chain data is solved, and the fault tolerance and data accuracy of the storage system are improved.
Patent Information
- Application Number
- CN202210527598.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-16
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2042-05-16
AI Technical Summary
The existing protein storage system has a high probability of errors at the C and N ends of the polypeptide chain. Traditional error correction codes cannot effectively correct amino acid errors in other locations, resulting in a low fault tolerance rate of the storage system.
A new data storage format is adopted to represent the order of data information through address information, and to generate verification information in combination with RS code, and add amino acids representing verification information to achieve error correction of polypeptide chain data.
It improves the error tolerance of the protein storage system, can correct 1 amino acid error and some 2 amino acid errors, improves data accuracy and reduces the bit error rate.
Smart Images

Figure CN114783530B_ABST
Abstract
Description
Technical Field
[0001] The present invention designs the coding in the protein storage system, specifically, a coding scheme selected for the format of the polypeptide chain of the existing protein storage system. Background Art
[0002] With the increasing demand for data storage, people have begun to explore new storage materials. Biological storage technology has the significant advantage of high density. DNA and protein are both suitable storage media for long-term data storage. For DNA data storage, when the GC content of the DNA sequence is too high or the same sequence appears continuously, the DNA will become unstable, and data loss or data errors may occur during the storage process. Therefore, the data needs to be encoded and converted into a DNA sequence. In order to make the generated DNA sequence conform to the biological constraint rules, ERLICH Y, ZIELINSKI D and others used fountain codes. First, the binary file is processed into a series of non-overlapping segments of a specific length, and then these non-overlapping segments are iteratively Luby transformed and the composite sequences generated after the transformation are screened. When the total size of the collected composite sequences is larger than the size of the original file, the original file information can be obtained by inverse Luby transformation. To prevent data loss or errors in the DNA data storage system, traditional error correction codes can be used for error correction.
[0003] The development of error correction codes is relatively complete. In 1960, Irving S. Reed and Gustave Solomon invented the RS code, which is a maximum minimum distance separable code, that is, the minimum distance is the number of its parity check symbols plus one. RS code is very effective in correcting random symbol errors and random burst errors, so it is widely used in data storage systems for error control. RS code completes the error correction of t codes by adding 2t check codes.
[0004] In KENDREW J C.'s study on DNA storage, when RS code was used to encode DNA, the bit error rate was 0.547% when the code rate was 75%, and the bit error rate was about 0.061% when the code rate was 16.6%. Compared with DNA, which needs to follow biological constraints, the biological constraints of proteins are relatively loose. There are 20 naturally occurring amino acids in nature, and 4 of the more stable ones are selected to express data. In the existing research on protein storage, traditional error correction codes are used to correct data. In the research of Cheuk Chi A. Ng et al., LDPC codes and RS codes are used to encode data. In the process of mass spectrometry sequencing, since the probability of errors at the C-terminus and N-terminus of the polypeptide chain is relatively high, Cheuk Chi A. Ng et al. added 3 amino acids as check bits to encode the two amino acids at the head and the two amino acids at the tail of the polypeptide chain. Under the assumption that there is a 10% probability of errors or missing amino acids, by adding error correction codes in this way, the accuracy rate can be increased to 93.7% at a code rate of 92.8%. This method has a high code rate, but only some amino acids are encoded. When errors occur in amino acids at other positions, the error correction code cannot correct the errors. Summary of the invention
[0005] In view of the polypeptide chain format allowed by the existing protein storage system, this application proposes a data storage format suitable for it, and combines it with the RS code to improve the fault tolerance of the storage system.
[0006] A protein storage coding error correction scheme, as shown in the attached Figure 1 As shown, it is characterized in that the sequence of data information is represented by address information, which is combined with RS code to improve the fault tolerance of the storage system, and several amino acids representing verification information are added to complete error correction of several amino acids. The specific steps of data writing, storage, and data reading in the protein storage system include:
[0007] Step 1: Select 4 amino acids to represent address information, data information and check information. One amino acid can store 2 bits of binary data.
[0008] Step 2: Generate data information, which is determined by the length of the string to be stored, and the data length is represented by a number of amino acids;
[0009] Step 3: Generate address information, which is determined by the length of data to be stored, and the length of the data is represented by a number of amino acids;
[0010] Step 4: Generate verification information. The verification information is generated by encoding the address information and data information using the RS code. The data length is determined according to the required error correction capability and is represented by a number of amino acids.
[0011] Step 5: Establish two sets of polypeptide chain data, one set of polypeptide chain data includes address information and data information, and the other set of polypeptide chain data includes address information and verification information. The address information of the two sets of polypeptide chain data is the same, indicating a corresponding relationship;
[0012] Step 6: Synthesize proteins according to the prescribed protein law;
[0013] Step 7: Storing the protein: freeze-drying the protein for storage;
[0014] Step 8: Take out the protein, sequence it using nanopore sequencing, and obtain polypeptide chain data through deep learning;
[0015] Step 9: Establish a database, and put the polypeptide chain data obtained by sequencing into a data information database and a verification information database respectively, wherein the data information database stores polypeptide chain data including address information and data information, and the verification information database stores polypeptide chain data including address information and verification information;
[0016] Step 10: Decoding the polypeptide chain data, taking out one set of polypeptide chain data from the data information database and the verification information database respectively, matching the two sets of polypeptide chain data and decoding them. If the address information of the two sets of polypeptide chain data is the same after decoding, it is considered that the two sets of polypeptide chain data are corresponding, the decoding is successful and removed from the database;
[0017] Step 11: Repeat step 10 until there is no polypeptide chain data in the data information database and the verification information database, and the decoding is completed.
[0018] Preferably, the selecting of 4 amino acids in step 1 is characterized in that 4 amino acids or amino acid analogs are selected for storage and encoding.
[0019] Preferably, the generating of address information in step 3 is characterized in that the length of the address information is limited by the total data information length and the length of the data information that can be stored in one protein, wherein the length of the data information that can be stored in one protein is limited by a prescribed protein law, and when the total data information length exceeds the length of the data information that can be stored at one time, it is necessary to store the data information in different proteins and use the address information to indicate the order of the stored data information, and the length of the address information is as shown in formula (1), expressed in the number of amino acids.
[0020]
[0021] Preferably, the generation of the check information in step 4 is characterized in that the total length of the check information is limited to the GF (2 n ) domain and the length of the data information to be encoded, where n is a positive integer.n ) domain, the maximum encoding length that can be achieved is 2 n -1 codeword, n amino acids correspond to 2 codewords, the code length corresponds to amino acids, the longest can be n*2 n-1 -n / 2 amino acids, m amino acids are used to represent the verification information, so there are at most n*2 n-1 -mn / 2 amino acids can be used to represent address information and data information.
[0022] Preferably, the generation of verification information in step 4 is characterized in that RS code is used to improve the fault tolerance of the protein storage system. In a data entity, i.e., 2 groups of polypeptide chain data, 2t code words are used to complete the error correction of t code words, that is, (n / 2)*(2t) amino acids representing the verification information can complete the error correction of at least t amino acids. In the case that more than t amino acids are erroneous, if these amino acids constitute t code words, the error correction can be completed.
[0023] Preferably, the two groups of polypeptide chain data described in step 5 are characterized in that, under the existing technology, in order to facilitate sequencing, proteins need to be grouped, and each group of polypeptide chains is connected by a biochemical connecting molecule, wherein the format of one group of polypeptide chain data is: address information-data information, and the format of the other group of polypeptide chain data is: address information-verification information, and the same address information is used to represent the correspondence between the data information and the verification information.
[0024] Preferably, the prescribed protein rule in step 6 is characterized in that the biochemical linker molecule can be an amino acid combination containing an enzyme cleavage site.
[0025] Preferably, the prescribed protein rule described in step 6 is characterized in that, in order to distinguish the polypeptide chains representing the verification information from the data information, an identifiable modification group is added to a group of amino acids containing the verification information or the data information.
[0026] Preferably, the establishment of the database in step 9 is characterized in that before decoding the data, the proteins are first grouped and detected, and the measured data are divided into polypeptide chain data containing data information and polypeptide chain data containing verification information according to whether the current signal characteristics of the modification group are found in the sequencing, and are respectively put into the established data information database and verification information database.
[0027] Preferably, the decoded polypeptide chain data described in step 10 is characterized in that a group of polypeptide chain data is randomly taken out from the data information database and the verification information database, the polypeptide chain data taken out from the data information database is placed in front, and the polypeptide chain data taken out from the verification information database is placed in the back to form a data entity, and decoding is performed according to the rules of the RS code. After decoding, the address information of the two groups of data is compared. If the address information of the two groups of data is the same, it is considered that the two groups of polypeptide chain data taken out correspond to a data entity, and the polypeptide chain data is recorded and removed from the data information database and the verification information database; if the address information is different, continue to search for polypeptide chain data with the same address information after decoding from the verification information database, and after finding the corresponding polypeptide chain data, put the polypeptide chain data that was not a data entity taken out before back into the verification information database, and repeat until there is no polypeptide chain data in the database.
[0028] The present invention adopts the above scheme, and steps 1 to 6 implement the process of writing data in the protein storage system, as shown in the attached Figure 2 As shown in FIG. 1 , step 7 realizes the storage process of the protein storage system, and steps 8 to 11 realize the data reading process in the protein storage system, as shown in FIG. Figure 3 shown. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 Working block diagram of the protein storage system.
[0030] Figure 2 Write a flow chart for the data.
[0031] Figure 3 Flowchart for data readout.
[0032] Figure 4 This is a polypeptide chain format diagram.
[0033] Figure 5 This is the data format diagram of the polypeptide chain after enzyme cutting.
[0034] Figure 6 Schematic diagram of the decoding system. DETAILED DESCRIPTION
[0035] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in combination with specific examples and with reference to the accompanying drawings.
[0036] The embodiments of the present invention are implemented based on the technical solution of the present invention. 4 ) domain to complete the storage encoding error correction work of nanjingdaxue string data. Take the character n as an example to illustrate the encoding process.
[0037] The data writing process of the protein storage system is as follows:
[0038] Select 4 amino acids to represent data, and select Phe (phenylalanine), Arg (arginine), Ser (serine), and Tyr (tyrosine) for storage. Use Ser (serine) to represent 00, Phe (phenylalanine) to represent 01, Arg (arginine) to represent 10, and Tyr (tyrosine) to represent 11.
[0039] Generate data information, use ASCII code to represent characters, and use 4 amino acids to represent them. The ASCII code of n is 0110 1110, and the amino acid is Phe Arg Tyr Arg.
[0040] Generate address information. There are a total of 12 characters of nanjingdaxue that need to be stored. The total data information length is 48 amino acids. The data information that can be stored in a protein is 4 amino acids. The address information can be ≥ 2 amino acids. Select 4 amino acids as address information, and set the first amino acid of the address information to Tyr, that is, the first 2 bits of binary data are set to 11, n is the first character, and the address information is set to 1100 0000, which is expressed in amino acids as Tyr Ser Ser Ser.
[0041] The RS code is used to generate the check information. The error correction capability is set to be able to correct the error of 1 amino acid. Two code words and 4 amino acids are needed to complete the correction. The data to be encoded consists of address information-data information-address information. The binary data to be encoded is 1100 0000 0110 1110 1100 0000. First, it is converted into hexadecimal data C 0 6 E C0, and then the hexadecimal data is converted into GF(2 4 ) field. According to the generating polynomial g(x) = 8 + 6x + x 2 The above data is encoded. The check information generated after encoding is 3 7, which is converted into binary data, 0011 0111, and is expressed as Ser Tyr Phe Tyr in amino acids.
[0042] Two groups of polypeptide chain data are established. The process is as follows: one group includes address information and data information is Tyr Ser Ser SerPhe Arg Tyr Arg, and the other group includes address information and verification information is Tyr Ser Ser Ser Ser Tyr Phe Tyr. The address information of the two groups is the same, indicating a corresponding relationship.
[0043] To synthesize proteins, under the existing nanopore sequencing technology, in order to facilitate sequencing, a biochemical linker is added after each group of amino acids for connection. The biochemical linker can select the amino acid combination position of the restriction site, with 8 amino acids as a group. The selected restriction site contains 4 amino acids, Asp (aspartic acid), Glu (glutamic acid), Val (valine), Asp (aspartic acid). Since the type of amino acid following the restriction site affects the stability of the protein, the amino acid following the Asp (aspartic acid) of the restriction site is fixed to Ala (alanine). The polypeptide chain data format is as follows: Figure 4 As shown, X represents an optional amino acid for storing data. After adding the above amino acids, the character n can be represented as Ala Tyr Ser SerSer Phe Arg Tyr Arg Asp Glu Val Asp Ala Tyr Ser Ser Ser Ser Tyr Phe Tyr AspGlu Val Asp.
[0044] In order to distinguish the amino acids containing verification information and data information, a modification group is added to a group of amino acids containing verification information, and a phosphate group is selected. The nanopore is more sensitive to the phosphate group and can be used to identify whether a group of amino acids contains data information or verification information during sequencing. After adding the phosphate group, the character n can be expressed as Ala Tyr Ser SerSer Phe Arg Tyr Arg Asp Glu Val Asp Ala Tyr Ser Ser Ser Xaa Tyr Phe Tyr AspGlu Val Asp, where Xaa represents Ser modified by a phosphate group.
[0045] The other characters in nanjingdaxue are shown in Table 1.
[0046] Table 1 nanjingdaxue character representation results
[0047]
[0048]
[0049]
[0050] To store the protein, freeze-dry it.
[0051] The data reading process of the protein storage system is as follows:
[0052] When reading data, first take out the protein and perform enzyme cleavage at the enzyme cleavage sites Asp (aspartic acid), Glu (glutamic acid), Val (valine), and Asp (aspartic acid). The data format of the polypeptide chain after enzyme cleavage is shown in the attached figure. Figure 5 As shown, sequencing was performed using nanopore sequencing and the corresponding polypeptide chain data was obtained through deep learning.
[0053] The converted data is placed into the data information database according to whether the current signal characteristics of the phosphate group are detected, and the polypeptide chain data without the current signal characteristics of the phosphate group are placed into the verification information database, and the polypeptide chain data with the current signal characteristics of the phosphate group are placed into the verification information database, as shown in the attached Figure 6 The data information database stores address information and data information, and the verification information database stores address information and verification information.
[0054] The steps of data decoding are as follows: put the data taken out from the data information database in front, and put the data taken out from the verification information database in the back to form a data entity, convert it into binary data, decode it according to the rules of RS code, and use Berlekamp decoding algorithm. After decoding, compare the address information of the two sets of data. If the address information of the two sets of data is the same, it is considered that the two sets of data correspond to a data entity, record the data and remove it from the data information database and the verification information database; if the address information is different, continue to look for polypeptide chain data with the same address information after decoding. After finding the corresponding polypeptide chain data, put the data that was not a data entity taken out before back into the verification information database, and repeat until there is no data in the database. The decoding process is explained using the first three characters nan as an example. Assuming that without error, the sequencing data information database contains polypeptide chain data Tyr Ser Ser Ser Phe Arg Tyr Arg, Tyr SerSer Phe Phe Arg Ser Phe and Tyr Ser Ser Arg Phe Arg Tyr Arg, and the verification information database contains polypeptide chain data Tyr Ser Ser Ser Xaa Tyr Phe Tyr, Tyr Ser Ser Phe Xaa Tyr Tyr Phe and Tyr Ser Xaa Arg Tyr Arg Tyr Phe.
[0055] A group of polypeptide chain data such as Tyr Ser Ser Phe Phe Arg SerPhe is randomly selected from the data information database, and a data such as Tyr Ser Xaa Arg Tyr Arg Tyr Phe is randomly selected from the verification information database. The data is arranged into the form of Tyr Ser Ser Phe Phe Arg Ser Phe Tyr Ser Xaa Arg Tyr Arg Tyr Phe and then decoded. First, it is converted into the corresponding binary data 1100 0001 0110 0001 1100 0010 1110 1101, which is converted into hexadecimal data C161 C2ED, corresponding to GF(2 4 ) domain, and then decoded using the Berlekamp decoding algorithm. After decoding, if the address information of the two groups of amino acids is different, one is C1 and the other is C2, then continue to search for polypeptide chain data in the verification information database until Tyr Ser Ser Phe Xaa Tyr Tyr Phe is taken out, and the data is arranged in the form of Tyr Ser Ser Phe Phe Arg Ser Phe Tyr Ser Ser Phe Xaa Tyr Tyr Phe for decoding. If the address information is the same, then the two groups of polypeptide chain data are taken out, and the polypeptide chain data with different original address information are put back into the verification information database.
[0056] When data is wrong in the storage system, for example, the data corresponding to the polypeptide chain a changes from TyrSer Ser Phe Phe Arg Ser Phe and Tyr Ser Ser Phe Xaa Tyr Tyr Phe to Tyr Ser SerPhe Arg Arg Ser Phe and Tyr Ser Ser Phe Xaa Tyr Tyr Phe during sequencing, the error can be found during decoding and Arg can be corrected back to Phe. If the address information is wrong, the error can also be corrected after matching decoding to obtain the final data.
[0057] The steps of decoding polypeptide chain data are repeated until no data exists in the data information database and the verification information database.
[0058] Arrange the decoded data according to the order of address information, extract the data information, and finally obtain the string of nanjingdaxue.
[0059] The invention is used to encode nanjingdaxue, which can correct one amino acid error and part of two amino acid errors. Error correction cannot be performed if the error correction capability is exceeded.
[0060] When n=4, GF(2 4 ) domain, when one amino acid error needs to be corrected, check information is generated, with 4 amino acids representing address information, 4 amino acids representing data information, and 4 amino acids representing check information. When the coding rate is 3 / 4, when the probability of no amino acid error in the whole data is 80%, the probability of one amino acid error is 15%, the probability of two amino acids error is 4%, and the probability of three amino acids error is 1%, the data accuracy after error correction can reach more than 95%, and the bit error rate is reduced by at least 15%.
[0061] The above is only one embodiment of the present invention and is not intended to limit the present invention. It should be pointed out that several improvements and modifications may be made without departing from the technology of the present invention, and these improvements and modifications should also be regarded as the protection scope of the present invention.
Claims
1. A protein storage coding error correction scheme, characterized in that: The address information is used to represent the sequence of data information, and combined with the RS code, the fault tolerance rate of the storage system is improved, and several amino acids representing verification information are added to complete the error correction of several amino acids. The specific steps of data writing, storage, and data reading in the protein storage system include: Step 1: Select 4 amino acids to represent address information, data information and check information. One amino acid can store 2 bits of binary data. Step 2: Generate data information, which is determined by the length of the string to be stored, and the data length is represented by a number of amino acids; Step 3: Generate address information, which is determined by the length of the data information to be stored, and the data length is represented by a number of amino acids; Step 4: Generate verification information. The verification information is generated by encoding the address information and data information using the RS code. The data length is determined according to the required error correction capability and is represented by a number of amino acids. Step 5: Establish two sets of polypeptide chain data, one set of polypeptide chain data includes address information and data information, and the other set of polypeptide chain data includes address information and verification information. The address information of the two sets of polypeptide chain data is the same, indicating a corresponding relationship; Step 6: Synthesize proteins according to the prescribed protein law; Step 7: Storing the protein: freeze-drying the protein for storage; Step 8: Take out the protein, sequence it using nanopore sequencing, and obtain polypeptide chain data through deep learning; Step 9: Establish a database, and put the polypeptide chain data obtained by sequencing into a data information database and a verification information database respectively, wherein the data information database stores the polypeptide chain data including address information and data information, and the verification information database stores the polypeptide chain data including address information and verification information; Step 10: Decode the polypeptide chain data, put the data taken out from the data information database in front, and put the data taken out from the verification information database in the back to form a data whole, convert it into binary data, decode it according to the rules of RS code, and use the Berlekamp decoding algorithm. After decoding, compare the address information of the two sets of data. If the address information of the two sets of data is the same, it is considered that the two sets of data correspond to a data whole, record the data and remove it from the data information database and the verification information database. If the address information is different, continue to search for polypeptide chain data with the same address information after decoding. After finding the corresponding polypeptide chain data, put the data that was not a data whole taken out before back into the verification information database; Step 11: Repeat step 10 until there is no polypeptide chain data in the data information database and the verification information database, and the decoding is completed.
2. A protein storage coding error correction scheme according to claim 1, characterized in that: In step 1, four amino acids are selected, and four amino acids or amino acid analogs are selected for storage and encoding.
3. A protein storage coding error correction scheme according to claim 1, characterized in that: The address information generated in step 3 is limited by the total data information length and the data information length that can be stored in one protein. The data information length that can be stored in one protein is limited by the prescribed protein law. When the total data information length exceeds the data information length that can be stored at one time, the data information needs to be stored in different proteins and the address information is used to indicate the order of the stored data information. The address information length formula is: The length of the address information is expressed in the number of amino acids.
4. A protein storage coding error correction scheme according to claim 1, characterized in that: The total length of the check information generated in step 4 is limited to the GF (2 n ) domain and the address information and data information length to be encoded, where n is a positive integer, in GF(2 n ) domain, the maximum encoding length that can be achieved is 2 n -1 codeword, n amino acids correspond to 2 codewords, the maximum encoding length corresponds to amino acids, the longest can be n*2 n-1 -n / 2 amino acids, m amino acids are used to represent the verification information, so there are at most n*2 n-1 -mn / 2 amino acids can be used to represent address information and data information.
5. A protein storage coding error correction scheme according to claim 1, characterized in that: The generation of verification information described in step 4 uses RS code to improve the fault tolerance of the protein storage system. In a data entity, that is, 2 groups of polypeptide chain data, 2t code words are used to complete the error correction of t code words, that is, (n / 2)*(2t) amino acids representing the verification information can complete the error correction of at least t amino acids. In the case that more than t amino acids are wrong, if these amino acids constitute t code words, the error correction can be completed.
6. A protein storage coding error correction scheme according to claim 1, characterized in that: The two groups of polypeptide chain data described in step 5, under the existing technology, need to be grouped for the convenience of sequencing, and each group of polypeptide chains is connected by a biochemical connecting molecule. The format of one group of polypeptide chain data is: address information-data information, and the format of the other group of polypeptide chain data is: address information-verification information. The same address information is used to represent the correspondence between data information and verification information.
7. A protein storage coding error correction scheme according to claim 1, characterized in that: In the prescribed protein rule described in step 6, the biochemical linker molecule can be an amino acid combination containing an enzyme cleavage site.
8. A protein storage coding error correction scheme according to claim 1, characterized in that: The prescribed protein rule described in step 6 adds an identifiable modification group to a group of amino acids containing the verification information or the data information in order to distinguish the polypeptide chains representing the verification information from the data information.
9. A protein storage coding error correction scheme according to claim 1, characterized in that: In step 9, the database is established. Before decoding the data, the proteins are first grouped and tested. According to whether the current signal characteristics of the modification group are found in the sequencing, the measured data are divided into polypeptide chain data containing data information and polypeptide chain data containing verification information, and are respectively put into the established data information database and verification information database.
Citation Information
Patent Citations
Encoding method and decoding method for performing information storage by means of DNA
CN105022935A
Coding and decoding method for integrity check and error correction of DNA sequence
CN112802549A