KR102258897B1 - Error recovery method in genome sequence analysis and genome sequence analysis apparatus - Google Patents

Error recovery method in genome sequence analysis and genome sequence analysis apparatus Download PDF

Info

Publication number
KR102258897B1
KR102258897B1 KR1020200145244A KR20200145244A KR102258897B1 KR 102258897 B1 KR102258897 B1 KR 102258897B1 KR 1020200145244 A KR1020200145244 A KR 1020200145244A KR 20200145244 A KR20200145244 A KR 20200145244A KR 102258897 B1 KR102258897 B1 KR 102258897B1
Authority
KR
South Korea
Prior art keywords
task
analysis
tasks
sequence information
hash value
Prior art date
Application number
KR1020200145244A
Other languages
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 주식회사 엔젠바이오
Priority to KR1020200145244A priority Critical patent/KR102258897B1/en
Application granted granted Critical
Publication of KR102258897B1 publication Critical patent/KR102258897B1/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/20Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search

Abstract

The present invention relates to an error handling method in nucleotide sequence analysis, comprising the steps of: acquiring, by an analysis device, sequence information of a plurality of reads for a sample; generating, by the analysis device, a plurality of tasks for processing data using sequence information of at least some of the plurality of reads; generating, by the analysis device, a hash value for the plurality of tasks based on sequence information input to each task; identifying, by the analysis device, a target task having the same hash value as a hash value of a specific task from among the pre-processed task group including tasks for which data processing is completed with respect to a specific task in which an error occurs among the plurality of tasks; and performing, by the analysis device, analysis by replacing an output value of the target task with an output value of the specific task. The present invention is to recover an error using the analyzed result when an error occurs in the analysis process.

Description

염기 서열 분석에서의 오류 처리 방법 및 염기 서열 분석장치{ERROR RECOVERY METHOD IN GENOME SEQUENCE ANALYSIS AND GENOME SEQUENCE ANALYSIS APPARATUS}Error handling method and nucleotide sequence analysis apparatus in nucleotide sequence analysis {ERROR RECOVERY METHOD IN GENOME SEQUENCE ANALYSIS AND GENOME SEQUENCE ANALYSIS APPARATUS}

이하 설명하는 기술은 염기 서열 분석에서 발생하는 오류 처리 기법에 관한 것이다.Techniques to be described below relate to techniques for handling errors occurring in nucleotide sequence analysis.

차세대 염기서열 분석 기술(next generation sequencing, NGS)은 전통적인 유전체 서열 분석 기법에 비하여 대용량의 유전체 데이터를 빠른 시간내에 해독할 수 있다. NGS는 HTS(high-throughput sequencing) 또는 MPS(massively parallel sequencing)라고도 불린다. NGS 분석이 종래 전통적인 기법에 비하여 빨리 대용량 데이터를 처리하지만, NGS 분석은 복잡한 데이터 분석 기술에 기반하여 수십 기가바이트 내지 수백 기가바이트 이상의 대용량 데이터를 분석하는데 컴퓨팅 리소스 및 시간을 상당하게 소요한다.Next-generation sequencing technology (next generation sequencing, NGS) can decode large amounts of genomic data in a shorter time than traditional genome sequencing techniques. NGS is also called high-throughput sequencing (HTS) or massively parallel sequencing (MPS). Although NGS analysis processes large amounts of data faster than conventional techniques, NGS analysis requires considerable computing resources and time to analyze large amounts of data of several tens of gigabytes to hundreds of gigabytes or more based on complex data analysis techniques.

한국공개특허 제2019-0010404호 (2019.01.30)Korea Patent Publication No. 2019-0010404 (2019.01.30)

NGS 분석 과정은 복수의 태스크를 통해 서열들을 분석한다. 예컨대, 분석장치는 일정한 순서에 따라 연속적인 태스크를 수행할 수 있는데, 특정 태스크에서 오류가 발생하면 처음부터 다시 분석 과정을 수행한다. 이 경우, 분석 과정에서 투입한 리소스와 시간이 낭비되는 문제가 발생한다.The NGS analysis process analyzes sequences through a plurality of tasks. For example, the analysis apparatus may perform continuous tasks according to a predetermined order. If an error occurs in a specific task, the analysis process is performed again from the beginning. In this case, there is a problem in that the resources and time invested in the analysis process are wasted.

이하 설명하는 기술은 NGS 분석 과정에서 오류가 발생하는 경우 기분석한 결과를 활용하여 오류를 복구하는 기법을 제공하고자 한다.The technique described below intends to provide a technique for recovering an error by using the analyzed result when an error occurs during the NGS analysis process.

염기 서열 분석에서의 오류 처리 방법은 분석장치가 샘플에 대한 복수의 리드(read)들의 서열 정보를 획득하는 단계, 상기 분석장치가 상기 복수의 리드들 중 적어도 일부 리드들의 서열 정보를 이용하여 데이터를 처리하는 복수의 태스크들을 생성하는 단계, 상기 분석장치가 상기 복수의 태스크들에 대하여 각 태스크에 입력되는 서열 정보를 기준으로 해시(hash)값을 생성하는 단계, 상기 분석장치가 상기 복수의 태스크들 중 오류가 발생한 특정 태스크에 대하여, 데이터 처리가 완료된 태스크들을 포함하는 기처리 태스크 그룹 중 상기 특정 태스크의 해시값과 동일한 해시값을 갖는 타깃 태스크를 확인하는 단계 및 상기 분석장치가 상기 타깃 태스크의 출력값을 상기 특정 태스크의 출력값으로 대체하여 분석을 수행하는 단계를 포함한다.An error handling method in nucleotide sequence analysis includes the steps of, by an analysis device, obtaining sequence information of a plurality of reads for a sample, wherein the analysis device analyzes data using sequence information of at least some of the plurality of reads generating a plurality of tasks to be processed; generating, by the analysis device, a hash value based on sequence information input to each task for the plurality of tasks; Identifying a target task having the same hash value as the hash value of the specific task from among the pre-processed task group including tasks for which data processing has been completed with respect to a specific task in which an error has occurred, and the analysis apparatus output value of the target task and performing analysis by substituting the output value of the specific task.

염기 서열 분석 장치는 샘플에 대한 복수의 리드(read)들의 서열 정보 및 분석 명령을 입력받는 입력장치, 상기 서열 정보 및 서열 정보를 일정하게 분석하기 위한 프로그램 코드를 저장하는 저장장치 및 상기 복수의 리드들 중 적어도 일부 리드들의 서열 정보를 이용하여 데이터를 처리하는 복수의 태스크들 중 오류가 발생한 특정 태스크에 대하여, 데이터 처리가 완료된 태스크들을 포함하는 기처리 태스크 그룹 중 상기 특정 태스크의 해시값과 동일한 해시값을 갖는 타깃 태스크의 출력값을 상기 특정 태스크의 출력값으로 대체하여 분석을 수행하는 연산장치를 포함한다.The nucleotide sequence analysis device includes an input device for receiving sequence information and analysis commands of a plurality of reads for a sample, a storage device for storing the sequence information and a program code for constantly analyzing the sequence information, and the plurality of reads With respect to a specific task in which an error occurs among a plurality of tasks that process data using sequence information of at least some of the reads, a hash value identical to the hash value of the specific task among the pre-processed task group including tasks for which data processing is completed and an arithmetic unit for performing analysis by replacing an output value of a target task having a value with an output value of the specific task.

상기 해시값은 태스크에 입력되는 서열 정보를 기준으로 연산되고, 상기 서열 정보는 리드의 식별자 및 리드의 서열을 포함한다.The hash value is calculated based on sequence information input to the task, and the sequence information includes an identifier of a read and a sequence of the read.

이하 설명하는 기술은 유전자 서열의 특성 및 분석의 특성을 고려하여 기분석한 결과로 오류를 해결한다. 이하 설명하는 기술은 투여된 리소스 및 시간의 낭비 없이 효과적인 유전자 서열 분석을 수행하게 한다.The technique to be described below solves an error as a result of analysis in consideration of the characteristics of the gene sequence and the characteristics of the analysis. The techniques described below allow effective gene sequencing without wasting the resources and time administered.

도 1은 NGS 파이프라인에 대한 예이다.
도 2는 복수의 태스크로 구성되는 염기 서열 분석 과정에 대한 예이다.
도 3은 염기 서열 분석에서의 오류 처리 과정에 대한 순서도의 예이다.
도 4는 염기 서열 분석에서의 오류 처리 과정에 대한 예이다.
도 5는 염기 서열 분석장치에 대한 예이다.
1 is an example of an NGS pipeline.
2 is an example of a nucleotide sequence analysis process consisting of a plurality of tasks.
3 is an example of a flowchart for an error handling process in nucleotide sequence analysis.
4 is an example of an error handling process in nucleotide sequence analysis.
5 is an example of a nucleotide sequence analyzer.

이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The technology to be described below may be modified in various ways and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the technology to be described below with respect to a specific embodiment, and it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the technology to be described below.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as 1st, 2nd, A, B, etc. may be used to describe various components, but the components are not limited by the above terms, and only for the purpose of distinguishing one component from other components. Is only used. For example, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component without departing from the scope of the rights of the technology described below. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설명된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.In terms of terms used herein, the singular expression should be understood to include the plural expression unless the context clearly dictates otherwise, and terms such as "comprises" include the described feature, number, step, operation, element. , parts or combinations thereof are to be understood, but not to exclude the possibility of the presence or addition of one or more other features or numbers, step operation components, parts or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Prior to the detailed description of the drawings, it is intended to clarify that the division of the constituent parts in the present specification is merely divided by the main function that each constituent part is responsible for. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more for each more subdivided function. In addition, each of the constituent units to be described below may additionally perform some or all of the functions of other constituent units in addition to its own main function, and some of the main functions of each constituent unit are different. It goes without saying that it can also be performed exclusively by.

또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in performing the method or operation method, each of the processes constituting the method may occur differently from the specified order unless a specific order is clearly stated in the context. That is, each of the processes may occur in the same order as the specified order, may be performed substantially simultaneously, or may be performed in the reverse order.

유전체 데이터는 샘플을 분석하여 산출되는 유전 정보를 의미한다. 예컨대, 유전체 데이터는 세포, 조직 등으로부터 데옥시리보 핵산(DNA), 리보핵산(RNA), 또는 단백질(Protein) 등에서 얻어진 염기서열, 유전자 발현 데이터, 표준 유전체 데이터와의 유전 변이, DNA 메틸화(methylation) 등을 포함할 수 있다. Genomic data refers to genetic information calculated by analyzing a sample. For example, genomic data includes a nucleotide sequence obtained from deoxyribonucleic acid (DNA), ribonucleic acid (RNA), or protein (protein) from cells, tissues, etc., gene expression data, genetic variation with standard genomic data, and DNA methylation (methylation). ) and the like.

생명정보학은 생물 분자 관련 정보를 대규모로 구조화하는 지식체계라고 할 수 있다. 생명정보학적 분석 파이프라인(bioinformatics pipeline)은 생물 정보의 데이터를 사전에 설정한 순서대로 처리 및 분석하기 위한 소프트웨어, 스크립트 등을 포함하는 분석 구성 요소를 의미한다. 따라서, 이하 설명하는 기술은 생명정보학적 분석 파이프라인에서 오류를 복구하고, 유전체 데이터를 분석하는 방법이라고 할 수 있다. 다만, 이하 설명의 편의를 위하여 NGS를 중심으로 설명한다.Bioinformatics can be said to be a knowledge system that structures information related to biological molecules on a large scale. A bioinformatics pipeline refers to an analysis component including software, a script, and the like for processing and analyzing data of biological information in a preset order. Therefore, the technology to be described below can be said to be a method of recovering errors in the bioinformatics analysis pipeline and analyzing genomic data. However, for the convenience of the following description, NGS will be mainly described.

NGS 분석은 샘플 분석을 통하여 유전체 데이터 산출하는 대표적인 기법이다. NGS 분석은 유전체를 무수히 많은 조각(리드, read)으로 나누고, 각각의 염기 서열을 조합하여 유전체를 해독하는 기법이다. NGS 분석은 유전자 시퀀싱, 유전자 변이 검출 등에 활용된다. 유전자 시퀀싱은 WGS(Whole Genome Sequencing), WES(Whole Exome Sequencing), TGS(Targeted Gene Sequencing) 등을 포함한다.NGS analysis is a representative technique for calculating genomic data through sample analysis. NGS analysis is a technique that divides the genome into countless fragments (reads) and deciphers the genome by combining each nucleotide sequence. NGS analysis is used for gene sequencing and gene mutation detection. Gene sequencing includes Whole Genome Sequencing (WGS), Whole Exome Sequencing (WES), and Targeted Gene Sequencing (TGS).

분석장치는 유전체 데이터를 처리하여 분석하는 장치를 의미한다. 분석장치는 컴퓨터 장치, PC, 스마트기기, 네트워크상의 서버 등과 같이 다양한 형태로 구현될 수 있다. 분석장치는 샘플을 분석하는 장치(예컨대, NGS 장비)일 수도 있다. 분석장치는 NGS 장비로부터 데이터를 수신하여 처리하는 별개의 장치일 수도 있다.The analysis device refers to a device that processes and analyzes genome data. The analysis device may be implemented in various forms, such as a computer device, a PC, a smart device, a server on a network, and the like. The analyzer may be a device for analyzing a sample (eg, NGS equipment). The analysis device may be a separate device that receives and processes data from the NGS equipment.

도 1은 NGS 파이프라인에 대한 예이다. 도 1은 일반적인 NGS 파이프라인에 대한 예이고 중요한 파이프라인을 도시한 예이다. NGS 분석은 대량의 리드들을 이용하여 분석된다.1 is an example of an NGS pipeline. 1 is an example of a general NGS pipeline and an example showing an important pipeline. The NGS analysis is analyzed using a large number of reads.

도 1에서 NGS 파이프라인은 FASTQ로부터 시작한다(110). FASTQ는 샘플(개인)에 대한 유전체 분석 로데이터이다. FASTQ는 복수의 리드 각각에 대한 식별자(ID), 염기 서열 및 리드의 품질지표를 포함하는 파일이다. 도 1에 도시하지 않았지만, FASTA는 FASTQ 전에 생성되며 FASTA는 리드의 식별자와 염기서열로만 구성된다. 분석장치는 FASTA 파일을 생성하고, 이후 FASTQ 파일을 생성한다. FASTQ는 텍스트 기반의 파일로 NGS 분석에서의 사실상 표준 파일 포맷에 해당한다.In Fig. 1, the NGS pipeline starts from FASTQ (110). FASTQ is genomic analysis raw data for a sample (individual). FASTQ is a file including an identifier (ID) for each of a plurality of reads, a nucleotide sequence, and a quality index of the read. Although not shown in FIG. 1, FASTA is generated before FASTQ, and FASTA consists only of an identifier and a base sequence of a read. The analyzer generates a FASTA file, and then creates a FASTQ file. FASTQ is a text-based file and corresponds to the de facto standard file format for NGS analysis.

분석장치는 샘플의 FASTQ에 포함된 리드를 참조 유전체(reference genome)에 맵핑(정렬)한다(120). 참조 유전체는 리드를 정렬할 때 사용하는 유전체 서열을 의미하며, 일반적으로 염기서열분석이 완료되어 공공 데이터베이스로 구축되어 있는 표준 염기 서열을 사용한다.The analyzer maps (aligns) the reads included in the FASTQ of the sample to the reference genome (120). The reference genome refers to a genome sequence used for aligning reads, and generally, a standard nucleotide sequence that has been completed sequencing and constructed as a public database is used.

분석장치가 레퍼런스 게놈에 맵핑한 결과를 SAM(sequence alignment/map) 포맷 파일로 생성하고, SAM을 이진 포맷인 BAM(binary alignment/map)으로 변환한다(130). BAM은 리드들이 맵핑된 초기 데이터에 해당한다.The analysis device generates a result of mapping to the reference genome in a sequence alignment/map (SAM) format file, and converts the SAM into a binary alignment/map (BAM) format file (130). BAM corresponds to initial data to which reads are mapped.

분석장치는 BAM 파일에 대한 후처리를 수행할 수 있다(140). 예컨대, 분석장치는 리드들이 제대로 정렬되었는 평가하고 보정할 수 있다. 분석장치는 예상되는 삽입/결손 위치에 대한 정보를 이용하여 재조정(local realignment)을 할 수 있다.The analysis apparatus may perform post-processing on the BAM file ( 140 ). For example, the analyzer can evaluate and correct that the leads are properly aligned. The analysis device may perform local realignment using information about the expected insertion/deletion location.

분석장치는 분석과정에서 변이를 검출(variant calling)할 수 있다(150). 변이 검출은 샘플로부터 생성된 서열과 참조 유전체 사이의 서열 차이점을 검출하는 과정이다. 분석장치는 검출된 변이를 VCF(variant call format) 포맷의 파일로 저장한다(160). VCF는 샘플 유전체에서 변이가 발생한 위치에 대한 정보를 포함한다.The analysis device may detect a variant (variant calling) in the analysis process ( 150 ). Variant detection is the process of detecting sequence differences between a sequence generated from a sample and a reference genome. The analysis device stores the detected mutation as a file in a VCF (variant call format) format (160). The VCF contains information about the location of the mutation in the sample genome.

이후 분석장치는 변이 정보에 대한 추가 작업을 할 수 있다(170). 예컨대, 분석장치는 위양성으로 간주되는 변이를 제거(variant filtering)할 수 있다. 또는 분석장치는 변이에 대한 관련 정보를 추가(variant annotation)할 수 있다. 또는 분석장치는 변이에 대한 우선 순위를 지정할 수도 있다.Thereafter, the analysis device may perform additional work on the mutation information ( 170 ). For example, the analyzer may filter out variants that are considered false positives. Alternatively, the analysis device may add related information about the mutation (variant annotation). Alternatively, the analyzer may assign a priority to the mutation.

분석장치는 샘플 시퀀싱 과정에서 대표적으로 FASTA, FASTQ, BAM, SAM 및 VCF 파일을 생성한다. 분석장치는 대량의 리드들에 대하여 상기 포맷의 파일을 생성하는데, 복수의 태스크들을 생성하여 태스크 단위로 작업을 수행할 수 있다. The analyzer typically generates FASTA, FASTQ, BAM, SAM, and VCF files during sample sequencing. The analysis apparatus generates a file of the above format for a large number of reads, and may generate a plurality of tasks to perform the task in units of tasks.

도 2는 복수의 태스크로 구성되는 염기 서열 분석 과정에 대한 예이다. 분석장치가 처리하는 파일은 FASTA, FASTQ, BAM, SAM 및 VCF 중 적어도 어느 하나일 수 있다. 2 is an example of a nucleotide sequence analysis process consisting of a plurality of tasks. The file processed by the analysis device may be at least one of FASTA, FASTQ, BAM, SAM, and VCF.

도 2(A)는 입력 데이터를 연속적인 태스크로 처리하는 경우에 대한 예이다. 분석장치는 태스크 1(Task 1) 내지 태스크 n(Task n)을 처리한다. 이때 각 태스크는 순차적으로 수행된다. 예컨대, 분석장치는 태스크 1(Task 1)을 수행하고, 태스크 1(Task 1)이 출력한 결과값(output)은 태스크 2(Task 2)에 입력된다. 이와 같은 경우 태스크 1(Task 1), 태스크 2(Task 2), 태스크 3(Task 3),..., 태스크 n(Task n)에서 처리하는 데이터는 일정한 연관성을 가질 수 있다. 즉, 복수의 태스크들이 입력받는 서열 정보가 동일 내지 유사할 수 있다. 2(A) is an example of processing input data as a continuous task. The analysis apparatus processes task 1 (Task 1) to task n (Task n). At this time, each task is performed sequentially. For example, the analysis device performs task 1 , and the output output from task 1 is input to task 2 . In this case, data processed in task 1 , task 2 , task 3 , ..., and task n may have a certain correlation. That is, sequence information received by a plurality of tasks may be the same or similar.

도 2(B)는 입력 데이터를 병렬 처리 방식으로 처리하는 경우에 대한 예이다. 분석장치는 대용량의 데이터를 처리하기 위하여 병렬로 데이터를 처리할 수 있다. 도 2(B)는 1, 2,..., k개의 병렬 처리 프로세스가 존재하고, 각 프로세스는 n개의 연속적인 태스크로 구성된다. 개별 프로세스는 샘플의 리드들 중 일부를 입력데이터로 사용할 수 있다. 복수의 리드들 중 일부는 유사한 서열을 가질 수 있다. 나아가, 복수의 리드들 중 일부는 동일한 서열을 가질 수 있다. 따라서, 동일 프로세스뿐만 아니라, 서로 다른 프로세스에서 처리되는 서열들도 유사하거나 동일할 수 있다. 따라서, 즉, 복수의 태스크들이 입력받는 서열 정보가 동일 내지 유사할 수 있다. 2(B) is an example of processing input data in a parallel processing method. The analysis device may process data in parallel in order to process a large amount of data. 2(B) shows 1, 2, ..., k parallel processing processes, and each process consists of n consecutive tasks. An individual process may use some of the samples' reads as input data. Some of the plurality of reads may have similar sequences. Furthermore, some of the plurality of reads may have the same sequence. Accordingly, not only the same process, but also sequences processed in different processes may be similar or identical. Accordingly, that is, sequence information received by a plurality of tasks may be the same or similar.

분석장치는 단일 프로세스 또는 병렬 프로세스로 복수의 태스크들로 리드들을 처리하며, 이때 복수의 태스크들 중 적어도 일부 태스크들은 동일한 서열에 대하여 동일한 명령에 따른 처리를 할 수 있다. 이에 근거하여 분석장치는 다음과 같이 염기 서열 분석에서 오류가 발생한 경우 처음부터 분석을 재시작하지 않고, 해당 태스크의 분석 결과를 대체하여 분석을 계속할 수 있다.The analysis apparatus processes the reads as a plurality of tasks in a single process or a parallel process, and in this case, at least some of the plurality of tasks may process the same sequence according to the same command. Based on this, when an error occurs in the nucleotide sequence analysis as follows, the analysis device may continue the analysis by replacing the analysis result of the corresponding task without restarting the analysis from the beginning.

도 3은 염기 서열 분석에서의 오류 처리 과정(200)에 대한 순서도의 예이다. 분석장치는 복수의 리드들의 서열 정보를 획득한다(210). 여기서, 서열 정보는 다양한 포맷의 파일에 포함될 수 있다. 예컨대, 분석장치는 FASTA, FASTQ, BAM, SAM 및 VCF 중 적어도 어느 하나의 파일에 포함된 서열 정보를 획득할 수 있다. 분석장치는 분석과정 중 어떤 지점에서도 파일에 포함된 서열 정보 분석의 오류를 해결할 수 있다. 즉, 분석장치는 생명정보학적 분석 파이프라인 중 적어도 어느 하나의 프로세스(블록)에서도 이하 설명하는 방식으로 오류를 복구할 수 있다.3 is an example of a flowchart for an error handling process 200 in nucleotide sequence analysis. The analysis device acquires sequence information of a plurality of reads ( 210 ). Here, the sequence information may be included in files of various formats. For example, the analysis device may acquire sequence information included in at least one file of FASTA, FASTQ, BAM, SAM, and VCF. The analysis device can resolve errors in the analysis of sequence information included in the file at any point during the analysis process. That is, the analysis apparatus may recover an error in at least one process (block) of the bioinformatics analysis pipeline in the manner described below.

분석장치는 태스크를 생성하여 분석을 수행한다(220). 분석장치는 복수의 태스크들을 생성하고, 복수의 태스크들은 순차적으로 또는 동시에 생성되는 태스크들일 수 있다. The analysis device generates a task and performs analysis (220). The analysis apparatus generates a plurality of tasks, and the plurality of tasks may be tasks that are generated sequentially or simultaneously.

태스크는 두 가지 정보를 기준으로 정의될 수 있다. 태스크는 (i) 입력되는 서열 정보 및 (ii) 해당 서열 정보에 대한 데이터 처리 명령으로 정의될 수 있다. 서열 정보는 해당 태스크에서 처리하는 서열이고, 적어도 하나의 리드로 구성될 수 있다. 명령은 염기 서열에 대한 품질 평가(예컨대, FASTQ 생성), 리드 맵핑, 중복 서열 제거, 재정렬(realignment), 염기 재교정(base recalibration), 변이 검출 등이 있다. A task can be defined based on two pieces of information. A task may be defined as (i) input sequence information and (ii) a data processing command for the sequence information. Sequence information is a sequence processed by a corresponding task, and may consist of at least one read. Commands include quality evaluation of base sequences (eg, FASTQ generation), read mapping, duplicate sequence removal, realignment, base recalibration, mutation detection, and the like.

분석장치는 각 태스크별로 태스크에 대한 해시(hash)값을 생성한다(230). 분석장치는 각 태스크에 대한 해시값과 태스크의 출력값을 저장매체에 저장한다(230). 분석장치는 태스크를 정의하는 정보를 기준으로 해시값을 생성한다. 예컨대, 분석장치는 태스크에서 사용되는 서열 정보를 기준으로 해시값을 생성할 수 있다. 또한, 분석장치는 태스크에서 사용되는 서열 정보 및 명령을 기준으로 해시값을 생성할 수 있다. 서열 정보 및 명령은 모두 디지털 값으로 표현될 수 있기 때문에, 분석장치는 특정 태스크를 해시값으로 변환할 수 있다.The analysis device generates a hash value for each task for each task ( 230 ). The analysis device stores the hash value for each task and the output value of the task in the storage medium (230). The analysis device generates a hash value based on the information defining the task. For example, the analysis device may generate a hash value based on sequence information used in the task. Also, the analysis device may generate a hash value based on sequence information and commands used in the task. Since both sequence information and commands can be expressed as digital values, the analyzer can convert a specific task into a hash value.

분석장치는 태스크를 이용한 데이터를 처리하는 과정에서 특정 태스크에 오류가 발생하는지 모니터링한다(240). 오류가 발생하지 않는다면(240의 NO), 분석장치는 계속 태스크를 생성하면서 유전체 데이터를 분석한다.The analysis device monitors whether an error occurs in a specific task in the process of processing data using the task (240). If no error occurs (NO in 240), the analyzer continues to generate tasks and analyzes the genome data.

오류가 발생한다면(240의 YES), 분석장치는 오류가 발생한 특정 태스크의 해시값과 기저장된 태스크들의 해시값들을 비교한다(250). 분석장치는 저장매체에 저장된 해시값들 중에 특정 태스크의 해시값과 동일한 해시값이 있는지 확인한다(250). 특정 태스크와 동일한 해시값을 갖는 태스크를 타깃 태스크라고 명명한다. 동일한 해시값이 없다면(250의 NO), 분석장치는 오류가 발생했다고 판단하고, 오류 발생 후 프로세스를 진행한다. 예컨대, 분석장치는 처음부터 분석을 다시 시작할 수 있다.If an error occurs (YES in 240), the analyzer compares the hash value of the specific task in which the error has occurred with the hash values of the pre-stored tasks (250). The analysis device checks whether there is a hash value identical to the hash value of a specific task among the hash values stored in the storage medium (250). A task having the same hash value as a specific task is called a target task. If there is no identical hash value (NO of 250), the analysis device determines that an error has occurred, and proceeds with the process after the error has occurred. For example, the analysis device may restart analysis from the beginning.

동일한 해시값이 있다면(250의 YES), 분석장치는 저장 매체에서 특정 태스크와 동일한 해시값을 갖는 타깃 태스크의 출력값을 추출한다. 분석장치는 특정 태스크의 출력값을 타깃 태스크의 출력값으로 대체한다(260). 특정 태스크와 타깃 태스크는 사용하는 서열과 처리하는 명령이 동일하기 때문에, 분석장치는 오류가 발생한 특정 태스크의 결과를 타깃 태스크의 결과로 대체할 수 있다. 물론, 특정 태스크와 타깃 태스크에서 이용하는 서열들은 실제 동일한 부위의 서열일 수도 있고, 다른 부위지만 이용하는 리드들이 동일한 경우일 수도 있다.If there is the same hash value (YES in 250), the analysis device extracts the output value of the target task having the same hash value as the specific task from the storage medium. The analysis device replaces the output value of the specific task with the output value of the target task (260). Since the specific task and the target task have the same sequence to be used and the command to be processed, the analysis device can replace the result of the specific task in which an error has occurred with the result of the target task. Of course, the sequences used in the specific task and the target task may be sequences in the same region, or reads using only different regions may be the same.

분석장치는 분석이 종료되지 않았다면(270의 NO), 태스크를 생성하면서 분석을 수행하는 과정 및 오류 복구 과정을 반복적으로 수행한다. If the analysis is not finished (NO in 270), the analysis device repeatedly performs the analysis and error recovery while creating the task.

도 4는 염기 서열 분석에서의 오류 처리 과정(300)에 대한 예이다. 도 4에서 분석장치는 분석장치 A, 분석장치 K 등 복수 개를 예시하였다. 4 is an example of an error processing process 300 in nucleotide sequence analysis. In FIG. 4, a plurality of analysis devices such as analysis device A and analysis device K are exemplified.

저장 매체는 태스크들에 대한 해시값 및 출력값을 저장하는 장치이다. 저장매체는 분석장치에 내장되거나 연결된 장치 또는 네트워크로 연결된 장치(데이터베이스, 서버 등)일 수 있다. 저장매체는 비휘발성 메모리, 하드디스크 등과 같이 다양한 저장 매체를 포함할 수 있다. The storage medium is a device for storing hash values and output values for tasks. The storage medium may be a device embedded in or connected to the analysis device or a device (database, server, etc.) connected to a network. The storage medium may include various storage media such as a non-volatile memory and a hard disk.

(i) 저장매체는 하나의 분석장치가 특정 분석을 수행하면서 생성되는 태스크들에 대한 해시값 및 출력값을 저장할 수 있다. 이 경우 저장매체는 분석내(intra-analysis) 태스크들에 대한 값을 저장한다.(i) The storage medium may store hash values and output values for tasks generated while one analysis device performs a specific analysis. In this case, the storage medium stores values for intra-analysis tasks.

(ii) 또한, 저장매체는 복수의 분석장치가 각각 특정 유전체 데이터 분석을 수행하면서 생성되는 태스크들에 대한 해시값 및 출력값을 저장할 수 있다. 이 경우 저장매체는 분석내 태스크들뿐만 아니라, 분석간(inter-analysis) 태스크들도 저장할 수 있다. 분석간 태스크들이 분석한 서열정보는 서로 다른 샘플(개인)로부터 수집한 것일 수도 있다. 예컨대, 특정 개체(인간)는 공유하는 유전자 서열이 있기에, 서로 다른 태스크들이 이용하는 적어도 하나의 리드는 동일할 수 있다.(ii) In addition, the storage medium may store hash values and output values for tasks generated while a plurality of analysis devices perform specific genome data analysis, respectively. In this case, the storage medium may store not only intra-analysis tasks, but also inter-analysis tasks. The sequence information analyzed by the inter-analysis tasks may be collected from different samples (individuals). For example, since a specific individual (human) has a shared gene sequence, at least one read used by different tasks may be the same.

분석장치 A가 태스크의 오류를 복구하는 과정을 중심으로 설명한다. 분석 장치 A는 서열 정보를 생성한다(310). 서열 정보는 FASTA, FASTQ, BAM, SAM 및 VCF 중 적어도 하나일 수 있다. NGS 분석이 아니더라도, 서열 정보는 분석 파이프라인에 따라 다양한 포맷일 수 있고, 분석장치 A가 생성하는 서열 정보는 분석 파이프라인에서 사용하는 특정 파일에 포함된 정보일 수 있다.The process in which the analysis device A recovers the error of the task will be mainly explained. Analysis device A generates sequence information (310). The sequence information may be at least one of FASTA, FASTQ, BAM, SAM, and VCF. Even if not for NGS analysis, the sequence information may be in various formats depending on the analysis pipeline, and the sequence information generated by the analysis device A may be information included in a specific file used in the analysis pipeline.

분석장치 A는 복수의 태스크를 생성하면서, 태스크별로 입력 데이터를 처리한다(320). 도 4는 분석장치 A가 태스크 1(Task 1) ~ 태스크 n(Task n)까지 생성하는 예를 도시한다. The analysis device A processes input data for each task while generating a plurality of tasks ( 320 ). 4 shows an example in which the analysis device A generates tasks 1 to n.

태스크 3에서 오류가 발생했다고 가정한다. 분석장치 A는 오류가 발생한 태스크 3의 해시값(#0031)을 기준으로, 저장매체에서 동일한 해시값을 갖는 태스크가 있는지 확인한다. 저장매체는 동일한 해시값을 갖고 있다. 이 경우, 분석장치 A는 동일한 해시값(#0031)에 대한 출력값(output 3)을 추출한다. 분석장치 A는 추출한 출력값(output 3)을 태스크 3의 결과값을 대체한다(330). Assume that an error occurred in task 3. Based on the hash value (#0031) of task 3 in which the error occurred, the analysis device A checks whether there is a task having the same hash value in the storage medium. The storage medium has the same hash value. In this case, the analysis device A extracts an output value (output 3) for the same hash value (#0031). The analysis device A replaces the extracted output value (output 3) with the result value of task 3 ( 330 ).

분석장치는 태스크 3의 결과값인 output 3을 다음 태스크에 입력하여 이후 분석을 수행하고, 태스크 n까지 수행하면 분석이 종료된다(340).The analysis apparatus inputs output 3, which is the result value of task 3, to the next task to perform subsequent analysis, and when task n is performed, the analysis is terminated (340).

도 5는 염기 서열 분석장치(400)에 대한 예이다. 염기 서열 분석장치(400)는 전술한 유전체 데이터를 분석하는 장치이다. 염기 서열 분석장치(400)는 전술한 방법에 따라 오류가 발생한 태스크를 복구하여 유전체 분석을 수행한다.5 is an example of the nucleotide sequence analyzer 400 . The nucleotide sequence analyzer 400 is an apparatus for analyzing the above-described genomic data. The nucleotide sequence analyzer 400 performs genome analysis by recovering a task in which an error has occurred according to the above-described method.

분석장치(400)는 물리적으로 다양한 형태로 구현될 수 있다. 예컨대, 분석장치(400)는 PC와 같은 컴퓨터 장치, 네트워크의 서버, 데이터 처리 전용 칩셋 등의 형태를 가질 수 있다. 컴퓨터 장치는 스마트 기기 등과 같은 모바일 기기를 포함할 수 있다.The analysis device 400 may be physically implemented in various forms. For example, the analysis device 400 may have the form of a computer device such as a PC, a server on a network, a chipset dedicated to data processing, and the like. The computer device may include a mobile device such as a smart device or the like.

분석장치(400)는 저장장치(410), 메모리(420), 연산장치(430), 인터페이스 장치(440), 통신장치(450) 및 출력장치(460)를 포함할 수 있다.The analysis device 400 may include a storage device 410 , a memory 420 , an arithmetic device 430 , an interface device 440 , a communication device 450 , and an output device 460 .

분석장치(400)는 분석 대상인 샘플에 대한 로 데이터(예컨대, FASTA 또는 FASTQ)를 생성했다고 가정한다.It is assumed that the analysis device 400 has generated raw data (eg, FASTA or FASTQ) for a sample to be analyzed.

저장장치(410)는 분석장치(400)가 생성한 유전체 데이터를 저장한다. 저장장치(410)는 복수의 리드들에 대한 정보를 저장할 수 있다. NGS를 예로 설명하면, 저장장치(410)는 FASTA, FASTQ, BAM, SAM 및 VCF 중 적어도 하나의 포맷인 파일을 저장할 수 있다. The storage device 410 stores the genome data generated by the analysis device 400 . The storage device 410 may store information on a plurality of leads. Taking NGS as an example, the storage device 410 may store a file in at least one format of FASTA, FASTQ, BAM, SAM, and VCF.

저장장치(410)는 서열 정보 및 서열 정보를 일정하게 분석하기 위한 프로그램(코드)을 저장할 수 있다. 저장장치(410)는 전술한 방법과 같이 태스크의 오류를 복구하는 프로그램을 저장할 수 있다.The storage device 410 may store sequence information and a program (code) for constantly analyzing sequence information. The storage device 410 may store a program for recovering an error of a task as in the above-described method.

저장장치(410)는 태스크에 대한 해시값과 출력값을 저장할 수 있다. 저장장치(410)는 단일한 객체로 도시하였으나, 물리적으로 서로 다른 다양한 매체로 구성될 수 있다.The storage device 410 may store a hash value and an output value for the task. Although the storage device 410 is illustrated as a single object, it may be composed of a variety of physically different media.

저장장치(410)는 샘플의 서열 정보를 분석한 결과(시퀀싱 결과, 변이 검출 결과 등)를 저장할 수도 있다.The storage device 410 may store a result of analyzing the sequence information of the sample (sequencing result, mutation detection result, etc.).

메모리(420)는 분석장치(400)가 유전자 데이터를 분석하는 과정에서 생성되는 데이터 및 정보 등을 저장할 수 있다.The memory 420 may store data and information generated while the analysis device 400 analyzes the genetic data.

인터페이스 장치(440)는 외부로부터 일정한 명령 및 데이터를 입력받는 장치이다. 인터페이스 장치(440)는 물리적으로 연결된 입력 장치 또는 외부 저장장치로부터 샘플의 서열 정보를 입력받을 수 있다. 인터페이스 장치(440)는 서열 정보를 처리하기 위한 명령을 입력받을 수 있다. 명령은 염기 서열에 대한 품질 평가, 리드 맵핑, 중복 서열 제거, 재정렬, 염기 재교정, 변이 검출 등 중 적어도 하나일 수 있다.The interface device 440 is a device that receives predetermined commands and data from the outside. The interface device 440 may receive sequence information of the sample from a physically connected input device or an external storage device. The interface device 440 may receive a command for processing sequence information. The command may be at least one of quality evaluation, read mapping, duplicate sequence removal, rearrangement, base re-correction, mutation detection, and the like for a nucleotide sequence.

통신장치(450)는 유선 또는 무선 네트워크를 통해 일정한 정보를 수신하고 전송하는 구성을 의미한다. 통신장치(450)는 외부 객체로부터 샘플의 서열 정보를 수신할 수 있다. 통신장치(450)는 서열 정보를 처리하기 위한 명령을 수신할 수 있다. 통신장치(450)는 샘플 분석 결과를 외부 객체로 송신할 수 있다.The communication device 450 means a configuration for receiving and transmitting certain information through a wired or wireless network. The communication device 450 may receive sequence information of the sample from an external object. The communication device 450 may receive a command for processing sequence information. The communication device 450 may transmit a sample analysis result to an external object.

통신장치(450) 내지 인터페이스 장치(440)는 외부로부터 일정한 데이터 내지 명령을 전달받는 장치이다. 통신장치(450) 내지 인터페이스 장치(440)를 입력장치라고 명명할 수 있다.The communication device 450 and the interface device 440 are devices that receive predetermined data or commands from the outside. The communication device 450 or the interface device 440 may be referred to as input devices.

출력장치(460)는 일정한 정보를 출력하는 장치이다. 출력장치(460)는 데이터 처리 과정에 필요한 인터페이스, 분석 결과 등을 출력할 수 있다.The output device 460 is a device that outputs certain information. The output device 460 may output an interface necessary for a data processing process, an analysis result, and the like.

연산 장치(430)는 저장장치(410)에 저장된 프로그램을 이용하여 유전체 데이터를 분석하고, 오류가 발생한 태스크를 복구할 수 있다.The computing device 430 may analyze the genome data using a program stored in the storage device 410 , and may recover a task in which an error has occurred.

연산 장치(430)는 복수의 리드들 중 적어도 일부 리드들의 서열 정보를 이용하여 데이터를 처리하는 복수의 태스크를 생성할 수 있다. 연산 장치(430)는 복수의 태스크 중 어느 하나 또는 동시에 복수의 태스크를 수행하여 데이터를 처리할 수 있다. The computing device 430 may generate a plurality of tasks for processing data by using sequence information of at least some of the plurality of reads. The computing device 430 may process data by performing any one of a plurality of tasks or a plurality of tasks at the same time.

연산 장치(430)는 각 태스크에 대한 해시값과 출력값을 저장장치(410) 또는 별도의 저장매체에 저장할 수 있다.The computing device 430 may store a hash value and an output value for each task in the storage device 410 or a separate storage medium.

연산 장치(430)는 분석중인 태스크에서 오류가 발생하는지 모니터링할 수 있다. The computing device 430 may monitor whether an error occurs in the task being analyzed.

연산 장치(430)는 오류가 발생한 특정 태스크의 해시값과 저장장치(410) 또는 저장 매체에 기저장된 태스크들(태스크 그룹)의 해시값일 비교하여, 특정 태스크의 해시값과 동일한 해시값이 있는지 확인한다.The arithmetic unit 430 compares the hash value of the specific task in which the error has occurred and the hash value of the tasks (task group) pre-stored in the storage device 410 or the storage medium, and checks whether there is a hash value identical to the hash value of the specific task. do.

연산 장치(430)는 기저장된 태스크 그룹 중 특정 태스크의 해시값과 동일한 해시값을 갖는 타깃 태스크가 있는 경우, 특정 태스크의 출력값을 타깃 태스크의 출력값으로 대체한다. 다른 말로하면, 연산 장치(430)는 특정 태스크의 출력값에 타깃 태스크의 출력값으로 오버라이트(overwrite)한다.When there is a target task having the same hash value as the hash value of the specific task among the pre-stored task groups, the computing device 430 replaces the output value of the specific task with the output value of the target task. In other words, the arithmetic unit 430 overwrites the output value of the specific task with the output value of the target task.

연산 장치(430)는 특정 태스크의 출력값을 다른 태스크에 입력하면서 분석 과정을 계속할 수 있다.The computing device 430 may continue the analysis process while inputting the output value of a specific task to another task.

연산 장치(430)는 데이터를 처리하고, 일정한 연산을 처리하는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다.The computing device 430 may be a device such as a processor, an AP, or a chip embedded with a program that processes data and processes a predetermined operation.

또한, 상술한 바와 같은 염기 서열 분석 방법 또는 염기 서열 오류 복구 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 일시적 또는 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.In addition, the nucleotide sequence analysis method or the nucleotide sequence error recovery method as described above may be implemented as a program (or application) including an executable algorithm that can be executed on a computer. The program may be provided by being stored in a temporary or non-transitory computer readable medium.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM (read-only memory), PROM (programmable read only memory), EPROM(Erasable PROM, EPROM) 또는 EEPROM(Electrically EPROM) 또는 플래시 메모리 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short moment, such as a register, a cache, and a memory. Specifically, the various applications or programs described above are CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM (read-only memory), PROM (programmable read only memory), EPROM (Erasable PROM, EPROM) Alternatively, it may be provided by being stored in a non-transitory readable medium such as an EEPROM (Electrically EPROM) or a flash memory.

일시적 판독 가능 매체는 스태틱 램(Static RAM,SRAM), 다이내믹 램(Dynamic RAM,DRAM), 싱크로너스 디램 (Synchronous DRAM,SDRAM), 2배속 SDRAM(Double Data Rate SDRAM,DDR SDRAM), 증강형 SDRAM(Enhanced SDRAM,ESDRAM), 동기화 DRAM(Synclink DRAM,SLDRAM) 및 직접 램버스 램(Direct Rambus RAM,DRRAM) 과 같은 다양한 RAM을 의미한다.Temporarily readable media include Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (Enhanced) SDRAM, ESDRAM), Synchronous DRAM (Synclink DRAM, SLDRAM) and Direct Rambus RAM (Direct Rambus RAM, DRRAM) refers to a variety of RAM.

본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.The present embodiment and the drawings attached to this specification merely clearly show a part of the technical idea included in the above-described technology, and within the scope of the technical idea included in the specification and drawings of the above-described technology, those skilled in the art can easily It will be apparent that all inferred modified examples and specific embodiments are included in the scope of the above-described technology.

Claims (12)

분석장치가 샘플에 대한 복수의 리드(read)들의 서열 정보를 획득하는 단계;
상기 분석장치가 상기 복수의 리드들 중 적어도 일부 리드들의 서열 정보를 이용하여 데이터를 처리하는 복수의 태스크들을 생성하는 단계;
상기 분석장치가 상기 복수의 태스크들에 대하여 각 태스크에 입력되는 서열 정보를 기준으로 해시(hash)값을 생성하는 단계;
상기 분석장치가 상기 복수의 태스크들 중 오류가 발생한 특정 태스크에 대하여, 데이터 처리가 완료된 태스크들을 포함하는 기처리 태스크 그룹 중 상기 특정 태스크의 해시값과 동일한 해시값을 갖는 타깃 태스크를 확인하는 단계; 및
상기 분석장치가 상기 특정 태스크의 출력값을 상기 타깃 태스크의 출력값으로 대체하고, 상기 대체된 출력값을 이용하여 분석을 수행하는 단계를 포함하되,
상기 서열 정보는 각 리드의 식별자 및 각 리드의 서열을 포함하고,
상기 복수의 태스크 중 적어도 2개 이상의 태스크는 처리 명령 및 각 태스크에 사용되는 서열 정보가 동일하고,
상기 출력값은 태스크라 데이터 처리한 결과인 염기 서열 분석에서의 오류 처리 방법.
acquiring, by the analysis device, sequence information of a plurality of reads for the sample;
generating, by the analysis device, a plurality of tasks for processing data using sequence information of at least some of the plurality of reads;
generating, by the analysis device, a hash value for the plurality of tasks based on sequence information input to each task;
identifying, by the analysis apparatus, a target task having the same hash value as the hash value of the specific task from among the pre-processed task group including tasks for which data processing is completed with respect to a specific task in which an error has occurred among the plurality of tasks; and
Comprising the step of the analysis device replacing the output value of the specific task with the output value of the target task, and performing analysis using the replaced output value,
The sequence information includes an identifier of each read and a sequence of each read,
At least two or more tasks among the plurality of tasks have the same processing command and sequence information used for each task,
The output value is an error processing method in nucleotide sequence analysis, which is a result of processing data by task.
제1항에 있어서,
상기 복수의 태스크들은 동일 시점에 동시에 수행되는 태스크들 및 서로 다른 점에 수행되는 태스크들을 포함하는 태스크 그룹 중 적어도 2개 이상의 태스크들을 포함하는 염기 서열 분석에서의 오류 처리 방법.
The method of claim 1,
The plurality of tasks is an error handling method in sequencing analysis including at least two or more tasks from a task group including tasks performed at the same time and tasks performed at different points.
제1항에 있어서,
상기 분석장치는 상기 복수의 태스크들 각각에 대하여 상기 서열 정보 및 태스크를 구성하는 데이터 처리 명령을 이용하여 상기 해시값을 생성하는 염기 서열 분석에서의 오류 처리 방법.
The method of claim 1,
The analysis apparatus generates the hash value by using the sequence information for each of the plurality of tasks and a data processing command constituting the task.
제1항에 있어서,
상기 분석장치는 상기 복수의 태스크들 각각에 대하여 해시값 및 출력값을 저장 매체에 저장하는 단계를 더 포함하는 염기 서열 분석에서의 오류 처리 방법.
The method of claim 1,
The method for processing errors in nucleotide sequence analysis further comprising the step of the analyzing apparatus storing a hash value and an output value for each of the plurality of tasks in a storage medium.
제1항에 있어서,
상기 서열 정보는 FASTA, FASTQ, SAM, BAM 및 VCF를 포함하는 파일 포맷 중 적어도 하나의 포맷인 파일에 저장되는 염기 서열 분석에서의 오류 처리 방법.
The method of claim 1,
The method for handling errors in nucleotide sequence analysis in which the sequence information is stored in a file that is at least one of file formats including FASTA, FASTQ, SAM, BAM, and VCF.
제1항에 있어서,
상기 기처리 태스크 그룹은
상기 특정 태스크가 사용되는 분석 내의 태스크들을 포함하거나, 또는
상기 분석 내의 태스크들 및 상기 특정 태스크와 관련 없는 별개의 분석 내의 태스크들을 포함하는 염기 서열 분석에서의 오류 처리 방법.
The method of claim 1,
The pre-processing task group is
contains tasks in the analysis in which the particular task is used, or
A method for handling errors in sequencing, comprising tasks in the analysis and tasks in a separate analysis not related to the specific task.
샘플에 대한 복수의 리드(read)들의 서열 정보 및 분석 명령을 입력받는 입력장치;
상기 서열 정보 및 서열 정보를 일정하게 분석하기 위한 프로그램 코드를 저장하는 저장장치; 및
상기 복수의 리드들 중 적어도 일부 리드들의 서열 정보를 이용하여 데이터를 처리하는 복수의 태스크들 중 오류가 발생한 특정 태스크에 대하여, 데이터 처리가 완료된 태스크들을 포함하는 기처리 태스크 그룹 중 상기 특정 태스크의 해시값과 동일한 해시값을 갖는 타깃 태스크의 출력값을 확인하고, 상기 특정 태스크의 출력값을 상기 타깃 태스크의 출력값으로 대체하고, 상기 대체된 출력값을 이용하여 분석을 수행하는 연산장치를 포함하되,
상기 해시값은 태스크에 입력되는 서열 정보를 기준으로 연산되고, 상기 서열 정보는 리드의 식별자 및 리드의 서열을 포함하고,
상기 출력 값은 태스크라 데이터 처리한 결과인 염기 서열 분석 장치.
an input device for receiving sequence information and analysis commands of a plurality of reads for a sample;
a storage device for storing the sequence information and a program code for constantly analyzing the sequence information; and
With respect to a specific task in which an error occurs among a plurality of tasks for processing data using sequence information of at least some of the reads among the plurality of reads, a hash of the specific task from among the pre-processed task groups including tasks for which data processing is completed A computing device for checking an output value of a target task having the same hash value as a value, replacing the output value of the specific task with an output value of the target task, and performing analysis using the replaced output value,
The hash value is calculated based on sequence information input to the task, and the sequence information includes an identifier of a read and a sequence of the read,
The output value is a nucleotide sequence analysis device that is a result of processing data by task.
제7항에 있어서,
상기 연산장치는 상기 복수의 태스크 각각에 대하여 상기 서열 정보 및 태스크를 구성하는 데이터 처리 명령을 이용하여 상기 해시값을 생성하는 염기 서열 분석 장치.
The method of claim 7,
The arithmetic unit generates the hash value for each of the plurality of tasks by using the sequence information and a data processing command constituting the task.
제7항에 있어서,
상기 저장장치는 상기 태스크 각각에 대한 해시값 및 출력값을 더 저장하는 염기 서열 분석 장치.
The method of claim 7,
The storage device is a nucleotide sequence analysis device that further stores a hash value and an output value for each of the tasks.
제7항에 있어서,
상기 연산장치는 FASTA, FASTQ, SAM, BAM 및 VCF를 포함하는 파일 포맷 중 적어도 하나의 포맷인 파일을 이용하여 상기 샘플에 대한 분석을 수행하는 염기 서열 분석 장치.
The method of claim 7,
The arithmetic unit is a nucleotide sequence analysis device for performing analysis on the sample using a file that is at least one of file formats including FASTA, FASTQ, SAM, BAM, and VCF.
제7항에 있어서,
상기 기처리 태스크 그룹은
상기 특정 태스크가 사용되는 분석 내의 태스크들을 포함하거나, 또는
상기 분석 내의 태스크들 및 상기 특정 태스크와 관련 없는 별개의 분석 내의 태스크들을 포함하는 염기 서열 분석 장치.
The method of claim 7,
The pre-processing task group is
contains tasks in the analysis in which the particular task is used, or
A sequencing apparatus comprising tasks in the analysis and tasks in a separate analysis not related to the specific task.
제7항에 있어서,
상기 특정 태스크와 상기 타깃 태스크는 처리 명령 및 각 태스크에 사용되는 서열 정보가 동일한 태스크인 염기 서열 분석 장치.
The method of claim 7,
The specific task and the target task are tasks in which a processing command and sequence information used for each task are the same.
KR1020200145244A 2020-11-03 2020-11-03 Error recovery method in genome sequence analysis and genome sequence analysis apparatus KR102258897B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200145244A KR102258897B1 (en) 2020-11-03 2020-11-03 Error recovery method in genome sequence analysis and genome sequence analysis apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200145244A KR102258897B1 (en) 2020-11-03 2020-11-03 Error recovery method in genome sequence analysis and genome sequence analysis apparatus

Publications (1)

Publication Number Publication Date
KR102258897B1 true KR102258897B1 (en) 2021-06-01

Family

ID=76375939

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200145244A KR102258897B1 (en) 2020-11-03 2020-11-03 Error recovery method in genome sequence analysis and genome sequence analysis apparatus

Country Status (1)

Country Link
KR (1) KR102258897B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040098371A1 (en) * 2002-11-14 2004-05-20 David Bayliss Failure recovery in a parallel-processing database system
KR20190010404A (en) 2018-03-05 2019-01-30 주식회사 유클리드소프트 System and method for genome sequence analysis pipeline

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040098371A1 (en) * 2002-11-14 2004-05-20 David Bayliss Failure recovery in a parallel-processing database system
KR20190010404A (en) 2018-03-05 2019-01-30 주식회사 유클리드소프트 System and method for genome sequence analysis pipeline

Similar Documents

Publication Publication Date Title
CN107615283B (en) Methods, software and systems for diploid genome assembly and haplotype sequence reconstruction
CN107609350B (en) Data processing method of second-generation sequencing data analysis platform
Dumbrell et al. Microbial community analysis by single-amplicon high-throughput next generation sequencing: data analysis–from raw output to ecology
US11842794B2 (en) Variant calling in single molecule sequencing using a convolutional neural network
CN111292802A (en) Method, electronic device, and computer storage medium for detecting sudden change
US9886561B2 (en) Efficient encoding and storage and retrieval of genomic data
Lücking et al. Multiple ITS haplotypes in the genome of the lichenized basidiomycete Cora inversa (Hygrophoraceae): fact or artifact?
Brozynska et al. Direct chloroplast sequencing: comparison of sequencing platforms and analysis tools for whole chloroplast barcoding
CN113488106A (en) Method for rapidly acquiring comparison result data of target genome region
CN111192630A (en) Metagenome data mining method
Lun et al. From reads to regions: a Bioconductor workflow to detect differential binding in ChIP-seq data
Bickhart et al. RAPTR-SV: a hybrid method for the detection of structural variants
CN111180013B (en) Device for detecting blood disease fusion gene
Meleshko et al. Detection and assembly of novel sequence insertions using Linked-Read technology
Gao et al. Single-molecule real-time (SMRT) isoform sequencing (Iso-Seq) in plants: the status of the bioinformatics tools to unravel the transcriptome complexity
Wright et al. Preprocessing and quality control for whole-genome sequences from the Illumina HiSeq X platform
US20200319140A1 (en) Automated analysis of analytical gels and blots
KR102258897B1 (en) Error recovery method in genome sequence analysis and genome sequence analysis apparatus
US20150142328A1 (en) Calculation method for interchromosomal translocation position
CN112863603A (en) Automatic analysis method and system for bacterial whole genome sequencing data
CN109360605B (en) Genome sequencing data archiving method, server and computer readable storage medium
KR20220019218A (en) Apparatus and method for detecting somatic mutations with reduced sequencing platform-specific errors
US20230102127A1 (en) Systems and methods for identifying samples of interest by comparing aligned time-series measurements
Köster et al. A Bayesian model for single cell transcript expression analysis on MERFISH data
Galanti et al. Pheniqs: Fast and flexible quality-aware sequence demultiplexing

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant