WO2022080816A1 - Method, program, and apparatus for decoding based on sequence clustering of dna storage device - Google Patents

Method, program, and apparatus for decoding based on sequence clustering of dna storage device Download PDF

Info

Publication number
WO2022080816A1
WO2022080816A1 PCT/KR2021/014015 KR2021014015W WO2022080816A1 WO 2022080816 A1 WO2022080816 A1 WO 2022080816A1 KR 2021014015 W KR2021014015 W KR 2021014015W WO 2022080816 A1 WO2022080816 A1 WO 2022080816A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
sequence
data group
dna
nucleotide sequence
Prior art date
Application number
PCT/KR2021/014015
Other languages
French (fr)
Korean (ko)
Inventor
정재호
박호성
박성준
노종선
김성환
노알버트
Original Assignee
서울대학교 산학협력단
전남대학교산학협력단
울산대학교 산학협력단
홍익대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교 산학협력단, 전남대학교산학협력단, 울산대학교 산학협력단, 홍익대학교 산학협력단 filed Critical 서울대학교 산학협력단
Publication of WO2022080816A1 publication Critical patent/WO2022080816A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/123DNA computing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/28Programmable structures, i.e. where the code converter contains apparatus which is operator-changeable to modify the conversion process

Definitions

  • the present invention relates to a decoding method, program and apparatus based on a sequence aggregation method of a DNA storage device.
  • DNA storage technology is a method of storing digital data consisting of 0s and 1s by replacing them with bases of DNA. This is 215,000 times more data storage capacity than a 1TB hard disk.
  • RS decoding when RS decoding is performed, not only successful clusters but also failed clusters are subjected to RS correction and utilized for LT decoding (Luby Transform Decoding), thereby recovering and using information that was previously discarded.
  • LT decoding Longby Transform Decoding
  • the present invention provides a decoding method, program and apparatus based on a sequence aggregation method of a DNA storage device, which can reduce the error rate of decoding by determining the priority of LT decoding based on a Q-score value. .
  • the electronic device performs DNA sequencing to form a DNA oligo base sequence, the electronic device randomly sampling a predetermined number of bases from each of a forward read and a reverse read of the generated nucleotide sequence, and the electronic device uses the randomly sampled nucleotides using a stitch algorithm
  • the step of merging the step of the electronic device extracting only the nucleotide sequence having a predetermined length from among the nucleotide sequences merged through the stitch algorithm, the electronic device clustering the extracted nucleotide sequence based on the degree of identity to collect more than half Forming a representative value based on the DNA sequence base, and simply storing less than a majority of the DNA sequence base to form a first data group, wherein the electronic device has a certain distance from the clusters in the first data group removing nucleotide sequences to form a second data group,
  • a Hamming Distance is formed to be different from each other by a minimum length x or more.
  • the forming of the first data group includes a nucleotide sequence having the same entire length among nucleotide sequences having a predetermined length, one nucleotide sequence is different, and the remaining sequences are the same nucleotide sequence and two nucleotide sequences are different and the rest
  • the sequence is determined to be the same cluster by determining that there is identity even to the same nucleotide sequence.
  • nucleotide sequences that differ from clusters by a distance of 3 nt to a minimum length of x-2 nt in the first data group are removed.
  • the method of determining the order of the ones having the number of one among the clusters is in the order of the highest probability value P of erroneously retrieving the base calculated based on the prediction quality score (Q-score).
  • Q-score prediction quality score
  • y means the length of a predetermined base sequence from which the base sequence is extracted.
  • LT decoding is first performed on a nucleotide sequence that has succeeded in RS decoding, and RS correction is performed on a nucleotide sequence that has failed RS decoding.
  • RS decoding After performing the LT decoding, it is stored in a separate heap, and the nucleotide sequence stored in the heap is performed later.
  • a sequence aggregation method-based decoding program of a DNA storage device for solving the above-described problems is combined with hardware that is a computer, and is stored in a medium to execute any one of the methods.
  • a decoding computing device based on a sequence aggregation method of a DNA storage device for solving the above problems
  • DNA sequencing is performed to form a DNA oligo base sequence, and a predetermined number of bases are randomly sampled from each of the forward read and reverse read of the generated base sequence, and the randomly sampled bases are merged using a stitch algorithm, only a nucleotide sequence having a predetermined length is extracted from among nucleotide sequences merged through the stitch algorithm, and the extracted nucleotide sequence is clustered based on the degree of identity.
  • a representative value is formed based on the base sequence base, and a DNA sequence base of less than a majority is simply stored to form a first data group, and the electronic device uses a base having a certain distance from the clusters in the first data group.
  • the electronic device classifies the second data group in an order of increasing the number of nucleotide sequences in the cluster to form a third data group, and the electronic device performs the third data group performs RS decoding from a cluster with a large number of sequences in the
  • the electronic device sequentially performs LT decoding (Luby Transform Decoding) in the fourth data group.
  • Forming the DNA oligo base sequence is formed so that the Hamming distance differs from each other by a minimum length x or more.
  • Forming the first data group is that, among nucleotide sequences having a predetermined length, the entire predetermined length is the same, one nucleotide sequence is different and the remaining sequences are the same nucleotide sequence and two nucleotide sequences are different, and the remaining sequences are different is determined to be the same cluster by determining that there is identity even to the same nucleotide sequence.
  • Forming the second data group is to remove nucleotide sequences that differ from clusters by 3 nt to a minimum length x-2 nt in the first data group.
  • the method of determining the order of the ones having the number of one among the clusters is determined in the order of the highest probability value P of erroneously retrieving the base calculated based on the Q-score will do
  • the probability value P is a value satisfying the following equation.
  • y means the length of a predetermined base sequence from which the base sequence is extracted.
  • LT decoding (Luby Transform Decoding) in the fourth data group
  • LT decoding is first performed on a nucleotide sequence that succeeds in RS decoding
  • RS correction is performed on a nucleotide sequence that fails RS decoding.
  • the nucleotide sequence stored in the heap is to perform LT decoding later.
  • clustering is performed based on the degree of identity, but not only the completely identical nucleotide sequence but also nucleotide sequences with small errors By including in the cluster, it is possible to utilize the error data to improve the decoding efficiency and reduce the final error rate.
  • the present invention it is possible to reduce the decoding error rate by determining the priority of LT decoding based on a Q-score value for a cluster having a size of 1, which is one of the major causes of the decoding error rate.
  • FIG. 1 is a flowchart illustrating a sequence aggregation method-based decoding method of a DNA storage device according to an embodiment of the present invention.
  • FIGS. 2A and 2B are diagrams comparing performance of a decoding method based on a sequence aggregation method of a DNA storage device according to an embodiment of the present invention and a decoding method according to a comparative example.
  • FIG. 3 is a graph illustrating a correlation in which an error rate increases as the probability value of a Q-score decreases.
  • the 'decoded nucleotide sequence file' is a text-based standard nucleotide data format file indicating a DNA nucleotide sequence, for example, a FASTQ file.
  • the present invention relates to a process of decoding data encoded as DNA data again through a sequence aggregation method.
  • the present invention relates to a Ruby Transform (LT, Luby Transform) code, a Fountain code, a Turbo code, a Polar code, or LDPC (Low Density Parity Check) for decoding data encoded with a code. It may be suitable, but it is not limited to encoding data encoded in a specific manner, and may be applied to data encoded in any manner.
  • the following example is an example of a general method of encoding using a Ruby transform code.
  • K LT packets of length L.
  • Divided K LT packets are generated as one encoded packet through Ruby transform encoding.
  • a seed bit obtained by a Linear-Feedback Shift Register (LFSR) is appended, and a Reed Solomon (RS) encoding bit corresponding to or greater than a specific value is appended.
  • LFSR Linear-Feedback Shift Register
  • RS Reed Solomon
  • the sequence is selected to be encoded, and in the case of a sequence where the above condition is not met, it is discarded. By repeating the above procedure for all data until sequences are synthesized, it is encoded as DNA data.
  • FIG. 1 is a flowchart illustrating a sequence aggregation method-based decoding method of a DNA storage device according to an embodiment of the present invention.
  • the decoding method based on the sequence aggregation method of the DNA storage device performs DNA sequencing to form a DNA oligo base sequence (S100), the front end of the base sequence read and random sampling of a certain number of bases from the rear end read (S110), merging the randomly sampled bases using a stitch algorithm (S120), and extracting only nucleotide sequences having a predetermined length from among the merged bases (S130) ), forming a first data group by clustering the extracted nucleotide sequences based on the degree of identity (S140), removing nucleotide sequences having a certain distance to form a second data group (S150), bases in the cluster
  • a third data group is formed by classifying in the order of the number of sequences (S160), a nucleotide sequence that succeeds by performing RS decoding is stored, and a nucleotide sequence that fails RS correction is performed on a separate heap (S160). ) to form a fourth data group
  • the electronic device in the step (S100) of forming a DNA oligo base sequence by performing DNA sequencing, the electronic device as a sequence identifier, each base, adenine (A, Adenine), guanine (G, Guanine), cytosine (C, Cytosine) and thymine (T, Thymine) and the stiffness information including the sequence sequence to form a DNA oligonucleotide sequence.
  • A Adenine
  • G Guanine
  • C Cytosine
  • T Thymine
  • the electronic device In the step of merging the randomly sampled bases using the stitch algorithm ( S120 ), the electronic device generates a stitched sequence of a predetermined target length with respect to the base sequence file by using the stitch algorithm.
  • the stitch algorithm is an algorithm that evaluates the overlap of interactive leads, and is characterized by parallel processing.
  • the target length may be a length allowed in the stitch algorithm, and may be a predetermined length, for example a length of 152 nt.
  • the sequence encoded based on the Hamming distance in the stitched sequence has a predetermined length, for example, 152 nt. to extract the catalog.
  • the Hamming distance is based on a predetermined minimum editing distance, and an initial sequence of stitched oligo reads is extracted based on the corresponding editing distance.
  • the Hamming distance may be, for example, 80 nt.
  • a predetermined length is y
  • y - 2 sequences matching up to 2 of the nucleotide sequences are grouped into the same cluster.
  • the predetermined length is 152 nt
  • the same sequence up to 150 nt in the nucleotide sequence that is, up to two different sequences may be collected into the same cluster.
  • the existing technology when all of the predetermined nucleotide sequences are completely identical, they are collected into a cluster, and even if only one nucleotide sequence is different, it is not included in the cluster. Differences up to are characterized by including as a cluster.
  • a cluster may have exactly the same sequence, only one different sequence, or up to two different sequences may coexist.
  • the errors of the DNA oligos can be confirmed by the majority rule by position.
  • the reason for including those that differ by up to two errors in the same cluster is that, in the case of a location where an error cannot be found due to the principle of majority vote, the corresponding error can be checked using the RS code. A method of checking the error will be described later.
  • the clustered sequence data is formed into a first data group.
  • nucleotide sequences having a predetermined distance are removed based on the first data group.
  • the predetermined distance may include 3 to x-2. That is, DNA oligos that differ from the clusters by 3 to x-2 are removed from the first data group.
  • the DNA oligo to be removed is a DNA oligo having a distance of 3 nt to 78 nt from the adjacent cluster.
  • DNA oligos having a Hamming distance less than that are highly likely to contain many errors are highly likely to contain many errors.
  • DNA oligos with differences of 1nt, 2nt, and x-1, x-2 are left without deletion because it can be corrected through RS correction.
  • the step of forming a third data group by classifying in an order of increasing the number of nucleotide sequences in the cluster (S160) is to sort the third data group from the largest to the smallest among the clusters based on the second data group.
  • a third data group may be formed by determining the value P in the order of the highest.
  • the probability value P may be a value satisfying Equation 1 below.
  • y means the length of a predetermined base sequence from which the base sequence is extracted.
  • the length of the predetermined base sequence is 152 nt, it may be in the form of Equation 2 below.
  • Equation 2 is a numerical value indicating the probability of reliability when each position of the base sequence is sequenced with the corresponding base. By multiplying this with respect to the entire nucleotide sequence, the P value can be used as an index indicating the reliability of the entire DNA oligo.
  • a nucleotide sequence that succeeds by performing RS decoding is stored, and a nucleotide sequence that fails is stored in a separate heap after performing RS correction to form a fourth data group (S170).
  • clusters in which RS decoding results fail are not used at all.
  • clusters containing only one error can be corrected to the correct value through RS correction and used for LT decoding. Therefore, in the present invention, the existing discarded information can be recovered and used for LT decoding, and the clusters with correct RS decoding results are stored in a separate heap to form a fourth data group.
  • oligos X and Y differ by two and they are grouped into the same cluster, the primary determines whether it is the correct oligo through the principle of majority vote. If it is not possible to determine which of X and Y is the correct oligo due to a tie, it can be determined through RS code.
  • Efficient decoding is possible by performing LT decoding in the order of a nucleotide sequence with high reliability to a nucleotide sequence with low reliability.
  • FIG. 2 is a diagram comparing the performance of a decoding method based on a sequence aggregation method of a DNA storage device according to an embodiment of the present invention and a decoding method according to a comparative example.
  • the decoding method based on the sequence aggregation method according to the present invention has superior performance in all random sampling frequency intervals compared to the comparative example.
  • the number of successes exceeds 190 only at the number of random samplings of 86000 for 200 experiments in the unrestricted pool, and the number of random samplings greater than that of the present invention, such as successful decoding of all 200 experiments from 90000 You can check what you are asking for.
  • the ratio of clusters corresponding to number 1 is 38.3 to 40.5% of the present invention 11.6 ⁇ It can be seen that the decrease is 14.0%. In addition, it can be seen that the ratio of the total sequence read of the cluster corresponding to the number 1 is reduced from 12.8% to 14.5% to 2.8 to 3.5%.
  • the number of sequences stored in the heap through RS correction and reused for LT decoding is 0% in the comparative example, whereas in the present invention, it is about 0.26 to 0.32%, so it can be confirmed that the efficiency of information utilization is improved. .
  • FIG. 3 is a graph illustrating a correlation in which an error rate increases as the probability value of a Q-score decreases.
  • Equation 2 ( ) the correlation with the errors contained in the sequence reads compared to the existing DNA oligos is shown.
  • the x-axis represents the probability corresponding to the Q-score of the corresponding oligo read
  • the y-axis represents the difference in the minimum editing distance between the oligo read and the encoded oligo sequence. It can be confirmed that the error is small because the difference is small as the P value is high, and it can be confirmed that the error generally increases as the P value decreases.
  • the method according to an embodiment of the present invention described above may be implemented as a program (or application) to be executed in combination with a server, which is hardware, and stored in a medium.
  • the above-described program is C, C++, JAVA, machine language, etc. that a processor (CPU) of the computer can read through a device interface of the computer in order for the computer to read the program and execute the methods implemented as a program
  • It may include code (Code) coded in the computer language of Such code may include functional code related to a function defining functions necessary for executing the methods, etc., and includes an execution procedure related control code necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do.
  • this code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer should be referenced. there is.
  • the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.
  • the storage medium is not a medium that stores data for a short moment, such as a register, a cache, a memory, etc., but a medium that stores data semi-permanently and can be read by a device.
  • examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and an optical data storage device.
  • the program may be stored in various recording media on various servers accessible by the computer or in various recording media on the computer of the user.
  • the medium may be distributed in a computer system connected to a network, and a computer-readable code may be stored in a distributed manner.
  • a software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable ROM
  • EEPROM electrically erasable programmable ROM
  • flash memory hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

The present invention relates to a method, program, and apparatus for decoding based on sequence clustering of a DNA storage device. According to the present invention, when base sequences with certain lengths are extracted from nucleotide sequences formed through a stitch algorithm, clustering is conducted on the basis of the degree of identity, wherein nucleotide sequences with small errors as well as completely identical nucleotide sequences are contained within the cluster, whereby the error data can be used to improve decoding efficiency and reduce the final error rate.

Description

DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법, 프로그램 및 장치Decoding method, program and apparatus based on sequence aggregation method of DNA storage device
본 발명은 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법, 프로그램 및 장치에 관한 것이다.The present invention relates to a decoding method, program and apparatus based on a sequence aggregation method of a DNA storage device.
현대 사회에서는 스마트 기기들의 보급, SNS 사용량의 증가 및 IoT 시스템의 보급 등으로 데이터가 넘쳐나고 있으며, 2020년이면 44조 GB 이상의 데이터가 인터넷에 존재할 것으로 예상된다.In modern society, data is overflowing due to the spread of smart devices, the increase in SNS usage, and the spread of IoT systems, and by 2020, more than 44 trillion GB of data is expected to exist on the Internet.
이와 같이 많은 양의 데이터는 일반적으로 하드웨어 장치 자체, 외장 하드 및 웹 하드 등 많은 저장 장치를 이용하여 곳곳에 데이터를 보관하고 있다.As such, a large amount of data is generally stored in various places using a number of storage devices such as hardware devices themselves, external hard drives, and web hard drives.
그러나, 이러한 데이터의 보관 방식은 용량이나 비용뿐만 아니라 불편함까지 초래하는 많은 한계들이 있어, 최근 DNA 스토리지(DNA Storage) 기술에 대한 많은 연구가 이루어지고 있다.However, this data storage method has many limitations that cause inconvenience as well as capacity and cost, and thus, a lot of research on DNA storage technology has been made recently.
DNA 스토리지 기술이란, 0과 1로 이루어진 디지털 데이터를 DNA의 염기로 치환하여 저장하는 방식으로서, DNA에 유전이 아닌 디지털 데이터를 저장한다면 1g의 DNA에 4550억 GB 정도의 데이터를 저장할 수 있게 되며, 이는 1TB 하드디스크보다 215,000배 더 많은 데이터 저장 능력인 것이다.DNA storage technology is a method of storing digital data consisting of 0s and 1s by replacing them with bases of DNA. This is 215,000 times more data storage capacity than a 1TB hard disk.
따라서 최근, 각 디지털 데이터를 DNA 데이터로 인코딩 하는 방법과 DNA 데이터를 디지털 데이터로 복호화 하는 방법에 대한 연구가 계속해서 이루어지고 있다.Therefore, recently, research on a method of encoding each digital data into DNA data and a method of decoding DNA data into digital data has been continuously conducted.
DNA 시퀀스 집단화 방식에 있어서, Erlich, Y. 및 Zielinski의 선행 연구에 따르면 스티치 알고리즘(Stitch algorithm)을 통해 합성된 염기 서열이 완벽히 동일한 경우만 동일 클러스터로 판단하도록 하고 있다. 이러한 방식은 개선의 여지가 있는 매우 적은 오류를 가지는 클러스터들조차 복호화에 활용하지 못함으로써, 복호화의 효율이 저하되고 오히려 오류값이 높아지는 문제점이 발생하고 있다.In the DNA sequence aggregation method, according to a previous study by Erlich, Y., and Zielinski, the same cluster is determined only when the nucleotide sequences synthesized through the Stitch algorithm are completely identical. In this method, even clusters with very few errors, which have room for improvement, cannot be used for decoding, and thus there is a problem in that decoding efficiency is lowered and an error value is rather increased.
상술한 바와 같은 문제점을 해결하기 위한 본 발명은 DNA 합성에 있어서, 스티치 알고리즘을 통해 형성된 염기 서열에서 특정 길이를 가지는 염기 서열을 추출할 때 동일성 정도를 바탕으로 클러스터링을 진행하되, 완전히 동일한 염기 서열 뿐 아니라 적은 에러를 가지는 염기 서열들도 클러스터에 포함시킴으로써 에러 데이터를 활용하여 복호화 효율을 향상시키고, 최종 에러율을 감소시키는 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법, 프로그램 및 장치를 제공하고자 한다. In the present invention for solving the above-described problems, in DNA synthesis, when a nucleotide sequence having a specific length is extracted from a nucleotide sequence formed through a stitch algorithm, clustering is performed based on the degree of identity, but only the completely identical nucleotide sequence It is an object of the present invention to provide a decoding method, program and apparatus based on a sequence aggregation method of a DNA storage device that improves decoding efficiency by utilizing error data and reduces the final error rate by including nucleotide sequences with small errors in the cluster.
또한, 본 발명은 RS 복호화 수행시 성공한 클러스터 뿐 아니라 실패한 클러스터도 RS 보정(correction)을 진행하여 LT 복호화(Luby Transform Decoding)에 활용함으로써 종래에는 버려졌던 정보를 복구하여 사용함으로써 복호화의 효율성 향상이 가능한, DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법, 프로그램 및 장치를 제공하고자 한다. In addition, according to the present invention, when RS decoding is performed, not only successful clusters but also failed clusters are subjected to RS correction and utilized for LT decoding (Luby Transform Decoding), thereby recovering and using information that was previously discarded. , to provide a decoding method, program and apparatus based on a sequence aggregation method of a DNA storage device.
또한, 본 발명은 예측품질점수(Q-score) 값을 바탕으로 LT 복호화의 우선순위를 결정함으로써 복호화의 에러율 저하가 가능한, DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법, 프로그램 및 장치를 제공하고자 한다. In addition, the present invention provides a decoding method, program and apparatus based on a sequence aggregation method of a DNA storage device, which can reduce the error rate of decoding by determining the priority of LT decoding based on a Q-score value. .
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법은, 전자장치가 DNA 시퀀싱을 진행하여 DNA 올리고(oligo) 염기 서열을 형성하는 단계, 상기 전자장치가 생성된 염기 서열의 앞단 리드(forward read)와 후단 리드(reverse read)에서 각각 일정 수의 염기를 랜덤하게 샘플링 하는 단계, 상기 전자장치가 랜덤 샘플링된 염기를 스티치 알고리즘(stitch algorithm)을 이용하여 합치는 단계, 상기 전자장치가 스티치 알고리즘을 통해 합쳐진 염기 서열들 중 기결정된 길이를 가지는 염기 서열만을 추출하는 단계, 상기 전자장치가 상기 추출된 염기 서열을 동일성 정도를 바탕으로 클러스터링하여 과반수 이상으로 모인 DNA 염기서열 베이스를 바탕으로 대표값을 형성하고, 과반수 미만의 DNA 염기서열 베이스는 단순 저장하여 제1 데이터 그룹을 형성하는 단계, 상기 전자장치가 상기 제1 데이터 그룹에서 클러스터들과 거리가 일정 차이나는 염기서열 들을 제거하여 제2 데이터 그룹을 형성하는 단계, 상기 전자장치가 상기 제2 데이터 그룹에서 클러스터 중 염기서열 개수가 많은 순서로 분류하여 제3 데이터 그룹을 형성하는 단계, 상기 전자장치가 상기 제3 데이터 그룹에서 염기서열 개수가 많은 클러스터부터 RS 복호화를 수행하여 성공한 염기서열은 저장하고, 실패한 염기서열은 RS 보정(correction)을 수행한 뒤 별도의 힙(heap)에 저장하여 제4 데이터 그룹을 형성하는 단계 및 상기 전자장치가 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)을 수행하는 단계를 포함한다. In a decoding method based on a sequence aggregation method of a DNA storage device according to an embodiment of the present invention for solving the above-mentioned problems, the electronic device performs DNA sequencing to form a DNA oligo base sequence, the electronic device randomly sampling a predetermined number of bases from each of a forward read and a reverse read of the generated nucleotide sequence, and the electronic device uses the randomly sampled nucleotides using a stitch algorithm The step of merging, the step of the electronic device extracting only the nucleotide sequence having a predetermined length from among the nucleotide sequences merged through the stitch algorithm, the electronic device clustering the extracted nucleotide sequence based on the degree of identity to collect more than half Forming a representative value based on the DNA sequence base, and simply storing less than a majority of the DNA sequence base to form a first data group, wherein the electronic device has a certain distance from the clusters in the first data group removing nucleotide sequences to form a second data group, the electronic device classifying the second data group in an order of increasing the number of nucleotide sequences among clusters to form a third data group; In the third data group, RS decoding is performed starting from a cluster with a large number of nucleotide sequences, and the successful nucleotide sequence is stored, and the unsuccessful nucleotide sequence is stored in a separate heap after performing RS correction. and forming, by the electronic device, sequentially performing LT decoding (Luby Transform Decoding) on the fourth data group.
상기 DNA 올리고 염기 서열을 형성하는 단계는, 서로 해밍 거리(Hamming Distance)가 최소 길이 x 이상으로 차이나도록 형성되는 것이다. In the step of forming the DNA oligonucleotide sequence, a Hamming Distance is formed to be different from each other by a minimum length x or more.
상기 제1 데이터 그룹을 형성하는 단계는, 기결정된 길이를 가지는 염기 서열 중 기결정된 길이 전체가 동일한 염기 서열, 1개 염기 서열이 상이하고 나머지 서열은 동일한 염기 서열 및 2개 염기 서열이 상이하고 나머지 서열은 동일한 염기 서열까지 동일성이 있는 것으로 판단하여 동일 클러스터로 결정하는 것이다. The forming of the first data group includes a nucleotide sequence having the same entire length among nucleotide sequences having a predetermined length, one nucleotide sequence is different, and the remaining sequences are the same nucleotide sequence and two nucleotide sequences are different and the rest The sequence is determined to be the same cluster by determining that there is identity even to the same nucleotide sequence.
상기 제2 데이터 그룹을 형성하는 단계는, 상기 제1 데이터 그룹에서 클러스터들과 거리가 3 nt 내지 최소 길이 x-2 nt 만큼 차이나는 염기서열 들을 제거하는 것이다.In the forming of the second data group, nucleotide sequences that differ from clusters by a distance of 3 nt to a minimum length of x-2 nt in the first data group are removed.
상기 제3 데이터 그룹을 형성하는 단계는, 클러스터 중에서 개수가 1개인 것들의 순서를 결정하는 방법은, 예측품질점수(Q-score)를 바탕으로 연산한 염기를 잘못 불러올 확률 값 P가 높은 순서로 결정하는 것이다. 상기 확률 값 P는 하기의 수학식을 만족하는 값인 것이다.In the step of forming the third data group, the method of determining the order of the ones having the number of one among the clusters is in the order of the highest probability value P of erroneously retrieving the base calculated based on the prediction quality score (Q-score). will decide The probability value P is a value satisfying the following equation.
Figure PCTKR2021014015-appb-I000001
Figure PCTKR2021014015-appb-I000001
여기에서, y는 염기 서열을 추출하는 기결정된 염기 서열의 길이를 의미한다.Here, y means the length of a predetermined base sequence from which the base sequence is extracted.
상기 전자장치가 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)를 수행하는 단계는, RS 복호화에 성공한 염기서열에 대하여 먼저 LT 복호화를 수행하고, RS 복호화에 실패한 염기서열은 RS 보정을 수행한 후 별도의 힙(heap)에 저장해 놓은 뒤, heap에 저장된 염기서열은 LT 복호화를 더 나중에 수행하는 것이다.In the step of the electronic device sequentially performing LT decoding (Luby Transform Decoding) in the fourth data group, LT decoding is first performed on a nucleotide sequence that has succeeded in RS decoding, and RS correction is performed on a nucleotide sequence that has failed RS decoding. After performing the LT decoding, it is stored in a separate heap, and the nucleotide sequence stored in the heap is performed later.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 프로그램은 컴퓨터인 하드웨어와 결합되어, 상기 방법 중 어느 하나의 방법을 실행하기 위해 매체에 저장된다.A sequence aggregation method-based decoding program of a DNA storage device according to another embodiment of the present invention for solving the above-described problems is combined with hardware that is a computer, and is stored in a medium to execute any one of the methods.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 컴퓨팅 장치는, A decoding computing device based on a sequence aggregation method of a DNA storage device according to another embodiment of the present invention for solving the above problems,
DNA 시퀀싱을 진행하여 DNA 올리고(oligo) 염기 서열을 형성하고, 생성된 염기 서열의 앞단 리드(forward read)와 후단 리드(reverse read)에서 각각 일정 수의 염기를 랜덤하게 샘플링 하고, 랜덤 샘플링된 염기를 스티치 알고리즘(stitch algorithm)을 이용하여 합치고, 스티치 알고리즘을 통해 합쳐진 염기 서열들 중 기결정된 길이를 가지는 염기 서열만을 추출하고, 상기 추출된 염기 서열을 동일성 정도를 바탕으로 클러스터링하여 과반수 이상으로 모인 DNA 염기서열 베이스를 바탕으로 대표값을 형성하고, 과반수 미만의 DNA 염기서열 베이스는 단순 저장하여 제1 데이터 그룹을 형성하고, 상기 전자장치가 상기 제1 데이터 그룹에서 클러스터들과 거리가 일정 차이나는 염기서열 들을 제거하여 제2 데이터 그룹을 형성하고, 상기 전자장치가 상기 제2 데이터 그룹에서 클러스터 중 염기서열 개수가 많은 순서로 분류하여 제3 데이터 그룹을 형성하고, 상기 전자장치가 상기 제3 데이터 그룹에서 염기서열 개수가 많은 클러스터부터 RS 복호화를 수행하여 성공한 염기서열은 저장하고, 실패한 염기서열은 RS 보정(correction)을 수행한 뒤 별도의 힙(heap)에 저장하여 제4 데이터 그룹을 형성하고, 상기 전자장치가 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)을 수행한다. DNA sequencing is performed to form a DNA oligo base sequence, and a predetermined number of bases are randomly sampled from each of the forward read and reverse read of the generated base sequence, and the randomly sampled bases are merged using a stitch algorithm, only a nucleotide sequence having a predetermined length is extracted from among nucleotide sequences merged through the stitch algorithm, and the extracted nucleotide sequence is clustered based on the degree of identity. A representative value is formed based on the base sequence base, and a DNA sequence base of less than a majority is simply stored to form a first data group, and the electronic device uses a base having a certain distance from the clusters in the first data group. sequences are removed to form a second data group, the electronic device classifies the second data group in an order of increasing the number of nucleotide sequences in the cluster to form a third data group, and the electronic device performs the third data group performs RS decoding from a cluster with a large number of sequences in the The electronic device sequentially performs LT decoding (Luby Transform Decoding) in the fourth data group.
상기 DNA 올리고 염기 서열을 형성하는 것은, 서로 해밍 거리가 최소 길이 x 이상으로 차이나도록 형성되는 것이다. Forming the DNA oligo base sequence is formed so that the Hamming distance differs from each other by a minimum length x or more.
상기 제1 데이터 그룹을 형성하는 것은, 기결정된 길이를 가지는 염기 서열 중 기결정된 길이 전체가 동일한 염기 서열, 1개 염기 서열이 상이하고 나머지 서열은 동일한 염기 서열 및 2개 염기 서열이 상이하고 나머지 서열은 동일한 염기 서열까지 동일성이 있는 것으로 판단하여 동일 클러스터로 결정하는 것이다. Forming the first data group is that, among nucleotide sequences having a predetermined length, the entire predetermined length is the same, one nucleotide sequence is different and the remaining sequences are the same nucleotide sequence and two nucleotide sequences are different, and the remaining sequences are different is determined to be the same cluster by determining that there is identity even to the same nucleotide sequence.
상기 제2 데이터 그룹을 형성하는 것은, 상기 제1 데이터 그룹에서 클러스터들과 거리가 3 nt 내지 최소 길이 x-2 nt 만큼 차이나는 염기서열 들을 제거하는 것이다.Forming the second data group is to remove nucleotide sequences that differ from clusters by 3 nt to a minimum length x-2 nt in the first data group.
상기 제3 데이터 그룹을 형성하는 것은, 클러스터 중에서 개수가 1개인 것들의 순서를 결정하는 방법은, 예측품질점수(Q-score)를 바탕으로 연산한 염기를 잘못 불러올 확률 값 P가 높은 순서로 결정하는 것이다.To form the third data group, the method of determining the order of the ones having the number of one among the clusters is determined in the order of the highest probability value P of erroneously retrieving the base calculated based on the Q-score will do
상기 확률 값 P는 하기의 수학식을 만족하는 값인 것이다.The probability value P is a value satisfying the following equation.
Figure PCTKR2021014015-appb-I000002
Figure PCTKR2021014015-appb-I000002
여기에서, y는 염기 서열을 추출하는 기결정된 염기 서열의 길이를 의미한다.Here, y means the length of a predetermined base sequence from which the base sequence is extracted.
상기 전자장치가 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)을 수행하는 것은, RS 복호화에 성공한 염기서열에 대하여 먼저 LT 복호화를 수행하고, RS 복호화에 실패한 염기서열은 RS 보정을 수행한 후 별도의 힙(heap)에 저장해 놓은 뒤, heap에 저장된 염기서열은 LT 복호화를 더 나중에 수행하는 것이다.When the electronic device sequentially performs LT decoding (Luby Transform Decoding) in the fourth data group, LT decoding is first performed on a nucleotide sequence that succeeds in RS decoding, and RS correction is performed on a nucleotide sequence that fails RS decoding. After storing it in a separate heap, the nucleotide sequence stored in the heap is to perform LT decoding later.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer-readable recording medium for recording a computer program for executing the method may be further provided.
상기와 같은 본 발명에 따르면, 스티치 알고리즘을 통해 형성된 염기 서열에서 특정 길이를 가지는 염기 서열을 추출할 때 동일성 정도를 바탕으로 클러스터링을 진행하되, 완전히 동일한 염기 서열 뿐 아니라 적은 에러를 가지는 염기 서열들도 클러스터에 포함함으로써 에러 데이터를 활용하여 복호화 효율을 향상시키고, 최종 에러율을 감소시킬 수 있다. According to the present invention as described above, when extracting a nucleotide sequence having a specific length from the nucleotide sequence formed through the stitch algorithm, clustering is performed based on the degree of identity, but not only the completely identical nucleotide sequence but also nucleotide sequences with small errors By including in the cluster, it is possible to utilize the error data to improve the decoding efficiency and reduce the final error rate.
본 발명은 RS 복호화 수행시 성공한 클러스터 뿐 아니라 실패한 클러스터도 RS 보정(correction)을 진행하여 LT 복호화에 활용함으로써 종래에는 버려졌던 정보를 복구하여 사용함으로써 복호화의 효율성 향상이 가능하다.In the present invention, when RS decoding is performed, not only successful clusters but also failed clusters are subjected to RS correction and used for LT decoding, thereby recovering and using information that was previously discarded, thereby improving the efficiency of decoding.
본 발 명은 복호화 에러율의 큰 원인 중 하나인 크기 1짜리 클러스터에 대하여 예측품질점수(Q-score) 값을 바탕으로 LT 복호화의 우선순위를 결정함으로써 복호화의 에러율 저하가 가능하다.In the present invention, it is possible to reduce the decoding error rate by determining the priority of LT decoding based on a Q-score value for a cluster having a size of 1, which is one of the major causes of the decoding error rate.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시예에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a sequence aggregation method-based decoding method of a DNA storage device according to an embodiment of the present invention.
도 2a 및 2b는 본 발명의 일 실시예에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법과 일 비교예에 따른 복호화 방법의 성능을 비교한 도면이다.2A and 2B are diagrams comparing performance of a decoding method based on a sequence aggregation method of a DNA storage device according to an embodiment of the present invention and a decoding method according to a comparative example.
도 3은 Q-score의 확률 값이 낮을수록 에러율이 높아지는 상관관계를 도시한 그래프이다.3 is a graph illustrating a correlation in which an error rate increases as the probability value of a Q-score decreases.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments allow the disclosure of the present invention to be complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully understand the scope of the present invention to those skilled in the art, and the present invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein will have the meaning commonly understood by those of ordinary skill in the art to which this invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless specifically defined explicitly.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.Before the description, the meaning of the terms used in this specification will be briefly described. However, it should be noted that, since the description of the term is for the purpose of helping the understanding of the present specification, it is not used in the meaning of limiting the technical idea of the present invention unless explicitly described as limiting the present invention.
본 명세서에서 '해독 염기 서열 파일'은 DNA 염기 서열을 나타내는 텍스트 기반의 표준 염기 데이터 형식의 파일이며, 예컨대, FASTQ 파일을 의미한다.In the present specification, the 'decoded nucleotide sequence file' is a text-based standard nucleotide data format file indicating a DNA nucleotide sequence, for example, a FASTQ file.
본 발명은 시퀀스 집단화 방식을 통해 DNA 데이터로 인코딩된 데이터를 다시 복호화 하는 과정에 대한 것이다.The present invention relates to a process of decoding data encoded as DNA data again through a sequence aggregation method.
따라서, 본 명세서에서는 인코딩된 데이터를 복호화 하는 과정에 대하여 기술하고 있으며, 다양한 방법으로 인코딩된 데이터를 모두 포함할 수 있다.Accordingly, in this specification, a process of decoding encoded data is described, and data encoded by various methods may be included.
특히, 본 발명은 루비 트랜스폼(LT, Luby Transform) 코드, 파운틴(Fountain) 코드, 터보(Turbo) 코드, 폴라(Polar) 코드 또는 LDPC(Low Density Parity Check) 코드로 인코딩된 데이터를 복호화하는 것에 적합할 수 있으나, 특정 방식으로 인하여 인코딩된 데이터를 북호화하는 것으로 한정하지는 않고, 어떠한 방식으로든 인코딩된 데이터에 대하여 모두 적용될 수 있다.In particular, the present invention relates to a Ruby Transform (LT, Luby Transform) code, a Fountain code, a Turbo code, a Polar code, or LDPC (Low Density Parity Check) for decoding data encoded with a code. It may be suitable, but it is not limited to encoding data encoded in a specific manner, and may be applied to data encoded in any manner.
본 발명인 복호화 방법의 설명을 돕기 위하여, 특정 데이터를 DNA 데이터로 인코딩하는 방법에 대하여 간략하게 설명한다.In order to help the description of the decoding method according to the present invention, a method for encoding specific data into DNA data will be briefly described.
하기의 예시는, 루비 트랜스폼 코드를 이용하여 인코딩하는 일반적인 방법의 예시이다.The following example is an example of a general method of encoding using a Ruby transform code.
특정 이미지 파일을 DNA 데이터로 인코딩 하는 과정에서, 하나의 이미지를 길이 L의 KLT개의 패킷으로 나눈다. 나뉘어진 KLT개의 패킷을 루비 트랜스폼 인코딩을 통하여 하나의 인코딩된 패킷으로 생성한다. 이후, 선형 피드백 시프트 레지스터(LFSR, Linear-Feedback Shift Register)에 의해 얻어진 시드 비트를 붙이고, 특정 값 이상에 해당하는 RS(Reed Solomon) 인코딩 비트를 붙인다.In the process of encoding a specific image file into DNA data, one image is divided into K LT packets of length L. Divided K LT packets are generated as one encoded packet through Ruby transform encoding. Thereafter, a seed bit obtained by a Linear-Feedback Shift Register (LFSR) is appended, and a Reed Solomon (RS) encoding bit corresponding to or greater than a specific value is appended.
최종 인코딩된 비트에 대하여 각각 염기의 비트로 변환한 후, 염기 서열의 최대 호모 폴리머 길이가 미리 정해진 길이보다 작거나 같고, 구아닌, 시토신 함량 비가 미리 정해진 비율에 속하는지를 확인한다.After converting each of the base bits to the final encoded bit, it is checked whether the maximum homopolymer length of the base sequence is less than or equal to a predetermined length, and whether the guanine to cytosine content ratio falls within a predetermined ratio.
상기 조건이 만족된다면, 해당 서열은 인코딩되도록 선택되고, 상기 조건이 만족되지 않는 서열의 경우에는 폐기된다. 상기와 같은 절차를 모든 데이터에 대하여 서열이 합성될때까지 반복함으로써, DNA 데이터로 인코딩되는 것이다.If the above condition is satisfied, the sequence is selected to be encoded, and in the case of a sequence where the above condition is not met, it is discarded. By repeating the above procedure for all data until sequences are synthesized, it is encoded as DNA data.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a sequence aggregation method-based decoding method of a DNA storage device according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법은 DNA 시퀀싱을 진행하여 DNA 올리고(oligo) 염기 서열을 형성하는 단계(S100), 염기서열의 앞단 리드와 후단 리드에서 일정 수의 염기를 랜덤 샘플링하는 단계(S110), 랜덤 샘플링 된 염기를 스티치 알고리즘 이용하여 병합하는 단계(S120), 병합된 염기 중 기결정된 길이를 가지는 염기 서열만을 추출하는 단계(S130), 추출된 염기 서열을 동일성 정도를 바탕으로 클러스터링하여 제1 데이터 그룹 형성하는 단계(S140), 거리가 일정 차이나는 염기서열 들을 제거하여 제2 데이터 그룹을 형성하는 단계(S150), 클러스터 중 염기서열 개수가 많은 순서로 분류하여 제3 데이터 그룹을 형성하는 단계(S160), RS 복호화를 수행하여 성공한 염기서열은 저장하고, 실패한 염기서열은 RS 보정(correction)을 수행한 뒤 별도의 힙(heap)에 저장하여 제4 데이터 그룹을 형성하는 단계(S170), 및 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)을 수행하는 단계(S180)을 포함한다. 1 , the decoding method based on the sequence aggregation method of the DNA storage device according to an embodiment of the present invention performs DNA sequencing to form a DNA oligo base sequence (S100), the front end of the base sequence read and random sampling of a certain number of bases from the rear end read (S110), merging the randomly sampled bases using a stitch algorithm (S120), and extracting only nucleotide sequences having a predetermined length from among the merged bases (S130) ), forming a first data group by clustering the extracted nucleotide sequences based on the degree of identity (S140), removing nucleotide sequences having a certain distance to form a second data group (S150), bases in the cluster A third data group is formed by classifying in the order of the number of sequences (S160), a nucleotide sequence that succeeds by performing RS decoding is stored, and a nucleotide sequence that fails RS correction is performed on a separate heap (S160). ) to form a fourth data group (S170), and sequentially performing LT decoding (Luby Transform Decoding) on the fourth data group (S180).
DNA 시퀀싱을 진행하여 DNA 올리고(oligo) 염기 서열을 형성하는 단계(S100)에서, 전자장치는 시퀀스 식별자로서 각각의 염기인, 아데닌(A, Adenine), 구아닌(G, Guanine), 시토신(C, Cytosine) 및 티민(T, Thymine)을 나타내는 정보와 시퀀스의 순서를 포함하는 강성 정보를 바탕으로 DNA 올리고 염기 서열을 형성한다. In the step (S100) of forming a DNA oligo base sequence by performing DNA sequencing, the electronic device as a sequence identifier, each base, adenine (A, Adenine), guanine (G, Guanine), cytosine (C, Cytosine) and thymine (T, Thymine) and the stiffness information including the sequence sequence to form a DNA oligonucleotide sequence.
랜덤 샘플링 된 염기를 스티치 알고리즘 이용하여 병합하는 단계(S120)는, 전자 장치가 염기 서열 파일에 대하여 스티치 알고리즘을 이용하여 기결정된 타겟 길이의 스티치된 시퀀스를 생성하는 것이다.In the step of merging the randomly sampled bases using the stitch algorithm ( S120 ), the electronic device generates a stitched sequence of a predetermined target length with respect to the base sequence file by using the stitch algorithm.
스티치 알고리즘(PEAR)은 쌍방향 리드의 겹침을 평가하는 알고리즘으로서, 병렬 처리되는 것이 특징이다.The stitch algorithm (PEAR) is an algorithm that evaluates the overlap of interactive leads, and is characterized by parallel processing.
타겟 길이는 스티치 알고리즘에서 허용되는 길이일 수 있으며, 기결정된 길이, 예를 들어, 152 nt의 길이일 수 있다.The target length may be a length allowed in the stitch algorithm, and may be a predetermined length, for example a length of 152 nt.
병합된 염기 중 기결정된 길이를 가지는 염기 서열만을 추출하는 단계(S130)는, 상기 스티치된 시퀀스에서 해밍 거리(Hamming distance)를 기준으로 인코딩된 시퀀스를 기결정된 길이, 예를 들어 152 nt, 를 가지도록 추출하는 것이다.In the step of extracting only the nucleotide sequence having a predetermined length among the merged bases (S130), the sequence encoded based on the Hamming distance in the stitched sequence has a predetermined length, for example, 152 nt. to extract the catalog.
상기 해밍 거리는 미리 정해진 최소 편집 거리를 기준으로 하는 것이며, 해당 편집 거리를 기준으로 하여 스티치된 올리고 리드의 초기 시퀀스를 추출한다. 상기 해밍 거리는 예를 들어, 80 nt일 수 있다. The Hamming distance is based on a predetermined minimum editing distance, and an initial sequence of stitched oligo reads is extracted based on the corresponding editing distance. The Hamming distance may be, for example, 80 nt.
추출된 염기 서열을 동일성 정도를 바탕으로 클러스터링하여 제1 데이터 그룹 형성하는 단계(S140)는, 기결정된 길이를 y라고 할 때 염기 서열 중 y - 2 개까지 일치하는 시퀀스를 동일한 클러스터로 집단화한다. 예를 들어, 기결정된 길이를 152 nt일 경우, 염기 서열 중 150 nt까지 동일한 시퀀스, 즉 2개까지 다른 시퀀스는 동일한 클러스터로 모을 수 있다. 기존의 기술에서는 기결정된 염기서열 모두가 완벽히 동일한 경우에 클러스터로 모으고, 단 1개의 염기서열이라도 다른 경우는 클러스터에 포함시키지 않았으나, 본 발명에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법은 2개까지의 차이는 클러스터로 포함시키는 것을 특징으로 한다. 따라서, 한 클러스터에는 시퀀스가 완벽히 동일하거나, 1개만 다르거나, 2개까지 다른 것이 공존할 수 있다. 에러가 1, 2개 정도 있는 DNA 올리고를 동일 클러스터에 모음으로써 해당 DNA 올리고의 에러를 위치별 다수결 원칙으로 확인할 수 있다. 에러 2개까지 차이나는 것들을 동일 클러스터 에 포함시킨 이유는 다수결의 원칙으로 에러를 찾아내지 못하는 위치의 경우 RS code를 이용하여 해당 에러를 확인할 수 있기 때문이다. 에러를 확인하는 방법은 후술하도록 한다.In the step of forming a first data group by clustering the extracted nucleotide sequences based on the degree of identity ( S140 ), when a predetermined length is y, y - 2 sequences matching up to 2 of the nucleotide sequences are grouped into the same cluster. For example, when the predetermined length is 152 nt, the same sequence up to 150 nt in the nucleotide sequence, that is, up to two different sequences may be collected into the same cluster. In the existing technology, when all of the predetermined nucleotide sequences are completely identical, they are collected into a cluster, and even if only one nucleotide sequence is different, it is not included in the cluster. Differences up to are characterized by including as a cluster. Thus, a cluster may have exactly the same sequence, only one different sequence, or up to two different sequences may coexist. By collecting DNA oligos with 1 or 2 errors in the same cluster, the errors of the DNA oligos can be confirmed by the majority rule by position. The reason for including those that differ by up to two errors in the same cluster is that, in the case of a location where an error cannot be found due to the principle of majority vote, the corresponding error can be checked using the RS code. A method of checking the error will be described later.
추출된 모든 시퀀스에 대하여 클러스터링이 완료된 경우에는, 각 클러스터마다 염기 위치별로 과반수 이상으로 모인 DNA 염기가 있을 경우 해당 염기로 통일시킨 대표 값을 형성한다. 만약 과반수에 해당하는 염기가 없는 위치의 경우에는 해당 위치에 가능한 모든 염기값을 남긴다. When clustering is completed for all the extracted sequences, if there are DNA bases collected by a majority by base position in each cluster, a representative value unified with the corresponding base is formed. If there is no base corresponding to a majority of positions, all possible base values are left at that position.
본 단계(S140)에서 클러스터링된 시퀀스 데이터를 제1 데이터 그룹으로 형성한다.In this step ( S140 ), the clustered sequence data is formed into a first data group.
거리가 일정 차이나는 염기서열 들을 제거하여 제2 데이터 그룹을 형성하는 단계(S150)는, 제1 데이터 그룹을 기준으로 클러스터들과 거리가 일정 차이나는 염기서열 들을 제거한다. In the step of forming the second data group by removing nucleotide sequences having a predetermined distance (S150), nucleotide sequences having a predetermined distance from the clusters are removed based on the first data group.
예를 들어, 상기 일정거리는 최소 해밍 거리를 x라 할 때, 3 내지 x-2 만큼을 포함할 수 있다. 즉, 클러스터들과 거리가 3 내지 x-2만큼 차이나는 DNA 올리고는 제1 데이터 그룹에서 제거한다. 예를 들어, 편집 거리가 80 nt 일 경우, 제거되는 DNA 올리고는 인접 클러스터와 3 nt ~ 78 nt만큼 거리차이가 나는 DNA 올리고이다. For example, when the minimum Hamming distance is x, the predetermined distance may include 3 to x-2. That is, DNA oligos that differ from the clusters by 3 to x-2 are removed from the first data group. For example, when the editing distance is 80 nt, the DNA oligo to be removed is a DNA oligo having a distance of 3 nt to 78 nt from the adjacent cluster.
이런 염기서열을 제거하는 이유는 DNA 올리고 합성 시 최소 간격인 편집 거리를 설정했음에도, 그 이하의 해밍 거리를 가지는 DNA 올리고는 매우 많은 오류를 포함할 수 있는 가능성이 높기 때문이다. 다만, 1nt, 2nt, 그리고 x-1, x-2 의 차이나는 DNA 올리고는 삭제하지 않고 남기는 것은 RS 보정을 통해 정정할 수 있기 떄문이다. The reason for removing such a nucleotide sequence is that even though the editing distance, which is the minimum interval, is set when synthesizing DNA oligos, DNA oligos having a Hamming distance less than that are highly likely to contain many errors. However, DNA oligos with differences of 1nt, 2nt, and x-1, x-2 are left without deletion because it can be corrected through RS correction.
클러스터 중 염기서열 개수가 많은 순서로 분류하여 제3 데이터 그룹을 형성하는 단계(S160)는, 제2 데이터 그룹을 기준으로 클러스터 중에서 개수가 많은 것에서 적은 순서로 배열(sorting)하여 제3 데이터 그룹을 형성한다. The step of forming a third data group by classifying in an order of increasing the number of nucleotide sequences in the cluster (S160) is to sort the third data group from the largest to the smallest among the clusters based on the second data group. to form
클러스터 개수가 1인 염기 서열 들은 복호화 단계에서 에러에 많은 영향을 주므로, 해당 염기 서열에 대한 LT 복호화의 우선순위를 결정하기 위해 예측품질점수(Q-score)를 바탕으로 연산한 염기를 잘못 불러올 확률 값 P가 높은 순서로 결정하여 제3 데이터 그룹을 형성할 수 있다.Since nucleotide sequences with the number of clusters of 1 have a large influence on the error in the decoding step, the probability of retrieving the base calculated based on the predicted quality score (Q-score) incorrectly to determine the priority of LT decoding for the nucleotide sequence A third data group may be formed by determining the value P in the order of the highest.
확률 값 P는 하기의 수학식 1을 만족하는 값일 수 있다. The probability value P may be a value satisfying Equation 1 below.
Figure PCTKR2021014015-appb-M000001
Figure PCTKR2021014015-appb-M000001
여기에서, y는 염기 서열을 추출하는 기결정된 염기 서열의 길이를 의미한다.Here, y means the length of a predetermined base sequence from which the base sequence is extracted.
예를 들어, 기결정된 염기 서열의 길이가 152 nt인 경우, 이하의 수학식 2의 형태가 될 수 있다.For example, when the length of the predetermined base sequence is 152 nt, it may be in the form of Equation 2 below.
Figure PCTKR2021014015-appb-M000002
Figure PCTKR2021014015-appb-M000002
수학식 2는 염기 서열의 각 위치가 해당 염기로 시퀀싱 되었을 때, 신뢰할 수 있는지에 대한 확률을 나타내는 수치이다. 이를 전체, 염기 서열에 대해 곱함으로써 해당 DNA 올리고 전체에 대한 신뢰성을 나타내는 지표로써 P값은 이용될 수 있다. Equation 2 is a numerical value indicating the probability of reliability when each position of the base sequence is sequenced with the corresponding base. By multiplying this with respect to the entire nucleotide sequence, the P value can be used as an index indicating the reliability of the entire DNA oligo.
RS 복호화를 수행하여 성공한 염기서열은 저장하고, 실패한 염기서열은 RS 보정(correction)을 수행한 뒤 별도의 힙(heap)에 저장하여 제4 데이터 그룹을 형성한다(S170).A nucleotide sequence that succeeds by performing RS decoding is stored, and a nucleotide sequence that fails is stored in a separate heap after performing RS correction to form a fourth data group (S170).
종래 기술에는 RS 복호화 결과가 실패한 클러스터들은 전혀 사용하지 않았다. 그러나 본 발명에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법은, 오류가 겨우 1개 포함된 cluster들의 경우에는 RS 보정을 통해 올바른 값으로 수정이 가능하고 LT 복호화에 활용하도록 하였다. 따라서, 본 발명은 기존의 버려진 정보를 복구하여 LT 복호화에 사용할 수 있도록 하였고, RS 복호화 결과가 옳은 클러스터들을 우선으로 실패한 애들은 별도의 힙(heap)에 저장하여 제4 데이터 그룹을 형성하도록 하였다.In the prior art, clusters in which RS decoding results fail are not used at all. However, in the case of the sequence aggregation method-based decoding method of the DNA storage device according to the present invention, clusters containing only one error can be corrected to the correct value through RS correction and used for LT decoding. Therefore, in the present invention, the existing discarded information can be recovered and used for LT decoding, and the clusters with correct RS decoding results are stored in a separate heap to form a fourth data group.
예를 들어 oligo X와 Y가 2개만큼 차이나는데 동일 클러스터로 집단화 된 경우, 일차는 다수결의 원칙을 통해 올바른 올리고인지를 판단한다. 만일 동률을 이뤄서 X, Y 중 어느것이 맞는 oligo인지 판단할 수 없는 경우에는 RS code를 통해 판별할 수 있다.For example, if oligos X and Y differ by two and they are grouped into the same cluster, the primary determines whether it is the correct oligo through the principle of majority vote. If it is not possible to determine which of X and Y is the correct oligo due to a tie, it can be determined through RS code.
[Case 1] X: RS code 통과, Y: RS code 통과[Case 1] X: RS code passed, Y: RS code passed
[Case 2] X: RS code 통과, Y: RS code 실패[Case 2] X: RS code passed, Y: RS code failed
[Case 3] X: RS code 실패, Y: RS code 실패[Case 3] X: RS code failure, Y: RS code failure
첫 번째 케이스는, X, Y 모두 RS code를 통과했으므로 X, Y가 일치하는 올리고이므로 둘 중 어떤 시퀀스 든 LT 복호화에 사용할 수 있다. In the first case, since both X and Y passed the RS code, X and Y are identical oligos, so either sequence can be used for LT decoding.
두 번째 케이스는, RS code를 통과한 X가 에러가 없는 온전한 oligo이므로 LT 복호화에 이용한다.In the second case, since X passed through the RS code is a complete oligo without errors, it is used for LT decoding.
세 번째 케이스는, X, Y 둘다 RS를 실패한 경우에는, RS 보정을 진행하여 같은 코드로 보정되는 경우에는 해당 코드를 옳은 코드로 인식하여 힙에 저장한 뒤 낮은 우선순위로 LT 복호화에 이용한다. 만일, 같은 코드로 보정되지 않는 경우에는 둘 중 하나의 시퀀스에 치명적 오류가 있다는 의미이므로 두 시퀀스를 모두 폐기한다. In the third case, if both X and Y fail RS, RS correction is performed. If the same code is corrected, the corresponding code is recognized as the correct code, stored in the heap, and used for LT decoding with low priority. If it is not corrected with the same code, it means that there is a fatal error in one of the two sequences, so both sequences are discarded.
마지막으로 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)을 수행하는 단계(S180)는, Finally, in the fourth data group, sequentially performing LT decoding (Luby Transform Decoding) (S180) is,
신뢰성이 높은 염기서열부터 낮은 염기서열의 순서로 LT 복호화를 진행함으로써 효율적인 복호화가 가능하다. Efficient decoding is possible by performing LT decoding in the order of a nucleotide sequence with high reliability to a nucleotide sequence with low reliability.
도 2는 본 발명의 일 실시예에 따른 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법과 일 비교예에 따른 복호화 방법의 성능을 비교한 도면이다.2 is a diagram comparing the performance of a decoding method based on a sequence aggregation method of a DNA storage device according to an embodiment of the present invention and a decoding method according to a comparative example.
도 2a 및 2b를 참조하면, 본 발명에 따른 시퀀스 집단화 방식 기반 복호화 방법이 비교예 대비 모든 랜덤 샘플링 회수 구간에서 성능이 우위에 있음을 확인할 수 있다. Referring to FIGS. 2A and 2B , it can be confirmed that the decoding method based on the sequence aggregation method according to the present invention has superior performance in all random sampling frequency intervals compared to the comparative example.
Figure PCTKR2021014015-appb-T000001
Figure PCTKR2021014015-appb-T000001
표 1을 참고하면, 본 발명의 경우, 제한된 풀에서는 200개의 실험에 대해서 랜덤 샘플링 개수 78000에서는 성공 회수가 190을 초과하고 있으며, 86000부터는 200개 실험 전체 복호화가 성공하는 것을 확인할 수 있다.Referring to Table 1, in the case of the present invention, it can be seen that the number of successes exceeds 190 at the random sampling number of 78000 for 200 experiments in the limited pool, and it can be confirmed that the decoding of all 200 experiments succeeds from 86000.
반면, 비교예의 경우, 제한된 풀에서는 200개의 실험에 대해서 랜덤 샘플링 개수 82000에서야 성공 회수가 190을 초과하고 있으며, 92000부터 200개 실험 전체 복호화가 성공하는 등 본 발명 대비 더 많은 랜덤 샘플링 개수를 요구하는 것을 확인할 수 있다.On the other hand, in the case of the comparative example, in the limited pool, the number of successes exceeded 190 only at the number of random sampling of 82000 for 200 experiments in the limited pool. can check that
본 발명의 경우, 제한되지 않은 풀에서는 200개의 실험에 대해서 랜덤 샘플링 개수 80000에서는 성공 회수가 190을 초과하고 있으며, 86000부터는 200개 실험 전체 복호화가 성공하는 것을 확인할 수 있다.In the case of the present invention, it can be seen that the number of successes exceeds 190 at the random sampling number of 80000 for 200 experiments in the unrestricted pool, and it can be confirmed that the decoding of all 200 experiments succeeds from 86000.
반면, 비교예의 경우, 제한되지 않은 풀에서는 200개의 실험에 대해서 랜덤 샘플링 개수 86000에서야 성공 회수가 190을 초과하고 있으며, 90000부터 200개 실험 전체 복호화가 성공하는 등 본 발명 대비 더 많은 랜덤 샘플링 개수를 요구하는 것을 확인할 수 있다.On the other hand, in the case of the comparative example, the number of successes exceeds 190 only at the number of random samplings of 86000 for 200 experiments in the unrestricted pool, and the number of random samplings greater than that of the present invention, such as successful decoding of all 200 experiments from 90000 You can check what you are asking for.
Figure PCTKR2021014015-appb-T000002
Figure PCTKR2021014015-appb-T000002
표 2를 참고하면, 200개의 실험에 대해서 200개가 모두 성공하는 시점의 세부 데이터를 본 발명과 비교예를 대비할 경우, 개수 1에 해당하는 클러스터의 비율이 비교예 38.3 ~ 40.5% 에서 본 발명 11.6 ~ 14.0% 로 감소함을 확인할 수 있다. 또한, 개수 1에 해당하는 클러스터의 전체 시퀀스 리드에 대한 비율이 12.8% ~ 14.5% 에서 2.8 3.5% 로 감소함을 확인할 수 있다. Referring to Table 2, when comparing the present invention and the comparative example with detailed data at the time when all 200 succeeds for 200 experiments, the ratio of clusters corresponding to number 1 is 38.3 to 40.5% of the present invention 11.6 ~ It can be seen that the decrease is 14.0%. In addition, it can be seen that the ratio of the total sequence read of the cluster corresponding to the number 1 is reduced from 12.8% to 14.5% to 2.8 to 3.5%.
전술한 바와 같이, 개수 1에 해당하는 클러스터의 비율은 복호화시 에러율이 많은 영향을 미치므로, 이러한 개수 1에 해당하는 클러스터의 비율의 감소는 본 발명에 따른 복호화의 성능상 우위를 입증하는 데이터에 해당한다. As described above, since the ratio of clusters corresponding to the number 1 has a large influence on the error rate during decoding, a reduction in the ratio of clusters corresponding to the number 1 corresponds to data demonstrating the superiority in performance of decoding according to the present invention. do.
또한, RS 보정을 통해 힙에 저장하여 LT 복호화에 재활용한 시퀀스의 개수가 비교예의 경우 0%인 반면, 본 발명의 경우 0.26 ~ 0.32% 정도에 해당하여 정보 활용의 효율성을 증진시킴을 확인할 수 있다.In addition, the number of sequences stored in the heap through RS correction and reused for LT decoding is 0% in the comparative example, whereas in the present invention, it is about 0.26 to 0.32%, so it can be confirmed that the efficiency of information utilization is improved. .
도 3은 Q-score의 확률 값이 낮을수록 에러율이 높아지는 상관관계를 도시한 그래프이다.3 is a graph illustrating a correlation in which an error rate increases as the probability value of a Q-score decreases.
도 3을 참조하면, 상기 수학식 2(
Figure PCTKR2021014015-appb-I000003
)에 해당하는 시퀀스 리드들이 기존 DNA 올리고 대비 포함하고 있는 오류와의 상관관계가 도시된다. x축은 해당 올리고 리드의 Q-score에 해당하는 확률이며, y축은 올리고 리드와 암호화된 올리고 시퀀스와의 최소 편집 거리 차이를 나타낸다. P값이 높을수록 차이가 적으므로 에러가 적다는 것을 확인할 수 있고, P값이 낮아 질수록 에러가 전반적으로 상승하는 것을 확인할 수 있다.
Referring to FIG. 3, Equation 2 (
Figure PCTKR2021014015-appb-I000003
), the correlation with the errors contained in the sequence reads compared to the existing DNA oligos is shown. The x-axis represents the probability corresponding to the Q-score of the corresponding oligo read, and the y-axis represents the difference in the minimum editing distance between the oligo read and the encoded oligo sequence. It can be confirmed that the error is small because the difference is small as the P value is high, and it can be confirmed that the error generally increases as the P value decreases.
이상에서 전술한 본 발명의 일 실시예에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The method according to an embodiment of the present invention described above may be implemented as a program (or application) to be executed in combination with a server, which is hardware, and stored in a medium.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-described program is C, C++, JAVA, machine language, etc. that a processor (CPU) of the computer can read through a device interface of the computer in order for the computer to read the program and execute the methods implemented as a program It may include code (Code) coded in the computer language of Such code may include functional code related to a function defining functions necessary for executing the methods, etc., and includes an execution procedure related control code necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do. In addition, this code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer should be referenced. there is. In addition, when the processor of the computer needs to communicate with any other computer or server located remotely in order to execute the functions, the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The storage medium is not a medium that stores data for a short moment, such as a register, a cache, a memory, etc., but a medium that stores data semi-permanently and can be read by a device. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and an optical data storage device. That is, the program may be stored in various recording media on various servers accessible by the computer or in various recording media on the computer of the user. In addition, the medium may be distributed in a computer system connected to a network, and a computer-readable code may be stored in a distributed manner.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in relation to an embodiment of the present invention may be implemented directly in hardware, as a software module executed by hardware, or by a combination thereof. A software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.As mentioned above, although embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains know that the present invention may be embodied in other specific forms without changing the technical spirit or essential features thereof. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (15)

  1. 전자장치가 DNA 시퀀싱을 진행하여 DNA 올리고(oligo) 염기 서열을 형성하는 단계;forming, by the electronic device, DNA sequencing to form a DNA oligo base sequence;
    상기 전자장치가 생성된 염기 서열의 앞단 리드(forward read)와 후단 리드(reverse read)에서 각각 일정 수의 염기를 랜덤하게 샘플링 하는 단계;randomly sampling, by the electronic device, a predetermined number of bases from each of a forward read and a reverse read of the generated nucleotide sequence;
    상기 전자장치가 랜덤 샘플링된 염기를 스티치 알고리즘(stitch algorithm)을 이용하여 합치는 단계;combining, by the electronic device, the randomly sampled bases using a stitch algorithm;
    상기 전자장치가 스티치 알고리즘을 통해 합쳐진 염기 서열들 중 기결정된 길이를 가지는 염기 서열만을 추출하는 단계;extracting, by the electronic device, only a nucleotide sequence having a predetermined length from among nucleotide sequences merged through a stitch algorithm;
    상기 전자장치가 상기 추출된 염기 서열을 동일성 정도를 바탕으로 클러스터링하여 과반수 이상으로 모인 DNA 염기서열 베이스를 바탕으로 대표값을 형성하고, 과반수 미만의 DNA 염기서열 베이스는 단순 저장하여 제1 데이터 그룹을 형성하는 단계;The electronic device clusters the extracted nucleotide sequences based on the degree of identity to form a representative value based on the DNA sequence bases collected by a majority or more, and the DNA sequence bases with less than a majority are simply stored to form the first data group forming;
    상기 전자장치가 상기 제1 데이터 그룹에서 클러스터들과 거리가 일정 차이나는 염기서열 들을 제거하여 제2 데이터 그룹을 형성하는 단계;forming, by the electronic device, a second data group by removing nucleotide sequences having a predetermined distance from clusters in the first data group;
    상기 전자장치가 상기 제2 데이터 그룹에서 클러스터 중 염기서열 개수가 많은 순서로 분류하여 제3 데이터 그룹을 형성하는 단계;forming, by the electronic device, a third data group by classifying the second data group in an order of increasing the number of nucleotide sequences among clusters;
    상기 전자장치가 상기 제3 데이터 그룹에서 염기서열 개수가 많은 클러스터부터 RS 복호화를 수행하여 성공한 염기서열은 저장하고, 실패한 염기서열은 RS 보정(correction)을 수행한 뒤 별도의 힙(heap)에 저장하여 제4 데이터 그룹을 형성하는 단계; 및The electronic device performs RS decoding from a cluster having a large number of nucleotide sequences in the third data group, stores a successful nucleotide sequence, performs RS correction on a failed nucleotide sequence, and then stores it in a separate heap to form a fourth data group; and
    상기 전자장치가 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)을 수행하는 단계;를 포함하는 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법.Sequence aggregation method-based decoding method of a DNA storage device comprising a; the electronic device sequentially performing LT decoding (Luby Transform Decoding) in the fourth data group.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 DNA 올리고 염기 서열을 형성하는 단계는, The step of forming the DNA oligo base sequence,
    서로 해밍 거리(Hamming distance)가 최소 길이 x 이상으로 차이나도록 형성되는 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법.A decoding method based on a sequence aggregation method of a DNA storage device in which a Hamming distance differs from each other by a minimum length x or more.
  3. 제 1 항에 있어서, The method of claim 1,
    상기 제1 데이터 그룹을 형성하는 단계는,Forming the first data group includes:
    기결정된 길이를 가지는 염기 서열 중 기결정된 길이 전체가 동일한 염기 서열, 1개 염기 서열이 상이하고 나머지 서열은 동일한 염기 서열 및 2개 염기 서열이 상이하고 나머지 서열은 동일 한 염기 서열까지 동일성이 있는 것으로 판단하여 동일 클러스터로 결정하는 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법.Among nucleotide sequences having a predetermined length, a nucleotide sequence having the same entire predetermined length, one nucleotide sequence different, the remaining sequences having the same nucleotide sequence and two nucleotide sequences different, and the remaining sequences having the same nucleotide sequence A decoding method based on a sequence aggregation method of a DNA storage device that determines the same cluster by judging.
  4. 제 1 항에 있어서, The method of claim 1,
    상기 제2 데이터 그룹을 형성하는 단계는,Forming the second data group comprises:
    상기 제1 데이터 그룹에서 클러스터들과 거리가 3 nt 내지 최소 길이 x-2 nt 만큼 차이나는 염기서열 들을 제거하는 단계인, DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법.A decoding method based on a sequence aggregation method of a DNA storage device, the step of removing nucleotide sequences that differ from clusters by a distance of 3 nt to a minimum length of x-2 nt in the first data group.
  5. 제 1 항에 있어서,The method of claim 1,
    상기 제3 데이터 그룹을 형성하는 단계는,Forming the third data group includes:
    클러스터 중에서 개수가 1개인 것들의 순서를 결정하는 방법은, 예측품질점수(Q-score)를 바탕으로 연산한 염기를 잘못 불러올 확률 값 P가 높은 순서로 결정하는 것인 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법.The method of determining the order of the ones with the number of one in the cluster is a sequence grouping method of a DNA storage device in which the probability value P of erroneous retrieval of the bases calculated based on the predicted quality score (Q-score) is determined in the order of the highest. based decryption method.
  6. 제 5 항에 있어서,6. The method of claim 5,
    상기 확률 값 P는 하기의 수학식을 만족하는 값인 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법.The probability value P is a sequence aggregation method-based decoding method of a DNA storage device that is a value satisfying the following equation.
    Figure PCTKR2021014015-appb-I000004
    Figure PCTKR2021014015-appb-I000004
    여기에서, y는 염기 서열을 추출하는 기결정된 염기 서열의 길이를 의미한다.Here, y means the length of a predetermined base sequence from which the base sequence is extracted.
  7. 제 1 항에 있어서,The method of claim 1,
    상기 전자장치가 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)을 수행하는 단계는,The step of the electronic device sequentially performing LT decoding (Luby Transform Decoding) in the fourth data group comprises:
    RS 복호화에 성공한 염기서열에 대하여 먼저 LT 복호화를 수행하고, RS 복호화에 실패한 염기서열은 RS 보정을 수행한 후 별도의 힙(heap)에 저장해 놓은 뒤, heap에 저장된 염기서열은 LT 복호화를 더 나중에 수행하는 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법.LT decoding is first performed on the nucleotide sequence that has succeeded in RS decoding, and the nucleotide sequence that has failed RS decoding is RS corrected and stored in a separate heap. The nucleotide sequence stored in the heap is subjected to LT decoding later. A decoding method based on a sequence aggregation method of a DNA storage device.
  8. 컴퓨터인 하드웨어와 결합되어, 제1항 내지 제7항 중 어느 한 항의 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 방법을 실행하기 위해 컴퓨터 판독 가능한 기록매체에 저장된, 프로그램.In combination with computer hardware, any one of claims 1 to 7 stored in a computer-readable recording medium to execute the sequence aggregation method-based decoding method of the DNA storage device of any one of claims 1 to 7.
  9. DNA 시퀀싱을 진행하여 DNA 올리고(oligo) 염기 서열을 형성하고,DNA sequencing is performed to form a DNA oligo base sequence,
    생성된 염기 서열의 앞단 리드(forward read)와 후단 리드(reverse read)에서 각각 일정 수의 염기를 랜덤하게 샘플링 하고,A predetermined number of bases are randomly sampled from each of the forward read and reverse read of the generated nucleotide sequence,
    랜덤 샘플링된 염기를 스티치 알고리즘(stitch algorithm)을 이용하여 합치고,Randomly sampled bases are combined using a stitch algorithm,
    스티치 알고리즘을 통해 합쳐진 염기 서열들 중 기결정된 길이를 가지는 염기 서열만을 추출하고,Extracting only the nucleotide sequence having a predetermined length from among the nucleotide sequences merged through the stitch algorithm,
    상기 추출된 염기 서열을 동일성 정도를 바탕으로 클러스터링하여 과반수 이상으로 모인 DNA 염기서열 베이스를 바탕으로 대표값을 형성하고, 과반수 미만의 DNA 염기서열 베이스는 단순 저장하여 제1 데이터 그룹을 형성하고,The extracted nucleotide sequences are clustered based on the degree of identity to form a representative value based on the DNA nucleotide sequence bases collected by a majority or more, and the DNA nucleotide sequence bases with less than a majority are simply stored to form a first data group,
    상기 전자장치가 상기 제1 데이터 그룹에서 클러스터들과 거리가 일정 차이나는 염기서열 들을 제거하여 제2 데이터 그룹을 형성하고,The electronic device forms a second data group by removing nucleotide sequences having a predetermined distance from clusters in the first data group;
    상기 전자장치가 상기 제2 데이터 그룹에서 클러스터 중 염기서열 개수가 많은 순서로 분류하여 제3 데이터 그룹을 형성하고,the electronic device forms a third data group by classifying the second data group in an order of increasing the number of nucleotide sequences among clusters;
    상기 전자장치가 상기 제3 데이터 그룹에서 염기서열 개수가 많은 클러스터부터 RS 복호화를 수행하여 성공한 염기서열은 저장하고, 실패한 염기서열은 RS 보정(correction)을 수행한 뒤 별도의 힙(heap)에 저장하여 제4 데이터 그룹을 형성하고,The electronic device performs RS decoding from a cluster having a large number of nucleotide sequences in the third data group and stores the successful nucleotide sequence, and performs RS correction on the failed nucleotide sequence and then stores it in a separate heap to form a fourth data group,
    상기 전자장치가 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)을 수행하는 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 컴퓨팅 장치.A decoding computing device based on a sequence aggregation method of a DNA storage device in which the electronic device sequentially performs LT decoding (Luby Transform Decoding) in a fourth data group.
  10. 제 9 항에 있어서,10. The method of claim 9,
    상기 DNA 올리고 염기 서열을 형성하는 단계는, The step of forming the DNA oligo base sequence,
    서로 해밍 거리(Hamming distance)가 최소 길이 x 이상으로 차이나도록 형성되는 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 컴퓨팅 장치.A decoding computing device based on a sequence aggregation method of a DNA storage device in which a Hamming distance differs from each other by a minimum length x or more.
  11. 제 9 항에 있어서,10. The method of claim 9,
    상기 제1 데이터 그룹을 형성하는 단계는,Forming the first data group comprises:
    기결정된 길이를 가지는 염기 서열 중 기결정된 길이 전체가 동일한 염기 서열, 1개 염기 서열이 상이하고 나머지 서열은 동일한 염기 서열 및 2개 염기 서열이 상이하고 나머지 서열은 동일한 염기 서열까지 동일성이 있는 것으로 판단하여 동일 클러스터로 결정하는 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 컴퓨팅 장치.Among nucleotide sequences having a predetermined length, it is determined that the entire predetermined length is the same, one nucleotide sequence is different, the remaining sequences have the same nucleotide sequence and two nucleotide sequences are different, and the remaining sequences are identical to the same nucleotide sequence A decoding computing device based on a sequence aggregation method of a DNA storage device that determines the same cluster by doing so.
  12. 제 9 항에 있어서, 10. The method of claim 9,
    상기 제2 데이터 그룹을 형성하는 단계는,Forming the second data group comprises:
    상기 제1 데이터 그룹에서 클러스터들과 거리가 3 nt 내지 최소 길이 x-2 nt 만큼 차이나는 염기서열 들을 제거하는 단계인, DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 컴퓨팅 장치.A decoding computing device based on a sequence aggregation method of a DNA storage device, which is a step of removing nucleotide sequences that are different from the clusters by a distance of 3 nt to a minimum length of x-2 nt in the first data group.
  13. 제 9 항에 있어서,10. The method of claim 9,
    상기 제3 데이터 그룹을 형성하는 단계는,Forming the third data group comprises:
    클러스터 중에서 개수가 1개인 것들의 순서를 결정하는 방법은, 예측품질점수(Q-score)를 바탕으로 연산한 염기를 잘못 불러올 확률 값 P가 높은 순서로 결정하는 것인 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 컴퓨팅 장치.The method of determining the order of the ones with the number of one among the clusters is a sequence grouping method of a DNA storage device in which the probability value P of erroneous retrieval of bases calculated based on the predicted quality score (Q-score) is determined in the order of the highest. based decryption computing device.
  14. 제 13 항에 있어서,14. The method of claim 13,
    상기 확률 값 P는 하기의 수학식을 만족하는 값인 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 컴퓨팅 장치.The probability value P is a sequence aggregation method-based decoding computing device of a DNA storage device, which is a value satisfying the following equation.
    Figure PCTKR2021014015-appb-I000005
    Figure PCTKR2021014015-appb-I000005
    여기에서, y는 염기 서열을 추출하는 기결정된 염기 서열의 길이를 의미한다.Here, y means the length of a predetermined base sequence from which the base sequence is extracted.
  15. 제 9 항에 있어서,10. The method of claim 9,
    상기 전자장치가 제4 데이터 그룹에서 순서대로 LT 복호화(Luby Transform Decoding)을 수행하는 단계는,The step of the electronic device sequentially performing LT decoding (Luby Transform Decoding) in the fourth data group,
    RS 복호화에 성공한 염기서열에 대하여 먼저 LT 복호화를 수행하고, RS 복호화에 실패한 염기서열은 RS 보정을 수행한 후 별도의 힙(heap)에 저장해 놓은 뒤, heap에 저장된 염기서열은 LT 복호화를 더 나중에 수행하는 DNA 저장 장치의 시퀀스 집단화 방식 기반 복호화 컴퓨팅 장치.LT decoding is first performed on the nucleotide sequence that has succeeded in RS decoding, and the nucleotide sequence that has failed RS decoding is RS corrected and stored in a separate heap. The nucleotide sequence stored in the heap is subjected to LT decoding later. A decoding computing device based on a sequence aggregation method of a DNA storage device that performs.
PCT/KR2021/014015 2020-10-12 2021-10-12 Method, program, and apparatus for decoding based on sequence clustering of dna storage device WO2022080816A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0131431 2020-10-12
KR1020200131431A KR102418616B1 (en) 2020-10-12 2020-10-12 Decoding method, program and apparatus based on sequence clustering method of DNA storage device

Publications (1)

Publication Number Publication Date
WO2022080816A1 true WO2022080816A1 (en) 2022-04-21

Family

ID=81208436

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/014015 WO2022080816A1 (en) 2020-10-12 2021-10-12 Method, program, and apparatus for decoding based on sequence clustering of dna storage device

Country Status (2)

Country Link
KR (1) KR102418616B1 (en)
WO (1) WO2022080816A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746903B1 (en) * 2006-07-25 2007-08-07 삼성전자주식회사 Method and apparatus for decision of channel quality indicator in a wireless communication system
KR20120082334A (en) * 2011-01-13 2012-07-23 삼성전자주식회사 Apparatus and method for recovering mobile code decoding fault via history data analysis
KR101576794B1 (en) * 2013-01-29 2015-12-11 삼성에스디에스 주식회사 System and method for aligning of genome sequence considering read length
KR101817087B1 (en) * 2016-02-16 2018-01-11 서울대학교산학협력단 Method for Calculating Edit Distance Between DNA Genomic Sequence through Homomorphic Encryption

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218511B1 (en) 2010-09-27 2013-01-18 삼성에스디에스 주식회사 Apparatus and method for sequencing data coding, apparatus, and system using the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746903B1 (en) * 2006-07-25 2007-08-07 삼성전자주식회사 Method and apparatus for decision of channel quality indicator in a wireless communication system
KR20120082334A (en) * 2011-01-13 2012-07-23 삼성전자주식회사 Apparatus and method for recovering mobile code decoding fault via history data analysis
KR101576794B1 (en) * 2013-01-29 2015-12-11 삼성에스디에스 주식회사 System and method for aligning of genome sequence considering read length
KR101817087B1 (en) * 2016-02-16 2018-01-11 서울대학교산학협력단 Method for Calculating Edit Distance Between DNA Genomic Sequence through Homomorphic Encryption

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JEONG, JAEHO; JONG-SEON, NO: "Study about Error Correction Code applied in DNA Storage", PROCEEDINGS OF 2020 SUMMER COMPREHENSIVE ACADEMIC PRESENTATION OF THE KOREAN INSTITUTE OF COMMUNICATIONS AND INFORMATION SCIENCES, 1 August 2020 (2020-08-01), pages 1113 - 1114, XP009535798 *

Also Published As

Publication number Publication date
KR102418616B1 (en) 2022-07-07
KR20220048362A (en) 2022-04-19

Similar Documents

Publication Publication Date Title
WO2021033981A1 (en) Flexible information-based decoding method of dna storage device, program and apparatus
KR20190069469A (en) Method and system for indexing bioinformatics data
CN1531692A (en) Efficient collation element structure for handling large numbers of characters
WO2010135082A1 (en) Localized weak bit assignment
WO2015182835A1 (en) System and method for processing data
WO2013065944A1 (en) Method for sequence recombination and apparatus for ngs
CN113132416B (en) Data packet detection method and device
US7653619B1 (en) Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that support variable tree height
US20080127043A1 (en) Automatic Extraction of Programming Rules
US20210343373A1 (en) Sequence alignment filtering processing method, system and device, and readable storage medium
WO2020055141A1 (en) Method and device for detecting duplicate content
WO2022080816A1 (en) Method, program, and apparatus for decoding based on sequence clustering of dna storage device
US8335757B2 (en) Extracting patterns from sequential data
CN1567118A (en) Computer viruses detection and identification system and method
WO2020001638A1 (en) Method and apparatus for improving turbo decoding performance, and computer device
WO2013154252A1 (en) Method, server, terminal device, and computer-readable recording medium for selectively removing nondeterminism of nondeterministic finite automata
CN110336817B (en) Unknown protocol frame positioning method based on TextRank
WO2022042011A1 (en) Method for searching free blocks in bitmap data, and related components
CN111352769B (en) Method for recovering database, recovery server and computer readable storage medium
WO2022097881A1 (en) Device and method for detecting target file on basis of network packet analysis
CN114745336B (en) Message classification method, device, computer equipment and storage medium based on RFC
CN113407375B (en) Database deleted data recovery method, device, equipment and storage medium
WO2022080863A1 (en) Dna storage encoding method, program, and device for limiting base ratio and consecutive generation
WO2023092723A1 (en) Data error correction method and apparatus, and electronic device
CN112486960B (en) SQLite database redundant data clearing method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21880463

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21880463

Country of ref document: EP

Kind code of ref document: A1