KR20130069427A - 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치 - Google Patents

차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치 Download PDF

Info

Publication number
KR20130069427A
KR20130069427A KR1020120143620A KR20120143620A KR20130069427A KR 20130069427 A KR20130069427 A KR 20130069427A KR 1020120143620 A KR1020120143620 A KR 1020120143620A KR 20120143620 A KR20120143620 A KR 20120143620A KR 20130069427 A KR20130069427 A KR 20130069427A
Authority
KR
South Korea
Prior art keywords
information
reference sequence
reads
addressing
aligned
Prior art date
Application number
KR1020120143620A
Other languages
English (en)
Other versions
KR101922129B1 (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 US13/715,908 priority Critical patent/US9098523B2/en
Publication of KR20130069427A publication Critical patent/KR20130069427A/ko
Application granted granted Critical
Publication of KR101922129B1 publication Critical patent/KR101922129B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/50Compression of genetic data
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Biotechnology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Genetics & Genomics (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Apparatus Associated With Microorganisms And Enzymes (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

유전 정보를 압축하는 방법 및 장치는 리드들에 관한 리드 정보 및 참조 서열에 정렬된 리드들의 위치들에 관한 정렬 정보를 획득하고, 정렬된 리드들에 대응되는 블록의 어드레스에 대한 정보를 포함하는 압축 파일을 생성한다. 그리고, 유전 정보를 압축해제하는 방법 및 장치는 유전 정보에 대한 압축 파일을 획득하고, 획득된 압축 파일로부터 입력된 유전자 검색 정보에 대응되는 블록의 어드레스를 결정하고, 결정된 어드레스에 대응되는 유전 정보를 선택적으로 압축해제한다.

Description

차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치{Method and apparatus for compressing and decompressing genetic information using next generation sequencing(NGS)}
차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치에 관한다.
병렬 시퀀싱(parallel sequencing) 및 차세대 시퀀싱(next generation sequencing, NGS) 플랫폼들은 게놈, 병렬 시퀀싱(parallel sequencing) 및 차세대 시퀀싱(next generation sequencing, 이하 'NGS'라 함) 플랫폼들은 게놈, 에피게놈(epigenome) 및 전사체(transcriptome)의 연구 분야에서 데이터를 수집하고 분석하는 것을 빠르게 변화시키고 있다. NGS 기술은 생명 과학 분야에서 흥미로운 기회들을 제공하고 있다. 생물학 및 신약 등과 관련된 새로운 분야 및 활용은 게놈 시퀀싱(genomic sequencing)을 넘어서, 점점 현실화되고 있다.
NGS 기술의 매우 중요한 활용은 참조 게놈(reference genome)에 대해 리드(reads)를 정렬(aligning)하는 것에 의한, 변이(variant) 분석이다. NGS 기술에 의해 제공되는 높은 처리 성능으로 인해, SNP, CNV 등과 같은 돌연변이는 높은 정확도로 검출될 수 있다. 그 다음, 이 변이들(variations)을 분석하고, 암, 당뇨 등과 같은 병리 현상(pathological conditions)과의 가능한 관련성에 대해 연구할 수 있다. 이는 개인 맞춤형 진단 및 의약 처방의 실현을 보다 가깝게 했다. 개인 맞춤형 처방 시나리오에 있어서, 관심이 있는 돌연변이(mutations) 또는 변이(variations)를 검출하기 위한 데이터의 신속 정확한 처리를 위하여, 유전자, 엑손(exons) 등과 같은 게놈 데이터의 특정 영역으로의 신속한 접근이 매우 중요하다.
NGS 파일 내 리드의 수는, 시퀀싱된 종에 따라 수억 내지 수십억의 범위일 수 있으며, 그 처리량은 수 메가바이트(MB) 내지 수 기가바이트(GB)의 파일 크기를 초래한다. NGS 기술은 퀄리티 스코어(quality scores)와 같은 다양한 주석들(annotations)과, 리드 식별자(read identifiers), 기기 명칭(instrument names), 플로우셀 경로(flowcell lanes) 등과 같은 다른 메타 정보(meta-information)와 함께, 막대한 양의 게놈 데이터를 생성한다. 지속적으로 증가하는 처리량은 시퀀싱 데이터의 저장, 분석 및 관리에 난제를 부여한다. 현재로서 이용가능한 NGS 데이터 포맷은, 거대한 데이터 규모를 처리하는 문제 외에도, 그와 같은 접근을 가능하게 하는 인덱싱을 필요로 한다.
NGS 데이터에 대한 여러 압축 방식들이 존재한다. 그러나, 이들 중 어느 것도 게놈 내 위치에 상응하는 특정한 리드로의 접근을 제공하지 못한다. 그 결과, 타겟이 참조 게놈에 상응하는 작은 부위임에도 불구하고, 분석을 수행하기 위해 파일을 완전히 압축해제(decompression)시킬 필요가 있었다.
위와 같은 점에 비추어 볼 때, 참조 게놈에 정렬된 NGS 리드를 압축 및 저장하고, 참조 게놈에 대한 이러한 리드들의 랜덤 액세스를 제공하는 메카니즘이 필요하다. 나아가서, 전체 파일에 대한 압축해제 없이, 이러한 리드들에 대하여 선택적인 압축해제를 수행할 수 있는 메카니즘이 필요하다.
리드, 퀄리티 값/정보 및 어노테이션 등과 같은, 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치를 제공하는데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 본 실시예가 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
일 측면에 따르면, 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축하는 방법은 상기 차세대 시퀀싱을 이용하여 획득된 리드들에 관한 리드 정보 및 참조 서열에 정렬된 상기 리드들의 위치들에 관한 정렬 정보를 획득하는 단계; 상기 참조 서열을 복수의 구간들로 구분하는 어드레싱 방식을 이용하여, 상기 정렬된 리드들을 상기 구간들에 대응되는 적어도 하나의 블록으로 그룹핑하는 단계; 및 상기 이용된 어드레싱 방식 및 상기 참조 서열 상에서 상기 그룹핑된 블록의 어드레스에 대한 정보를 포함하는 압축 파일을 생성하는 단계를 포함한다.
다른 일 측면에 따르면, 사용자로부터 입력된 유전자 검색 정보를 이용하여 유전 정보를 압축해제하는 방법은 상기 유전 정보가 인코딩된 압축 파일 및 참조 서열을 획득하는 단계; 상기 획득된 압축 파일로부터, 어드레싱 방식에 의해 상기 참조 서열 상에서 그룹핑된 블록의 어드레스 정보를 획득하는 단계; 상기 획득된 어드레스 정보를 이용하여 상기 입력된 유전자 검색 정보에 대응되는 블록의 어드레스를 결정하는 단계; 및 상기 획득된 참조 서열 및 압축 파일을 이용하여, 상기 결정된 어드레스에 대응되는 어노테이션 정보를 선택적으로 압축해제하는 단계를 포함한다.
또 다른 일 측면에 따르면, 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축하는 장치는 상기 차세대 시퀀싱을 이용하여 획득된 리드들에 관한 리드 정보 및 참조 서열에 정렬된 상기 리드들의 위치들에 관한 정렬 정보를 획득하는 데이터 획득부; 상기 참조 서열을 복수의 구간들로 구분하는 어드레싱 방식을 이용하여, 상기 정렬된 리드들을 상기 구간들에 대응되는 적어도 하나의 블록으로 그룹핑하는 리드 분석부; 및 상기 이용된 어드레싱 방식 및 상기 참조 서열 상에서 상기 그룹핑된 블록의 어드레스에 대한 정보를 포함하는 압축 파일을 생성하는 압축부를 포함한다.
또 다른 일 측면에 따르면, 사용자로부터 입력된 유전자 검색 정보를 이용하여 유전 정보를 압축해제하는 장치는 상기 유전 정보가 인코딩된 압축 파일 및 참조 서열을 획득하는 데이터 획득부; 상기 획득된 압축 파일로부터, 어드레싱 방식에 의해 상기 참조 서열 상에서 그룹핑된 블록의 어드레스 정보를 획득하는 어드레싱부; 상기 획득된 어드레스 정보를 이용하여 상기 입력된 유전자 검색 정보에 대응되는 블록의 어드레스를 결정하는 리드 분석부; 및 상기 획득된 참조 서열 및 압축 파일을 이용하여, 상기 결정된 어드레스에 대응되는 어노테이션 정보를 선택적으로 압축해제하는 압축해제부를 포함한다.
또 다른 일 측면에 따르면, 상기 유전 정보의 압축 방법 또는 상기 유전 정보의 압축해제 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
도 1은 본 발명의 일 실시예에 따라, 랜덤 액세스 제공과 함께 리드 및 퀄리티 정보를 압축하는 것을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른, 참조 서열상의 특정 구간에 대응되는 리드들을 압축해제하는 것을 설명하는 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 어노테이션 정보의 저장 및 압축을 설명하는 블록도이다.
도 4는 본 발명의 일 실시예에 따른, 참조 서열 상의 특정 질환 또는 특정 구간에 대응하는 어노테이션 정보를 압축해제시키는 것을 설명하는 블록도이다.
도 5는 본 발명의 일 실시예에 따른, DNA 리드 및 퀄리티 파일을 포함하는 압축된 파일 포맷을 도시한 개략도이다.
도 6은 본 발명의 일 실시예에 따른, 리드, 퀄리티 스코어 및 어노테이션을 포함하는 파일 포맷에 관한 개략도이다.
도 7은 본 발명의 일 실시예에 따라, 압축되는 동안 블록 어드레스가 저장되는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따라, 어드레싱 방식으로 CIR이 사용될 경우 블록 어드레스를 검색하는 방법을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른, 압축된 파일로부터 어노테이션 정보 및 대응되는 변이를 추출하는 방법에 관한 시나리오를 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른, 새로운 SNP들을 식별하기 위하여 리드 및 퀄리티 정보를 선택적으로 압축해제하는 방법에 관한 시나리오를 도시한 도면이다.
도 11(a) 내지 (c)는 본 발명의 일 실시예에 따른, 3개의 서로 다른 파일들에서 참조 위치에 대한 리드들의 분포를 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른, 어노테이션들의 저장 포맷을 도시한 도면이다.
도 13은 본 발명의 일 실시예에 따른, 서로 다른 어드레싱 방식들의 필요성에 대해 도시한 도면이다.
도 14는 본 발명의 일 실시예에 따른, 리드들의 압축과 관련된 방법을 설명하기 위한 흐름도이다.
도 15(a)는 본 발명의 일 실시예에 따른, 치환으로서의 소프트 클리핑의 첫 번째 방식을 설명하기 위한 도면이다.
도 15(b)는 본 발명의 일 실시예에 따른, 치환으로서의 소프트 클리핑의 두 번째 방식을 설명하기 위한 도면이다.
도 15(c)는 본 발명의 일 실시예에 따른, 리드와 참조 서열을 비교하여, 차이 스트링 및 CIGAR 스트링을 생성하는 것을 설명하기 위한 도면이다.
도 16은 본 발명의 일 실시예에 따른, 차이 정보의 인코딩과 관련된 방법을 설명하기 위한 흐름도이다.
도 17은 본 발명의 일 실시예에 따라, 정렬된 리드들에 대하여 획득된 비트 스트림을 도시한 도면이다.
도 18은 본 발명의 일 실시예에 따른, NGS 리드 및 어노테이션의 랜덤 액세스 기반 압축 및 저장을 수행하는 컴퓨팅(computing) 장치를 도시한 도면이다.
도 19는 본 발명의 일 실시예에 따른, 유전 정보 압축/압축해제 장치를 도시한 도면이다.
도 20은 본 발명의 일 실시예에 따른, 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축하는 방법을 도시한 흐름도이다.
도 21은 본 발명의 일 실시예에 따른, 사용자로부터 입력된 유전자 검색 정보를 이용하여 유전 정보를 압축해제하는 방법을 도시한 흐름도이다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명하도록 하겠다. 하지만, 이하에서 설명할 실시예들 및 도면들은 설명의 편의를 위한 것일 뿐, 본 발명은 이에 한정되지 않음을 당해 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
이하의 실시예들에서는, 게놈 데이터를 효율적으로 압축하고, 참조 게놈(reference genome) 또는 참조 서열(reference sequence)의 특정 부위에 대응되는 리드들(reads)에 대한 랜덤 액세스(random access) 및 선택적인 디코딩(decoding)을 제공하는 방법 및 시스템을 설명하도록 한다. 나아가서, 이하의 실시예들에서는 압축된 리드 및 퀄리티 정보(quality information) 뿐만 아니라 어노테이션들(annotations)을 저장하기 위한 포맷에 대해 설명하고, 어노테이션들에 대한 랜덤 액세스에 관하여 설명하도록 한다. 여기서, 이와 같은 어노테이션들은 리드 및 게놈 데이터의 압축해제(decompressing) 없이 선택적으로 디코딩될 수 있다.
NGS 기술로부터 얻어지는 게놈 데이터는, DNA 서열 데이터, 퀄리티 스코어 및 기타 시퀀싱 특이적 정보와 함께, 수십억의 리드들의 형태로 획득된다. 이 게놈 데이터는 전형적으로 FASTQ 파일 포맷으로 저장된다. 나아가서, DNA 리드는 BWA, bowtie, SSAHA2 등과 같은 정렬 툴(alignment tools)을 사용하여, 관련이 있거나 또는 적절한 참조 서열에 정렬될 수 있다. 이 정렬 툴의 출력물은 통상적으로 SAM(structural alignment map) 또는 SAM 파일의 이진화된 버전인 BAM 파일로 저장된다. 또한, 본 실시예에서는 입력으로서 SAM/BAM 파일 뿐만 아니라, 각각의 리드를 위한 정렬 정보를 제공하는 파일이라면 어느 것이어도 무방하다. 본 실시예는 이와 같은 정렬 정보를 사용하여, 효율적인 압축을 달성하기 위하여 리드 및 퀄리티 정보를 인코딩한다.
나아가서, 본 실시예는 SAM/BAM과 같은 표준 파일 포맷들의 다른 구성들을 인코딩하는데에도 활용될 수 있다.
리드 및 퀄리티 정보에 대한 압축은 2 패스 방식(2 pass fashion)으로 구현된다. 여기서, 통계량들은 제 1 패스(first pass)의 부분 또는 전부에서 수집된다. 이러한 통계량들은 리드 및 퀄리티 정보에 대한 가장 효율적인 인코딩 방법을 식별하기 위하여 사용될 수 있다. 또한, 통계량들은 참조 게놈의 위치에 대한 리드가 선택적으로 압축해제되기 위한 랜덤 액세스의 성능을 정하는, 가장 뛰어난 어드레싱 방식(addressing scheme)을 식별하기 위하여 사용될 수 있다.
본 실시예에 따르면, 어노테이션들은, 리드 및 퀄리티 스코어와 함께 압축된 파일에 저장될 수 있는, SNPs(single nucleotide polymorphisms), 메틸화 정보(methylation information), CNVs(Copy-number variations) 등을 포함한다.
본 실시예에서, 통계량은 변이 정보, 퀄리티 스코어와 같은 다양한 필드들(fields)을 위하여 제 1 패스의 일부(first partial pass) 과정에서 수집된다. 이 통계량들은 각각의 인코딩 방법들에 대해 추정된 코스트들(costs)을 비교함으로써, 각각의 필드들을 위한 가장 효율적인 인코딩 방법을 식별하는데 사용된다.
한편, 정렬 정보를 사용하여, 참조 구간(출발 위치는 참조 구간 내에 위치해야 함)에 정렬된 리드의 수가 획득된다. 여기에서, 리드들이 입력 파일들에 분포되기 위한 많은 방법들이 다양하게 있을 수 있다. 본 실시예에서는, 리드가 분포되는 3가지의 가능한 케이스들에 대해 고려하도록 하겠다.
리드의 분포에 관한 첫 번째 케이스(case 1)에서, 리드들은 참조 서열의 길이 전체에 걸쳐 균일하게 분포된다. 두 번째 케이스(case 2)에서, 리드들은 참조 서열 상의 일부 특정 구간 내에서만 균일하게 분포되고, 다른 곳에서는 불균일하게 분포된다. 마지막 세 번째 케이스(case 3)에서, 리드들은 참조 서열 내에서 불균일하게 분포된다.
나아가서, 리드들을 블록 와이즈(block wise) 방식으로 저장하기 위한 2가지의 구별되는 어드레싱 방식들을 설명하면, 다음과 같다. 제 1 어드레싱 방식은 constant interval on reference (CIR)이다.
CIR 어드레싱 방식에 따르면, 각각의 블록은, 참조 서열상에서 일정한 길이의 시작 위치를 갖는 구간 내에 존재하는 리드들을 포함한다. CIR 어드레싱 방식에서, 블록들의 개수(NBlocks)는 구간 길이(Interval length)에 대한, 참조 서열 길이(Reference sequence length)의 비율에 해당하는 값보다 큰 가장 가까운 정수로 표현될 수 있다. 즉, 이는 아래의 수학식 1과 같이 계산될 수 있다.
Figure pat00001
수학식 1을 참고하면, NBlocks는 블록들의 개수를 의미하고, 괄호 [ ]는 괄호 안의 값보다 큰 가장 가까운 정수로 반올림하는 연산을 의미한다.
많은 비율의 블록들이 비어 있는 경우, 예를 들어, 0개의 리드를 갖는 블록들이 많은 비율로 존재하는 경우, 빈 블록(empty blocks)에 대한 시작 메모리 어드레스(starting memory addresses)는 저장되지 않는다. 대신에, 각각의 블록들에 대해 리드의 존재 또는 부재를 나타내는, 비트 마스킹(bit-masking) 방식이 사용된다. 따라서, 이는 블록 당 오직 1 비트만을 사용함으로써, 빈 블록에 대한 메모리 위치상의 공간을 절약하도록 도와준다. 그러므로, 비트 마스킹을 사용하지 않는 CIR (CIR without bit-masking) 및 비트 마스킹을 사용하는 CIR (CIR with bit-masking)의, 2 종류의 CIR이 존재한다.
비트 마스킹을 사용하지 않는 CIR의 방법에 따르면, 비어있지 않은 블록(non-empty blocks) 및 빈 블록(empty blocks)에 대한 시작 메모리 위치들이 저장된다. 이 어드레싱 방식 (비트 마스킹을 사용하지 않는 CIR)은, 유사하게 분포된 리드들의 집합이 존재할 경우에 적용 가능하다.
비트 마스킹을 사용하는 CIR의 방법에 따르면, 비어있지 않은 블록(non-empty blocks)에 대한 시작 메모리 위치들만이 저장된다. 이 어드레싱 방식 (비트 마스킹을 사용하는 CIR)은, 참조 서열상의 몇몇 특정 구간들에서만 리드들이 분포되고, 다른 구간들에서는 불균일하게 분포되는 리드들의 집합이 존재할 경우에 적용할 수 있다.
다른 어드레싱 방식으로는, 각각의 블록에 일정한 개수의 리드만이 포함되는 constant number of reads per block (CRB) 방식이 있다. 여기서, 총 블록들의 개수(NBlocks)는 블록 당 포함된 리드들의 개수(No. of reads per block)에 대한, 입력된 파일 내의 리드들의 개수(No. of reads in the input file)의 비율에 해당하는 값보다 큰 가장 가까운 정수로 표현될 수 있다. 이 어드레싱 방식(CRB)은 참조 구간들 내에 불균일하게 분포된 리드들의 세트가 있는 경우에 적용할 수 있다. 이는 아래의 수학식 2와 같이 계산될 수 있다.
Figure pat00002
수학식 2를 참고하면, NBlocks는 총 블록들의 개수를 의미하고, 괄호 [ ]는 괄호 안의 값보다 큰 가장 가까운 정수로 반올림하는 연산을 의미한다.
디코딩 시간을 감소시키는 것을 보장하기 위한 서로 다른 어드레싱 방식들에 대해 설명하면 다음과 같다.
참조 서열상의 특정된 구간마다 압축된 파일로부터 리드들의 세트가 디코딩되는 동안, 디코딩의 속도는 블록들 내의 리드들의 위치에 따라 좌우된다. CIR 방식의 경우, 도 11(c)에 제시된 경우에서와 같이, 블록들이 가변적인 수의 리드들을 포함하는 경우, 일부 블록들은 매우 적은 수의 리드들을 포함하는 반면, 다른 블록들은 매우 많은 수의 리드들을 포함할 수 있다. 이로 인해, 필요한 리드들의 집합에 도달할 때까지, 다수의 불필요한 리드들이 특정 블록으로부터 디코딩되는 상황이 발생될 수 있다. 따라서, 특정 블록에 대한 최악의 디코딩 시간을 알 수 없다.
그러나, CRB 방식의 경우, 리드 분포와 무관하게, 모든 블록들은 동일한 수의 리드를 포함한다. 따라서, 디코딩 시간은 블록당 리드들의 개수에 기초하여 쉽게 추정될 수 있다. 그러므로, CIR 방식과는 다른 어드레싱 방식들은 디코딩 속도를 증가시킬 수 있다.
나아가서, 어드레싱 방식을 식별하는 방법에 관해 설명하면 다음과 같다. 주어진 NGS 정보 샘플들의 집합에 대하여, 사용할 어드레싱 방식의 식별은 참조 게놈상의 리드들의 분포를 분석함으로써 수행된다. 이하에서, 이러한 어드레싱 방식의 식별에 대해 보다 상세하게 설명하도록 하겠다.
우선, 참조 게놈은 적절한 길이의 일정한(constant) 크기의 구간들로 나누어진다. 그리고 나서, 리드들은 참조 게놈에서 리드들의 시작 위치에 기초하여 각각의 블록에 할당된다. 여기서, 비어있지 않은 블록들만이 어드레스 방식들의 식별에 고려된다. 변이 계수 또는 변동 계수(coefficient of variation, Cv)는 아래의 수학식 3과 같이 구할 수 있다.
Figure pat00003
수학식 3을 참고하면, μ는 블록 당 리드들의 개수의 평균을 의미하고, σ는 블록 당 리드들의 개수의 표준 편차를 의미한다. 일반적으로, 변이 계수 CV는 상대적인 일탈도 또는 분포 정도를 알아보기 위해 사용되므로, 이 계수가 작을수록 리드들이 평균 가까이에 분포하고 있음을 나타낼 수 있다.
그러므로, CV는 주어진 리드 데이터의 세트가 균일한 분포를 갖는지 여부를 결정하기 위해, 전역 임계값에 대해 비교할 수 있는 표준화된 변이(variance)의 한 형태를 제공한다.
식별된 어드레싱 방식이 CIR인 경우, 비트 마스킹을 사용하는 CIR (CIR with bit-masking) 또는 비트 마스킹을 사용하지 않는 CIR (CIR without bit-masking)이 사용될 수 있다.
한편, x를 0이 아닌 개수의 리드들을 갖는 블록들의 개수, y를 빈 블록들의 개수, 즉 리드들을 갖지 않는 블록들의 개수로 가정할 수 있다. 또한, 메모리 어드레스 당 사용되는 비트들의 개수를 N이라 가정할 수 있다.
이 경우, 비트 마스킹을 사용하지 않는 CIR (CIR without bit-masking)에서, 어드레스를 저장하는데 필요한 비트들의 개수는 수학식 4와 같이 구할 수 있다.
Figure pat00004
그리고, 비트 마스킹을 사용하는 CIR (CIR with bit-masking)에서, 어드레스를 저장하는데 필요한 비트들의 개수는 수학식 5와 같이 구할 수 있다.
Figure pat00005
비트 마스킹을 사용하는 CIR (CIR with bit-masking)은 다음의 수학식 6과 같은 경우에 선택될 수 있다.
Figure pat00006
따라서, (빈 블록들의 개수 / 총 블록들의 개수) > 1/N 인 경우, 비트 마스킹을 사용하는 CIR (CIR with bit-masking)가 선택되며, 그렇지 않은 경우에는 비트 마스킹을 사용하지 않는 CIR (CIR without bit-masking)가 선택될 수 있다.
예를 들어, 메모리 어드레스 당 사용된 비트들의 개수는 위의 경우에 32로 가정하여 계산될 수 있다.
본 실시예에 따르면, 사용자는 어느 어드레싱 방식을 결정 또는 선택하기 위하여, 본 시스템의 통계량 수집 방법에 의해 제공될 수 있는 리드들의 분포를 검사하거나 관찰할 수 있다. 그러나, 본 실시예에 따르면, 사용자는 그의 기호에 따라 어드레싱 방식을 결정할 수 있다. 만약, 사용자가 어드레싱 방식을 결정한 경우, 본 시스템의 결정과 무관하게 사용자의 선택이 어드레싱 방식을 구현하는데 사용될 수 있다.
이하에서는 도 1 내지 21의 도면들을 참고하여 본 실시예들에 대해 설명하도록 하겠다. 여기서, 도면들간에 대응되는 구성들에 대해서는 유사한 참조 문자들(reference characters)이 사용될 수 있다.
도 1은 본 발명의 일 실시예에 따라, 랜덤 액세스 제공과 함께 리드 및 퀄리티 정보를 압축하는 것을 설명하기 위한 블록도이다.
먼저, NGS 파일, 참조 서열 및 정렬 정보가 본 시스템의 입력으로서 제공된다. 정렬 정보는 앞서 설명된 어드레싱 방식들을 식별하는데 사용된다. 본 실시예에서는, 블록 와이즈(block wise) 방식으로 리드들을 저장하기 위하여, CIR(constant interval on reference) 및 CRB(constant number of reads per block)와 같은 2가지의 어드레싱 방식들이 존재한다. 어드레싱 방식을 식별하는 방법에 대해서는 뒤에 기술될 해당 부분에서 구체적으로 설명하도록 하겠다.
참조 서열에 정렬된 DNA 리드들은, 참조 서열과의 차이(difference)에 관한 효율적 표현을 사용함으로써 인코딩된다. 가장 효율적인 압축을 달성하기 위하여 엔트로피 인코딩의 바람직한 형태로서, 산술 부호화(Arithmetic Coding, AC)가 사용될 수 있다. 리드 길이, 블록 길이, 사용된 어드레싱 방식 등과 같은 불변 파라미터들을 헤더 정보의 일부로서 저장되고, 파일의 처음 부분에 위치된다. 또한, 변이 정보(variation information) 및 퀄리티 스코어에 대한 확률 테이블(probability tables)은, 고정된 바이트(이 수치들을 나타내는데 필요한 최소 바이트)를 사용하여 압축된 파일 내에 헤더의 일부로서 저장된다.
인코딩 과정 중에, 블록들의 시작 어드레스를 저장하는 버퍼가 유지된다. 인코딩 과정이 완료된 후, 이 어드레스들은 파일에 첨부된다. DNA 리드들이 몇몇 특정한 구간들 내에 균일하게 분포되고 어드레싱 방식이 CIR로 선택된 경우, 비트 마스크가 또한 압축된 파일 내에 저장된다. 나아가서, 각 블록의 인코딩의 시작점에서, 산술 인코더는 재초기화된다. 이는 인코더 및 디코더가 동시 진행되는 상태를 유지하기 위한 것으로, 그렇지 않은 경우 압축해제의 실패를 초래할 수 있다.
도 2는 본 발명의 일 실시예에 따른, 참조 서열상의 특정 구간에 대응되는 리드들을 압축해제하는 것을 설명하는 블록도이다. 리드들의 압축해제를 위한 입력은 압축된 파일, 참조 서열과, 디코딩될 리드 및 이와 관련된 퀄리티 스코어에 대응되는 참조 서열상의 구간이다. 리드를 압축해제시키기 위해, 구간의 시작 및 종료 위치들을 참조 서열 내의 일정한 구간 길이로 나눔으로써, 입력된 구간에 대한 블록 색인(block index)이 계산된다. 그리고 나서, 리드들이 참조 서열 상의 몇몇 특정 구간들에서만 균일하게 분포된 경우, 비트 마스크가 읽혀진다. 사용된 어드레싱 방식이 CRB인 경우, 각 블록의 참조 서열 내의 시작 위치 상에서의 이진 검색 연산(binary search operation)에 의해, 구간의 시작 및 종료 위치에 대응되는 블록들이 식별된다. 이 검색 연산은 O(log(NBlocks))에서 발생된다. 그 다음, 블록 어드레스들이 획득되고, 리드 및 퀄리티 정보의 디코딩이 수행된다. 산술 인코더의 상태는 각 블록의 디코딩 과정의 시작시 재초기화된다. Memory Mapped files (MMAP) 등과 같은 어드밴스드 입출력(advanced I/O) 기술은 요구 페이징(demand paging) 메커니즘을 통해 블록 어드레스들에 의해 구체화된 큰 용량의 파일들을 메모리로부터 꺼내기(fetch) 위하여 사용될 수 있다.
나아가서, 사용자에 의해 구간이 특정되지 않은 경우, 입력된 파일의 완전한 압축해제가 수행된다.
이들 중 어느 경우에서든지, 압축해제된 리드 및 퀄리티 정보는 사용자에게 디스플레이되거나, 추가적인 분석을 위해 파일로 기록될 수 있다.
본 실시예에서, 랜덤 액세스의 성능은 블록 크기 및 사용된 어드레싱 방식과 같은 파라미터들에 의해 달라질 수 있다. 블록 크기의 도움으로, 디코딩될 리드들의 평균 개수가 추정될 수 있다. 블록 크기가 클수록, 디코딩 시간이 길어질 수 있다. 나아가서, 블록 어드레스에 도달하기 위해 디코딩되는 요소들은 사용되는 어드레싱 방식에 따라 달라질 수 있다.
도 3은 본 발명의 일 실시예에 따른, 어노테이션 정보의 저장 및 압축을 설명하는 블록도이다. 구간이 입력된 경우, 먼저 압축된 파일 내에로의 어노테이션 정보의 저장은 입력된 파일의 선택적 압축해제를 포함한다. 그러나, 입력으로서 구간이 제공되지 않은 경우, 전체 파일이 압축해제된다.
나아가서, 그 다음, 압축해제된 리드 상에서 필요한 분석이 수행되며, 관련 정보가 파일 상으로 저장된다. 입력 파일 내에 존재하는 어노테이션 정보는 참조 서열 상의 위치를 특정한다. 또한, 어노테이션들을 위한 포맷은 어노테이션이 분석될(parsed) 수 있도록, 일관되어야 한다. 사용자는 추가된 어노테이션들이 특정 질환(pathology)에 대응하는지 아닌지 여부를 특정해야 한다. 대응한다면, 표준 포맷 내의 질환 ID들은 어노테이션 정보와 함께 입력 파일에 포함되어야 한다. 어노테이션들이 질환에 대응하는 경우, 어노테이션들은 질환 ID들에 기초하여 분류된다. 각각의 질환 ID에 대해, 변이들은 종류에 기초하여 그룹핑되며, 예를 들면, 모든 SNP들이 함께 저장되거나, 모든 CNV들이 함께 저장된다. 한 종류(예를 들면, SNPs)의 변이들은 참조 위치(reference position)에 대해, 분류된 순서로 저장된다.
본 실시예에서, 어노테이션 정보들은 공용 또는 전용 데이터베이스나 로컬 저장소(local repository)로부터 다운로드받을 수 있고, 분석될 수 있는 포맷의 파일로 출력될 수 있다. 어노테이션을 압축된 파일 상에 저장한 후, 어노테이션들에 대해 구체화된 어드레스 테이블이 저장된다.
도 4는 본 발명의 일 실시예에 따른, 참조 서열 상의 특정 질환 또는 특정 구간에 대응하는 어노테이션 정보를 압축해제시키는 것을 설명하는 블록도이다. 먼저, 입력된 구간 또는 질환 조건(pathology condition)이 사용자에 의해 제공된다. 헤더 정보를 읽은 후, 블록 어드레스가 독출되고, 특정된 위치 또는 질환으로부터 어노테이션이 압축해제된다. 구간 또는 질환에 대응되는 리드 및 퀄리티 정보는 사용자에게 보여지거나, 파일로 출력될 수 있다. 맞춤형 의약 시나리오에서는, 어노테이션의 주문(order)에 기초한 질환(pathology based ordering of the annotations)이 입력으로서 바람직하다. 그러나, SNP calling, 메틸화 정보의 연구 등과 같은 분석을 위해서는, 어노테이션 정보의 저장에 기초한 위치(position based storage of the annotation information)가 입력으로서 바람직하다.
도 5는 본 발명의 일 실시예에 따른, DNA 리드 및 퀄리티 파일을 포함하는 압축된 파일 포맷을 도시한 개략도이다. 도 5를 참고하면, 압축된 파일 포맷은 헤더, 리드, 어노테이션 및 그 밖의 다양한 정보를 포함한다. 헤더는 인코딩 파라미터, 플래그, 확률 테이블, 해쉬 테이블 등과 같은 헤더 엘리먼트들을 포함한다. 해쉬 테이블은 리드들의 분포에 관한 정보를 제공한다.
리드들에 관련된 정보는 압축된 파일 포맷 내의 리드 섹션(reads section)에서 제공된다. 리드 섹센은 모든 리드들을 포함한다. 각각의 리드는 리드 길이, 위치, 변이 및 퀄리리 스코어 등을 가질 수 있다.
도 6은 본 발명의 일 실시예에 따른, 리드, 퀄리티 스코어 및 어노테이션을 포함하는 파일 포맷에 관한 개략도이다. 도 6을 참고하면, 리드, 퀄리티 스코어 및 어노테이션 정보를 갖는 압축된 파일 포맷이 도시되어 있다. 어노테이션 정보는 염색체, 위치, 참조 대립유전자(reference allele), 참조 카운트(reference count) 등을 포함한다.
도 7은 본 발명의 일 실시예에 따라, 압축되는 동안 블록 어드레스가 저장되는 방법을 설명하기 위한 도면이다. 정렬 정보와 함께, 정렬 위치들은 참조 구간의 길이에 의해 배분(divide)된다. 정렬 위치들과 함께 블록 인덱스(block index)가 생성된다. 특정 블록의 특정 구간 내에 정렬된 리드가 없는 것으로 발견된 경우, 구간에 대응되는 비트 플래그(bit flag)는 0으로 설정되고 압축된 파일 상에서 이 블록의 주소는 저장되지 않는다. 만약, 예를 들어 블록 K에 정렬된 리드가 존재한다면, 구간에 대응되는 비트 플래그는 1로 설정되고 압축된 파일 상에 이 블록의 주소는 저장된다.
도 8은 본 발명의 일 실시예에 따라, 어드레싱 방식으로 CIR이 사용될 경우 블록 어드레스를 검색하는 방법을 도시한 도면이다. 입력된 구간은 블록 인덱스를 획득하기 위하여 구간 길이에 의해 나누어지고 대응되는 비트 플래그가 독출된다. 만약, 비트 플래그가 1로 독출된다면, 블록 어드레스는 파일로부터 독출된다. 그러나, 비트 플래그가 0으로 독출된다면, 본 검색 방법은 종료된다.
도 9는 본 발명의 일 실시예에 따른, 압축된 파일로부터 어노테이션 정보 및 대응되는 변이를 추출하는 방법에 관한 시나리오를 도시한 도면이다. 어노테이션 정보는 dbSNP 또는 로컬 저장소 등과 같은 소스로부터 획득될 수 있다. 어노테이션 정보는 참조 서열 상의 위치를 포함한다. 그리고 나서, 이와 같은 위치들에 정렬된 리드들의 선택적인 압축해제가 완료될 수 있고, dbSNP ID, 참조 대립유전자(reference allele), 대체 대립유전자(alternate allele) 등과 같은 관련 정보는 이미 존재하는 압축된 리드 및 퀄리티 정보와 함께 압축된 파일 내에 저장될 수 있다.
도 10은 본 발명의 일 실시예에 따른, 새로운 SNP들을 식별하기 위하여 리드 및 퀄리티 정보를 선택적으로 압축해제하는 방법에 관한 시나리오를 도시한 도면이다. 도 10을 참고하면, 게놈에 대응되는 참조 서열 상의 선택적인 구간이 사용자에 의해 입력으로서 제공된다. 이 구간에 정렬된 리드들은 디코딩될 수 있고, SNP calling 등과 같은 분석이 수행될 수 있다. 분석 결과는 압축된 파일 상에 저장될 수 있거나, 질병 연관성을 찾기 위한 추가 분석 등에 이용될 수 있다.
도 11(a) 내지 (c)는 본 발명의 일 실시예에 따른, 3개의 서로 다른 파일들에서 참조 위치에 대한 리드들의 분포를 도시한 도면이다. 참조 위치에 대한 리드들의 분포는 도 11(a) 내지 (c)에 도시된 바와 같이, 3가지의 경우가 있을 수 있다. 도 11(a)를 참고하면, 리드들은 참조 서열의 길이 전체에 걸쳐 균일하게 분포된다. 도 11(b)를 참고하면, 리드들은 참조 서열 상의 몇몇 특정 구간들에서만 균일하게 분포하여 존재한다. 나아가서, 도 11(c)를 참고하면, 리드들은 참조 구간들 내에서 불균일하게 분포될 수 있다.
도 12는 본 발명의 일 실시예에 따른, 어노테이션들의 저장 포맷을 도시한 도면이다. 어노테이션 정보는 질병 ID 및 질병 메모리 주소(disease memory address)와 함께 저장된다.
도 13은 본 발명의 일 실시예에 따른, 서로 다른 어드레싱 방식들의 필요성에 대해 도시한 도면이다. 주어진 구간에서 오버랩된 리드들은 디코딩하기 위하여, 리드들은 참조 서열 상에 정렬된다. 그리고 나서, 리드들은 블록들을 구성하기 위해 나누어진다. 도 13을 참고하면, int_start 및 int_end에 의해 표현된 구간을 포함하는 블록들은 디코딩될 필요가 있다. int_start 및 int_end 사이의 구간에 존재하는 필요한 리드들에 접근하는데 있어서 지연을 초래하는 블록 2에 있는 리드들은, 주어진 구간에서 리드들을 획득하기 이전에 디코딩된다.
CIR 방식에서, 도 11(c)와 같이 블록들이 가변적인 개수의 리드들을 포함하는 경우, 몇몇 블록들은 매우 적은 개수의 리드들을 포함할 수 있으나, 반면에 다른 몇몇 블록들은 매우 많은 개수의 리드들을 포함할 수 있다. 그러므로, 특정된 구간에서의 디코딩 시간은 알기 어렵다. 그러나, CRB 방식의 경우, 리드 분포에 관계 없이, 모든 블록은 동일한 개수의 리드들을 포함한다. CRB 방식에 따르면, 디코딩 시간은 블록 당 리드들의 개수에 기초하여 추정될 수 있다. 그러므로, 서로 다른 어드레싱 방식들은 필요한 리드들에 대한 접근 시간을 최소화하기 위하여 필요하다.
도 14는 본 발명의 일 실시예에 따른, 리드들의 압축과 관련된 방법을 설명하기 위한 흐름도이다. FASTA 파일의 참조 서열 및 SAM 파일은 리드들의 압축을 위한 입력으로서 제공된다.
1401 단계에서, 각각의 리드는 직렬적으로(sequentially) 처리된다.
1402 단계에서, 리드는 참조 서열과 비교된다.
1403 단계에서, 각각의 리드에 대한 위치 및 차이 정보((difference information)는 비트 스트림으로 인코딩된다.
정렬된 리드들을 압축하기 위하여, 각각의 리드는 직렬적으로 처리된다. 참조 서열, CIGAR 스트링(sequence alignment), 가닥 정보 등에서 정렬된 위치와 같은 리드에 관계된 정렬 정보는 SAM 파일로부터 획득된다. 참조 서열 내에서 리드 및 그에 대응되는 위치를 비교하고 CIGAR 스트링에 의해 표현된 정렬 정보를 처리하는 것에 의하여, 리드에 대한 변이 정보(variation information)가 획득된다.
각각의 차이 영역(difference region)에 대하여, 이전의 차이 영역과 함께 영역의 오프셋이 전송된다. 최초의 차이 영역에 대해서는, 이전의 차이 영역의 위치는 0인 것으로 간주된다.
그리고 나서, 차이 영역에서의 변이의 종류가 전송된다. 이와 같은 변이의 종류는 예를 들면, 삽입(insertion), 결실(deletion) 또는 치환(substitution)이 포함될 수 있다. 결실의 경우, 결실된 길이가 인코딩된다. 변이가 삽입 또는 치환인 경우, 대응되는 삽입된 또는 치환된 뉴클레오티드 서열이 인코딩된다.
나아가서, 소프트 클리핑(soft clipping)에 대하여, 삽입(insertion) 또는 치환(substitution)의 2가지 방법이 사용된다. 삽입으로서의 소프트 클리핑에 대해 설명하면 다음과 같다.
리드의 시작 부분에서 발생하는 소프트 클리핑된 영역은, 리드 시작 부분에서의 삽입으로 간주된다. 유사하게, 리드 말단에서 발생하는 소프트 클리핑된 영역은, 리드 말단에서의 삽입으로 처리된다
치환으로서의 소프트 클리핑에 따르면, 서로 다른 2가지의 접근 방식이 있다.
도 15(a)는 본 발명의 일 실시예에 따른, 치환으로서의 소프트 클리핑의 첫 번째 방식을 설명하기 위한 도면이다. 도 15(a)의 예에서, "position_in_reference = position_in_reference - 7"이고, 여기서 소프트 클리핑의 길이는 7이다.
도 15(a)를 참고하면, 먼저, 치환으로서의 소프트 클리핑의 첫 번째 방식은, 리드에 정렬된 참조 부분서열(reference subsequence)은 소프트 클리핑의 길이만큼씩 뒤로 확장(extended)된다. 본 실시예에서, 소프트 클리핑은 삽입 또는 치환으로 인코딩될 수 있다. 통계량들이 수집되는 제 1 패스의 부분 또는 전부에서, 소프트 클리핑에 대해 사용될 수 있는 인코딩의 종류를 결정한다. 또한, 사용자는 압축 모드를 구체화할 수 있다.
참조 부분서열이 뒤로 확장된 후에, 소프트 클리핑된 뉴클레오티드 서열은 치환 차이(substitution difference)로 취급되고, 참조 서열과의 일치(matches) 또는 불일치(mismatches)가 비교된다. 새로운 상대 위치(relative position)는 새로운 참조 위치와 이전의 위치 간의 차이일 수 있다.
도 15(b)는 본 발명의 일 실시예에 따른, 치환으로서의 소프트 클리핑의 두 번째 방식을 설명하기 위한 도면이다. 도 15(b)를 참고하면, 다음으로, 치환으로서의 소프트 클리핑의 두 번째 방식은 SAM 파일에서 지시된 리드를 위한 참조 서열로부터 시작되고, 이와 같은 두 번째 방식은 발생된 모든 치환 집합들의 코딩을 역방향으로 진행한다. 역방향으로 소프트 클립 영역의 코딩이 완료되면, 이 두 번째 방식은 나머지 차이 영역들(remaining difference regions)은 정방향으로 인코딩한다. 도 15(c)는 본 발명의 일 실시예에 따른, 리드와 참조 서열을 비교하여, 차이 스트링 및 CIGAR 스트링을 생성하는 것을 설명하기 위한 도면이다.
차이 정보를 획득하는 방법에 대해 설명하면, 어느 리드에 대해 SAM 파일 내에 CIGAR 스트링이 저장되는 동안 차이 스트링이 생성된다.
먼저, 주어진 리드는 참조 서열과 비교되고, CIGAR 스트링은 변이들(variations)을 표현하기 위하여 도 15(c)와 같이 처리된다. 도 15(c)를 참고하면, 리드와 참조 서열을 비교함으로써 차이 스트링이 획득된다. 처음에, 리드의 시작 부분에 있는 소프트 클립 영역 "CTCGATC"는 삽입으로서 처리된다. 그러면, 이 변이의 오프셋이 이전 변이 위치 (0)에 대해 전송된다. 또한, 변이의 종류 'I' (삽입)가 삽입된 염기인, 소프트 클리핑된 "CTCGATC"와 함께 전송된다.
길이 4가 일치된 이후에, 'C'에서 'G'로의 치환이 존재한다. 그러면, 오프셋, 변이의 종류 'S'가 치환된 염기와 함께 전송된다. 나아가서, 길이 3이 일치된 이후에, 1개의 염기에 대한 결실이 발생된다. 이는, 오프셋은 3이고, 종류는 'D'이고, 결실된 길이는 1이다.
그리고 나서, 5개의 정확한 일치 이후에, 3개의 연속적 치환 'TGT'가 발견된다. 연속적 치환은 1개의 치환으로 표현된다. 마지막으로, 1개 염기의 오프셋 이후에, 1개의 뉴클레오티드 'A'의 삽입이 발견된다. 이러한 방법으로, 주어진 리드를 참조 서열과 비교하는 것에 의해 차이 스트링이 획득된다.
도 16은 본 발명의 일 실시예에 따른, 차이 정보의 인코딩과 관련된 방법을 설명하기 위한 흐름도이다. 리드들의 압축을 위한 입력으로서, FASTA 파일의 참조 서열 및 SAM 파일이 제공된다. 도 16을 참고하면, 차이 정보를 획득하기 위해 리드와 참조 서열이 비교된다.
1601 단계에서, 리드와 참고 서열이 파싱 및 비교된다.
1602 단계에서, 차이 영역의 존재가 검출된다. 차이 영역의 존재가 검출된 경우, 차이 영역의 존재를 나타내기 위한 구분 문자들(delimiters)이 전송될 수 있다. 여기서, 산술 인코딩(arithmetic encoding)과 같은, 엔트로피 코딩이 이진 지시자(binary indicator)를 전송하는데 사용된다. 본 실시예에서, 이용 가능한 인코딩 방법들 중에서, 어느 하나의 인코딩 방법이 선택된다. 또한, 사용자는 이용 가능한 인코딩 방법들 중에서 어느 하나의 인코딩 방법을 선택할 수 있다.
1603 단계에서, 산술 인코딩과 같은, 엔트로피 코딩을 사용하여 변이에서의 오프셋이 인코딩된다.
1604 단계에서, 엔트로피 코더(entropy coder)에 의하여 오차의 종류가 식별된다.
1605 단계에서, 결실 오차(deletion error)와 같은 오차가 식별된 경우, 엔트로피 인코더를 사용하여 결실 길이가 인코딩된다.
본 실시예에서, 오차의 종류는 치환, 삽입, 결실일 수 있다. 또한, 삽입 또는 치환은 소프트 클리핑된 영역 또는 기타 변이 종류를 압축하는데 사용될 수 있다.
1606 단계에서, 식별된 오차가 치환 또는 삽입 오차인 것으로 식별되면, 엔트로피 코더를 사용하여 뉴클레오티드 부분서열을 인코딩한다.
치환의 경우, 리드 내 불일치 위치 내의 뉴클레오티드는, 참조 서열의 대응하는 위치 내의 뉴클레오티드와 동일하지 않다. 삽입 또는 치환의 경우, 서열 말단(end of sequence, EOS) 부호가 인코딩됨으로써 부분서열의 말단이 표현된다.
1607 단계에서, 마지막으로, 각각의 리드에 대한 위치 및 차이 정보가 비트 스트림으로 인코딩된다.
도 17은 본 발명의 일 실시예에 따라, 정렬된 리드들에 대하여 획득된 비트 스트림을 도시한 도면이다. 각각의 리드에 대한 변이 정보가 전송되기 전에, 도 17에 도시된 파라미터들을 포함하는 고차원의 정보(higher level information)가 전송된다.
정렬된 지시자(Aligned indicator)는, 정렬된 리드로서 인코딩되는, 현재 리드를 의미한다. 서열들 전체에 걸쳐 리드들의 길이가 동일하지 않은 경우, 엔트로피 코더를 이용한 현재 리드에 대한 리드 길이가 서열 길이를 이용하여 전송된다.
리드가 참조 서열 내에 정렬되는 위치는 상대적 인코딩(relative encoding) 및 피보나치 코딩(Fibonacci coding)과 같은 정수 코드를 사용하여 전송된다. 대안적으로, 차이는 부호(symbol)로서 간주되어, 적응적 산술 인코더(adaptive arithmetic encoder)와 같은 엔트로피 코더를 사용하여 인코딩되나, 이에 한정되는 것은 아니다. 정수 부호화(integer coding) 또는 산술 부호화를 사용할지 여부는 초기 수십만 리드들에서 관찰된 통계량들에 기초하여 결정된다. 가닥 정보는 SAM 파일 내에 존재하는 서열이 역상보적인지 여부를 나타내기 위해 전송된다.
도 18은 본 발명의 일 실시예에 따른, NGS 리드 및 어노테이션의 랜덤 액세스 기반 압축 및 저장을 수행하는 컴퓨팅(computing) 장치를 도시한 도면이다.
도 18을 참고하면, 컴퓨팅 장치(1801)는 제어부(1802) 및 산술 로직 유닛(Arithmetic Logic Unit, ALU)(1803)을 포함하는 처리부(1804), 메모리(1805), 저장부(1806), 네트워크 인터페이스부(1808) 및 사용자 인터페이스부(1807)를 포함한다.
처리부(1804)는 알고리즘의 명령들을 처리하는 역할을 수행한다. 처리부(1804)는 그 처리를 수행하기 위해 제어부(1802)로부터의 명령을 받는다. 또한, 명령의 실행에 포함된 임의의 논리 및 산술 연산은 ALU(1803)의 도움으로 계산된다.
컴퓨팅 장치(1801)는 복수의 동종 또는 이종 코어(core), 상이한 종류의 복수의 CPU들, 특별한 미디어 및 기타 가속기(accelerator)를 포함할 수 있다. 처리부(1804)는 하나의 칩 또는 다수의 칩 상에 위치할 수 있다.
실행에 필요한 명령 및 코드들을 포함하는 알고리즘은 메모리(1805) 또는 저장부(1805), 또는 이들 모두에 저장된다. 실행 시점에, 명령은 메모리(1805) 또는 저장부(1806)로부터 독출될 수 있고, 처리부(1804)에 의해 실행된다.
임의의 하드웨어 수행장치의 경우, 컴퓨팅 장치(1801)는 다양한 다른 장치들과 네트워크 인터페이스부(1808)를 통해 연결될 수 있고, 사용자 인터페이스부(1807)를 통하여 사용자로부터 명령을 입력받거나, 사용자에게 컴퓨팅 장치(1801)에서의 처리 결과를 제공할 수 있다.
도 19는 본 발명의 일 실시예에 따른, 유전 정보 압축/압축해제 장치(1900)를 도시한 도면이다. 도 19를 참고하면, 유전 정보 압축/압축해제 장치(1900)는 도 18에서 설명된 컴퓨팅 장치(1801)의 처리부(1804)에 해당된다. 한편, 유전 정보 압축/압축해제 장치(1900)는 이하 생략된 내용이라 할지라도, 도 1 내지 17에 관하여 앞서 설명된 내용들에 따른 동작 및 기능을 수행할 수 있다.
유전 정보 압축/압축해제 장치(1900)는 일반적으로 사용되는 프로세서들로 구현될 수 있다. 즉, 유전 정보 압축/압축해제 장치(1900)는 다수의 논리 게이트들의 어레이로 구현될 수 있고, 범용적인 마이크로프로세서와 이 마이크로프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다. 또한, 유전 정보 압축/압축해제 장치(1900)는 응용 프로그램의 모듈 형태로 구현될 수도 있다. 나아가서, 유전 정보 압축/압축해제 장치(1900)는 본 실시예에서 설명할 동작들을 구현할 수 있는 다른 형태의 하드웨어로도 구현될 수 있음을 본 실시예가 속하는 기술분야의 통상의 기술자라면 이해할 수 있다.
한편, 도 19에 도시된 유전 정보 압축/압축해제 장치(1900)는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예에 관련된 구성요소들만이 도시되어 있으나, 도 19에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있다.
유전 정보 압축/압축해제 장치(1900)는 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축한다. 또한, 유전 정보 압축/압축해제 장치(1900)는 사용자 인터페이스부(도 18의 1807) 또는 네트워크 인터페이스부(도 18의 1808)를 통해 사용자로부터 입력된 유전자 검색 정보를 이용하여 압축 파일로부터 유전 정보를 압축해제한다.
먼저, 유전 정보를 압축하기 위한 유전 정보 압축/압축해제 장치(1900)의 구성 요소들의 동작 및 기능에 대해 설명하도록 하겠다.
데이터 획득부(1901)는 차세대 시퀀싱을 이용하여 획득된 리드들에 관한 리드 정보 및 참조 서열에 정렬된 리드들의 위치들에 관한 정렬 정보를 획득한다. 또한, 데이터 획득부(1901)는 위의 참조 서열을 획득한다.
어드레싱부(1902)는 참조 서열에 정렬된 리드들의 분포에 기초하여 어드레싱 방식을 식별한다. 여기서, 정렬된 리드들의 분포는 참조 서열이 일정한 길이의 블록들로 구분된 것으로 가정한 경우, 가정된 블록들 각각에 포함될 리드들의 개수의 평균 및 표준편차를 이용한 변이 계수(coefficient of variation)를 이용하여 계산될 수 있다. 즉, 앞서 설명된 수학식 3을 이용하여 정렬된 리드들의 분포가 계산될 수 있다.
어드레싱부(1902)는 참조 서열이 일정한 길이의 블록들로 구분된 것으로 가정한 경우, 가정된 블록들의 총 개수에 대한, 가정된 블록들 중 리드들이 포함되지 않은 빈 블록의 개수의 비율에 기초하여 어드레싱 방식을 식별할 수 있다. 즉, 앞서 설명된 수학식 6에 의해 어드레싱 방식이 식별될 수 있다.
리드 분석부(1903)는 참조 서열을 복수의 구간들로 구분하는 어드레싱 방식을 이용하여, 정렬된 리드들을 구간들에 대응되는 적어도 하나의 블록으로 그룹핑한다.
리드 분석부(1903)는 어드레싱부(1902)에 의해 식별된 어드레싱 방식을 이용한다. 보다 상세하게 설명하면, 리드 분석부(1903)는 참조 서열의 길이 전체에 걸쳐 리드들이 균일하게 분포된 경우에 대응되는 어드레싱 방식, 참조 서열 내에서 리드들이 불균일하게 분포된 경우에 대응되는 어드레싱 방식 및 참조 서열 상의 특정 구간들에서만 리드들이 균일하게 분포된 경우에 대응되는 어드레싱 방식 중, 어느 하나의 어드레싱 방식을 이용할 수 있다. 여기서, 리드 분석부(1903)에서 이용될 수 있는 어드레싱 방식은 앞서 설명된 CIR(Constant Interval on Reference) 방식 또는 CRB(Constant number of Reads per Block) 방식일 수 있으나, 이에 한정되지 않는다.
나아가서, 리드 분석부(1903)는 참조 서열과 정렬된 리드들을 비교하여, 참조 서열의 염기들 및 정렬된 리드들의 염기들간의 오차에 관한 차이 정보를 획득한다.
압축부(1904)는 이용된 어드레싱 방식 및 참조 서열 상에서 그룹핑된 블록의 어드레스에 대한 정보를 포함하는 압축 파일을 생성한다. 또한, 압축부(1904)는 차이 정보를 더 포함시켜 압축 파일을 생성할 수 있고, 나아가서 차이 정보에 기초한 어노테이션을 더 포함시켜 압축 파일을 생성할 수 있다. 여기서, 어노테이션은 정렬된 리드들 중 유전적 변이를 갖는 리드들과 매핑되어 있을 수 있다.
압축부(1904)에 의해 생성된 압축 파일에는 정렬된 리드들의 길이, 적어도 하나의 블록의 길이 및 이용된 어드레싱 방식에 대한 정보가 헤더 정보로서 포함될 수 있다.
다음으로, 사용자로부터 입력된 유전자 검색 정보를 이용하여 압축 파일로부터 유전 정보를 압축해제하기 위한 유전 정보 압축/압축해제 장치(1900)의 구성 요소들의 동작 및 기능에 대해 설명하도록 하겠다.
유전 정보 압축/압축해제 장치(1900)는 사용자 인터페이스부(도 18의 1807) 또는 네트워크 인터페이스부(도 18의 1808)를 통해 사용자로부터 입력된 유전자 검색 정보를 이용하여 앞서 설명된 압축 파일에서 유전 정보를 선택적으로 검색할 수 있다. 여기서, 입력된 유전자 검색 정보는 질병 정보 및 참조 서열 상의 블록 정보 또는 구간 정보 등을 포함한다.
한편, 앞서 설명한 바와 같이, 압축 파일은 어드레싱 방식에 대한 정보, 어드레스 정보, 참조 서열의 염기들과 리드들간의 차이 정보, 어노테이션 정보 등이 포함되어 압축된 파일이다.
데이터 획득부(1901)는 유전 정보가 인코딩된 압축 파일, 참조 서열 등을 획득한다.
어드레싱부(1902)는 압축 파일로부터, 어드레싱 방식에 의해 참조 서열 상에서 그룹핑된 블록의 어드레스 정보를 획득한다.
리드 분석부(1903)는 획득된 어드레스 정보를 이용하여 입력된 유전자 검색 정보에 대응되는 블록의 어드레스를 결정한다.
압축해제부(1905)는 획득된 참조 서열 및 압축 파일을 이용하여, 결정된 어드레스에 대응되는 어노테이션 정보를 선택적으로 압축해제한다. 즉, 압축해제부(1905)는 어노테이션 정보에 대응되는, 참조 서열 상에서 정렬된 리드 정보를 선택적으로 압축해제한다.
도 20은 본 발명의 일 실시예에 따른, 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축하는 방법을 도시한 흐름도이다. 도 20을 참고하면, 본 실시예에 따른 유전 정보의 압축 방법은 도 18 및 19에 도시된 컴퓨팅 장치(1801) 및 유전 정보 압축/압축해제 장치(1900)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 18 및 19에 관하여 이상에서 기술된 내용은 본 실시예에 따른 유전 정보의 압축 방법에도 적용된다.
2001 단계에서, 데이터 획득부(1901)는 차세대 시퀀싱을 이용하여 획득된 리드들에 관한 리드 정보 및 참조 서열에 정렬된 리드들의 위치들에 관한 정렬 정보를 획득한다.
2002 단계에서, 리드 분석부(1903)는 참조 서열을 복수의 구간들로 구분하는 어드레싱 방식을 이용하여, 정렬된 리드들을 구간들에 대응되는 적어도 하나의 블록으로 그룹핑한다.
2003 단계에서, 압축부(1904)는 이용된 어드레싱 방식, 참조 서열 상에서 상기 그룹핑된 블록의 어드레스에 대한 정보 등을 포함하는 압축 파일을 생성한다.
도 21은 본 발명의 일 실시예에 따른, 사용자로부터 입력된 유전자 검색 정보를 이용하여 유전 정보를 압축해제하는 방법을 도시한 흐름도이다. 도 21을 참고하면, 본 실시예에 따른 유전 정보의 압축해제 방법은 도 18 및 19에 도시된 컴퓨팅 장치(1801) 및 유전 정보 압축/압축해제 장치(1900)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 18 및 19에 관하여 이상에서 기술된 내용은 본 실시예에 따른 유전 정보의 압축해제 방법에도 적용된다.
2101 단계에서, 데이터 획득부(1901)는 유전 정보가 인코딩된 압축 파일 및 참조 서열을 획득한다.
2102 단계에서, 어드레싱부(1902)는 획득된 압축 파일로부터, 어드레싱 방식에 의해 참조 서열 상에서 그룹핑된 블록의 어드레스 정보를 획득한다.
2103 단계에서, 리드 분석부(1903)는 획득된 어드레스 정보를 이용하여 입력된 유전자 검색 정보에 대응되는 블록의 어드레스를 결정한다.
2104 단계에서, 압축해제부(1905)는 획득된 참조 서열 및 압축 파일을 이용하여, 결정된 어드레스에 대응되는 어노테이션 정보를 선택적으로 압축해제한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1801: 컴퓨팅 장치 1802: 제어부
1803: ALU 1804: 처리부
1805: 메모리 1806: 저장부
1807: 사용자 인터페이스부 1808: 네트워크 인터페이스부
1900: 유전 정보 압축/압축해제 장치
1901: 데이터 획득부 1902: 어드레싱부
1903: 리드 분석부 1904: 압축부
1905: 압축해제부

Claims (26)

  1. 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축하는 방법에 있어서,
    상기 차세대 시퀀싱을 이용하여 획득된 리드들에 관한 리드 정보 및 참조 서열에 정렬된 상기 리드들의 위치들에 관한 정렬 정보를 획득하는 단계;
    상기 참조 서열을 복수의 구간들로 구분하는 어드레싱 방식을 이용하여, 상기 정렬된 리드들을 상기 구간들에 대응되는 적어도 하나의 블록으로 그룹핑하는 단계; 및
    상기 이용된 어드레싱 방식 및 상기 참조 서열 상에서 상기 그룹핑된 블록의 어드레스에 대한 정보를 포함하는 압축 파일을 생성하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 참조 서열에 정렬된 상기 리드들의 분포에 기초하여 상기 어드레싱 방식을 식별하는 단계를 더 포함하고,
    상기 그룹핑하는 단계는
    상기 식별된 어드레싱 방식을 이용하여 상기 정렬된 리드들을 그룹핑하는, 방법.
  3. 제 2 항에 있어서,
    상기 식별하는 단계는
    상기 참조 서열이 일정한 길이의 블록들로 구분된 것으로 가정한 경우, 상기 가정된 블록들의 총 개수에 대한, 상기 가정된 블록들 중 상기 리드들이 포함되지 않은 빈 블록의 개수의 비율에 기초하여 상기 어드레싱 방식을 식별하는, 방법.
  4. 제 2 항에 있어서,
    상기 정렬된 리드들의 분포는
    상기 참조 서열이 일정한 길이의 블록들로 구분된 것으로 가정한 경우, 상기 가정된 블록들 각각에 포함될 상기 리드들의 개수의 평균 및 표준편차를 이용한 변이 계수(coefficient of variation)를 이용하여 계산되는 것인, 방법.
  5. 제 1 항에 있어서,
    상기 그룹핑하는 단계는
    상기 참조 서열의 길이 전체에 걸쳐 상기 리드들이 균일하게 분포된 경우에 대응되는 어드레싱 방식, 상기 참조 서열 내에서 상기 리드들이 불균일하게 분포된 경우에 대응되는 어드레싱 방식 및 상기 참조 서열 상의 특정 구간들에서만 상기 리드들이 균일하게 분포된 경우에 대응되는 어드레싱 방식 중, 어느 하나의 어드레싱 방식을 이용하는, 방법.
  6. 제 1 항에 있어서,
    상기 어드레싱 방식은
    상기 참조 서열을 일정한 길이의 복수의 구간들로 구분하는 CIR(Constant Interval on Reference) 방식, 및 상기 그룹핑된 적어도 하나의 블록에 일정한 개수의 리드들이 포함되도록 상기 참조 서열을 복수의 구간들로 구분하는 CRB(Constant number of Reads per Block) 방식 및 중 적어도 하나를 포함하는, 방법.
  7. 제 5 항에 있어서,
    상기 CIR 방식은
    상기 적어도 하나의 블록 내에서의 상기 리드들의 존재 및 부존재 중 적어도 하나를 나타내기 위한 비트 마스크를 상기 블록 각각에 대해 저장하는 방식 및 상기 비트 마스크를 저장하지 않는 방식을 포함하는, 방법.
  8. 제 7 항에 있어서,
    상기 생성된 압축 파일은
    상기 비트 마스크를 저장하는 방식인 경우, 상기 리드들이 존재하는 블록의 어드레스에 대한 정보를 포함하고, 상기 리드들이 존재하지 않는 블록의 어드레스에 대한 정보를 포함하지 않는, 방법.
  9. 제 1 항에 있어서,
    상기 참조 서열과 상기 정렬된 리드들을 비교하여, 상기 참조 서열의 염기들 및 상기 정렬된 리드들의 염기들간의 오차에 관한 차이 정보를 획득하는 단계를 더 포함하고,
    상기 생성하는 단계는
    상기 압축 파일에 상기 획득된 차이 정보를 더 포함시켜 상기 압축 파일을 생성하는, 방법.
  10. 제 9 항에 있어서,
    상기 차이 정보는
    상기 참조 서열에 대하여, 상기 정렬된 리드들에서 삽입, 치환 및 결실 중 적어도 하나를 포함하는 상기 오차가 발생되었는지 여부를 나타내는 정보를 포함하는, 방법.
  11. 제 9 항에 있어서,
    상기 획득된 차이 정보에 기초하여 유전적 변이에 관한 어노테이션을 획득하는 단계를 더 포함하고,
    상기 생성하는 단계는
    상기 압축 파일에 상기 획득된 어노테이션을 더 포함시켜 상기 압축 파일을 생성하는, 방법.
  12. 제 11 항에 있어서,
    상기 획득된 어노테이션은
    상기 정렬된 리드들 중 상기 유전적 변이를 갖는 리드들과 매핑되어 있는, 방법.
  13. 제 1 항에 있어서,
    상기 생성된 압축 파일은
    상기 정렬된 리드들의 길이, 상기 적어도 하나의 블록의 길이 및 상기 이용된 어드레싱 방식에 대한 정보를 헤더 정보로서 포함하는, 방법.
  14. 사용자로부터 입력된 유전자 검색 정보를 이용하여 유전 정보를 압축해제하는 방법에 있어서,
    상기 유전 정보가 인코딩된 압축 파일 및 참조 서열을 획득하는 단계;
    상기 획득된 압축 파일로부터, 어드레싱 방식에 의해 상기 참조 서열 상에서 그룹핑된 블록의 어드레스 정보를 획득하는 단계;
    상기 획득된 어드레스 정보를 이용하여 상기 입력된 유전자 검색 정보에 대응되는 블록의 어드레스를 결정하는 단계; 및
    상기 획득된 참조 서열 및 압축 파일을 이용하여, 상기 결정된 어드레스에 대응되는 어노테이션 정보를 선택적으로 압축해제하는 단계를 포함하는, 방법.
  15. 제 14 항에 있어서,
    상기 압축해제하는 단계는
    상기 어노테이션 정보에 대응되는, 상기 참조 서열 상에서 정렬된 리드 정보를 선택적으로 압축해제하는, 방법.
  16. 제 14 항에 있어서,
    상기 입력된 유전자 검색 정보는
    질병 정보 및 상기 참조 서열 상의 블록 정보 중 적어도 하나를 포함하는, 방법.
  17. 제 14 항에 있어서,
    상기 획득된 압축 파일은
    상기 어드레싱 방식에 대한 정보, 상기 어드레스 정보, 상기 참조 서열의 염기들과 리드들간의 차이 정보 및 상기 어노테이션 정보 중 적어도 하나가 포함되어 압축된 것인, 방법.
  18. 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축하는 장치에 있어서,
    상기 차세대 시퀀싱을 이용하여 획득된 리드들에 관한 리드 정보 및 참조 서열에 정렬된 상기 리드들의 위치들에 관한 정렬 정보를 획득하는 데이터 획득부;
    상기 참조 서열을 복수의 구간들로 구분하는 어드레싱 방식을 이용하여, 상기 정렬된 리드들을 상기 구간들에 대응되는 적어도 하나의 블록으로 그룹핑하는 리드 분석부; 및
    상기 이용된 어드레싱 방식 및 상기 참조 서열 상에서 상기 그룹핑된 블록의 어드레스에 대한 정보를 포함하는 압축 파일을 생성하는 압축부를 포함하는, 장치.
  19. 제 18 항에 있어서,
    상기 참조 서열에 정렬된 상기 리드들의 분포에 기초하여 상기 어드레싱 방식을 식별하는 어드레싱부를 더 포함하고,
    상기 리드 분석부는
    상기 식별된 어드레싱 방식을 이용하여 상기 정렬된 리드들을 그룹핑하는, 장치.
  20. 제 18 항에 있어서,
    상기 리드 분석부는
    상기 참조 서열의 길이 전체에 걸쳐 상기 리드들이 균일하게 분포된 경우에 대응되는 어드레싱 방식, 상기 참조 서열 내에서 상기 리드들이 불균일하게 분포된 경우에 대응되는 어드레싱 방식 및 상기 참조 서열 상의 특정 구간들에서만 상기 리드들이 균일하게 분포된 경우에 대응되는 어드레싱 방식 중, 어느 하나의 어드레싱 방식을 이용하는, 장치.
  21. 제 18 항에 있어서,
    상기 어드레싱 방식은
    상기 참조 서열을 일정한 길이의 복수의 구간들로 구분하는 CIR(Constant Interval on Reference) 방식, 및 상기 그룹핑된 적어도 하나의 블록에 일정한 개수의 리드들이 포함되도록 상기 참조 서열을 복수의 구간들로 구분하는 CRB(Constant number of Reads per Block) 방식 및 중 적어도 하나를 포함하는, 장치.
  22. 제 18 항에 있어서,
    상기 리드 분석부는
    상기 참조 서열과 상기 정렬된 리드들을 비교하여, 상기 참조 서열의 염기들 및 상기 정렬된 리드들의 염기들간의 오차에 관한 차이 정보를 획득하고,
    상기 압축부는
    상기 압축 파일에 상기 획득된 차이 정보를 더 포함시켜 상기 압축 파일을 생성하는, 장치.
  23. 사용자로부터 입력된 유전자 검색 정보를 이용하여 유전 정보를 압축해제하는 장치에 있어서,
    상기 유전 정보가 인코딩된 압축 파일 및 참조 서열을 획득하는 데이터 획득부;
    상기 획득된 압축 파일로부터, 어드레싱 방식에 의해 상기 참조 서열 상에서 그룹핑된 블록의 어드레스 정보를 획득하는 어드레싱부;
    상기 획득된 어드레스 정보를 이용하여 상기 입력된 유전자 검색 정보에 대응되는 블록의 어드레스를 결정하는 리드 분석부; 및
    상기 획득된 참조 서열 및 압축 파일을 이용하여, 상기 결정된 어드레스에 대응되는 어노테이션 정보를 선택적으로 압축해제하는 압축해제부를 포함하는, 장치.
  24. 제 23 항에 있어서,
    상기 압축해제부는
    상기 어노테이션 정보에 대응되는, 상기 참조 서열 상에서 정렬된 리드 정보를 선택적으로 압축해제하는, 장치.
  25. 제 23 항에 있어서,
    상기 입력된 유전자 검색 정보는
    사용자 인터페이스부를 통해 입력되고, 질병 정보 및 상기 참조 서열 상의 블록 정보 중 적어도 하나를 포함하는, 장치.
  26. 제 1 항 내지 제 17 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020120143620A 2011-12-05 2012-12-11 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치 KR101922129B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/715,908 US9098523B2 (en) 2011-12-05 2012-12-14 Method and apparatus for compressing and decompressing genetic information obtained by using next generation sequencing (NGS)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN4405CH2011 2011-12-05
IN4405/CHE/2011(PS) 2011-12-15
IN4405/CHE/2011(CS) 2012-12-05

Publications (2)

Publication Number Publication Date
KR20130069427A true KR20130069427A (ko) 2013-06-26
KR101922129B1 KR101922129B1 (ko) 2018-11-26

Family

ID=48864760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120143620A KR101922129B1 (ko) 2011-12-05 2012-12-11 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치

Country Status (2)

Country Link
US (1) US9098523B2 (ko)
KR (1) KR101922129B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132353A1 (en) * 2011-11-18 2013-05-23 Tata Consultancy Services Limited Compression Of Genomic Data
KR20150078442A (ko) * 2013-12-30 2015-07-08 강원대학교산학협력단 2진법을 이용한 유전자 서열 기반 대용량 데이터 병합 압축장치 및 그 압축방법
CN110088839A (zh) * 2016-10-11 2019-08-02 耶诺姆希斯股份公司 用于生物信息学信息表示的有效数据结构
CN110674094A (zh) * 2019-08-26 2020-01-10 人和未来生物科技(长沙)有限公司 Sam及bam文件的无参考序列压缩及解压还原方法、系统和介质
CN110915140A (zh) * 2017-07-14 2020-03-24 汉诺威戈特弗里德威廉莱布尼茨大学 用于编码和解码数据结构的质量值的方法
US10679727B2 (en) 2013-12-06 2020-06-09 International Business Machines Corporation Genome compression and decompression
KR20220089211A (ko) * 2020-12-21 2022-06-28 부산대학교 산학협력단 문자 빈도 기반 서열 재정렬을 통한 fastq 데이터 압축 방법 및 장치

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2608096B1 (en) * 2011-12-24 2020-08-05 Tata Consultancy Services Ltd. Compression of genomic data file
US10068054B2 (en) 2013-01-17 2018-09-04 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US10691775B2 (en) 2013-01-17 2020-06-23 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US9679104B2 (en) 2013-01-17 2017-06-13 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US10847251B2 (en) 2013-01-17 2020-11-24 Illumina, Inc. Genomic infrastructure for on-site or cloud-based DNA and RNA processing and analysis
US9792405B2 (en) 2013-01-17 2017-10-17 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
EP2994749A4 (en) 2013-01-17 2017-07-19 Edico Genome Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
EP3125143A4 (en) * 2014-03-24 2018-03-14 Kabushiki Kaisha Toshiba Method, device and program for generating reference genome data, method, device and program for generating differential genome data, and method, device and program for restoring data
US10230390B2 (en) * 2014-08-29 2019-03-12 Bonnie Berger Leighton Compressively-accelerated read mapping framework for next-generation sequencing
US9652152B2 (en) 2014-10-29 2017-05-16 Qualcomm Incorporated Efficient decompression locality system for demand paging
US9600420B2 (en) 2014-10-29 2017-03-21 Qualcomm Incorporated Reducing decompression time without impacting compression ratio
CN105631239B (zh) 2014-10-30 2018-08-17 国际商业机器公司 用于管理基因序列的方法和装置
US9618474B2 (en) 2014-12-18 2017-04-11 Edico Genome, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US10006910B2 (en) 2014-12-18 2018-06-26 Agilome, Inc. Chemically-sensitive field effect transistors, systems, and methods for manufacturing and using the same
WO2016100049A1 (en) 2014-12-18 2016-06-23 Edico Genome Corporation Chemically-sensitive field effect transistor
US9859394B2 (en) 2014-12-18 2018-01-02 Agilome, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US10020300B2 (en) 2014-12-18 2018-07-10 Agilome, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US9857328B2 (en) 2014-12-18 2018-01-02 Agilome, Inc. Chemically-sensitive field effect transistors, systems and methods for manufacturing and using the same
WO2016154154A2 (en) 2015-03-23 2016-09-29 Edico Genome Corporation Method and system for genomic visualization
WO2016178643A1 (en) 2015-05-06 2016-11-10 Erlab Teknoloji Anonim Sirketi Method for analysis of nucleotide sequence data by joint use of multiple calculation units at different locations
US10395759B2 (en) 2015-05-18 2019-08-27 Regeneron Pharmaceuticals, Inc. Methods and systems for copy number variant detection
US10394763B2 (en) 2015-05-19 2019-08-27 Samsung Electronics Co., Ltd. Method and device for generating pileup file from compressed genomic data
EP3298514A4 (en) * 2015-05-21 2019-02-06 Geneformics Data Systems Ltd. STORAGE, TRANSFER AND COMPRESSION OF SEQUENCING DATA OF THE NEXT GENERATION
EP3311318B1 (en) * 2015-06-16 2023-09-27 Gottfried Wilhelm Leibniz Universität Hannover Method for compressing genomic data
US20170270245A1 (en) 2016-01-11 2017-09-21 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing
US10068183B1 (en) 2017-02-23 2018-09-04 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on a quantum processing platform
NZ745249A (en) 2016-02-12 2021-07-30 Regeneron Pharma Methods and systems for detection of abnormal karyotypes
WO2017201081A1 (en) 2016-05-16 2017-11-23 Agilome, Inc. Graphene fet devices, systems, and methods of using the same for sequencing nucleic acids
KR102421458B1 (ko) 2016-10-11 2022-07-14 게놈시스 에스에이 액세스 유닛으로 구조화된 생물정보학 데이터에 액세스하기 위한 방법 및 장치
WO2018071078A1 (en) * 2016-10-11 2018-04-19 Genomsys Sa Method and apparatus for the access to bioinformatics data structured in access units
ES2867874T3 (es) * 2016-10-11 2021-10-21 Genomsys Sa Procedimiento y sistema para la transmisión de datos bioinformáticos
PE20191058A1 (es) * 2016-10-11 2019-08-06 Genomsys Sa Metodo y sistema para el acceso selectivo de datos bioinformaticos almacenados o transmitidos
GB2554883A (en) * 2016-10-11 2018-04-18 Petagene Ltd System and method for storing and accessing data
US11783918B2 (en) 2016-11-30 2023-10-10 Microsoft Technology Licensing, Llc DNA random access storage system via ligation
US10793897B2 (en) 2017-02-08 2020-10-06 Microsoft Technology Licensing, Llc Primer and payload design for retrieval of stored polynucleotides
CA3052824A1 (en) * 2017-02-14 2018-08-23 Genomsys Sa Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
US10774379B2 (en) 2017-03-15 2020-09-15 Microsoft Technology Licensing, Llc Random access of data encoded by polynucleotides
CN110428868B (zh) * 2018-04-27 2021-11-26 人和未来生物科技(长沙)有限公司 基因测序质量行数据压缩预处理、解压还原方法及系统
US20200058379A1 (en) * 2018-08-20 2020-02-20 The Board Of Trustees Of The Leland Stanford Junior University Systems and Methods for Compressing Genetic Sequencing Data and Uses Thereof
US20240095218A1 (en) * 2019-10-18 2024-03-21 Koninklijke Philips N.V. Customizable deliminated text compression framework
DE102021100199A1 (de) 2020-01-12 2021-07-15 Gottfried Wilhelm Leibniz Universität Hannover, Körperschaft des öffentlichen Rechts Verfahren zum Komprimieren, Verfahren zum Dekomprimieren einer Information einer Erbinformation, elektronische Speichereinrichtung sowie Datenverarbeitungssystem
CN111628779B (zh) * 2020-05-29 2023-10-20 深圳华大生命科学研究院 一种fastq文件的并行压缩和解压方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040070438A (ko) * 2003-02-03 2004-08-09 삼성전자주식회사 Dna 서열 부호화 장치 및 방법
JP2004280614A (ja) * 2003-03-17 2004-10-07 Toshio Tanaka 遺伝子データ処理装置及び遺伝子データ処理方法及びプログラム及び医薬分野において有用性があると予測される遺伝子又はその産物
KR100681795B1 (ko) * 2006-11-30 2007-02-12 한국정보통신대학교 산학협력단 그리드 컴퓨팅 환경에서의 유전체 서열 정렬 방법 및프로그램 저장 매체
KR20110049005A (ko) * 2009-11-04 2011-05-12 삼성에스디에스 주식회사 부분 결합 서열을 이용한 유전자 서열 정렬장치 및 그 방법
KR20110129628A (ko) * 2010-05-26 2011-12-02 삼성전자주식회사 Dna 서열 검색 방법 및 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711558B1 (en) 2000-04-07 2004-03-23 Washington University Associative database scanning and information retrieval
KR20040071993A (ko) 2003-02-07 2004-08-16 학교법인대우학원 Dna 서열 부호화 방법 및 dna 서열 압축 방법
LT2562268T (lt) 2008-09-20 2017-04-25 The Board Of Trustees Of The Leland Stanford Junior University Neinvazinis fetalinės aneuploidijos diagnozavimas sekvenavimu
WO2011139797A2 (en) 2010-04-27 2011-11-10 Spiral Genetics Inc. Method and system for analysis and error correction of biological sequences and inference of relationship for multiple samples
WO2012031034A2 (en) * 2010-08-31 2012-03-08 Lawrence Ganeshalingam Method and systems for processing polymeric sequence data and related information
JP2012078880A (ja) 2010-09-30 2012-04-19 Mitsubishi Space Software Kk ゲノム配列特定装置、ゲノム配列特定プログラムおよびゲノム配列特定装置のゲノム配列特定方法
US20120102054A1 (en) 2010-10-25 2012-04-26 Life Technologies Corporation Systems and Methods for Annotating Biomolecule Data
KR101253700B1 (ko) 2010-11-26 2013-04-12 가천대학교 산학협력단 Ngs 데이터의 고속 압축장치 및 그 방법
US8798936B2 (en) * 2011-06-21 2014-08-05 Illumina, Inc. Methods and systems for data analysis using the Burrows Wheeler transform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040070438A (ko) * 2003-02-03 2004-08-09 삼성전자주식회사 Dna 서열 부호화 장치 및 방법
JP2004280614A (ja) * 2003-03-17 2004-10-07 Toshio Tanaka 遺伝子データ処理装置及び遺伝子データ処理方法及びプログラム及び医薬分野において有用性があると予測される遺伝子又はその産物
KR100681795B1 (ko) * 2006-11-30 2007-02-12 한국정보통신대학교 산학협력단 그리드 컴퓨팅 환경에서의 유전체 서열 정렬 방법 및프로그램 저장 매체
KR20110049005A (ko) * 2009-11-04 2011-05-12 삼성에스디에스 주식회사 부분 결합 서열을 이용한 유전자 서열 정렬장치 및 그 방법
KR20110129628A (ko) * 2010-05-26 2011-12-02 삼성전자주식회사 Dna 서열 검색 방법 및 장치

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132353A1 (en) * 2011-11-18 2013-05-23 Tata Consultancy Services Limited Compression Of Genomic Data
US8972200B2 (en) * 2011-11-18 2015-03-03 Tata Consultancy Services Limited Compression of genomic data
US10679727B2 (en) 2013-12-06 2020-06-09 International Business Machines Corporation Genome compression and decompression
KR20150078442A (ko) * 2013-12-30 2015-07-08 강원대학교산학협력단 2진법을 이용한 유전자 서열 기반 대용량 데이터 병합 압축장치 및 그 압축방법
CN110088839A (zh) * 2016-10-11 2019-08-02 耶诺姆希斯股份公司 用于生物信息学信息表示的有效数据结构
CN110088839B (zh) * 2016-10-11 2023-12-15 耶诺姆希斯股份公司 用于生物信息学信息表示的有效数据结构
CN110915140A (zh) * 2017-07-14 2020-03-24 汉诺威戈特弗里德威廉莱布尼茨大学 用于编码和解码数据结构的质量值的方法
CN110915140B (zh) * 2017-07-14 2024-03-19 汉诺威戈特弗里德威廉莱布尼茨大学 用于编码和解码数据结构的质量值的方法
CN110674094A (zh) * 2019-08-26 2020-01-10 人和未来生物科技(长沙)有限公司 Sam及bam文件的无参考序列压缩及解压还原方法、系统和介质
CN110674094B (zh) * 2019-08-26 2022-03-15 人和未来生物科技(长沙)有限公司 Sam及bam文件的无参考序列压缩及解压还原方法、系统和介质
KR20220089211A (ko) * 2020-12-21 2022-06-28 부산대학교 산학협력단 문자 빈도 기반 서열 재정렬을 통한 fastq 데이터 압축 방법 및 장치

Also Published As

Publication number Publication date
KR101922129B1 (ko) 2018-11-26
US9098523B2 (en) 2015-08-04
US20130204851A1 (en) 2013-08-08

Similar Documents

Publication Publication Date Title
KR101922129B1 (ko) 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치
JP7079786B2 (ja) アクセスユニットに構造化されたバイオインフォマティクスデータにアクセスするための方法、コンピュータ可読媒体、および装置
CN107609350B (zh) 一种二代测序数据分析平台的数据处理方法
US20210050074A1 (en) Systems and methods for sequence encoding, storage, and compression
Cox et al. Large-scale compression of genomic sequence databases with the Burrows–Wheeler transform
CN106687966B (zh) 用于数据分析和压缩的方法和系统
Layer et al. Efficient genotype compression and analysis of large genetic-variation data sets
US10810239B2 (en) Sequence data analyzer, DNA analysis system and sequence data analysis method
KR20120137235A (ko) 유전자 데이터를 압축하는 방법 및 장치
EP3526709B1 (en) Efficient data structures for bioinformatics information representation
US9886561B2 (en) Efficient encoding and storage and retrieval of genomic data
CN110168652B (zh) 用于存储和访问生物信息学数据的方法和系统
KR102421458B1 (ko) 액세스 유닛으로 구조화된 생물정보학 데이터에 액세스하기 위한 방법 및 장치
Arif et al. Discovering millions of plankton genomic markers from the Atlantic Ocean and the Mediterranean Sea
AU2018221458B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
Matos et al. MAFCO: a compression tool for MAF files
Martin Algorithms and tools for the analysis of high throughput DNA sequencing data
Kashfeen et al. Frontier: finding the boundaries of novel transposable element insertions in genomes
CN110663022B (zh) 使用基因组描述符紧凑表示生物信息学数据的方法和设备
Denti Algorithms for analyzing genetic variability from Next-Generation Sequencing data
CN118280455A (zh) 基于高度保守持家基因的种内多样性识别方法和装置
EA043338B1 (ru) Способ и устройство для компактного представления биоинформационных данных с помощью нескольких геномных дескрипторов
NZ757185B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
Farheen Compressing Genome Resequencing Data
Shi et al. Package ‘Rsubread’

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant