KR20190062543A - 생물 정보학 데이터의 전송 방법 및 시스템 - Google Patents

생물 정보학 데이터의 전송 방법 및 시스템 Download PDF

Info

Publication number
KR20190062543A
KR20190062543A KR1020197013458A KR20197013458A KR20190062543A KR 20190062543 A KR20190062543 A KR 20190062543A KR 1020197013458 A KR1020197013458 A KR 1020197013458A KR 20197013458 A KR20197013458 A KR 20197013458A KR 20190062543 A KR20190062543 A KR 20190062543A
Authority
KR
South Korea
Prior art keywords
data
genomic
genome
sequence
access
Prior art date
Application number
KR1020197013458A
Other languages
English (en)
Inventor
기오르기오 조이아
다니엘레 렌지
Original Assignee
게놈시스 에스에이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 게놈시스 에스에이 filed Critical 게놈시스 에스에이
Publication of KR20190062543A publication Critical patent/KR20190062543A/ko

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
    • 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
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/30Data warehousing; Computing architectures
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C15/00Arrangements characterised by the use of multiplexing for the transmission of a plurality of signals over a common path
    • 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
    • G16B25/00ICT specially adapted for hybridisation; ICT specially adapted for gene or protein expression
    • G16B25/10Gene or protein expression profiling; Expression-ratio estimation or normalisation
    • 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
    • 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/20Sequence assembly
    • 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/20Heterogeneous data integration

Landscapes

  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Genetics & Genomics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

게놈 데이터의 전송을 위한 방법 및 시스템. 게놈 데이터의 전송은 랜덤 액세스 가능한 액세스 유닛(486)으로 분할된 게놈 데이터의 스트림의 구조화되고 압축된 게놈 데이터세트의 멀티플렉스(multiplex)를 사용함으로서 실현된다.

Description

생물 정보학 데이터의 전송 방법 및 시스템
본 출원은 생물 정보학(bioinformatics) 데이터 및 특히 게놈 시퀀싱(genomic sequencing) 데이터에서의 효율적인 저장, 액세스, 전송 및 멀티플렉싱(multiplexing)을 위한 새로운 방법을 제공한다.
게놈 시퀀싱 데이터(genome sequencing data)의 적절한 표현은 시퀀싱 데이터 및 메타 데이터(meta data) 프로세스를 통해 다양한 목적으로 수행되는 게놈 변형 호출(genome variant calling) 및 모든 분석과 같은, 분석 응용을 가능하고 쉽게 할 수 있도록 게놈 데이터의 효율적인 프로세스, 저장 및 전송을 가능하게 하는 근원이다. 오늘날, 게놈 시퀀싱 정보는 정의된 어휘로부터 문자 스트링으로 표현되는 뉴클레오타이드 시퀀스(sequences of nucleotides)(a.k.a. 염기(bases))의 형태로 대용량 시퀀싱(High Throughput Sequencing: HTS) 장치에 의해 생성된다.
이러한 시퀀싱 장치는 전체 게놈이나 유전자를 판독(read)하지는 않지만 시퀀스 판독(sequence read)이라고 하는 짧은 시퀀스의 핵산 염기 시퀀스를 생성한다.
품질 스코어는 시퀀스 판독(sequence read)에서 각각의 뉴클레오타이드와 연관된다. 이러한 숫자는 뉴클레오타이드 시퀀스의 특정 위치에서 특정 뉴클레오타이드를 판독하기 위해 장치에 의해 주어진 신뢰 수준을 나타낸다.
NGS 장치에 의해 생성된 이 미가공 시퀀싱 데이터는 일반적으로 FASTQ 파일에 저장된다(도 1 참조).
시퀀싱 프로세스에서 얻은 염기 시퀀스를 나타내는 가장 짧은 단어는 5 개의 심볼: {A, C, G, T, N}로 구성되며, 이것은 DNA에 존재하는 4 가지 유형의 뉴클레오타이드(nucleotide), 즉 아데닌(Adenine), 시토신(Cytosine), 구아닌(Guanine) 및 티민(Thymine)과 심볼 N으로 구성되며, N은 시퀀싱 장치가 충분한 신뢰 수준을 가진 어떠한 염기도 호출할 수 없었음을 나타내기 위해 사용되며, 그리하여 그러한 위치에 있는 염기의 유형은 판독 프로세스에서 미결정인 채로 남는다. RNA에서 티민(Thymine)은 유라실(Uracil)(U)로 치환된다. 시퀀싱 장치에 의해 생성된 뉴클레오타이드 시퀀스를 "판독(read)"이라 한다. 페어를 이룬 판독의 경우 "템플릿(template)"이라는 용어는 판독 페어가 추출된 원본 시퀀스를 지정하는데(designate) 사용된다. 시퀀스 판독은 수십 내지 수천 범위의 뉴클레오타이드 수로 구성될 수 있다. 어떤 기술은 두 개의 DNA 스트랜드(strand) 중 하나에서 각 판독이 올 수 있는 페어로 시퀀스 판독을 생성한다.
게놈 시퀀싱 분야(genome sequencing field)에서, 용어 "커버리지(coverage)"는 레퍼런스 게놈(reference genome)에 관한 시퀀스 데이터의 중복 수준을 표현하는데 사용된다. 예를 들어, 인간 게놈(32 억 염기 길이)에서 30 배의 범위에 도달하기 위해서는 시퀀싱 장치가 평균 약 30 x 32 억 개의 염기를 만들어서 레퍼런스의 각 위치가 평균 30 배의 "커버리지"로 된다.
최첨단 솔루션(State of the art solutions)
시퀀싱 데이터를 나타내는 가장 널리 사용되는 게놈 정보 표현은 원래의 크기를 줄이기 위해 일반적으로 압축 포멧으로 제공되는 FASTQ 및 SAM 파일 포멧을 기반으로 한다. 정렬되지 않은 및 정렬된 시퀀싱 데이터에 대한 FASTQ 및 SAM 각각의 일반적인 파일 포멧은 일반 텍스트 문자로 구성되므로 LZ(Lempel 및 Ziv로 부터) 개념(잘 알려진 zip, gzip 등)과 같은 일반적인 목적의 접근을 사용함으로써 압축된다. gzip과 같은 범용 압축기가 사용될 때 압축 결과는 대개 이진 데이터의 단일 블롭(blob)이다. 이러한 단일체(monolithic) 형태(form)의 정보는 데이터 양이 매우 많을 때, 특히 높은 처리량 시퀀싱(high throughput sequencing)의 경우, 보관, 전송 및 가공(elaborate)하기가 매우 어렵다.
시퀀싱 후에 게놈 정보 프로세스 파이프 라인(genomic information processing pipeline)의 각 단계는 실제로 생성된 데이터의 작은 부분만이 이전 단계와 관련하여 새로운 것임에도 불구하고 완전히 새로운 데이터 구조(파일 포멧)로 표시된 데이터를 생성한다.
도 1은 연관된 파일 포멧 표현의 표시가 있는 일반적인 게놈 정보 프로세스 파이프 라인의 주요 단계를 도시한다.
일반적으로 사용되는 솔루션은 몇 가지 단점을 나타낸다. 데이터 보관은 비효율적이어서 여러 데이터 복제를 의미하는 게놈 정보 프로세스 파이프 라인의 각 단계마다 다른 파일 포멧이 사용되고 결과적으로 필요한 저장 공간이 급격히 증가한다. 이것은 비효율적이며 불필요하며 HTS 장치에 의해 생성된 데이터 량의 증가에 대해서도 지속 가능하지 않게 된다. 이것은 실제로 사용 가능한 저장 공간 및 발생되는 비용의 측면에서 결과를 가져왔으며, 의료 분야에서 게놈 분석의 이점이 인구의 상당 부분에 미치지 못하게 하고 있다. 저장되고 분석될 시퀀스 데이터의 기하 급수적인 증가로 인해 발생하는 IT 비용의 영향은 현재 과학계와 의료 업계가 당면한 주요 과제 중 하나이다(Scott D. Kahn의 "On the future of genomic data"- Science 331, 728(2011) 및 Pavlichin, DS, Weissman, T. 및 G. Yona의 "The human genome contracts again" Bioinformatics 29(17): 2199-2202(2013) 참조). 동시에 몇몇은 일부 선택된 개체에서 대량의 개체의 규모로 게놈 시퀀싱을 시도하는 시작 단계에 있다(Josh P. Roberts "Million Veterans Sequenced" Nature Biotechnology 31, 470(2013) 참조).
게놈 데이터의 전송은 현재 사용되는 데이터 포멧이 최대 수백 기가 바이트 크기의 단일체(monolithic) 파일로 구성되어, 수신측에서 이를 프로세스하기 위해서는 전체를 전송해야 하기 때문에 느리고 비효율적이다. 이것은 데이터의 작은 부분을 분석할 때에도 소비되는 대역폭과 대기 시간적 측면에서 상당한 비용을 들여 전체 파일을 전송해야 한다는 것을 의미한다. 대용량의 데이터가 전송되는 경우, 때때로 온라인 전송이 금지되며, 데이터 전송은 하드 디스크 드라이브 또는 스토리지 서버와 같은 저장 미디어를 한 위치에서 다른 위치로 물리적으로 이동시켜 수행된다.
최첨단 방법을 도입할 때 발생하는 이러한 제한이 본 발명에 의해 극복된다. 사실상 정보가, 일반적으로 사용되는 분석 애플리케이션에서 요구하는 데이터 및 메타 데이터가 서로 다른 클래스의 부분으로 분류되어 전체 데이터를 접속할 필요없이 검색될 수 있는 방식의 구조를 가지고 있지 못하기 때문에, 데이터 프로세싱은 느리고 비 효율적이다. 이 사실은, 특정 분석 목적과 연관된 데이터의 부분이 훨씬 더 작더라도, 공통 분석 파이프 라인이 많은 양의 데이터를 구문 분석하고 필터링 하는 각 액세스 단계에서 필요하기 때문에, 중요하고 값 비싼 프로세스 리소스를 낭비하면서 몇 일 또는 몇 주 동안 실행해야 한다는 것을 의미한다.
이러한 한계로 인해 의료 전문가가 게놈 분석 보고서를 적시에 수집하지 못하게 되고 질병 발병에 즉각적으로 대응할 수 없게 된다. 본 발명은 이러한 요구에 대한 솔루션을 제공한다.
본 발명에 의해 극복된 또 다른 기술적 한계가 있다.
사실상, 본 발명은 데이터 및 메타 데이터의 압축이 최대화되고 선택적(selectively) 액세스 및 증분(incremental) 업데이트에 대한 지원과 같은 몇몇 기능이 효율적으로 가능하도록, 데이터를 조직화 및 분할함으로써 적절한 게놈 시퀀싱 데이터(genomic sequencing data) 및 메타 데이터 표현을 제공하는 것을 목적으로 한다.
본 발명의 주요 측면은 특정 레이어(layer)로 구조화됨으로써 개별적으로 코딩(즉, 압축)되는 적절한 소스 모델(source model)에 의해 표현되는 데이터 및 메타 데이터의 클래스의 특정 정의(specific definition)이다.
현존하는 최첨단 방법으로, 본 발명의 가장 중요한 성과는 다음과 같다:
● 데이터 또는 메타 데이터의 각 클래스에 대한 효율적인 모델을 제공함으로써 구성되는 정보 소스 엔트로피의 감소로 인한 압축 성능의 증가.
● 추가적인 프로세스 목적을 위해 압축된 데이터 및 메타 데이터의 일부에 선택적으로(selectively) 액세스할 수 있는 가능성.
● 증분적으로(incrementally) 업데이트(다시 인코딩할 필요 없이)하여 새로운 시퀀싱 데이터 및/또는 메타 데이터 및/또는 새로운 분석 결과로 인코딩 된 데이터 및 메타 데이터를 추가할 수 있다.
● 시퀀스 또는 정렬 프로세스가 끝나기를 기다릴 필요 없이 시퀀싱 장치 또는 정렬 도구에 의해 생성되는 즉시 데이터를 효율적으로 프로세스할 수 있다.
본 출원은 멀티플렉싱(multiplexing) 기술과 결합된 구조화된 액세스 유닛 접근법을 사용함으로써 매우 많은 양의 게놈 시퀀싱 데이터의 효율적인 조작, 저장 및 전송 문제를 해결하는 방법 및 시스템을 개시한다.
본 출원은 게놈 데이터 접근성(accessibility) 기능, 데이터 서브 세트(subset)의 효율적인 프로세스, 효율적인 압축과 결합된 전송 및 스트리밍(streaming) 기능과 관련된 종래 기술의 접근법의 모든 한계를 극복한다.
오늘날 게놈 데이터에 가장 많이 사용되는 표현 포멧은 SAM(Sequence Alignment Mapping) 텍스트 포멧과 그에 대응되는 바이너리(binary) BAM이다. SAM 파일은 사람이 읽을 수 있는 ASCII 텍스트 파일이지만, BAM은 gzip의 블록 기반의 변형을 채택한다. BAM 파일은 한정된 방식의 무작위 액세스를 가능하게 하기 위해 인덱싱 될 수 있다. 이것은 별도의 인덱스(index) 파일을 작성하면 지원된다.
BAM 포멧은 다음과 같은 이유로 압축 성능이 좋지 않음을 특징으로 한다.
1. SAM 파일로 전달되는 실제 게놈 정보를 추출하고 이를 압축하기 위해 적절한 모델을 사용하기 보다는 비효율적이고 중복되는 SAM 파일 포멧을 압축하는데 중점을 둔다.
2. 각 데이터 소스(게놈 정보 자체)의 특정 성격(specific nature)을 이용하기 보다는 gzip과 같은 범용 텍스트 압축 알고리즘을 사용한다.
3. 특정 클래스의 게놈 데이터에 선택적으로 액세스할 수 있는 데이터 분류와 관련된 개념이 없다.
BAM보다 덜 일반적으로 사용되는 게놈 데이터 압축에 대한 보다 정교한 접근 방식은 CRAM(CRAM 사양: https://samtools.github.io/hts-specs/CRAMv3.pdf) 이다. CRAM은 기존의 레퍼런스(데이터 소스 중복성을 부분적으로 활용함(exploit))와 관련하여 차등 인코딩(differential encoding)을 채택하기 때문에 보다 효율적인 압축을 제공하지만, 증분 업데이트, 스트리밍(streaming) 지원 및 압축된 데이터의 특정 클래스에 대한 선택적 액세스와 같은 기능이 여전히 부족하다.
CRAM은 CRAM 레코드의 개념에 의존한다. 각 CRAM 레코드는 재구축(reconstruct)하는데 필요한 모든 요소를 인코딩 하여 단일 맵핑 된 또는 맵핑 되지 않은 판독을 인코딩 한다.
CRAM 접근법에 관련하여, 본 발명의 주된 차이점은 다음과 같다.
1. CRAM의 경우, 데이터 인덱싱은 사양의 범위 밖이고(CRAM 사양서 v 3.0의 12절 참조), 별도의 파일로 구현된다. 본 발명에서, 데이터 인덱싱(data indexing)은 인코딩 프로세스와 통합되고 인덱스(index)는 인코딩 된 비트 스트림에 임베딩 된다.
2. CRAM에서 모든 핵심 데이터 블록은 모든 유형의 맵핑 된 판독(완벽하게 일치하는 판독, 치환(substitution)만 있는 판독, 인델(indels)로 판독)을 포함할 수 있다. 본 발명에서는 레퍼런스 시퀀스에 대한 맵핑 결과에 따르는 클래스에서 판독 및 분류의 개념은 없다.
3. 기술된 발명에서, 각각의 판독을 재구축(reconstruct)하는데 필요한 데이터가 "레이어(layer)"이라 불리는 여러 데이터 컨테이너 사이에 분산되어 있기 때문에, 각 판독을 캡슐화(encapsulation)하는 기록(record)의 개념이 없다. 이것은 각 블록의 기능을 검사하기 위하여 각각(블록의)의 판독(들)을 디코딩 할 필요 없이, 특정 생물학적 특성(예를 들어, 삭제(indel) 또는 완전히 맵핑 된 판독 없는 치환을 갖는 판독)을 가지는 판독 세트를 보다 효율적으로 액세스할 수 있게 한다.
4. CRAM 레코드에서 각 유형의 데이터는 특정 플래그로 표시된다. CRAM과는 달리, 본 발명에서는 데이터가 속하는 "레이어(layer)"에 의해 본질적으로 정의되기 때문에, 데이터를 나타내는 플래그의 개념이 없다. 이것은 사용되는 심볼의 수가 상당히 줄어들고 결과적으로 정보 소스 엔트로피가 감소되어 보다 효율적인 압축을 하게 된다. 이것은 서로 다른 "레이어"를 사용하여 인코더가 각 레이어에서 다른 의미로 동일한 심볼을 재사용할 수 있게 하기 때문이다. CRAM에서 각 플래그는 문맥(context)의 개념이 없는 것처럼 항상 동일한 의미를 가져야 하고 CRAM 레코드는 모든 유형의 데이터를 포함할 수 있다.
5. CRAM 치환에서, 삽입 및 삭제(insertion and deletion)는 상이한 구문에 따라 표현되는 반면, 본 발명은 치환(substitution), 삽입(insertion) 및 삭제(deletion)에 대해 단일 알파벳 및 인코딩을 사용한다. 이는 인코딩 및 디코딩 프로세스를 보다 간단하게 만들고, 보다 높은 압축 성능을 특징으로 하는 비트 스트림을 생성하는 낮은 엔트로피 소스 모델을 생성한다.
최신 기술에서 사용되는 게놈 압축 알고리즘은 다음 범주로 분류할 수 있다.
● 변형 기반
o LZ 기반(LZ-based)
o 판독 순서 변경(read reordering)
● 어셈블리 기반(assembly-based)
● 통계 모델링(statistic modeling)
첫 번째 두 범주(category)는 데이터 소스(게놈 시퀀스 판독)의 특정 특성(specific characteristic)을 활용하지 않는 단점을 공유하며, 이러한 종류의 정보의 특정 속성(specific property)을 고려하지 않고 게놈 데이터를 압축할 문자열로 프로세스 한다(예를 들어, 판독 간의 중복성, 기존 샘플에 대한 레퍼런스). 게놈 데이터 압축을 위한 가장 진보된 두 가지 도구킷, CRAM과 Goby("Compression of structured high-throughput sequencing data", F. Campagne, KC Dorff, N. Chambwe, JT Robinson, JP Mesirov, TD Wu)는 기하 분포(Geometric distribution)에 의해 독립적이고 동일하게 분산된 데이터를 암시적으로 모델링할 때 산술 코딩을 제대로 사용하지 못한다. Goby는 모든 필드를 정수 리스트(integer list)으로 변환하고 각 리스트를 컨텍스트를 사용하지 않고 산술 코딩을 사용하여 독립적으로 인코딩 하므로 조금 더 정교하다. 가장 효율적인 연산 모드에서, Goby는 압축을 개선하기 위하여 정수 리스트에 대한 일부 내부 리스트(inter-list) 모델링을 수행할 수 있다. 이러한 종래 기술의 솔루션은 압축률이 나빠지거나, 한번 압축된 데이터에 선택적으로(selectively) 액세스하고 조작하는 것이 불가능하지는 않더라도 어려운 데이터 구조를 나타낸다. 다운스트림 분석 단계는 간단한 조작을 수행하거나 게놈 데이터세트의 선택된 영역에 액세스하는 경우라 하더라도, 크고 까다로운(rigid) 데이터 구조를 처리할(handling) 필요가 있기 때문에 비효율적이며 매우 느릴 수 있다.
게놈 프로세스 파이프 라인(genome processing pipeline)에 사용되는 파일 포멧(file format)간 관계에 대한 간단한 비전이 도 1에 나와 있다. 이 다이어그램에서 파일 인클루전(file inclusion)은 중첩된(nested) 파일 구조의 존재를 의미하지 않지만 각 포멧(format)(예를 들어, SAM은 FASTQ의 모든 정보를 포함하지만 다른 파일 구조로 구성됨)에 대해 인코딩할 수 있는 정보의 유형(type)과 양을 나타낸다. CRAM은 SAM/BAM과 동일한 게놈 정보를 포함하지만 사용할 수 있는 압축 유형(compression type)이 더 유연하기 때문에 SAM/BAM의 수퍼 세트로 표현된다.
게놈 정보를 저장하기 위해 여러 파일 포멧을 사용하는 것은 매우 비효율적이며 비용이 많이 든다. 게놈 정보 라이프 사이클(life cycle)의 다른 단계에서 서로 다른 파일 포멧을 갖는 것은 증분(incremental) 정보가 최소인 경우에도 이용되는 저장 공간의 선형적 증가(linear growth)를 의미한다. 종래 기술의 솔루션의 또 다른 단점을 이하에 열거한다.
1. 압축 FastQ 파일 또는 그 조합에 저장된 미가공 데이터(raw data)에 주석(annotation)(메타 데이터)을 액세스, 분석 또는 추가하려면, 컴퓨팅 자원과 시간을 광범위하게 사용하여 전체 파일을 압축 해제하고 다시 압축해야 한다.
2. BAM 파일에 저장된 정렬된 데이터에 포함된 판독 맵핑 위치, 판독 변형 위치 및 유형, 인델(indels) 위치 및 유형(type) 또는 기타 메타 데이터 및 주석과 같은 정보의 특정 하위 서브 세트(subset)를 검색하려면, 각 판독과 연관된 전체 데이터 볼륨에 액세스 해야 한다. 종래 기술의 솔루션에서는 단일 클래스의 메타 데이터에 선택적으로 액세스 할 수 없다.
3. 종래 기술의 파일 포맷은 프로세스가 시작되기 전에 최종 사용자가 전체 파일을 수신할 것을 요구한다. 예를 들어, 적절한 데이터 표현에 의존한다면, 시퀀싱 프로세스가 완료되기 전에 판독 정렬이 시작될 수 있다. 시퀀싱, 정렬 및 분석이 진행되고 병행될 수 있다.
4. 종래 기술 솔루션은 구조화를 지원하지 않으며, 특정 세대 의미론(specific generation semantic)(예를 들어, 동일 개체의 라이프의 다른 시간에 얻어지는 시퀀싱)에 따르는 특정 시퀀싱 프로세스에 의해 얻어진 게놈 데이터를 구별할 수 없다. 동일 개체의 여러 유형의 생물학적 샘플에 의해 얻어진 시퀀싱에 대해서도 동일한 제한이 발생한다.
5. 데이터의 전체 또는 선택된 부분의 암호화는 종래 기술 솔루션에 의해 지원되지 않는다. 예를 들면, 암호화에서:
a. 선택된 DNA 영역
b. 변형(variant)을 포함하는 시퀀스 만
c. 키메라(chimeric) 시퀀스 만
d. 맵핑 되지 않은 시퀀스 만
e. 특정 메타 데이터(예를 들어, 시퀀스된 샘플의 근원, 시퀀스 개체의 식별, 샘플의 유형)
6. 주어진 레퍼런스(reference)(즉, SAM/BAM 파일)에 정렬된 시퀀싱 데이터로 부터 새로운 레퍼런스로 트랜스코딩하는 것은 새로운 레퍼런스가 이전 레퍼런스에서 단 하나의 뉴클레오타이드(nucleotide) 위치만 상이할지라도 전체 데이터량을 프로세스 할 것을 요구한다.
따라서, 효율적인 압축을 가능하게 하고, 압축 도메인에서의 선택적 액세스를 지원하며, 게놈 데이터 프로세스의 다른 단계에서의 모든 레벨에서 압축 도메인에서 이기종 메타 데이터의 증분 추가(incremental addition)를 지원하는 적절한 게놈 정보 저장 레이어(Genomic Information Storage Layer)(게놈 파일 포맷)의 필요가 있다.
본 발명은 첨부된 특허 청구 범위에 청구된 바와 같은 방법, 장치 및 컴퓨터 프로그램을 사용함으로써 최첨단의 한계에 대한 솔루션을 제공한다.
도 1은 일반적인 게놈 파이프 라인(genomic pipeline)의 주요 단계와 관련 파일 포멧을 도시한다.
도 2는 가장 많이 사용되는 게놈 파일 포멧이다.
도 3은 게놈 시퀀스 판독이 드노보(de-novo) 어셈블리 또는 레퍼런스기반 정렬을 통해 전체 또는 부분 게놈에서 어떻게 어셈블리 되는지를 도시한다.
도 4는 레퍼런스 시퀀스의 판독 맵핑(mapping) 위치를 계산하는 방법을 도시한다.
도 5는 페어링(paring) 거리를 계산하는 방법을 도시한다.
도 6은 페어링(paring) 오류를 계산하는 방법을 도시한다.
도 7은 판독 메이트 페어(read mate pair)가 다른 염색체(chromosome)에 맵핑 될 때 페어링 거리가 어떻게 인코딩 되는지 도시한다.
도 8은 시퀀스 판독이 게놈의 제1 또는 제2 DNA 스트랜드(strand)으로부터 유래할 수 있는 방법을 도시한다.
도 9는 스트랜드 2에 맵핑 된 판독이 스트랜드 1에서 대응되는 역 보완(reverse complemented) 판독을 갖는 방법을 도시한다.
도 10은 판독 페어를 구성하는 판독과 rcomp 레이어에서 각각의 인코딩의 네 가지 가능한 조합을 도시한다.
도 11은 N 개의 불일치가 nmis 레이어에서 인코딩 되는 방법을 도시한다.
도 12는 맵핑 된 판독 페어의 치환의 예를 도시한다.
도 13은 치환 위치를 절대값 또는 차등값으로 계산하는 방법을 도시한다.
도 14는 IUPAC 코드가 없이 치환 인코딩 심볼을 인코딩 계산하는 방법을 도시한다.
도 15는 치환 유형이 snpt 레이어에서 인코딩 되는 방법을 도시한다.
도 16은 IUPAC 코드로 치환된 심볼을 계산하는 방법을 도시한다.
도 17은 위치만 인코딩 되지만 치환 유형당 하나의 레이어가 사용되는 곳에서 대안적인 치환을 위한 소스 모델을 도시한다.
도 18은 IUPAC 코드가 사용되지 않을 때 클래스 I의 판독 페어에서 치환, 삽입 및 삭제를 인코딩하는 방법을 도시한다.
도 19는 IUPAC 코드가 사용될 때 클래스 I의 판독 페어에서 치환, 삽입 및 삭제를 인코딩하는 방법을 도시한다.
도 20은 게놈 정보 데이터 구조의 헤더의 구조를 도시한다.
도 21은 마스터 인덱스 테이블(Master Index Table)가 각 액세스 유닛에서 제1 판독의 레퍼런스 시퀀스 상의 위치를 포함하는 방법을 도시한다.
도 22는 클래스 P의 각각의 pos AU에서의 제1 판독의 맵핑 위치를 보여주는 부분적인 MIT의 예를 도시한다.
도 23은 헤더 레이어의 로컬 인덱스 테이블이 페이로드(payload)의 AU에 대한 포인터 벡터인 방법을 도시한다.
도 24는 로컬 인덱스 테이블의 예를 도시한다.
도 25는 마스터 인덱스 테이블(Master Index Table)과 로컬 인덱스 테이블(Local Index Tables) 간의 기능적 관계를 도시한다.
도 26은 액세스 유닛이 여러 레이어에 속한 데이터 블록으로 구성된 방법을 도시한다. 레이어는 패킷으로 세분화된 블록으로 구성된다.
도 27은 유형 1의 게놈 액세스 유닛(위치, 페어, 역 보완(reverse complemented) 및 판독 길이 정보를 포함)이 어떻게 게놈 데이터 멀티플렉스(multiplex)에 패킷화 되고 캡슐화 되는지를 나타낸다.
도 28은 하나 또는 하나 이상의 레이어의 동질의 데이터에 속하는 헤더 및 멀티플렉스 된 블록에 의해 액세스 유닛이 어떻게 구성되는지를 도시한다. 각 블록은 게놈 정보의 실제 디스크립터를 포함하는 하나 또는 하나 이상의 패킷으로 구성될 수 있다.
도 29는 유형 0의 액세스 유닛의 구조를 도시하며, 액세스 될 때 또는 디코딩 및 액세스될 다른 액세스 유닛으로부터의 정보를 참조할 필요가 없다.
도 30은 유형 1의 액세스 유닛 구조를 도시한다.
도 31은 유형 1의 액세스 유닛을 참조하는 데이터를 포함하는 유형 2의 액세스 유닛의 구조를 도시한다. 이들은 인코딩 된 판독에서 N 위치이다.
도 32는 유형 1의 액세스 유닛을 참조하는 데이터를 포함하는 유형 3의 액세스 유닛 구조를 도시한다. 이들은 인코딩 된 판독에서 불일치 위치와 유형이다.
도 33은 유형 1의 액세스 유닛을 참조하는 데이터를 포함하는 유형 4의 액세스 유닛 구조를 도시한다. 이들은 인코딩 된 판독에서 불일치 위치와 유형이다.
도 34는 액세스 유닛의 제1 다섯 유형을 도시한다.
도 35는 유형 1의 액세스 유닛이 디코딩 될 유형 0의 액세스 유닛을 참조하는 것을 도시한다.
도 36은 유형 2의 액세스 유닛이 디코딩 될 유형 0 및 유형 1의 액세스 유닛을 참조하는 것을 도시한다.
도 37은 유형 3의 액세스 유닛이 디코딩 될 유형 0 및 유형 1의 액세스 유닛을 참조하는 것을 도시한다.
도 38은 유형 4의 액세스 유닛이 디코딩 될 유형 0 및 유형 1의 액세스 유닛을 참조하는 것을 도시한다.
도 39는 레퍼런스 시퀀스의 제2 세그먼트(AU 0-2)에 맵핑 된 불일치를 가지는 시퀀스 판독을 디코딩하는데 필요한 액세스 유닛을 도시한다.
도 40은 이용 가능한 미가공 게놈 시퀀스 데이터가 사전 인코딩 된 게놈 데이터에 증분적으로 추가될 수 있는 방법을 도시한다.
도 41은 액세스 유닛에 기초한 데이터 구조가 어떻게 시퀀싱 프로세스가 완료되기 전에 게놈 데이터 분석을 시작할 수 있는지를 도시한다.
도 42는 기존 데이터에서 수행된 새로운 분석이 판독이 유형 4의 AU에서 유형 3으로 이동되었음을 의미할 수 있음을 도시한다.
도 43은 새로이 생성된 분석 데이터가 유형 6의 새로운 AU에 캡슐화 되고 해당 인덱스가 MIT에서 만들어지는 방법을 도시한다.
도 44는 새로운 레퍼런스 시퀀스(게놈)의 발행으로 인해 데이터를 코드 변환하는 방법을 도시한다.
도 45는 더 나은 품질(예를 들어, 인델(indels) 없음)을 갖는 새로운 게놈 영역에 맵핑 된 판독이 어떻게 유형 4의 AU에서 유형 3의 Au로 이동되는지를 도시한다
도 46은 새로운 맵핑 위치가 발견된 경우(예를 들어, 불일치가 적은 경우) 연관된 판독이 하나의 AU에서 동일한 유형의 다른 것으로 이동될 수 있는 방법을 도시한다.
도 47은 유형 4의 액세스 유닛(Access Units)에만 보호할 센서블 정보가 포함되어 있는 경우에, 그 유닛에만 선택적인 암호화를 적용할 수 있는 방법을 도시한다.
도 48은 하나 또는 하나 이상의 게놈 데이터세트(482-483)가 게놈 스트림(484) 및 게놈 데이터세트 리스트(481), 게놈 데이터세트 맵핑 테이블(485) 및 레퍼런스 식별자 맵핑 테이블(487)의 스트림을 포함하는 게놈 멀티플렉스의 데이터 캡슐화를 도시한다. 각 게놈 스트림은 헤더(488) 및 액세스 유닛(486)에 의해 구성된다. 액세스 유닛은 패킷(4810)에 의해 구성된 블록(489)을 캡슐화한다.
도 49는 미가공 게놈 시퀀스 데이터 또는 정렬된 게놈 데이터가 어떻게 게놈 멀티플렉스에서 캡슐화되도록 프로세스되는지를 도시한다. 인코딩을 위해 데이터를 준비하려면 정렬, 재정렬 및 조립 단계가 필요할 수 있다. 생성된 레이어(layer)는 액세스 유닛(Access Units)에 캡슐화 되고 게놈 멀티플렉서(Genomic Multiplexer)에 의해 멀티플렉스 된다.
도 50은 게놈 디멀티플렉서(demultiplexer)(501)가 어떻게 게놈 멀티 플렉스로부터 액세스 유닛 레이어를 추출하는지를 도시한다. AU 유형당 하나의 디코더(502)는, 예를 들어 FASTQ 및 SAM/BAM과 같은 다양한 게놈 포맷으로 디코딩(503)된, 게놈 디스크립터(genomic descriptor)를 추출한다.
본 발명은 분자(molecule)를 나타내는 심볼의 시퀀스(sequences of symbols) 형태로 게놈 또는 프로테오믹(proteomics) 정보를 저장, 수송, 액세스 및 프로세스 하는데 사용되는 멀티플렉싱 파일 포맷(multiplexing file format) 및 관련 액세스 유닛(access unit)을 기술한다.
이들 분자는, 예를 들어 뉴클레오타이드(neucleotide), 아미노산(amino acid) 및 단백질(protein)을 포함한다. 심볼의 시퀀스로 표현되는 가장 중요한 정보 중 하나는 높은 처리량 게놈 시퀀싱 장치에 의해 생성된 데이터이다.
어떤 생물체의 게놈은 대개 그 생물체를 특징 짓는 핵산(염기) 사슬을 나타내는 일련의 심볼로 표현된다. 현재의 최첨단 게놈 시퀀싱(genome sequencing) 기술은 메타 데이터(metadata)(식별자(identifier), 정확도 수준 등)와 연관된 몇몇 개(several)(최대 수십억 개)의 핵산(nucleic acid)의 문자열의 형태로 게놈의 조각난 표현만으로 생성할 수 있다. 이러한 문자열(string)은 일반적으로 "시퀀스 판독(sequence read)" 또는 "판독(read)"이라고 한다.
게놈 정보 라이프 사이클의 일반적인 단계는 시퀀스 판독 추출(Sequence reads Extraction), 맵핑 및 정렬(Mapping and Alignment), 변형 검출(Variant Detection), 변형 주석(Variant Annotation), 기능 및 구조 분석(Functional and Structural Analysis)으로 구성된다(도 1 참조).
시퀀스 판독 추출은 인간 조작자 또는 장치에 의해 수행되며 생물학적 샘플을 구성하는 분자(molecule)를 나타내는 심볼(symbol)의 시퀀스(sequence of symbol)의 형태로 유전 정보 조각(fragment of genetic information)을 표현하는 프로세스이다. 핵산(nucleic acid)의 경우 이러한 분자를 "뉴클레오타이드(nucleotides)"라고 한다. 추출에 의해 생성된 심볼의 시퀀스는 일반적으로 "판독" 이라고 한다. 이 정보는 통상 텍스트 헤더 및 시퀀싱 된 분자를 나타내는 일련의 심볼을 포함하는 FASTA 파일이라는 종래 기술에서 인코딩 된다.
생체 샘플을 시퀀스 분석하여 살아있는 유기체의 DNA를 추출할 때 알파벳은 심볼(A, C, G, T, N)로 구성된다.
생물체의 RNA를 추출하기 위해 생체 샘플이 시퀀싱 될 때, 알파벳은 심볼(A, C, G, U, N)로 구성된다.
시퀀싱 장치가 IUPAC 확장된 심볼 세트, 소위 "모호성 코드(ambiguity codes)"도 생성하는 경우, 판독을 구성하는 심볼에 사용된 알파벳은 (A, C, G, T, U, W, S, M, K, R, Y, B, D, H, V, N 또는 -) 이다.
IUPAC 모호성 코드가 사용되지 않을 때, 각각의 시퀀스 판독(sequence read)에 품질 스코어의 시퀀스가 연관될 수 있다. 이러한 경우, 종래 기술 솔루션은 결과 정보를 FASTQ 파일로 인코딩한다. 시퀀싱 장치는 시퀀스 판독시 다음과 같은 오류를 발생시킬 수 있다.
1. 시퀀싱 된 샘플에 실제로 존재하는 핵산을 나타내는 잘못된 심볼의 식별(identification)(즉, 상이한 핵산의 표시); 이것을 일반적으로 "치환 오류(substitution error)"(불일치)라고 한다.
2. 실제 존재하는 핵산을 참조하지 않는 추가 심볼(additional symbol)을 하나의 시퀀스 판독에 삽입; 이것을 일반적으로 "삽입 오류(insertion error)"라고 한다.
3. 시퀀싱 된 샘플에 실제 존재하는 핵산을 나타내는 심볼을 하나의 시퀀스 판독에서 삭제; 이것을 일반적으로 "삭제 오류(deletion error)"라고 한다.
4. 하나 또는 하나 이상의 조각을 원래 시퀀스의 실제를 반영하지 않는 단일 조각(single fragment) - 원래 시퀀스의 실제를 반영하지 않는 - 으로 재조합(recombination).
"커버리지(coverage)"라는 용어는 레퍼런스 게놈(reference genome) 또는 그 일부가 이용 가능한 시퀀스 판독에 의해 적용될 수 있는 범위를 정량화 하기 위해 문헌에서 사용된다. 커버리지는 다음과 같다.
● 레퍼런스 게놈의 일부가 사용 가능한 시퀀스 판독에 의해 맵핑 되지 않은 경우 부분(partial)(1X 미만)
● 레퍼런스 게놈의 모든 뉴클레오타이드가 하나의 심볼로 맵핑 되고 시퀀스 판독에 존재하는 단 하나의 심볼일 때 단일(single)(1X)
● 레퍼런스 게놈의 각 뉴클레오타이드가 여러 번 맵핑 될 때 다중(multiple)(2X, 3X, NX).
시퀀스 정렬은 시퀀스 간의 기능적, 구조적 또는 진화적 관계의 결과일 수 있는 유사성의 영역을 발견함으로써 시퀀스 판독을 배열하는 프로세스를 지칭한다. 정렬(alignment)이 "레퍼런스 게놈(reference genome)"으로 언급되는 이미 존재하는(pre-exiting) 뉴클레오타이드 시퀀스를 레퍼런스 하여 수행될 때, 이 프로세스를 "맵핑(mapping)"이라 한다. 시퀀스 정렬(sequence alignment)은, 또한 기존의 시퀀스(즉, 레퍼런스 게놈)없이 수행될 수 있는데, 이 경우 상기 프로세스는 종래 기술에서 "드노보(de novo)" 정렬로 알려져 있다. 종래 기술 솔루션은 이 정보를 SAM, BAM 또는 CRAM 파일에 저장한다. 시퀀스를 정렬하여 부분 또는 완전한 게놈을 재구축(reconstruct)하는 개념은 도 3에 도시되어 있다.
변형 검출(a.k.a 변형 호출(variant calling))은 게놈 시퀀싱 장치의 정렬된 출력(NGS 장치에 의해 생성되고 정렬된 시퀀스 판독)을, 기존의 다른 시퀀스에서 찾을 수 없거나 또는 몇 개의 미리 존재하는 시퀀스에서만 발견할 수 있는 시퀀스화 중인 생물체(organism)의 고유한 특징에 대한 요약으로 번역하는 프로세스이다. 이러한 특성은 연구중인 유기체의 게놈과 레퍼런스 게놈 사이의 차이로 표현되기 때문에 "변형(variant)"이라고 불린다. 종래 기술 솔루션은 이 정보를 VCF 파일이라는 특정 파일 포멧으로 저장한다.
변형 주석(variant annotation)은 변형 호출 프로세스에 의해 식별된 게놈 변형에 기능 정보를 할당하는 프로세스이다. 이것은 게놈 내의 코딩 시퀀스에 대한 그들의 관계 및 코딩 시퀀스 및 유전자 산물(gene product)에 대한 그들의 영향에 따라 변형(variant)의 분류를 의미한다. 이는 일반적으로 MAF 파일에 저장된 종래 기술에 있다.
유전자(genes)(및 단백질) 기능 및 구조와의 관계를 정의하기 위해 DNA(변형, CNV = 복제 수 변형, 메틸화 등)를 분석하는 프로세스를 기능적 또는 구조적 분석이라고 한다. 이 데이터를 저장하기 위한 종래 기술에는 몇 가지 다른 솔루션이 존재한다.
게놈 파일 포멧(Genomic file format)이 문헌에 개시된 발명은 적어도 다음 측면에 대해 종래 기술의 솔루션과는 다른 게놈 시퀀싱 데이터를 표현하고 프로세스하고 조작하며 전송하기 위한 압축된 데이터 구조의 정의에 있다.
- 그것은 게놈 정보(예를 들어, FASTQ, SAM)의 종래 기술 표현 포멧에 의존하지 않는다.
- 게놈 데이터 및 메타 데이터의 고유한 특성에 따라 새로운 원래 분류를 구현한다. 시퀀스 판독은 레퍼런스 시퀀스에 맵핑 되고 정렬 프로세스의 결과에 따라 별개의 클래스로 그룹화된다. 이는 다른 정보 압축 알고리즘을 적용하여 보다 효율적으로 인코딩할 수 있는 정보 엔트로피가 낮은 데이터 클래스를 생성한다.
- 그것은 시퀀스 판독 및 정렬 정보를 표현 - 다운스트림 분석 애플리케이션에서 좀 더 효율적으로 프로세스 되는 - 으로 전달하는 연관된 인코딩/디코딩 프로세스 및 구문 요소를 정의한다.
레이어(위치 레이어, 메이트 거리(mate distance) 레이어, 불일치(mismatch) 레이어 등 등 ?)에 저장될 디스크립터(descriptor)를 사용하여 맵핑 및 코딩 한 결과에 따라 판독을 분류하면 다음과 같은 이점이 있다.
● 다른 구문 요소들이 특정 소스 모델에 의해 모델링 될 때 정보 엔트로피(information entropy)의 감소.
● 다운스트림(downstream) 분석 단계에서 특정 의미를 가지며 개별적으로 또는 독립적으로 액세스 할 수 있는 그룹/레이어로 이미 구성된 데이터에 대한 보다 효율적인 액세스.
● 전체 데이터 컨텐츠를 디코딩 할 필요없이 필요한 정보에만 액세스하여 증분적으로 업데이트 할 수 있는 모듈식 데이터 구조가 있다.
● 시퀀싱 장치에 의해 생성된 게놈 정보는 본질적으로 정보 자체의 성격과 시퀀싱 프로세스에서 내재된 오류를 완화해야 하기 때문에 본질적으로 매우 중복된다. 이는 확인되고 분석되어야 할 연관 유전자 정보(레퍼런스와 관련한 변형)가 생산된 데이터의 일부에 지나지 않음을 의미한다. 종래 기술의 게놈 데이터 표현 포멧은 주어진 분석 단계에서 의미 있는 정보를 나머지 정보와 "분리(isolate)"하여 분석 애플리케이션에 즉각적으로 사용할 수 없도록 고안되었다.
● 개시된 발명에 의해 제기된 솔루션은 데이터의 모든 관련 부분은 데이터 전체에 액세스하고 압축 해제할 필요없이 분석 응용 프로그램에서 즉시 사용할 수 있게 하고, 데이터의 중복은 효율적인 압축으로 효율적으로 감소되어 필요한 스토리지 공간과 전송 대역폭을 최소화하는 방식으로 게놈 데이터를 나타내는 것이다.
본 발명의 핵심 요소는 다음과 같다.
1. 구조화되고 선택적으로 액세스 가능한 데이터 요소(압축된 형태의 액세스 유닛(AU))를 "포함(contain)" 하는 파일 포멧의 상술서. 이러한 접근법은 종래 기술 접근법인 SAM 및 BAM과는 반대로 볼 수 있으며, 비 압축 형태(form)으로 구조화된 다음 전체 파일이 압축된다. 이 접근법의 첫 번째 명백한 이점은 종래 기술 접근법에서 불가능하거나 매우 어색한 압축된 영역 내의 데이터 요소에 대한 다양한 형태의 구조화된 선택적(selectively) 액세스를 효율적이고 자연스럽게 제공할 수 있다는 것이다.
2. 게놈 정보를 동질성 데이터 및 메타 데이터의 특정 "레이어(layer)"로 구조화하면 낮은 엔트로피가 특징인 다양한 정보 소스 모델을 정의할 수 있다는 상당한 이점이 있다. 이러한 모델은 레이어마다 다를 수 있을 뿐만 아니라 레이어 내의 압축된 데이터가 액세스 유닛에 포함된 데이터 블록으로 분할될 때 각 레이어 내에서 다를 수 있다. 이러한 구조화는 데이터 또는 메타 데이터의 각 클래스 및 그 일부분에 대해 가장 적절한 압축을 사용하여 종래 기술 접근법에 비해 코딩 효율을 현저하게 향상시킬 수 있게 한다.
3. 정보는 액세스 유닛(AU)로 구성되어 게놈 분석 응용 프로그램에서 사용되는 데이터의 관련 서브 세트(subset)가 적절한 인터페이스를 통해 효율적이고 선택적으로(selectively) 액세스 할 수 있도록 한다. 이러한 기능을 통해 데이터에 더 빨리 액세스 하고 보다 효율적인 프로세스를 수행할 수 있다.
4. 압축 데이터의 전체 볼륨을 디코딩 할 필요없이 인코딩 된(즉, 압축된) 데이터의 레이어에 의해 전달되는 정보에 선택적으로 액세스 할 수 있는 마스터 인덱스(index) 테이블 및 로컬 인덱스 테이블의 정의.
5. 압축 도메인에서 선택된 데이터 부분의 효율적인 트랜스코딩을 수행함으로써 새로 정렬된 레퍼런스 게놈(reference genome)과 재정렬되어야 할 때 이미 정렬되고 압축된 게놈 데이터의 재배치 가능성. 새로운 레퍼런스(reference) 게놈의 빈번한 릴리스는 현재 모든 데이터 볼륨을 프로세스해야 하기 때문에, 자원 소비와 트랜스코딩 프로세스가 새로 압축된 레퍼런스와 관련하여 이미 압축되고 저장된 게놈 데이터를 다시 정렬해야 한다.
이 문서에서 설명하는 방법은 엔트로피를 줄인 구문 요소의 알파벳을 정의하기 위해 게놈 데이터에 대한 선험적 지식을 활용하는 것을 목표로 한다. 유전체학에서 이용 가능한 지식은 보통 프로세스되는 것과 동일한 종의 기존 게놈 시퀀싱에 의해 표현된다. 예를 들어, 서로 다른 개인의 인간 게놈은 단지 1 %의 일부분 만 다르다. 반면에 소량의 데이터는 조기 진단, 맞춤 의학, 주문형 약물 합성 등을 가능하게 하는 충분한 정보를 포함한다. 본 발명은 관련 정보가 효율적으로 액세스 가능하고 전송 가능하고 중복 정보의 가중치가 감소되는 게놈 정보 표현 포맷(genomic information representation format)을 정의하는 것을 목적으로 한다.
본 발명에 사용된 기술적 특징은 다음과 같다:
1. 가능한 한 정보 엔트로피를 줄이기 위해 동질성 메타 데이터의 "레이어(layer)"으로 게놈 정보를 분해한다;
2. 전체 코딩 정보를 복호화 할 필요 없이 코딩 정보 레이어에 선택적으로 접근할 수 있도록 하는 마스터 인덱스 테이블(master index table) 및 로컬 인덱스 테이블(local index table)의 정의;
3. 포인트 1에서 정의된 상이한 레이어에 속하는 구문 요소를 코딩 하기 위한 상이한 소스 모델 및 엔트로피 코더(coder)의 채택;
4. 필요하지 않은 경우 모든 레이어를 디코딩 할 필요없이 데이터에 선택적으로 액세스 할 수 있도록 종속 레이어(dependent layer) 간의 통신;
5. 엔트로피를 감소시키기 위해 변경될 수 있는 하나 또는 하나 이상의 적응 레퍼런스 시퀀스에 대한 차등 인코딩(differential encoding). 제1 레퍼런스 기반 인코딩 후에, 기록된 불일치는 정보 엔트로피를 더 감소시키기 위해 레퍼런스 시퀀스를 "적응/수정" 하는데 사용될 수 있다. 이것은 정보 엔트로피의 감소가 의미 있는 한 반복적으로 수행될 수 있는 프로세스이다.
종래 기술의 모든 상기 문제점을 해결하기 위해(파일 내의 임의의 위치에 대한 효율적인 액세스, 효율적인 전송 및 저장, 효율적인 압축의 관점에서), 본 출원은 프로세스의 용이성을 위해보다 동질하고 또는 의미론적(semantically)으로 중요한 데이터를 함께 재 배열하고 패킹 한다.
본 발명은 또한 액세스 유닛의 개념 및 관련 데이터의 멀티플렉싱(multiplexing)에 기초한 데이터 구조를 채택한다.
게놈 데이터는 다른 액세스 유닛으로 구조화되고 인코딩 된다. 이하, 상이한 액세스 유닛에 포함되는 게놈 데이터에 대한 설명을 따른다.
게놈 데이터 분류(Genomic data classification)
시퀀싱 장치에 의해 생성된 시퀀스 판독은 개시된 발명에 의해 하나 또는 하나 이상의 레퍼런스 시퀀스 또는 게놈에 대한 정렬 결과에 따라 다섯 개의 상이한 "클래스"로 분류된다.
레퍼런스 시퀀스 다섯 개와 관련하여 뉴클레오타이드의 DNA 시퀀스를 정렬할 때 가능한 결과는 다음과 같다:
1. 레퍼런스 시퀀스의 영역은 오류없이 완료된 시퀀스와 일치하는 것으로 확인된다(완벽한 맵핑). 이러한 뉴클레오타이드의 시퀀스는 "완벽하게 일치하는 판독" 또는 "클래스 P"로 표시된다.
2. 레퍼런스 시퀀스 내의 영역은 시퀀싱 장치가 임의의 염기(또는 뉴클레오타이드)를 호출할 수 없었던 다수의 위치에 의해 구성된 다수의 불일치로 판독된 시퀀스를 일치시키는 것으로 밝혀진다. 이러한 불일치는 "N"으로 표시된다. 이러한 시퀀스는 "N 개의 불일치 판독" 또는 "클래스 N"으로 레퍼런스 된다.
3. 레퍼런스 시퀀스 내의 영역은 시퀀싱 장치가 임의의 염기(또는 뉴클레오타이드)를 호출할 수 없었던 다수의 위치 또는 레퍼런스 시퀀스에서 호출되었던 보고된 것과 상이한 염기로 구성되는 다수의 불일치로 판독된 시퀀스와 일치시키는 것으로 밝혀진다. 이러한 유형의 불일치는 SNV(Single Nucleotide Variation) 또는 SNP(Single Nucleotide Polymorphism)라고 한다. 시퀀스는 "M 개의 불일치 판독" 또는 "클래스 M"으로 레퍼런스 된다.
4. 제 4 클래스는 클래스 M의 동일한 불일치와 삽입 또는 삭제(a.k.a. 인델(indels))의 존재를 포함하는 불일치 유형을 나타내는 판독을 시퀀싱함으로써 구성된다. 삽입은 레퍼런스에 존재하지 않지만 판독 시퀀스에 존재하는 하나 또는 하나 이상의 뉴클레오타이드의 시퀀스로 표시된다. 문헌에서 삽입된 시퀀스가 시퀀스의 가장자리에 있을 때, 이를 "소프트 클리핑(soft clipped)"이라고 한다(즉, 뉴클레오타이드는 레퍼런스와 일치하지 않지만, 폐기되는 "하드 클리핑(hard clipped)" 뉴클레오타이드와는 반대로 정렬된 판독으로 유지된다.). 뉴클레오타이드 유지 또는 폐기는 일반적으로 정렬 도구의 구성으로 구현된 사용자의 결정이다. 삭제는 레퍼런스와 관련하여 정렬된 판독에서 "구멍(hole)"(누락된 뉴클레오티드)이다. 이러한 시퀀스는 "I 불일치 판독(I mismatching reads)" 또는 "클래스 I(Class I)"로 레퍼런스 된다.
5. 제5 클래스는 현재 특정한(specified) 정렬 제약 조건에 따라 레퍼런스 시퀀스에서 유효한 맵핑을 찾는 모든 판독을 포함한다. 그러한 시퀀스는 맵핑 되어 있지 않고 "클래스 U"에 속한다고 한다
맵핑 되지 않은 판독은 드노보(de-novo) 어셈블리 알고리즘을 사용하여 단일 시퀀스로 어셈블 할 수 있다. 일단 새로운 시퀀스가 생성되면, 맵핑 되지 않은 판독은 맵핑 된 맵핑 과 관련하여 더 맵핑 될 수 있으며 클래스 P, N, M 및 I의 4 가지 클래스 중 하나로 분류된다.
상기 게놈 데이터의 데이터 구조는 디코딩 엔진에 의해 사용되는 글로벌(global) 파라미터 및 메타 데이터의 저장을 필요로 한다. 이러한 데이터는 아래의 표 1에 설명된 메인 헤더(main header)로 구성된다.
메인 헤더 구조(main header structure)
요소(Element) 유형(Type) 설명(description)
고유 ID(Unique ID) 바이트 어레이(Byte array) 인코딩 컨텐츠를 위한 고유 식별자(Unique identifier)
버전(Version) 바이트 어레이(Byte array) 인코딩 알고리즘의 메이저 + 마이너 버전
헤더 크기(Header Size) 정수(Integer) 전체 인코딩 컨텐츠의 바이트 크기
판독 길이(Reads Length) 정수(Integer) 일정(constant) 판독 길이의 경우 판독 크기. 특수한 값(예, 0)은 변수 판독 길이로 예약된다.
레퍼런스 카운트(Ref count) 정수(Integer) 사용된 레퍼런스 시퀀스의 수
액세스 유닛 카운터(Access Units counters) 바이트 어레이(Byte array) (예, 정수) 레퍼런스 시퀀스당 인코딩 된 액세스 유닛 총 수
레퍼런스 ids(Ref ids) 바이트 어레이(Byte array) 레퍼런스 시퀀스의 고유 식별자(unique indentifier)
마스터 인덱스 테이블(Master index table)각 블록(액세스 유닛)에서의 제1 판독의 정렬 위치.
즉, 4개의 클래스의 각 블록당 레퍼런스 게놈상의 더 작은 제1 판독 위치
레퍼런스 당 pos 클래스(4)당 1
바이트 어레이(Byte array)(예, 정수) 이것은 액세스 유닛(Access Units)에 대한 무작위 액세스를 지원하는 다차원 배열이다.
클래스의 정의에 따라 판독의 분류가 완료되면, 추가 프로세싱은 주어진 레퍼런스 시퀀스 상에 맵핑 되는 것으로 표현될 때, DNA 판독 시퀀스의 재구축(reconstruct)을 가능하게 하는 나머지 정보를 나타내는 구별되는 구문 요소(distinct syntax elements)의 세트를 정의하는 것으로 구성된다.
주어진 레퍼런스 시퀀스에 언급된 DNA 세그먼트(segment)은 다음과 같이 전체적으로 표현될 수 있다:
● 레퍼런스 시퀀스 pos(292)의 시작 위치(starting position).
● 판독이 레퍼런스 rcomp(293) 대 역 보완(reverse complement)으로 간주되어야 하는지 여부를 알려주는 플래그 신호(flag signaling).
● 페어로 된 판독 페어(reads pair)(294)의 경우 메이트 페어(mate pair)까지의 거리.
● 시퀀싱 기술의 경우, 판독 길이(295)의 값은 가변 길이 판독을 생성한다.
일정(constant) 판독 길이의 경우, 각 판독과 연관된 판독 길이는 분명히 생략될 수 있으며 메인 파일 헤더에 저장할 수 있다.
● 각각의 불일치:
o 불일치 위치(클래스 N에 대한 nmis(300), 클래스 N에 대한 snpp(311), 및 클래스 I에 대한 indp(321))
o 불일치 유형(클래스 N에는 없음. 클래스 M의 snpt(312), 클래스 I의 indt(322))
● 다음과 같은 시퀀스 판독의 특정 특징을 나타내는 플래그(296):
o 시퀀싱에서 다중 세그먼트를 갖는 템플릿
o 각 세그먼트는 정렬자에 따라 적절히 정렬된다.
o 맵핑 되지 않은 세그먼트
o 맵핑 되지 않은 템플릿의 다음 세그먼트
o 제1 또는 최종 세그먼트의 신호화
o 품질 관리 실패
o PCR 또는 광학 복제
o 이차(secondary) 정렬
o 보조(supplementary) 정렬
● 클래스 I에 대해 소프트 클리핑 된 뉴클레오타이드 문자열(323)
이 분류는 게놈 시퀀스 판독을 일의적으로 표현하는데 사용할 수 있는 디스크립터(descriptor) 그룹(구문 요소(syntax element))을 생성한다. 아래 표 2에는 정렬된 판독의 각 클래스에 필요한 구문 요소가 요약되어 있다.
데이터 클래스 당 정의된 레이어
P N M I
pos X X X X
pair X X X X
rcomp X X X X
flag X X X X
rlen X X X X
nmis X
snpp X
snpt X
indp X
indt X
indc X
클래스 P에 속한 판독은 특징지어지고, 메이트 페어, 일부 플래그 및 판독 길이를 생성하는 시퀀싱 기술에 의하여 얻어지는 경우에, 단지 위치, 역 보완 정보 및 메이트 간의 오프셋에 의하여 완벽하게 재구축될 수 있다.다음 섹션에서는 이러한 디스크립터가 정의되는 방법에 대해 자세히 설명한다.
위치 디스크립터 레이어(Position Descriptors Layer)
각 액세스 유닛에서 제1 인코딩 된 판독의 맵핑 위치만이 레퍼런스 게놈(reference genome)의 절대 위치(absolute position)로 AU 헤더에 저장된다. 다른 모든 위치는 이전 위치와의 차이로 표시되며 특정 레이어에 저장된다. 판독 위치의 시퀀스에 의해 정의되는 정보 소스의 이러한 모델링은 일반적으로 높은 커버리지 결과를 생성하는 시퀀싱 프로세스에 대해 감소된 엔트로피를 특징으로 한다. 제1 정렬의 절대 위치가 저장되면, 다른 판독의 모든 위치가 제1 정렬과의 차이(거리)로 표시된다.
예를 들어, 도 4는 제1 정렬의 시작 위치를 레퍼런스 시퀀스의 위치 "10000"으로 인코딩한 후, 위치 10180에서 시작하는 제2 판독의 위치를 "180"로 코딩하는 방법을 도시한다. 높은 커버리지 데이터(high coverage data)(> 50x)를 사용하면 위치 벡터의 대부분의 디스크립터에 0 과 1 및 기타 작은 정수와 같은 낮은 값이 매우 많이 발생한다. 도 4는 3 개의 판독 페어의 위치가 pos 레이어에서 어떻게 인코딩 되는지 도시한다.
동일한 소스 모델이 클래스 N, M, P 및 I에 속하는 판독 위치에 사용된다. 데이터에 대한 선택적 액세스의 조합을 가능하게 하기 위해, 4 개의 클래스에 속하는 판독 위치는 표 1에 도시된 바와 같이 개별 레이어로 인코딩 된다.
페어링 디스크립터 레이어(Pairing Descriptors Layer)
페어링 디스크립터는 페어 레이어에 저장된다. 이러한 레이어는 사용된 시퀀싱 기술이 페어로 판독을 생성할 때 원본 판독 페어를 재구축(reconstruct)하는 데 필요한 정보를 인코딩하는 디스크립터를 저장한다. 본 발명의 개시 시점에 대다수의 시퀀싱 데이터는 페어를 이룬 판독을 생성하는 기술을 사용하여 생성되지만, 모든 기술의 경우는 아니다. 이것은 고려된 게놈 데이터의 시퀀싱 기술이 페어를 이룬 판독 정보를 생성하지 않으면 모든 시퀀싱 데이터 정보를 재구축하는데 이 레이어가 필요하지 않은 이유이다.
정의(definition):
● 메이트 페어(mate pair): 판독 페어에서 다른 판독과 연관되는 판독(예를 들어, 판독 2는 도 4의 예에서 판독 1의 메이트 페어다.)
● 페어링 거리(paring distance): 제2 판독의 한 위치(예를 들어, 제2 판독의 제1 뉴클레오타이드)로부터 제1 판독에서 하나의 위치(페어링 앵커, 예컨대 제1 판독의 최종 뉴클레오타이드)를 분리하는 레퍼런스 시퀀스상의 뉴클레오타이드 위치의 수.
● 가장 가능성 있는 페어링 거리(most probable pairing distance) (MPPD): 이것은 뉴클레오타이드 위치의 수로 표현된 가장 가능성 있는 페어링 거리이다.
● 위치 페어 거리(position pairing distance) (PPD): PPD는 특정 위치 디스크립터 레이어에 있는 각각의 메이트에서 하나의 판독을 분리하는 판독 수로 페어링 거리를 표현하는 방법이다.
● 가장 가능성 있는 위치 페어 거리(most probable position pairing distance) (MPPPD): 특정 위치 디스크립터 레이어에 있는 해당 메이트 페어에서 하나의 판독을 분리하는 가장 많은 수의 판독이다.
● 위치 페어링 오류(position pairing error)(PPE): MPPD 또는 MPPPD와 메이트의 실제 위치 사이의 차이로 정의된다.
● 페어링 앵커(pairing anchor): 판독 위치의 수 또는 뉴클레오타이드의 수의 측면에서 메이트 페어의 거리를 계산하기 위한 레퍼런스로 사용되는 페어에서 최종 뉴클레오타이드의 제1 판독 위치.
도 5는 판독 페어 간의 페어링(paring) 거리를 계산하는 방법을 도시한다.
페어 디스크립터 레이어(pair descriptor layer)는 정의된 디코딩 페어링 거리에 대해 페어의 제1 판독의 메이트 페어에 도달하기 위해 건너 뛸 판독 수로 계산된 페어링 오류 벡터(vector of pairing errors)이다.
도 6은 페어링 오류가 절대값 및 차등 벡터(높은 커버리지에 대한 엔트로피가 더 낮은 것을 특징으로 함)로 계산되는 방법의 예를 도시한다.
클래스 N, M, P, I에 속하는 판독의 페어링 정보에는 동일한 디스크립터가 사용된다. 서로 다른 데이터 클래스에 대한 선택적 액세스를 가능하게 하기 위해, 네 개의 클래스에 속하는 판독의 페어링 정보는 도 4에 도시된 바와 같이 다른 레이어에서 인코딩 된다.
서로 다른 레퍼런스에 맵핑된 판독의 경우의 페어링 정보(Pairing information in case of reads mapped on different references)
레퍼런스 시퀀스상에 시퀀스 판독을 맵핑 하는 프로세스(process of mapping sequence reads)에서, 어떤 페어의 제1 판독이 하나의 레퍼런스(예를 들어, 염색체 1)에 맵핑 되고 제2는 다른 레퍼런스(예를 들어, 염색체 4)에 맵핑 되는 것은 드문 일이 아니다. 이 경우에, 판독 중 하나를 맵핑 하는데 사용된 레퍼런스 시퀀스와 연관된 추가 정보(additional information)에 의해, 전술한 페이링 정보는 통합되어야 한다. 이것은 코딩(coding)에 의해 달성된다.
1. 페어가 두 개의 다른 시퀀스에 맵핑 됨을 나타내는 예약된 값(reserved value)(플래그)(판독 l 또는 판독 2가 현재 인코딩 되지 않은 시퀀스에 맵핑 되는지 여부를 나타내는 다른 값)
2. 표 1에 설명된 바와 같이 메인 헤더 구조에서 인코딩 된 레퍼런스 식별자를 참조하는 고유 레퍼런스 식별자(unique reference identifier).
3. 제3 요소는 포인트 2에서 식별되고 최종 인코딩 된 위치에 관한 오프셋(offset)으로 표현되는 레퍼런스 상의 맵핑 정보를 포함한다.
도 7은 이 시나리오의 예를 제공한다.
도 7에서 판독 4는 현재 인코딩 된 레퍼런스 시퀀스에 맵핑 되어 있지 않으므로 게놈 인코더는 페어 레이어에서 추가 디스크립터를 만들어 이 정보를 알린다.
도 7에 도시된 예에서, 페어 2의 판독 4는 레퍼런스 번호 4 에 맵핑 되고, 반면에 현재 인코딩 된 레퍼런스는 번호 1 이다.
이 정보는 다음 세 가지 구성 요소를 사용하여 인코딩 된다.
1) 하나의 특별 예약 값이 페어링 거리로 인코딩 된다(이 경우 0xffffff).
2) 제2 디스크립터는 메인 헤더에 나열된 레퍼런스 ID를 제공한다(이 경우 4).
3) 제3 요소는 해당 레퍼런스(170)에 대한 맵핑 정보를 포함한다.
역 보완 디스크립터 레이어(Reverse Complement Descriptor Layer)
시퀀싱 기술에 의해 생성된 판독 페어의 각각의 판독은 시퀀스 된 유기 표본의 게놈 스트랜드(strand)으로부터 유래될 수 있다. 그러나 두 스트랜드(strand) 중 하나만 레퍼런스 시퀀스로 사용된다. 도 8은 판독 페어에서 하나의 판독(판독 1)이 한 스트랜드에서 나올 수 있고 다른 하나(판독 2)가 다른 것에서 올 수 있는 방법을 도시한다.
스트랜드 1이 레퍼런스 시퀀스로 사용될 때, 판독 2는 스트랜드 1상의 대응되는 조각의 역 보완으로서 코딩 될 수 있다. 이는 도 9에 도시된다.
커플링 된 판독의 경우 네 가지가 직접 및 역 보완 메이트 페어의 가능한 조합이다. 이것은 도 10에 도시된다. rcomp 레이어는 네 가지 가능한 조합을 코딩한다.
P, N, M, I 클래스에 속하는 판독의 역 보완 정보에 대해서도 동일한 코딩이 사용된다. 데이터에 대한 선택적인 액세스를 향상시키기 위해, 네 개의 클래스에 속하는 판독의 역 보완 정보는 표 2에 도시된 바와 같이 상이한 레이어에서 코딩 된다.
클래스 N의 불일치(Mismatches of class N)
클래스 N에는 기본 호출(base call) 대신 'N'이 있는 불일치를 나타내는 모든 판독이 포함된다. 다른 모든 염기는 레퍼런스 시퀀스와 완벽하게 일치한다.
판독 1의 Ns 위치는 다음과 같이 인코딩 된다.
● 판독 1의 절대 위치 또는
● 동일한 판독에서 이전 "N"에 대한 차등 위치(differential position).
판독 2의 Ns 위치는 다음과 같이 인코딩 된다.
● 판독 2 + 판독 1 길이의 절대 위치(absolute position) 또는
● 이전 N에 대한 차등 위치(가장 낮은 엔트로피).
nmis 레이어에서 각 판독 페어의 인코딩은 특수 "구분자(separator)" "S" 심볼로 끝난다. 이것은 도 11에 나와 있다.
인코딩 치환(Encoding substitutions)(불일치 또는 SNP)
치환은, 맵핑 된 판독에서, 동일한 위치에 레퍼런스 시퀀스에 존재하는 것과 상이한 뉴클레오타이드의 존재로 정의된다(도 12 참조).
각 치환 코드는 다음과 같이 인코딩 할 수 있다.
● "위치"(snpp 레이어) 및 "유형"(snpt 레이어). 도 13, 도 14, 도 16 및 도 15 참조.
또는
● "위치" 만이지만 불일치 유형 당 하나의 snpp 레이어 사용. 도 17 참조.
치환 위치(Substitutions Positions)
치환 위치는 nmis 레이어의 값에 대해 계산된다. 즉:
판독 1에서는 치환이 인코딩 된다.
● 판독 1에서 절대 위치로 또는
● 동일한 판독에서 이전 치환에 대한 차등 위치로서, 판독 2에서 치환이 인코딩 된다
판독 2에서는 치환이 인코딩 된다:
● 판독 2 + 판독 1 길이에서 절대 위치로서 또는
● 이전 치환에 대한 차등 위치로서, 도 13은 치환 위치가 레이어 snpp에서 인코딩 되는 방법을 도시한다. 치환 위치는 절대값 또는 미분값으로 계산할 수 있다.
snpp 레이어에서 각 판독 페어의 인코딩은 특수 "구분자(separator)" 심볼로 끝난다.
치환 유형 디스크립터(Substitutions Types Descriptors)
클래스 M(및 다음 절에서 설명하는 바와 같이)에서 불일치는 레퍼런스에 있는 실제 심볼에서부터 판독 {A, C, G, T, N, Z}에 있는 해당 치환 심볼로의 인덱스(오른쪽에서 왼쪽으로 이동)로 코드화 된다. 예를 들어, 정렬된 판독 값이 레퍼런스 내의 동일한 위치에 존재하는 T 대신에 C를 나타내는 경우, 불일치 인덱스(mismatch index)는 "4"로 표시될 것이다. 디코딩 프로세스는 인코딩 된 구문 요소인 레퍼런스의 주어진 위치에 있는 뉴클레오타이드를 판독하고 디코딩 된 심볼을 왼쪽에서 오른쪽으로 검색한다. 예를 들어, 레퍼런스에 G가 있는 위치에 수신된 "2" 는 "N"으로 디코딩 된다. 도 14는 IUPAC 모호성 코드가 사용되지 않을 때, 모든 가능한 치환 및 각각의 코딩화 심볼을 도시하고, 도 15는 snpt 층에서 치환 유형의 인코딩의 예를 제공한다. IUPAC 모호성 코드가 있는 경우, 도 16과 같이 치환 인덱스가 변경된다. 위에 기술된 서브-스테이션(substation) 유형의 코딩화가 높은 정보 엔트로피를 제공하는 경우, 치환 코딩화의 치환 방법은 도 17에 도시된 바와 같이, 불일치 위치만을 뉴클레오타이드 당 하나의 분리된 레이어에 저장하는 것이다.
삽입 및 삭제 코딩(Coding of insertions and deletions)
클래스 I의 경우, 불일치 및 삭제는 레퍼런스에 있는 실제 심볼에서 판독에 있는 해당 치환 심볼 {A, C, G, T, N, Z}에 대한 인덱스로 코딩 된다(오른쪽에서 왼쪽으로 이동). 예를 들어, 정렬된 판독이 레퍼런스에서 같은 위치에 있는 T 대신 C를 나타내는 경우 불일치 인덱스는 "4"가 된다. 판독값에 A가 있는 레퍼런스가 삭제된 경우 코드화된 심볼은 "5"가 된다. 디코딩 프로세스는 코딩 된 구문 요소인 레퍼런스의 주어진 위치에 있는 뉴클레오타이드를 읽고 왼쪽에서 오른쪽으로 이동하여 디코딩 된 심볼을 검색한다. 예를 들어, G가 레퍼런스에 존재하는 위치에 대해 수신된 "3"은 판독된 시퀀스에서 삭제의 존재를 나타내는 "Z"로서 디코딩 될 것이다.
삽입은 삽입된 A, C, G, T, N 각각에 대해 6, 7, 8, 9, 10으로 코딩 된다. IUPAC 모호성 코드의 채택의 경우, 치환 메커니즘은 동일하지만 치환 벡터는 다음과 같이 확장된다. S = {A, C, G, T, N, Z, M, R, W, S, Y, K, V, H, D, B}. 도 18 및 도 19는 클래스 I의 판독 페어에서 치환, 삽입 및 삭제를 인코딩하는 방법의 예를 도시한다.
파일 포맷, 액세스 유닛 및 멀티플렉싱(multiplexing)의 다음 구조는 전술한 코딩 요소를 참조하여 설명된다. 그러나, 액세스 유닛, 파일 포멧 및 멀티플렉싱은 소스 모델링 및 게놈 데이터 압축의 다른 알고리즘을 사용하는 경우에도 동일한 기술적 이점을 제공한다.
파일 포멧: 게놈 데이터 영역에 대한 선택적 액세스
마스터 인덱스 테이블(Master Index Table)
정렬된 데이터의 특정 영역에 대한 선택적 액세스를 지원하기 위하여, 이 문서에서 설명하는 데이터 구조는 MIT(Master Index Table)라는 인덱싱 도구를 구현한다. 이것은 사용된 레퍼런스 시퀀스에서 특정 판독이 맵핑 되는 위치(loci)를 포함하는 다차원 어레이(multi-dimensional)이다. MIT에 포함된 값은 각 액세스 레이어에 대한 비 순차 액세스가 지원되도록 각 pos 레이어에서 제1 판독의 맵핑 위치이다. MIT는 데이터의 각 클래스(P, N, M 및 I) 당 하나의 섹션과 각 레퍼런스 시퀀스마다 하나의 섹션을 포함한다. MIT는 인코딩 된 데이터의 기본 헤더에 포함된다. 도 20은 메인 헤더의 일반적인 구조를 보여주고, 도 21은 MIT의 일반적인 시각적 표현을 보여주고, 도 22는 인코딩 된 판독의 클래스 P에 대한 MIT의 예를 도시한다.
도 22에 도시된 MIT에 포함된 값은 압축된 영역에서 관심 영역(및 해당 AU)에 직접 액세스하는데 사용된다.
예를 들어, 도 22를 참조하면, 레퍼런스 2에서 위치 150,000과 250,000 사이의 영역에 액세스 해야 하는 경우, 디코딩 어플리케이션은 MIT에서 제2 레퍼런스로 건너 뛸 것이고, kl < 150,000 과 k2 > 250,000이 되도록 두 개의 값 kl과 k2를 찾을 것이다.
여기서, k1 및 k2는 MIT로부터 판독된 2 개의 인덱스다. 도 22의 예에서 MIT의 제2 벡터의 위치 3과 4가 된다.
이러한 반환 값(returned value)은 디코딩 응용 프로그램이 다음장에서 설명하는 pos 레이어 로컬 인덱스 테이블(Local Index Table)에서 적절한 데이터의 위치를 가져오는데 사용된다.
위에서 설명한 게놈 데이터의 네 가지 클래스에 속한 데이터를 포함하는 레이어의 포인터와 함께 MIT는 라이프 사이클 동안 게놈 데이터에 추가된 추가 메타 데이터 및/또는 주석의 인덱스로 사용할 수 있다.
로컬 인덱스 테이블(Local Index Table)
위에서 설명한 각 데이터 레이어에는 로컬 헤더라고하는 데이터 구조가 접두어로 붙는다. 로컬 헤더에는 레이어의 고유한 식별자, 각 레퍼런스 시퀀스 당 액세스 유닛 카운터의 벡터, 로컬 인덱스 테이블(LIT) 및 선택사항(optionally)으로 일부 레이어 별 메타 데이터가 포함된다. LIT는 레이어 페이로드(payload)의 각 AU에 속한 데이터의 물리적 위치에 대한 포인터의 벡터이다. 도 23은 LIT가 비 순차 방식으로 인코딩 된 데이터의 특정 영역에 액세스하는데 사용되는 일반 레이어 헤더 및 페이로드를 도시한다.
이전 예에서, 레퍼런스 시퀀스 번호 2에 정렬된 150,000에서 250,000 개의 영역에 액세스하기 위해 디코딩 응용 프로그램은 MIT에서 위치 3과 4를 검색했다. 이 값은 LIT의 해당 섹션의 제3 및 제4 요소에 액세스하기 위해 디코딩 프로세스에서 사용된다. 도 24에 도시된 예에서, 레이어 헤더에 포함된 총 액세스 유닛 카운터는 레퍼런스 1(이 예에서 5)과 관련된 AU에 관련된 LIT 인덱스를 스킵 하는데 사용된다. 따라서, 인코딩 된 스트림에서 요구된 AU의 물리적 위치를 포함하는 인덱스는 다음과 같이 계산된다.
요구된 AU에 속하는 데이터 블록의 위치 = 레퍼런스 1의 AU에 속하는 데이터 블록은 MIT를 사용하여 스킵 + 위치 검색으로, 즉
제1 블록 위치: 5 + 3 = 8
최종 블록 위치: 5 + 4 = 9
로컬 인덱스 테이블이라는 인덱싱 메커니즘을 사용하여 검색된 데이터 블록은 요청된 액세스 유닛의 일부이다.
도 26은 MIT와 LIT를 사용하여 검색된 데이터 블록이 하나 또는 하나 이상의 액세스 유닛을 구성하는 방법을 도시한다.
액세스 유닛(Access Units)
데이터 클래스로 분류되고 압축 또는 비 압축 레이어로 구조화된 게놈 데이터는 서로 다른 액세스 유닛으로 구성된다.
게놈 액세스 유닛(genomic access units, AU)(압축되거나 압축되지 않은 형태로)는 게놈 데이터의 섹션으로 정의되는데, 이는 뉴클레오타이드 시퀀스 및/또는 관련 메타 데이터 및/또는 게놈 시퀀싱 장치 및/또는 게놈 프로세싱 디바이스 또는 분석 애플리케이션에 의해 생성된 DNA/RNA의 시퀀스(예를 들어, 가상 레퍼런스) 및/또는 주석 데이터를 재구축(reconstruct)한다.
액세스 유닛은 전체적으로 이용 가능한 데이터(예를 들어, 디코더 구성)만을 사용하거나 다른 액세스 유닛에 포함된 정보를 사용함으로써 다른 액세스 유닛과 독립적으로 디코딩될 수 있는 데이터 블록이다. 액세스 유닛은 위치 정보(절대 및/또는 상대), 역 보완 및 가능한 경우 페어링(paring) 및 추가 데이터와 관련된 정보의 형태로 게놈 데이터와 관련된 데이터 정보를 포함한다. 몇 가지 유형의 액세스 유닛을 식별할 수 있다.
액세스 유닛(access unit)은 다음과 같이 구분된다.
● 유형, 게놈 데이터 및 데이터세트의 성격 및 액세스 방법의 특징화.
● 주문, 동일한 유형의 유닛에 액세스할 수 있는 고유한 주문 제공.
모든 유형의 액세스 유닛을 다른 "범주(categories)"로 더 분류할 수 있다.
다음은 게놈 액세스 유닛의 다양한 유형에 대한 정의의 비-한정적인(non-exhaustive) 리스트를 따른다:
1) 유형 0의 액세스 유닛은 액세스되거나 디코딩 되고 액세스될 다른 액세스 유닛으로부터 오는 정보를 참조할 필요가 없다(도 29 참조). 그들이 포함하는 데이터 또는 데이터세트에 의해 운반되는 전체 정보는 디코딩 장치 또는 프로세싱 애플리케이션에 의해 독립적으로 판독되고 프로세스 될 수 있다.
2) 유형 1의 액세스 유닛은 유형 0의 액세스 유닛에 의해 운반되는 데이터를 참조하는 데이터를 포함한다(도 30 참조). 유형 1의 액세스 유닛에 포함된 데이터를 읽거나 디코딩하고 프로세스 하려면 유형 0의 하나 또는 하나 이상의 액세스 유닛에 액세스 해야 한다.
이 유형의 액세스 유닛은 유형 0의 액세스 유닛에 포함된 정보와 관련하여 불일치 또는 비 유사성 또는 비 일치성 정보를 포함할 수 있다.
3) 유형 2, 3 및 4의 액세스 유닛에는 유형 1의 액세스 유닛을 나타내는 데이터가 들어 있다(도 31, 도 32 및 도 33 참조). 유형 2, 3 및 4의 액세스 유닛에 포함된 데이터 또는 데이터세트를 판독하거나 디코딩하고 프로세스 하려면 유형 0 및 유형 1의 액세스 유닛에 포함된 데이터 또는 데이터세트에 의해 운반된 정보가 필요하다. 유형 2, 3 및 4 액세스 장치 간의 차이는 포함하는 정보의 성격에 달려 있다.
4) 유형 5의 액세스 유닛은 유형 1의 액세스 유닛에 포함된 데이터 또는 데이터세트와 관련된 메타 데이터(예를 들어, 품질 스코어) 및/또는 주석 데이터를 포함한다. 유형 5의 액세스 유닛은 다른 레이어에서 분류되고 레이블 될 수 있다. 5) 유형 6의 액세스 유닛에는 주석 데이터로 분류된 데이터 또는 데이터세트가 포함된다. 유형 6의 액세스 유닛은 레이어로 레이블 되고 분류될 수 있다.
6) 추가 유형의 액세스 유닛은 여기에 설명된 구조와 메커니즘을 확장할 수 있다. 예를 들어, 제한은 아니지만, 게놈 변형 호출, 구조 및 기능 분석의 결과는 새로운 유형의 액세스 유닛으로 인코딩 될 수 있다. 여기에 설명된 액세스 유닛의 데이터 구성은 인코딩 된 데이터의 특성과 관련하여 완전히 투명한 메커니즘인 액세스 유닛에 캡슐화된 모든 유형의 데이터를 차단하지 않는다.
이 유형의 액세스 유닛은 유형 0의 액세스 유닛에 포함된 정보와 관련하여 불일치 또는 비 유사성 또는 비 일치성의 정보를 포함할 수 있다.
도 28은 헤더와 동질의 데이터(homogeneous data)의 하나 또는 하나 이상의 레이어로 액세스 유닛을 구성하는 방법을 도시한다. 각 레이어는 하나 또는 하나 이상의 블록으로 구성될 수 있다. 각각의 블록은 몇 개의 패킷을 포함하고, 상기 패킷은 위에 소개된 기술자의 구조화된 시퀀스이다. 위치, 페어 정보, 역 보완 정보, 불일치 위치 및 유형 등을 판독한다. 각각의 액세스 유닛은 각 블록에서 다른 수의 패킷을 가질 수 있지만, 액세스 유닛 내에서 모든 블록은 동일한 수의 패킷을 갖는다.
각 데이터 패킷은 3 개의 식별자 X Y Z의 조합으로 식별할 수 있다. 여기서,
● X는 자신이 속한 액세스 유닛을 식별한다.
● Y는 그것이 속한 블록(즉, 캡슐화 된 데이터 유형)을 식별한다.
● Z는 동일한 블록의 다른 패킷에 대한 패킷 순서를 나타내는 식별자이다
도 28은 액세스 유닛 및 패킷 레이블(labeling)의 예를 도시한다.
도 34 ~ 도 38은 몇 가지 유형의 액세스 유닛을 보여주며, 이들을 나타내는 공통 구문(common syntax)은 다음과 같다. AU_T_N은 액세스 유닛 유형에 따라 주문 개념을 암시하거나 암시하지 않을 수 있는 식별자 N을 가진 유형 T의 액세스 유닛이다. 식별자는, 한 유형의 액세스 유닛을 운반된 게놈 데이터를 완전히 해독하는데 필요한 다른 유형의 액세스 유닛과 고유하게 연관시키는데 사용된다.
모든 유형의 액세스 유닛은 서로 다른 계열화 프로세스에 따라 서로 다른 "범주"로 레이블링 되고 분류될 수 있다.
예를 들어, 제한은 아니지만 분류 및 레이블링은
- 동일한 유기체를 서로 다른 시간에 시퀀싱 할 때 발생할 수 있다(액세스 유닛에는 "시간적" 의미가 포함된 게놈 정보가 포함됨).
- 동일한 유기체(예를 들어, 피부, 혈액, 인간 샘플의 모발)의 서로 다른 성격의 유기 샘플을 시퀀싱 한다. 이들은 "생물학적" 의미를 가진 액세스 유닛이다.
유형 1, 2, 3 및 4의 액세스 유닛은 이들이 참조하는 유형 0의 액세스 유닛으로 인코딩 된 레퍼런스 시퀀스에 대해 게놈 시퀀스 조각(a.k.a. 판독)에 적용된 매칭 기능의 결과에 따라 만들어(built) 진다.
예를 들어, 매칭 기능이 유형 0의 AU로 인코딩 된 레퍼런스 시퀀스의 특정 영역에 적용될 때, 유형 1의 액세스 유닛(AU)(도 30 참조)은 완전 매칭(또는 선택된 매칭 기능에 대응하는 최대 가능한 스코어)를 발생하는 판독 위치 및 역 보완 플래그를 포함할 수 있다. 유형 0의 AU에 포함된 데이터와 함께, 이러한 매칭 함수 정보는 유형 1의 액세스 유닛에 의해 운반되는 데이터세트에 의해 표현된 모든 게놈 시퀀스 판독을 완전하게 재구축하기에 충분하다.
이 문서에서 이전에 설명된 게놈 데이터 분류를 레퍼런스 하면, 위에서 설명한 유형 1의 액세스 유닛에는 클래스 P의 게놈 시퀀스 판독과 관련된 정보(완벽한 일치)가 포함된다.
가변 길이 판독 및 페어 판독의 경우, 이전 예에서 언급된 유형 1의 AU에 포함된 데이터는, 판독 페어 연관을 포함하는 게놈 데이터를 완전히 재구축할 수 있도록 판독 페어링(paring) 및 판독 길이에 대한 정보를 나타내는 데이터와 통합되어야 한다. 본 문서에서 이전에 도입된 데이터 분류와 관련하여, 페어 및 rlen 레이어는 유형 1의 AU로 인코딩 될 것이다.
유형 2, 3 및 4에 대한 AU의 내용을 분류하기 위해 유형 1의 액세스 유닛과 관련하여 적용된 일치 함수는 다음과 같은 결과를 제공할 수 있다.
- 유형 1의 AU에 포함된 각 시퀀스는 특정 위치에 대응하여 유형 0의 AU에 포함된 시퀀스를 완벽하게 매칭한다;
- 유형 2의 AU에 포함된 각 시퀀스는, 유형 2의 AU 내의 시퀀스에서 존재하는 "N" 심볼(시퀀싱 디바이스에 의해 호출되지 않은 염기)을 제외하고, 특정 위치에 대응하는 유형 0의 AU에 포함된 시퀀스와 완전히 일치한다;
- 유형 3의 AU에 포함된 각 시퀀스는 특정 위치에 대응하는 유형 0의 AU에 포함된 시퀀스의 치환된 심볼(변형)의 형태의 변형을 포함한다;
- 유형 4의 AU에 포함된 각 시퀀스는 특정 위치에 대응하여, 유형 0의 AU에 포함된 시퀀스에 대한 치환된 심볼(변형), 삽입 및/또는 삭제의 형태의 변형을 포함한다.
유형 0의 액세스 유닛은 순서가 정해지지만(예를 들어, 번호가 부여됨), 정렬된 방식으로 저장 및/또는 전송될 필요는 없다(기술적 이점: 병렬 프로세싱/병렬 스트리밍(streaming), 멀티플렉싱(multiplexing)).
유형 1, 2, 3 및 4 유형의 액세스 유닛은 주문할 필요가 없으며, 순서대로 저장 및/또는 전송할 필요가 없다(기술적 이점: 병렬 프로세싱/병렬 스트리밍).
기술적인 효과(Technical effects)
여기에 기술된 바와 같이 액세스 유닛에서 게놈 정보를 구조화하는 기술적 효과는 게놈 데이터는:
1. 액세스를 위해 선택적으로(selectively) 쿼리(queried) 될 수 있다.
- 전체 게놈 데이터 또는 데이터세트 및/또는 관련 메타 데이터를 압축 해제할 필요없이 데이터의 특정 "범주(categories)"(예를 들어, 특정 시간 또는 생물학적 의미(connotation))
- 모든 "범주"의 게놈의 특정 영역, "범주"의 부분 세트, 게놈의 다른 영역을 압축 해제할 필요 없는(연관된 메타 데이터가 있거나 없는) 단일 "범주"
2. 다음과 같은 경우에 사용할 수 있는 새 데이터로 증분적으로 업데이트될 수 있다.
- 게놈 데이터 또는 데이터세트에 대한 새로운 분석이 수행된다.
- 새로운 생물체 데이터 또는 데이터세트는 동일한 생물체(다른 생물학적 샘플, 동일한 유형의 다른 생물학적 샘플, 예를 들어 혈액 샘플이나 다른 시간에 획득된 것 등)을 시퀀싱 하여 생성된다.
3. 새로운 데이터 포멧으로 효율적으로 코드 변환할 수 있다.
- 새로운 레퍼런스 자료로 사용될 새로운 게놈 데이터 또는 데이터세트(예를 들어, AU 유형 0으로 운반되는 새로운 레퍼런스 게놈)
- 인코딩 포멧 스펙의 업데이트
전술한 기술적 특징은 SAM/BAM과 같은 종래 기술 솔루션과 관련하여, 전체 데이터가 인코딩 된 포맷으로부터 검색되고 압축 해제될 때 애플리케이션 레벨에서 데이터 필터링이 요구되는 문제를 해결한다.
이후 액세스 유닛 구조가 기술적 우위를 위한 수단이 되는 애플리케이션 시나리오의 예를 설명한다.
선택적 액세스(Selective access)
특히, 상이한 유형의 액세스 유닛에 기초한 개시된 데이터 구조는
- 관련된 모든 메타 데이터 정보를 압축 해제하지 않고 모든 "범주"또는 서브 세트(subset)(즉 하나 또는 하나 이상의 레이어) 또는 단일 "범주"의 전체 시퀀싱의 판독 정보(데이터 또는 데이터 세트) 만 추출한다(현재의 최첨단 상태의 한계: 서로 다른 카테고리 또는 레이어 간의 구별을 지원할 수 없는 SAM/BAM).
- 모든 카테고리에 대해 가정된 레퍼런스 시퀀스의 특정 영역, 카테고리의 서브 세트, 게놈의 다른 영역을 압축 해제할 필요없이 단일 카테고리(관련 메타 데이터가 있거나 없는)를 정렬한다(현재의 최첨단 상태의 한계: SAM/BAM);
도 39는 레퍼런스 시퀀스(AU 0-2)의 제2 세그멘트 상에 맵핑 된 게놈 정보에 대한 액세스가 불일치를 갖는 경우에만 AU 0-2, 1-2 및 3-2 만의 디코딩을 필요로 하는 방법을 도시한다. 이것은 맵핑 영역(즉, 레퍼런스 시퀀스상의 위치)과 관련된 기준(criteria) 및 레퍼런스 시퀀스에 대한 인코딩 된 시퀀스 판독에 적용되는 매칭 기능과 관련된 기준(즉, 이 예에서 불일치의 경우에만) 모두에 따른 선택적 액세스의 예이다.
추가적인 기술적 이점은 선택된 "카테고리", 보다 긴 게놈 시퀀스의 특정 영역 및 적용된 쿼리 및 이들의 조합의 기준과 일치하는 유형 1, 2, 3, 4의 액세스 유닛을 위한 특정 레이어만 액세스하고 디코딩하는 것을 기반으로 할 수 있기 때문에, 데이터 액세스 및 실행 속도면에서 데이터 쿼리가 훨씬 효율적이라는 것이다.
레이어에 유형 1, 2, 3, 4의 액세스 유닛을 구성하면 뉴클레오타이드 시퀀스를 효율적으로 추출할 수 있다.
- 하나 또는 하나 이상의 레퍼런스 게놈(reference genome)과 관련된 특정 변형(예들 들어, 불일치, 삽입, 삭제)
- 고려되는 레퍼런스 게놈에 맵핑 되지 않는다.
- 하나 또는 하나 이상의 레퍼런스 게놈을 완벽하게 맵핑 한다.
- 하나 또는 하나 이상의 정확도 수준을 가진 지도
증분 업데이트(Incremental update)
유형 5 및 6의 액세스 유닛은 전체 파일을 역 패킷화/디코딩/압축 해제할 필요없이 주석을 쉽게 삽입할 수 있게 함으로써 종래 기술의 접근법의 한계인 파일의 효율적인 처리(handling)를 추가한다. 기존의 압축 솔루션은 원하는 게놈 데이터에 액세스하기 전에 다량의 압축 데이터에 액세스하여 프로세스해야 했다. 이는 하드웨어 구현에서 비효율적인 RAM 대역폭 사용과 더 많은 전력 소비를 유발한다. 전력 소모 및 메모리 액세스 문제는 여기에 설명된 액세스 유닛에 기반한 접근 방식을 사용하여 완화할 수 있다.
액세스 유닛(Access Unite)의 활용과 함께 마스터 인덱스 테이블(Master Index Table)(도 21 참조)에 설명된 데이터 인덱스 메커니즘을 사용하면 아래에 설명된 바와 같이 인코딩 된 컨텐트를 증분 업데이트 할 수 있다.
추가 데이터 삽입(Insertion of additional data)
새로운 게놈 정보는 여러 이유로 인해 기존 게놈 데이터에 주기적으로 추가될 수 있다. 예를 들면:
● 유기체가 시간적으로 다른 순간에 시퀀싱 된다.
● 동일 개체의 여러 가지 다른 표본이 동시에 시퀀싱 된다.
● 시퀀싱 프로세스(스트리밍(streaming))로 새로운 데이터가 생성된다.
위에서 언급한 액세스 유닛과 파일 포멧 섹션에 설명된 데이터 구조를 사용하여 데이터를 구조화하면 기존 데이터를 다시 인코딩 할 필요없이 새로 생성된 데이터를 증분적으로 통합할 수 있다. 증분적인 업데이트 프로세스는 다음과 같이 구현할 수 있다.
1. 새로 생성된 AU는 기존의 AU와 파일로 간단하게 연결할 수 있다.
2. 새로 생성된 데이터 또는 데이터세트의 인덱스 생성은 이 문서의 파일 포멧 섹션에 설명된 마스터 인덱스 테이블에 포함된다. 하나의 인덱스는 새로 생성된 AU를 기존의 레퍼런스 시퀀스에 배치하고, 다른 인덱스는 물리적 파일에서 새로 생성된 AU의 포인터로 구성되어 직접 및 선택적 액세스를 가능하게 한다.
이 메커니즘은 도 40에 나와 있으며, 유형 1의 제3 AU와 유형 2에서 4까지의 각 유형 당 제4 AUs로 인코딩 된 기존 데이터는, 예를 들어 동일한 개체에 대한 새로운 시퀀스 실행에서 오는 인코딩 데이터를 가지고 유형당 제3 AUs으로 업데이트 된다.
게놈 데이터 및 데이터세트를 압축된 형태로 스트리밍(streaming)하는 특정 용도의 경우, 기존 데이터세트의 증분 업데이트는 시퀀싱 장치에 의해 생성되는 즉시 및 실제 시퀀싱이 완료되기 전에 데이터를 분석할 때 유용할 수 있다. 인코딩 엔진(압축기)은 선택한 레퍼런스 시퀀스의 동일한 영역에 맵핑 되는 시퀀스 판독을 "클러스터링" 하여 여러 개의 AU를 병렬로 어셈블할 수 있다. 제1 AU에 미리 구성된 임계 값/매개 변수보다 많은 판독수가 포함되면 AU는 분석 응용 프로그램으로 보낼 준비가 된다. 새로이 인코딩 된 액세스 유닛과 함께 인코딩 엔진(압축기)은 새로운 AU가 의존하는 모든 액세스 유닛이 이미 수신단으로 전송되었거나 함께 전송되는지 확인해야 한다. 예를 들어, 유형 3의 AU는 적절하게 디코딩 되기 위해 유형 0 및 유형 1의 적절한 AU가 수신단에 존재할 것을 요구할 것이다.
기술된 메커니즘에 의해, 수신 변종 호출 애플리케이션은 시퀀스화 프로세스가 송신측에서 완료되기 전에 수신된 AU에 대해 변형을 호출하는 것을 시작할 수 있다. 이 프로세스의 개략도가 도 41에 도시되어 있다.
결과에 대한 새로운 분석(New analysis of results)
게놈 프로세싱 라이프 사이클 동안, 게놈 분석의 여러 번의 반복이 동일한 데이터(예를 들어, 상이한 프로세싱 알고리즘을 사용하는 상이한 변형의 호출)에 적용될 수 있다. 이 문서에서 정의된 대로 AU를 사용하고 이 문서의 파일 포멧 섹션에 설명된 데이터 구조를 사용하면 기존 압축 데이터를 새 분석 결과로 증분적으로 업데이트 할 수 있다. 예를 들어, 기존의 압축된 데이터에 대해 수행된 새로운 분석은 다음과 같은 경우에 새로운 데이터를 생성할 수 있다.
1. 새로운 분석은 이미 인코딩 된 데이터와 관련된 기존 결과를 수정할 수 있다. 이 사용 사례는 도 42에 도시되어 있으며, 한 유형에서 다른 유형에까지 하나의 액세스 유닛(Access)의 내용 전체 또는 일부를 이동하여 구현된다
새로운 AU를 생성해야 하는 경우(AU 당 미리 정의된 최대 크기로 인해), 마스터 인덱스 테이블의 관련 인덱스가 만들어져야 하고 필요할 때 관련 벡터가 정렬되어야 한다.
2. 새로운 데이터는 새로운 분석으로부터 생성되며 기존의 인코딩 된 데이터와 연관되어야 한다. 이 경우 유형 5의 새로운 AU가 생성되어 동일한 유형의 AU의 기존 벡터와 연결된다.
이것과 마스터 인덱스 테이블의 관련 업데이트가 도 43에 도시되어 있다.
위에 설명되고 도 42 및 도 43에 도시된 사용 사례는 다음에 의해 활성화된다.
1. 맵핑 품질이 좋지 않은 데이터(예를 들어, 유형 4의 AU)에만 직접 액세스 할 수 있는 가능성.
2. 새로운 유형에 속할 가능성이 있는 새로운 액세스 유닛을 단순히 생성함으로써 새로운 유전체 영역에 대한 판독을 다시 맵핑 할 수 있는 가능성(예를 들어, 유형 4의 AU에 포함된 판독은 적은(유형 2-3) 불일치로 새로운 영역으로 재 맵핑 되고 새로 생성된 AU에 포함 도리 수 있다.).
3. 새로 생성된 분석 결과 및/또는 관련 주석만을 포함하는 유형 6의 AU를 생성할 수 있는 가능성. 이 경우 새로 생성된 AU는 단지 참조하는 기존 AU에 대한 "포인터(pointer)"만 포함하면 된다.
트랜스코딩(Transcoding)
압축된 게놈 데이터는, 예를 들어 다음과 같은 경우에 트랜스코딩을 요구할 수 있다.
● 새로운 레퍼런스 시퀀스의 발행(publication);
● 다른 맵핑 알고리즘 사용(재맵핑).
게놈 데이터가 기존의 공개된 레퍼런스 게놈(reference genome) 상에 맵핑 되는 경우, 오늘날 상기 레퍼런스 시퀀스의 새로운 버전의 공개된 또는 다른 프로세싱 알고리즘을 사용하여 데이터를 맵핑 하고자 하는 욕구는 재맵핑(re-mapping) 프로세싱이 필요하다. SAM 또는 CRAM과 같은 종래 기술의 파일 포맷을 사용하여 압축된 데이터를 재맵핑 하는 경우, 압축된 데이터 전체는 "미가공(raw)" 형태로 압축 해제되어 새롭게 이용 가능한 레퍼런스 시퀀스 또는 다른 맵핑 알고리즘을 사용하여 다시 맵핑 되어야 한다. 새로 게시된 레퍼런스가 이전의 것과 약간 다르거나 사용된 다른 맵핑 알고리즘이 이전 맵핑 과 매우 유사한(또는 동일한) 맵핑을 생성하는 경우에도 마찬가지이다.
여기에 설명된 액세스 유닛을 사용하여 구조화된 게놈 데이터를 트랜스코딩(transcoding)하는 이점은 다음과 같다.
1. 새로운 레퍼런스 게놈 대 맵핑 은 변경된 게놈 영역에 맵핑 되는 AU의 데이터를 다시 인코딩(압축 해제 및 압축)해야 한다. 또한, 사용자는 원래 변경된 영역에 맵핑 하지 않아도, 어떤 이유로 든 다시 맵핑 해야 할 수도 있는 압축된 판독을 선택할 수 있다(사용자가 이전의 맵핑 품질이 좋지 않다고 생각되는 경우 발생할 수 있음). 이 사용 사례는 도 44에 도시되어 있다.
2. 새로이 공개된 레퍼런스 게놈이 다른 게놈 위치("loci")로 이동된 전체 영역에 대해서만 이전 사례와 다른 경우, 트랜스코딩 작업은 특히 간단하고 효율적이다. 사실, "이동된" 영역에 맵핑 된 모든 판독 값을 이동시키기 위해서는 관련된 AU 세트에 포함된 절대 위치 값을 변경하는 것만으로 충분하다. 각 AU 헤더는 AU에 포함된 제1 판독이 레퍼런스 시퀀스에서 맵핑 된 절대 위치를 포함하고, 다른 모든 판독 위치는 제1와 관련하여 차등적으로 인코딩 된다. 따라서 제1 판독의 절대 위치값을 간단히 업데이트함으로써 AU의 모든 판독이 그에 따라 이동된다. 게놈 데이터 위치가 압축된 페이로드에 인코딩 되어 모든 게놈 데이터세트의 완전한 압축 해제 및 재압축이 필요하기 때문에, 이 메커니즘은 CRAM 및 BAM과 같은 최첨단 접근법으로 구현할 수 없다.
3. 다른 맵핑 알고리즘이 사용되는 경우, 품질이 좋지 않은 것으로 간주된 압축된 판독의 일부에만 이를 적용할 수 있다. 예를 들어, 레퍼런스 게놈에서 완벽하게 일치하지 않는 판독에만 새로운 맵핑 알고리즘을 적용하는 것이 적절할 수 있다. 오늘날의 기존 포멧으로, 맵핑 품질(즉, 존재하지 않는 수 및 불일치 수)에 따라 판독을 추출하는 것은 불가능 하다(또는 일부 제한 사항으로 부분적으로만 가능함). 새 맵핑 도구로 새로운 맵핑 결과가 반환(return)되면 관련 판독이 동일한 유형의 다른 AU(한 위치에서 다른 위치로) 또는 한 AU 유형에서 다른 유형의 AU 위치로 변환될 수 있다(도 45).
또한, 종래 기술의 압축 솔루션은 원하는 게놈 데이터가 액세스 될 수 있기 전에 다량의 압축 데이터를 액세스하고 프로세스해야 할 수 있다. 이로 인해 비효율적인 RAM 대역폭 사용과 더 많은 전력 소비 및 하드웨어 구현이 발생한다. 전력 소모 및 메모리 액세스 문제는 여기에 설명된 액세스 유닛에 기반한 접근 방식을 사용하여 완화할 수 있다. 여기에 설명된 게놈 액세스 장치의 채택의 또 다른 이점은 병렬 프로세스의 용이성과 하드웨어 구현에 대한 적합성이다. SAM/BAM 및 CRAM과 같은 현재 솔루션은 단일 스레드 소프트웨어 구현을 위해 고안되었다.
선택적 암호화(Selective encryption)
이 문서에서 설명한 것처럼 여러 유형의 레이어로 구성된 액세스 유닛을 기반으로 한 접근 방식은 최첨단 모놀리식 솔루션으로는 불가능한 콘텐츠 보호 메커니즘을 구현할 수 있게 한다.
당업자는 생물체의 유전적 프로파일과 관련된 대부분의 게놈 정보가 공지된 시퀀스(예를 들어, 레퍼런스 게놈 또는 게놈 집단)에 대한 차이(변형)에 의존한다는 것을 알고 있다. 그러므로, 허가되지 않은 접근으로부터 보호받을 개별 유전자 프로파일은 이 문서에서 설명한 대로 유형 3과 4의 액세스 유닛으로 인코딩 된다. 따라서, 시퀀싱 및 분석 프로세스에 의해 생성된 가장 센서블한(sensible) 게놈 정보에 대한 제어된 액세스 구현은 유형 3 및 4의 AU의 페이로드 만 암호화하여 구현할 수 있다(예, 도 47 참조). 암호화 프로세스를 사용하는 리소스는 데이터의 서브 세트(subset)에만 적용되어야 하므로 프로세스 능력과 대역폭 측면에서 상당한 절감 효과를 얻을 수 있다.
게놈 액세스 유닛의 이송(Transport of Genomic Access Units)
게놈 데이터 멀티플렉스(Genomic Data Multiplex)
게놈 액세스 유닛은 게놈 데이터 멀티플렉스(genome Data Multiplex) 내의 통신 네트워크를 통해 전송할 수 있다. 게놈 데이터 멀티플렉스(multiplex)는, 패킷 손실과 같은 오류가 발생할 수 있는 네트워크 환경에서 전송되는, 본 발명의 일부로서 개시된 데이터 분류에 따라 표현된 패킷화된 게놈 데이터 및 메타 데이터의 시퀀스로서 정의된다.
게놈 데이터 멀티플렉스는 다양한 환경(일반적으로 네트워크 환경)에서 게놈 코딩 데이터의 전송을 보다 효율적으로 용이하게 하고 렌더링하기 위해 고안되었으며 최첨단 솔루션에는 없는 다음과 같은 장점이 있다.
1. 이것은, 네트워크 환경에서 수행되고 유효하고 동일한 스트림 또는 파일 포멧을 복구하여 전송 및 정보 액세스를 보다 효율적으로 렌더링 할 수 있도록 하기 위하여, 인코딩 도구에 의해 생성된 게놈 파일 포멧(Genome file format) 또는 게놈 데이터 스트림 또는 시퀀스(이하에서 기술됨)를 하나 또는 하나 이상의 게놈 데이터 멀티플렉스(genome data multiplex)로 캡슐화(encapsulation) 할 수 있게 한다.
2. 디코딩 및 프리젠테이션을 위해 캡슐화(encapsulation) 된 게놈 데이터 스트림(Genomic Data Stream)에서 인코딩 된 게놈 데이터를 선택적으로 검색할 수 있다.
3. 여러 게놈 데이터세트를 전송용 단일 컨테이너로 멀티플렉싱 할 수 있으며, 운반된 정보의 서브 세트(subset)를 새로운 게놈 데이터 멀티플렉스로 디-멀티플렉싱(de-multiplexing) 할 수 있다.
4. 다른 소스(결과적으로 분리된 액세스와 함께) 및/또는 시퀀싱/분석 프로세스에 의해 생성된 데이터 및 메타 데이터의 멀티플렉싱(multiplexing)를 가능하게 하고 결과적인 게놈 데이터 멀티플렉스(Genomic Data Multiplex)를 네트워크 환경을 통해 전송할 수 있다.
5. 패킷 손실과 같은 오류 식별을 지원한다.
6. 네트워크 지연으로 인해 순서가 틀리게 도착할 수 있는 데이터의 적절한 재주문을 지원하므로, 최첨단 솔루션과 비교했을 때 게놈 데이터의 전송이 더 효율적이다.
게놈 데이터 멀티플렉싱(genomic data multiplexing)의 예가 도 49에 도시되어 있다.
게놈 데이터세트(Genomic Dataset)
본 발명의 내용에서, 게놈 데이터세트는 게놈 데이터의 구조화된 세트로서 정의되며, 예를 들어, 생체의 게놈 데이터, 게놈 데이터 프로세스의 몇 단계에 의해 생성된 하나 또는 하나 이상의 시퀀스 및 메타 데이터, 또는 생체의 게놈 시퀀싱의 결과를 포함할 수 있다. 하나의 게놈 데이터 멀티플렉스(Genome Data Multiplex)는 여러 게놈 데이터세트를 포함할 수 있다(다중 채널 시나리오에서와 같이). 각 데이터세트는 다른 유기체를 나타낸다. 하나의 게놈 데이터 멀티플렉스에 대한 여러 데이터세트의 멀티플렉싱(multiplexing) 메커니즘은 게놈 데이터세트 리스트, 즉 GDL(Genomic Dataset List) 및 게놈 데이터세트 맴핑 테이블, 즉 GDMT(Genomic Dataset Mapping Table)라고 하는 데이터 구조에 포함된 정보에 의해 관리된다.
게놈 데이터세트 리스트(Genomic Dataset List)
게놈 데이터세트 리스트(GDL)은 게놈 데이터 멀티플렉스에서 사용 가능한 모든 게놈 데이터세트를 나열하는 데이터 구조로 정의된다. 나열된 각 게놈 데이터세트는 게놈 데이터세트(genome Dataset) ID, 즉 GID라는 고유한 값으로 식별된다.
GDL에 나열된 각 게놈 데이터세트는 다음과 관련된다.
● 하나의 GDMT(Genome Dataset Mapping Table)를 가지고 있고 스트림 ID(Stream ID)(genomic_dataset_map_SID)의 특정 값으로 식별되는 하나의 게놈 데이터 스트림.
● 하나의 레퍼런스 ID 맵핑 테이블(Reference ID Mapping Table)(RIDMT)을 가지고 있고 스트림 ID(Stream ID_(reference_id_map_SID)의 특정 값으로 식별되는 하나의 게놈 데이터 스트림.
GDL은 게놈 데이터 스트림 전송을 시작할 때, 단일 전송 패킷의 페이로드로 전송된다. 스트림에 임의 액세스를 가능하게 하기 위해 주기적으로 다시 전송할 수 있다. GDL 데이터 구조의 구문은 각 구문 요소와 관련된 데이터 유형의 표시와 함께 아래 표 3에 나와 있다.
구문(Syntax) 데이터 유형(Data type)
genomic_dataset_list() {
list_length 비트스트링(bitstring)
multiplex_id 비트스트링(bitstring)
version_number 비트스트링(bitstring)
applicable_section_flag 비트(bit)
list_ID 비트스트링(bitstring)
for(i = 0; i < N; i++) { N = 이 게놈 멀티플렉스에서 게놈 데이터세트의 수
genomic_dataset_ID 비트스트링(bitstring)
genomic_dataset_map_SID 비트스트링(bitstring)
reference_id_map_SID 비트스트링(bitstring)
}
CRC_32 비트스트링(bitstring)
}
위에서 설명한 GDL을 구성하는 구문 요소에는 다음 표 4와 같은 의미와 기능이 있다.
section_length 비트스트링 필드(bitstring field), 섹션(section)을 구성하는 바이트(bytes)의 수를 특정하고, section_length 필드(field)를 따라 즉시 시작하고 CRC를 포함한다.
multiplex_id 네트워크내의 다른 멀티플렉스로부터 이 멀티플렉스 스트림을 식별하기 위한 레이블로 활용하는 비트스트링 필드(bitstring field)
version_number 전체 게놈 데이터세트 리스트 섹션의 버전 수를 나타내는 비트스트링 필드(bitstring field). 버전 수(version number)는 게놈 데이터세트 맵핑 테이블의 정의가 변화할 때 마다 1 만큼씩 증분하는 것이다. 값이 127에 도달하면 0으로 마무리된다. applicable_section_flag 이 '1'로 세트 될 때, version_number는 현재 적용가능한 게놈 데이터세트 리스트의 수이다. applicable_section_flag 가 '0'으로 세트 될 때, version_number는 다음 적용가능한 게놈 데이터세트 리스트의 수이다.
applicable_section_flag 1 비트(bit) 표시자, '1'로 세트 되는 것은 보내진 게놈 데이터세트 맵핑 테이블이 현재 적용 가능하다는 것을 나타낸다. '0'으로 세트 되는 것은 보내진 테이블은 아직 적용 가능하지 않고 다음 테이블에서 유효하게 된다는 것을 나타낸다.
list_ID 이것은 현재 게놈 데이터 리스트를 식별하는 비트스트링(bitstring) 이다.
genomic_dataset_ID genomic_dataset_ID는 genomic_dataset_map_SID가 적용 가능한 게놈 데이터세트를 특정하는 비트스트링 필드(bitstring field) 이다. 이 필드는 게놈 데이터세트 맵핑 테이블의 하나의 버전내에서 적어도 한번 이상 싱글 값(single value)을 가지지 않는다.
genomic_dataset_map_SID genomic_dataset_map_SID는 게놈 데이터세트와 연관된 게놈 데이터세트 맵핑 테이블(GDMT)를 포함하는 게놈 데이터 스트림을 식별하는 비트스트링 필드(bitstring field) 이다. 어떤 genomic_dataset_ID도 연관된 genomic_dataset_map_SID를 하나 이상 가지지 않는다. genomic_dataset_map_SID의 값은 사용자에 의해 정의된다.
reference_id_map_SID reference_id_map_SID는 게놈 데이터세트와 연관된 게놈 데이터세트 맵핑 테이블(GDMT)를 포함하는 게놈 데이터 스트림을 식별하는 비트스트링 필드(bitstring field) 이다. 어떤 genomic_dataset_ID도 연관된 reference_id_map_SID 를 하나 이상 가지지 않는다. reference_id_map_SID의 값은 사용자에 의해 정의된다.
CRC_32 이것은 전체 GDL을 위한 통합 체크값을 포함하는 비트스트링 필드(bitstring field) 이다. 이 목적의 기능을 위해 사용되는 하나의 전형적인 알고리즘은 32 비트값(bit value)을 출력하는 CRC32 알고리즘이다.
게놈 데이터세트 맵핑 테이블(Genomic Dataset Mapping Table)
게놈 데이터세트 맵핑 테이블(Genomic Dataset Mapping Table)(GDMT)은 스트리밍 프로세스의 시작에서 생성되고 전송된다(그리고 대응점 및 스트리밍된 데이터의 관련 종속성을 업데이트할 수 있도록 주기적으로 재전송되거나 업데이트되거나 동일해야 함). GDMT는 게놈 데이터세트 리스트(Genomic Dataset List) 다음에 단일 패킷(Packet)에 의해 운반되며, 하나의 게놈 데이터세트(Genomic Dataset)를 구성하는 게놈 데이터 스트림(Genomic Data Stream)을 식별하는 SID를 나열한다. GDMT는 게놈 멀티 플렉스에 의해 운반되는 하나의 게놈 데이터세트를 구성하는 게놈 데이터 스트림(예를 들어, 게놈 시퀀스, 레퍼런스 게놈, 메타 데이터 등)의 모든 식별자의 전체 모음이다. 게놈 데이터세트 맵핑 테이블은 각 게놈 데이터세트와 연관된 게놈 데이터 스트림의 식별자를 제공함으로써 게놈 시퀀스에 대한 임의의 액세스를 가능하게 하는 데 유용하다.
GDMT 데이터 구조의 구문(syntax)은 각 구문 요소와 연관된 데이터 유형의 표시와 함께 아래 표 5에 제공된다.
Genomic_dataset_mapping_table(){
table_length 비트스트링(bitstring)
genomic_dataset_ID 비트스트링(bitstring)
version_number 비트스트링(bitstring)
applicable_section_flag 비트(bit)
mapping_table_ID 비트스트링(bitstring)
genomic_dataset_ef_length 비트스트링(bitstring)
for(i=0; i<N; i++) { N = 이 게놈 데이터세트와 연관된 익스텐션 필드(extention field)의 수
extension_field() 데이터 구조(data structure)
}
for(i = 0;i < M ; i++) { M = 이 특정 데이터세트와 연관된 게놈 데이터 스트림의 수
data_type 비트스트링(bitstring)
genomic_data_SID 비트스트링(bitstring)
gd_component_ef_length 비트스트링(bitstring)
for(1 = 0; l < K; i++) { K = 각각의 게놈 데이터 스트림과 연관된 익스텐션 필드의 수
extension_field() 데이터 구조(data structure)
}
}
CRC_32 비트스트링(bitstring)
}
전술한 GDMT를 구성하는 구문 요소는 다음 표 6과 같은 의미와 기능을 갖는다.
version_number, applicable_section_flag 이들 요소는 GDL을 위한 동일한 의미를 가진다
table_length 비트스트링 필드(bitstring field)는 테이블을 구성하고, table_length 필드 이후에 시작하고, CRC_32 필드를 포함하는 바이트의 수로 특정한다.
genomic_dataset_ID 게놈 데이터세트를 식별하는 비트스트링 필드(bitstring field)
mapping_table_ID 현재의 게놈 데이터세트 맵핑 테이블을 식별하는 비트스트링 비트 필드(bitstring bit field)
genomic_dataset_ef_length 게놈 데이터세트와 연관된 선택사항(optional)인 extension_field의 바이트 수를 특정하는 비트스트링 필드(bitstring field).
data_type Genom_data_SID에 의해 식별된 패킷에 의해 운반되는 패킷의 스트림 ID를 특정하는 비트스트링 비트 필드(bitstring bit field)
genomic_data_SID 이 게놈 데이터세트(예를 들어, 본 발명에서 정의된 것처럼, 판독 p 위치, 판독 p 페어링 정보 등)의 한 컴포넌트와 연관된 인코딩 된 게놈 데이터를 운반하는 패킷의 스트림 ID를 특정하는 비트스트링 비트 필드(bitstring bit field)
gd_component_ef_length Genome_data_SID에 의해 식별된 게놈 스트림과 연관된 선택사항(optional)인 extension_field의 바이트(byte)의 수를 특정하는 비트스트링 필드(bitstring field)
CRC_32 이것은 전체 GDMT를 위한 통합 체크값을 포함하는 비트스트링 필드(bitstring field) 이다.
extension_fields는 게놈 데이터세트(Genomic Dataset) 또는 게놈 데이터세트 컴포넌트(Genomic Dataset component)를 자세히 설명하는데 사용할 수 있는 선택사항(optional) 디스크립터(descriptor)이다.
레퍼런스 ID 맵핑 테이블(Reference ID Mapping Table)
레퍼런스 ID 맵핑 테이블(Reference ID Mapping Table)(RIDMT)은 스트리밍(streaming) 프로세스가 시작될 때 생성되고 전송된다. RIDMT는 게놈 데이터세트 리스트(Genomic Dataset List) 다음의 단일 패킷에 의해 운반된다. RIDMT는 액세스 유닛의 블록(Block) 헤더에 포함된 레퍼런스 시퀀스의 숫자 식별자(REFID)와 표 1의 특정 메인 헤더에 포함된 레퍼런스 식별자(일반적으로 문자그대로(literal)) 간의 맵핑을 특정한다. RIDMT는 주기적으로 다음과 같은 목적으로 재전송 될 수 있다.
● 스트리밍된 데이터의 대응 지점 및 관련 종속성의 업데이트를 가능하게 하고,
● 기존 레퍼런스 시퀀스에 새로운 레퍼런스 시퀀스를 추가하는 것을 지원한다(예를 들어, 드노보(de-novo) 어셈블리 프로세스로 생성된 합성 레퍼런스)
RIDMT 데이터 구조의 구문은 각 구문 요소와 연관된 데이터 유형의 표시와 함께 아래 표 7에 제공된다.
구문(Syntax) 데이터 유형(Data type)
reference_id_mapping_table(){
table_length 비트스트링(bitstring)
genomic_dataset_ID 비트스트링(bitstring)
version_number 비트스트링(bitstring)
applicable_section_flag 비트(bit)
reference_id_mapping_table_ID 비트스트링(bitstring)
for(i=0; i<N; i++) { N = genomic_dataset_ID에 의해 식별된 게놈 데이터세트와 연관된 레퍼런스 시퀀스의 수
ref_string_length 비트스트링(bitstring)
for(I = 0 ; I < N ; i++) {
ref_string[i] 바이트(byte_
}
REFID 비트스트링(bitstring)
}
CRC_32 비트스트링(bitstring)
}
위에서 설명한 RIDMT를 구성하는 구문 요소에는 다음 표8과 같은 의미와 기능이 있다.
table_length, genomic_dataset_ID, version_number, applicable_section_flag 이들 요소는 GDL을 위한 동일한 의미를 가진다
reference_id_mapping_table_ID 현재의 레퍼런스 ID 맵핑 테이블을 식별하는 비트스트링 필드(bitstring field).
ref_string_length 스트링의 끝부분('\0') 문자를 제외한 ref_string을 구성하는 문자들(바이트(byte))의 수로 특정한다.
ref_string[i] 레퍼런스 시퀀스(예를 들어, 크로모좀(chromosom) 1에는 "chr1")의 스트링 표현의 각 문자를 인코딩하는 바이트 필드(byte field). ref_string_length 필드로부터 암시적으로 추론된 것처럼, 스트링의 끝부분('\0') 문자는 필요하지 않다.
REFID 이것은 레퍼런스 시퀀스를 유일하게 식별하는 비트스트링 필드(bitstring field) 이다.
CRC_32 이것은 전체 RIDMT를 위한 통합 체크값을 포함하는 비트스트링 필드(bitstring field) 이다. 이 목적 기능을 위하여 사용되는 하나의 일반적인 알고리즘은 32 비트값을 출력하는 CRC32 알고리즘이다.
게놈 데이터 스트림(Genomic Data Stream)
게놈 데이터 멀티플렉스는 각 스트림이 전송할 수 있는 하나 또는 여러 개의 게놈 데이터 스트림을 포함한다
● 전송 정보가 포함된 데이터 구조(예를 들어, 게놈 데이터 리스트(Genome Dataset List), 게놈 데이터세트(Genomic Dataset), 맵핑 테이블(mapping table) 등)
● 본 발명에서 기술된 게놈 데이터 레이어 중 하나에 속하는 데이터.
● 게놈 데이터와 연관된 메타 데이터
● 기타 모든 데이터
게놈 데이터를 포함하는 게놈 데이터 스트림은 필수적으로 게놈 데이터 레이어의 패킷화된 버전이며, 각 패킷에는 패킷 내용을 설명하는 헤더가 앞에 붙어 있으며 멀티플렉스(multiplex)의 다른 요소와 어떻게 관련되어 있는지가 표시된다.
이 문헌에서 기술된 게놈 데이터 스트림 포맷(Genomic Data Stream format) 및 본 발명에서 정의된 파일 포맷은 상호 변환 가능하다. 모든 데이터가 수신된 후에만 전체 파일 포멧을 전체적으로 재구축(reconstruct)할 수 있지만, 스트리밍의 경우 디코딩 도구는 언제든지 부분 데이터를 재구축하고 액세스할 수 있고, 언제든 부분 데이터 프로세싱을 시작할 수 있다.
게놈 데이터 스트림은 각각 하나 또는 하나 이상의 게놈 데이터 패킷을 포함하는 여러 게놈 데이터 블록으로 구성된다. 게놈 데이터 블록(GDBs)은 하나의 게놈 AU를 구성하는 게놈 정보의 컨테이너이다. GDB는 통신 채널 요구 사항에 따라 여러 게놈 데이터 패킷으로 나눌 수 있다. 게놈 액세스 유닛은 다른 게놈 데이터 스트림에 속한 하나 또는 하나 이상의 게놈 데이터 블록으로 구성된다.
게놈 데이터 패킷(GDP)은 하나의 GDB를 구성하는 전송 유닛이다. 패킷 크기는 일반적으로 통신 채널 요구 사항에 따라 설정된다. 도 27은 본 발명에서 정의된 바와 같이, 클래스 P에 속하는 데이터를 인코딩할 때 게놈 멀티플렉스, 스트림, 액세스 유닛, 블록 및 패킷 간의 관계를 도시한다. 이 예에서 세 개의 게놈 스트림은 시퀀스 판독의 위치, 페어 및 역 보완에 대한 정보를 캡슐화 한다.
게놈 데이터 블록(Genomic Data Blocks)은 헤더, 압축된 데이터의 페이로드 및 패딩 정보로 구성된다. 아래 표 9는 각 필드에 대한 설명과 일반적인 데이터 유형을 가진 GDB 헤더의 구현예를 제공한다.
데이터 유형(data type) 설명(description) 데이터 유형(data type)
블록 시작 코드 접두사(block start code prefix)(BSCP) 게놈 데이터 블록(genome data block)의 시작을 모호하지 않게 식별하기 위하여 사용되는 예약값. 비트스트링(bitstring)
포멧 식별자(format identifier)(FI) 블록이 속하는 게놈 데이터 레이어(genome data layer)을 모호하지 않게 식별한다. 비트스트링(bitstring)
POS 플레그(POS Flag)(PSF) POS 플레그가 세트 되면, 선택사항(optional) 필드전에 블록 헤더의 끝부분에서 블록은 40 비트 POS 필드를 포함한다. 비트(bit)
패팅 플레그(Padding Flag)(PDF) POS 플레그가 세트 되면, 페이로드 이후에 블록은 페이로드의 일부가 아닌 추가적인 패딩 바이트를 포함한다. 비트(bit)
블록 크기(BS) 헤더와 페이로드를 포함하고 패딩(전체 블록의 크기는 BS + 패딩 크기가 됨)을 제외하는 블록을 구성하는 바이트(byte)의 수. 비트스트링(bitstring)
액세스 유닛 ID(AUID) 선형적인 증가(추천된다 하더라도, 필수적으로 1 만큼이 아닌)하는 모호하지 않은 ID(unambiguous ID). 본 발명의 마스터 인덱스 테이블(master index table)에서 기술된 것처럼, 적절한 임의적 액세스를 구현하기에 필요한. 비트스트링(bitstring)
(선택사항(optional))레퍼런스 ID(REFID) 이 블록을 포함하는 AU가 참조하는 레퍼런스 시퀀스를 식별하는 모호하지 않은 ID(unambiguous ID). 이것은 마스터 인덱스 테이블(master index table)에서 기술된 것처럼, POS 필드와 함께 적절한 임의적 액세스를 가지기 위해 필요하다. 비트스트링(bitstring)
(선택사항(optional))POS(POS) PSF가 1이면 표시된다. 블록에서 제1 판독의 레퍼런스 시퀀스상의 위치. 비트스트링(bitstring)
(추가 선택사항(optional) 필드) 추가적인 선택사항(optional) 필드로 BS에 의해 신호로 표시. 바이트스트링(bytestring)
페이로드(Payload) 인코딩 된 게놈 정보의 블록(본 발명에서 기술한 구문 요소) 바이트스트링(bytestring)
(선택사항(optional))패딩(Padding) (선택사항(optional), PDF에 의해 신호로 존재) 채널 요구사항을 충족시키기 위하여 삽입될 수 있는 고정 비트스트링 값. 존재하면, 제1 바이트는 얼마나 많은 바이트가 패딩을 구성하는지를 나타낸다. 이는 디코더에 의해 폐기된다. 비트스트링(bitstring)
AUID, POS 및 BS의 사용은 디코더가 본 발명에서 마스터 인덱스 테이블(MIT) 및 로컬 인덱스 테이블(LIT)로 지칭되는 데이터 인덱싱 메커니즘을 재구축(reconstruct)할 수 있게 한다. 데이터 스트리밍(streaming) 시나리오에서 AUID 및 BS의 사용은 수신단이 여분의 데이터를 전송할 필요없이 로컬에서 LIT를 동적으로 재생성할 수 있게 한다. AUID, BS 및 POS를 사용하면 추가 데이터를 보낼 필요없이, 로컬에서 MIT를 다시 만들 수 있다.
이것은 다음과 같은 기술적 우위를 가지고 있다.
● 전체 LIT가 전송되는 경우 크게 될 수 있는 인코딩 오버 헤드를 줄인다.
● 스트리밍 시나리오에서 일반적으로 사용할 수 없는 게놈 위치와 액세스 유닛 간의 완전한 맵핑 이 필요하지 않다.
게놈 데이터 블록은 최대 패킷 크기, 패킷 손실률 등과 같은 네트워크 레이어 제약 조건에 따라 하나 또는 하나 이상의 게놈 데이터 패킷으로 분할될 수 있다. 게놈 데이터 패킷(Genomic Data Packet)은 아래 표 10에 설명된 대로 암호화(encrypt)된 또는 인코딩 된 게놈 데이터의 헤더와 페이로드로 구성된다.
데이터 유형(data type) 설명(description) 데이터 유형(data type)
스트림 ID(stream ID)(SID) 이 패킷에 의해 운반된 데이터 유형을 모호하지 않게 식별한다. 게놈 데이터세트 맵핑 테이블은 스트림 IDs를 데이터 유형으로 맵핑 하기 위하여 스트림의 시작시 필요하다. 비트스트링(bitstring)
액세스 유닛 마커 비트(Access Unit Marker Bit)(MB) 액세스 유닛의 최후 패킷을 위한 세트. AU의 최후 패킷의 식별을 허용한다. 비트(bit)
패킷 카운더 수(Packet counter number)(SN) 1씩 선형적으로 증가하는 각 스트림 ID와 연관된 카운터. 갭(gaps)/패킷(packet) 손실을 식별하기 위해 필요하다. 255 정도에서 마무리한다. 비트스트링(bitstring)
패킷 크기(packet size)(PS) 헤더, 선택사항(optional) 필드 및 페이로드를 포함하는 패킷을 구헝하는 바이트의 수. 비트스트링(bitstring)
익스텐션 플레그(extension flag)(EF) 익스텐션 필드가 존재하면 세트. 비트(bit)
익스텐션 필드(EF) 선택사항(optional) 필드로 PS에 의해 신호로 존재. 바이트스트링(bytestring)
페이로드(Payload) 블록 데이터(전체 블록 또는 조각) 바이트스트링(bytestring)
게놈 멀티플렉스(Genome Multiplex)는 적어도 하나의 게놈 데이터세트 리스트(Genomic Dataset List), 하나의 게놈 데이터세트 맵핑 테이블(Genomic Dataset Mapping Table) 및 하나의 레퍼런스 ID 맵핑 테이블(Reference ID Mapping Table)이 수신되어 모든 패킷을 특정 게놈 데이터세트 컴포넌트(Genomic Dataset component)로 맵핑 할 수 있을 때만 제대로 디코딩 될 수 있다.
멀티플렉스 인코딩 프로세스(Multiplex Encoding Process)
도 49는, 본 발명에 제시된 데이터 구조에서 변형되기 전에, 어떻게 미가공 게놈 시퀀스 데이터가 선험적으로 알려진 하나 또는 하나 이상의 레퍼런스 시퀀스상에 맵핑 될 필요가 있는지를 보여준다(493). 레퍼런스 시퀀스가 이용 가능하지 않은 경우, 합성 레퍼런스(synthetic reference)는 미가공 시퀀스 데이터로부터 만들어질(built) 수 있다(490). 이 프로세스를 드보노(de-novo) 어셈블리라고 한다. 이미 정렬된 데이터는 정보 엔트로피를 감소시키기 위해 재정렬될 수 있다(492). 정렬후에, 게놈 분류기(genome classification)(494)는 하나 또는 하나 이상의 레퍼런스 시퀀스상의 시퀀스 판독의 매칭 기능에 따라, 데이터 클래스를 생성하고 게놈 시퀀스로부터 메타 데이터(432)(예를 들어, 품질값) 및 주석 데이터(431)를 분리한다. 데이터 파서(data parser)(495)는 본 발명에서 기술된 액세스 유닛을 생성하고 이들을 게놈 멀티 플렉스를 생성하는 게놈 멀티플렉서(496)로 전송한다.

Claims (18)

  1. 멀티플렉싱(multiplexing)을 사용하여 게놈 데이터(genome data)를 전송하는 방법에 있어서,
    멀티플렉스 된 데이터 스트림(480)은,
    모든 게놈 데이터세트(482 내지 483)의 리스트를 제공하기 위한 게놈 데이터세트 리스트 데이터 구조(481)
    를 포함하고,
    상기 게놈 데이터세트는
    게놈 스트림(484)에서 이용 가능한 게놈 데이터를 포함하는 게놈 데이터;
    각각의 게놈 데이터세트(482 내지 483)와 연관된 상기 게놈 데이터의 각 스트림의 식별자를 제공하기 위한 게놈 데이터세트 맵핑 테이블(485) 데이터 구조;

    랜덤 액세스 가능한 액세스 유닛(486)으로 분할된 게놈 데이터세트
    를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 액세스 유닛(486)의 블록 헤더(291)에 포함된 레퍼런스 시퀀스의 숫자 식별자와 스트림의 메인 헤더(488)에 포함된 포함된 레퍼런스 식별자 간의 맵핑을 제공하기 위한
    레퍼런스 ID 맵핑 테이블(487)
    을 더 포함하는
    방법.
  3. 제2항에 있어서,
    상기 게놈 데이터세트는,
    액세스 유닛으로 분할된
    방법.
  4. 제3항에 있어서,
    상기 액세스 유닛은,
    블록(489)으로 분할된
    방법.
  5. 제4항에 있어서,
    상기 블록은,
    패킷(4810)으로 분할된
    방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 게놈 데이터세트 리스트는,
    멀티플렉스 된 스트림에서 멀티플렉스 될 것과 각 게놈 데이터세트 연관된 스트림을 식별하기 위한 정보
    를 포함하는
    방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 게놈 데이터세트 맵핑 테이블은,
    다양한 멀티플렉스 된 스트림 사이의 대응점 및 연관 의존성을 식별하기 위한 정보
    를 포함하는
    방법.
  8. 제7항에 있어서,
    상기 다양한 멀티플렉스 된 스트림은,
    게놈 시퀀스, 레퍼런스 게놈 시퀀스 및 메타 데이터
    를 포함하는
    방법.
  9. 제1항에 있어서,
    상기 게놈 데이터세트 맵핑 테이블은,
    유전체 데이터세트 리스트를 따르는 단일 패킷으로 전송되는
    방법.
  10. 제9항에 있어서,
    상기 게놈 데이터세트 맵핑 테이블은,
    스트림 데이터의 대응점 및 연관 종속성을 업데이트하기 위하여
    주기적으로 재전송되거나 업데이트 되는
    방법.
  11. 제1항에 있어서,
    상기 게놈 데이터리스트(481)는,
    단일 전송 패킷의 페이로드로서 전송되는
    방법.
  12. 제12항에 있어서,
    상기 게놈 데이터리스트는,
    스트림으로의 랜덤 액세스를 가능하게 하기 위하여
    주기적으로 재전송되는
    방법.
  13. 제1항 내지 제12항의 방법을 수행하기에 적합한 수단을 포함하는
    멀티플렉싱을 사용하는 게놈 데이터의 전송을 위한
    장치.
  14. 제1항 내지 제12항의 방법에 따라,
    멀티플렉스 된 게놈 데이터를 저장하는 데이터
    를 지원하는
    방법.
  15. 제1항 내지 제12항의 방법을 실행하기 위한
    명령 세트를 포함하는 프로그램이 저장된
    컴퓨터로 읽을 수 있는
    기록 매체.
  16. 제1항 내지 제12항의 방법에 따라 멀티플렉스 된
    게놈 데이터를 저장하는
    파일 포맷.
  17. 게놈 데이터를 수신하기 위한 장치로서,
    게놈 데이터의 스트림을 디-멀티플렉싱 하기 위한 수단을 포함하고,
    상기 스트림은 제1항 내지 제12항의 방법으로 형성되는
    장치.
  18. 제13항 및 제17항에 따른
    멀티플렉싱을 위한 장치 및 디-멀티플렉싱을 위한 장치를 포함하는
    게놈 데이터 전송 시스템.

KR1020197013458A 2016-10-11 2016-10-11 생물 정보학 데이터의 전송 방법 및 시스템 KR20190062543A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/074311 WO2018068830A1 (en) 2016-10-11 2016-10-11 Method and system for the transmission of bioinformatics data

Publications (1)

Publication Number Publication Date
KR20190062543A true KR20190062543A (ko) 2019-06-05

Family

ID=57241051

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013458A KR20190062543A (ko) 2016-10-11 2016-10-11 생물 정보학 데이터의 전송 방법 및 시스템

Country Status (19)

Country Link
US (1) US20200051668A1 (ko)
EP (1) EP3526712B1 (ko)
JP (1) JP6949970B2 (ko)
KR (1) KR20190062543A (ko)
CN (1) CN110178183B (ko)
AU (1) AU2016426572A1 (ko)
BR (1) BR112019007313A2 (ko)
CA (1) CA3039692A1 (ko)
CL (1) CL2019000955A1 (ko)
CO (1) CO2019003580A2 (ko)
EA (1) EA201990931A1 (ko)
ES (1) ES2867874T3 (ko)
IL (1) IL265907A (ko)
MX (1) MX2019004126A (ko)
PE (1) PE20191059A1 (ko)
PH (1) PH12019500795A1 (ko)
PL (1) PL3526712T3 (ko)
SG (1) SG11201903174SA (ko)
WO (1) WO2018068830A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554220B1 (en) 2019-01-30 2020-02-04 International Business Machines Corporation Managing compression and storage of genomic data
WO2020231590A1 (en) * 2019-05-14 2020-11-19 Blayne Lequeux Healthcare data cloud system, server and method
EP3896698A1 (en) 2020-04-15 2021-10-20 Genomsys SA Method and system for the efficient data compression in mpeg-g

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4852313B2 (ja) * 2006-01-20 2012-01-11 富士通株式会社 ゲノム解析プログラム、該プログラムを記録した記録媒体、ゲノム解析装置およびゲノム解析方法
WO2011122875A2 (ko) * 2010-03-31 2011-10-06 한국전자통신연구원 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
EP2544113A1 (en) * 2011-07-05 2013-01-09 Koninklijke Philips Electronics N.V. Genomic/proteomic sequence representation, visualization, comparison and reporting using a bioinformatics character set and a mapped bioinformatics font
KR101922129B1 (ko) * 2011-12-05 2018-11-26 삼성전자주식회사 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치
KR20190016149A (ko) * 2011-12-08 2019-02-15 파이브3 제노믹스, 엘엘씨 게놈 데이터의 동적 인덱싱 및 시각화를 제공하는 분산 시스템
US20140108323A1 (en) * 2012-10-12 2014-04-17 Bonnie Berger Leighton Compressively-accelerated read mapping
GB2523495A (en) * 2013-01-17 2015-08-26 Edico Genome Corp Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
CN103971694B (zh) * 2013-01-29 2016-12-28 华为技术有限公司 带宽扩展频带信号的预测方法、解码设备
CN103336916B (zh) * 2013-07-05 2016-04-06 中国科学院数学与系统科学研究院 一种测序序列映射方法及系统
NL2012222C2 (en) * 2014-02-06 2015-08-10 Genalice B V A method of storing/reconstructing a multitude of sequences in/from a data storage structure.
US10902937B2 (en) * 2014-02-12 2021-01-26 International Business Machines Corporation Lossless compression of DNA sequences
US10116632B2 (en) * 2014-09-12 2018-10-30 New York University System, method and computer-accessible medium for secure and compressed transmission of genomic data
WO2016081712A1 (en) * 2014-11-19 2016-05-26 Bigdatabio, Llc Systems and methods for genomic manipulations and analysis
JP6788587B2 (ja) * 2014-11-25 2020-11-25 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ゲノムデータの安全な転送
US10394763B2 (en) * 2015-05-19 2019-08-27 Samsung Electronics Co., Ltd. Method and device for generating pileup file from compressed genomic data
WO2017153456A1 (en) * 2016-03-09 2017-09-14 Sophia Genetics S.A. Methods to compress, encrypt and retrieve genomic alignment data

Also Published As

Publication number Publication date
CL2019000955A1 (es) 2019-08-23
EA201990931A1 (ru) 2019-11-29
IL265907A (en) 2019-06-30
JP2019537170A (ja) 2019-12-19
AU2016426572A1 (en) 2019-06-06
CA3039692A1 (en) 2018-04-19
CN110178183B (zh) 2023-11-21
WO2018068830A9 (en) 2018-08-30
EP3526712B1 (en) 2021-03-24
MX2019004126A (es) 2019-06-12
PH12019500795A1 (en) 2019-12-02
CO2019003580A2 (es) 2019-08-30
PL3526712T3 (pl) 2021-12-13
EP3526712A1 (en) 2019-08-21
PE20191059A1 (es) 2019-08-06
BR112019007313A2 (pt) 2019-09-17
US20200051668A1 (en) 2020-02-13
SG11201903174SA (en) 2019-05-30
JP6949970B2 (ja) 2021-10-13
ES2867874T3 (es) 2021-10-21
WO2018068830A1 (en) 2018-04-19
CN110178183A (zh) 2019-08-27

Similar Documents

Publication Publication Date Title
CN110506272B (zh) 用于访问以访问单元结构化的生物信息数据的方法和装置
KR102421458B1 (ko) 액세스 유닛으로 구조화된 생물정보학 데이터에 액세스하기 위한 방법 및 장치
KR20190062544A (ko) 생물 정보학 정보 표현을 위한 효율적인 데이터 구조
US11386979B2 (en) Method and system for storing and accessing bioinformatics data
EP3526712B1 (en) Method and system for the transmission of bioinformatics data
CA3052824A1 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
JP2020509473A (ja) 複数のゲノム記述子を用いた生体情報データのコンパクト表現方法及び装置
EP3526706A1 (en) Method and apparatus for the access to bioinformatics data structured in access units

Legal Events

Date Code Title Description
A201 Request for examination