KR20210082390A - 시퀀싱 리드 그루핑 및 콜랩싱을 위한 시스템 및 방법 - Google Patents

시퀀싱 리드 그루핑 및 콜랩싱을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210082390A
KR20210082390A KR1020207037493A KR20207037493A KR20210082390A KR 20210082390 A KR20210082390 A KR 20210082390A KR 1020207037493 A KR1020207037493 A KR 1020207037493A KR 20207037493 A KR20207037493 A KR 20207037493A KR 20210082390 A KR20210082390 A KR 20210082390A
Authority
KR
South Korea
Prior art keywords
nucleotide sequencing
nucleotide
sequencing read
read
identifier
Prior art date
Application number
KR1020207037493A
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 KR20210082390A publication Critical patent/KR20210082390A/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
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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

Abstract

시퀀싱 리드를 콜랩싱(collapsing)하고 유사한 시퀀싱 리드를 식별하기 위한 시스템 및 방법이 본 명세서에 개시된다. 일 예에서, 방법은 각각의 뉴클레오타이드 시퀀싱 리드의 제1 식별자 시퀀스로부터 복수의 제1 식별자 서브시퀀스를 생성하는 단계 및 복수의 제1 식별자 서브시퀀스에 해싱을 적용함으로써 뉴클레오타이드 시퀀싱 리드에 대한 제1 서명을 생성하는 단계를 포함한다. 본 방법은 제1 서명에 기초하여 제1 해시 데이터 구조의 제1 특정 빈에 뉴클레오타이드 시퀀싱 리드를 할당하는 단계 및 할당된 하나 이상의 뉴클레오타이드 시퀀싱 리드로 제1 데이터 구조의 각각의 제1 특정 빈에 대한 뉴클레오타이드 시퀀스를 결정하는 단계를 포함할 수 있다.

Description

시퀀싱 리드 그루핑 및 콜랩싱을 위한 시스템 및 방법
관련 출원에 대한 상호 참조
본 출원은 2018년 10월 31일자로 출원된 미국 가출원 번호 제62/753,786호에 대해 우선권을 주장하며, 그 내용은 참조로 그 전체가 통합된다.
저작권 고지
본 특허 문서의 개시내용의 일부는 저작권 보호 대상인 자료를 포함한다. 저작권 소유자는 특허청의 특허 파일 또는 기록에 나타난 대로, 특허 문서 또는 특허 개시내용의 누군가에 의한 팩시밀리 복제에 대해 이의를 제기하지 않고, 그러나 그 외에는 모든 저작권을 보유한다.
분야
본 개시내용은 일반적으로 뉴클레오타이드 시퀀싱 데이터를 프로세싱하는 분야에 관한 것이며, 보다 구체적으로는 지역 민감 해싱(locality sensitive hashing)을 사용하여 뉴클레오타이드 시퀀싱 데이터를 콜랩싱(collapsing)하는 것에 관한 것이다.
리드 콜랩싱(read collapsing)은 동일한 소스의 데옥시리보핵산(DNA) 분자에서 유래된 것으로서 시퀀싱 시스템으로부터 출력되는 뉴클레오타이드 시퀀싱 리드를 식별하는 계산 방법이다. 시퀀싱 시스템은 Illumina, Inc.(캘리포니아주 샌디에고 소재)의 NextSseq 인스트루먼츠와 같은 차세대 시퀀싱(next generation sequencing: NGS) 시스템일 수 있다. 리드 콜랩싱은 이러한 리드의 세트에서 발견되는 허위 오류를 감소시키기 위한 통계적 방법을 사용하는 것을 포함할 수 있다. 리드 콜랩싱의 결과적인 인-실리코(in-silico) 오류 감소는 초저 대립유전자 분획을 가진 변이의 검출과 같은 차세대 시퀀싱(NGS) 내의 어플리케이션에 대해, 그리고 임상 어플리케이션에 대한 높아진 변이 호출 특이성을 가능하게 하는 데 유용할 수 있다.
본 명세서에는 시퀀싱 리드를 콜랩싱하고 복수의 상이한 시퀀싱 리드에서 유사한 뉴클레오타이드 시퀀스를 식별하기 위한 시스템 및 방법이 개시된다. 일 실시예에서, 시스템은 실행 가능한 명령 및 뉴클레오타이드 시퀀싱 리드를 복수의 빈(bin)에 저장하기 위한 제1 해시 데이터 구조를 저장하도록 구성된 비일시적 메모리를 포함한다. 시스템은 또한 방법을 수행하기 위해 실행 가능한 명령에 의해 프로그래밍된 하드웨어 프로세서를 포함할 수 있으며, 본 방법은 페어드-엔드(paired-end) 시퀀싱 리드들의 뉴클레오타이드 시퀀싱 리드들 1과 같은 복수의 뉴클레오타이드 시퀀싱 리드를 수신하는 단계; 각각의 뉴클레오타이드 시퀀싱 리드에 대해서: 뉴클레오타이드 시퀀싱 리드의 제1 식별자 시퀀스로부터 복수의 제1 식별자 서브시퀀스를 생성하는 단계; 복수의 제1 식별자 서브시퀀스에 해싱을 적용함으로써 뉴클레오타이드 시퀀싱 리드에 대한 제1 서명을 생성하는 단계; 및 제1 서명에 기초하여 제1 해시 데이터 구조의 적어도 하나의 제1 특정 빈에 뉴클레오타이드 시퀀싱 리드를 할당하는 단계; 및 할당된 하나 이상의 뉴클레오타이드 시퀀싱 리드로 제1 해시 데이터 구조의 각각의 제1 특정 빈에 대한 뉴클레오타이드 시퀀스를 결정하는 단계를 포함한다.
본 발명의 다른 실시예는 컴퓨터-구현 방법이며, 본 방법은 뉴클레오타이드 시퀀싱 리드들과 같은 복수의 뉴클레오타이드 시퀀싱 리드를 수신하는 단계; 각각의 뉴클레오타이드 시퀀싱 리드에 대해서: 뉴클레오타이드 시퀀싱 리드의 제1 식별자 시퀀스로부터 복수의 제1 식별자 서브시퀀스를 생성하는 단계; 복수의 제1 식별자 서브시퀀스에 해싱을 적용함으로써 뉴클레오타이드 시퀀싱 리드에 대한 제1 서명을 생성하는 단계; 및 제1 서명에 기초하여 제1 해시 데이터 구조의 제1 특정 빈에 뉴클레오타이드 시퀀싱 리드를 할당하는 단계; 및 할당된 하나 이상의 뉴클레오타이드 시퀀싱 리드로 제1 데이터 구조의 각각의 제1 특정 빈에 대한 뉴클레오타이드 시퀀스를 결정하는 단계를 포함한다.
또 다른 실시예는 유사한 뉴클레오타이드 시퀀싱 리드를 식별하기 위한 시스템 및 방법을 포함한다. 일 예에서, 시스템은 실행 가능한 명령, 복수 쌍의 시퀀싱 리드를 저장하기 위한 제1 해시 데이터 구조 및 제2 해시 데이터 구조를 저장하도록 구성된 비일시적 메모리; 및 방법을 수행하기 위해 실행 가능한 명령에 의해 프로그래밍된 하드웨어 프로세서를 포함하고, 본 방법은, 제1 질의(query) 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드의 쌍을 수신하는 단계; 제1 질의 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드로부터 복수의 제1 질의 식별자 서브시퀀스 및 복수의 제2 질의 식별자 서브시퀀스를 각각 생성하는 단계를 포함한다. 제1 및 제2 질의 뉴클레오타이드 시퀀싱 리드는 페어드-엔드 시퀀싱 리드의 쌍의 리드일 수 있다. 본 방법은 복수의 제1 질의 식별자 서브시퀀스 및 복수의 제2 질의 식별자 서브시퀀스에 해싱을 각각 적용함으로써, 제1 뉴클레오타이드 시퀀싱 리드 및 제2 뉴클레오타이드 시퀀싱 리드에 대한 제1 질의 서명 및 제2 질의 서명을 생성하는 단계; 제1 질의 서명 및 상기 제2 질의 서명을 사용하여 제1 해시 데이터 구조 및 제2 해시 데이터 구조로부터 하나 이상의 제1 저장된 쌍 및 하나 이상의 제2 저장된 쌍을 각각 검색하는 단계로서, 제1 쌍 및 제2 쌍의 각각은 제1 저장된 뉴클레오타이드 시퀀싱 리드 및 제2 저장된 뉴클레오타이드 시퀀싱 리드를 포함하는, 검색하는 단계; 및 제1 질의 시퀀싱 리드 및 제2 질의 시퀀싱 리드와 유사한 제1 시퀀싱 리드 및 제2 시퀀싱 리드로서 제1 저장된 쌍 및 제2 저장된 쌍 모두에 존재하는 제1 저장된 뉴클레오타이드 시퀀싱 리드 및 제2 저장된 뉴클레오타이드 시퀀싱 리드의 각각의 쌍을 각각 결정하는 단계를 포함한다.
또 다른 실시예는 컴퓨터-구현 방법으로서, 본 방법은 제1 질의 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드의 쌍을 수신하는 단계; 제1 질의 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드로부터 복수의 제1 질의 식별자 서브시퀀스 및 복수의 제2 질의 식별자 서브시퀀스를 각각 생성하는 단계; 복수의 제1 질의 식별자 서브시퀀스 및 복수의 제2 질의 식별자 서브시퀀스에 해싱을 적용함으로써, 제1 뉴클레오타이드 시퀀싱 리드 및 제2 뉴클레오타이드 시퀀싱 리드에 대한 제1 질의 서명 및 제2 질의 서명을 각각 생성하는 단계; 및 제1 질의 서명 및 제2 질의 서명을 사용하여 제1 해시 데이터 구조로부터 하나 이상의 제1 저장된 쌍을 검색하고 복수 쌍의 시퀀싱 리드를 저장하는 단계를 포함하고 제1 쌍의 각각은 제1 질의 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드와 유사한 제1 저장된 뉴클레오타이드 시퀀싱 리드 및 제2 저장된 뉴클레오타이드 시퀀싱 리드를 포함한다.
본 명세서에 설명된 주제의 하나 이상의 구현에 대한 상세 사항은 첨부 도면 및 아래의 설명에서 개진된다. 다른 특징, 양태 및 이점은 설명, 도면 및 청구 범위로부터 명백해질 것이다. 이러한 개요 또는 후술하는 상세한 설명은 본 발명의 주제의 범위를 규정하거나 한정하려는 것이 아니다.
도 1은 콜랩싱 시퀀싱 리드의 개략도를 나타낸다.
도 2a 내지 도 2d는 싱글링(shingling)(도 2a), 최소 해싱(도 2b), 지역 민감 해싱(locality sensitive hashing: LSH) 삽입(도 2c) 및 LSH 질의(querying)(도 2d)를 포함하는 지역 민감 해싱-기반 리드 그루핑(grouping) 및 콜랩싱(collapsing)의 개략도를 나타낸다. 질의 시퀀싱 리드(미도시)가 주어지면, 질의 시퀀싱 리드의 최소 해시 또는 서명(232)이 생성될 수 있으며, 최소 해시(232)는 해시 테이블 1 및 2(224a, 224b)에 대해 질의하는 데 사용되는 2개의 척(chuck)(232a, 232b)으로 분할될 수 있다. 질의 시퀀싱 리드는 해시 테이블 1 및 2(224a, 224b)에 저장된 시퀀스 ACTGGAC(204)와 유사하지만 동일하지는 않다. 질의 시퀀싱 리드의 최소 해시(232)는 도 2a 및 도 2b에 나타낸 시퀀싱 리드 ACTGGAC(204)에 대해 최소 해시(212)가 생성되는 방식과 유사하게 생성된다. 해시 테이블 1(224a)은 기존 빈(bin)(228a)의 키(key)(212a)로서 척(232a) 중 하나를 포함하지 않기 때문에, 해시 테이블 1(224a)에서 질의 시퀀싱 리드와 유사한 시퀀싱 리드가 발견되지 않는다. 해시 테이블 2(224b)는 기존 빈(228b)의 키(212b)로서 척(232b) 중 하나를 포함하기 때문에, 질의 시퀀싱 리드는 기존 빈(228b)과 연관된 시퀀싱 리드(204)와 유사하다. 그 후, 기존 빈(228b)에 저장된 시퀀스 ACTGGAC(204)는 질의 시퀀스 리드와 유사한 시퀀스 리드로서 반환된다.
도 3은 페어드-엔드(paired-end) 시퀀싱 리드의 리드 1 및 리드 2에 대한 가상 범용 분자 인덱스(virtual universal molecular index: vUMI)를 생성하는 개략도를 나타낸다.
도 4a 및 도 4b는 가상 UMI로부터 k-mer(도 4a) 및 타일형 k-mer(도 4b)를 생성하는 개략도를 나타낸다.
도 5는 그 시퀀스 및 그 해시를 통한 비닝 시퀀싱 리드(binning sequencing read)의 흐름도를 나타낸다. 각각의 물리적 UMI 바코드는 120개의 가능한 물리적 UMI 바코드 중 하나에서 선택될 수 있으므로, 시퀀싱 리드 1 및 리드 2의 각각의 쌍에 대해 물리적 UMI 바코드의 120×120 = 14,400개의 조합이 있다. 흐름도에서, 시퀀싱 리드 1 및 리드 2의 각각의 쌍은 해당 쌍의 물리적 UMI 바코드의 조합에 기초하여 14,400개의 UMI 빈 중 하나에 할당될 수 있다. 본 개시내용의 리드 콜랩싱 방법은 각각의 UMI 빈의 시퀀싱 리드에 적용될 수 있다.
도 6a 내지 도 6f는 지역 민감 해싱 및 정렬-기반 리드 콜랩싱을 사용한 리드 콜랩싱이 유사한 성능을 갖는다는 것을 나타내는 예시적인 플롯이다.
도 7은 지역 민감 해싱을 사용하는 리드 콜랩싱의 예시적인 방법을 나타내는 흐름도이다.
도 8은 지역 민감 해싱을 사용하여 유사한 리드를 식별하는 예시적인 방법을 나타내는 흐름도이다.
도 9는 지역 민감 해싱을 사용하여 리드 콜랩싱 및 질의를 구현하도록 구성된 예시적인 컴퓨팅 시스템의 블록도이다.
이하의 상세한 설명에서, 그 일부를 형성하는 첨부 도면을 참조한다. 도면에서 유사한 기호는 문맥이 달리 지시하지 않는 한 통상적으로 유사한 구성 요소를 식별한다. 상세한 설명, 도면 및 청구 범위에 설명된 예시적인 실시예는 한정적인 것을 의미하지 않는다. 본 명세서에 제시된 주제의 사상 또는 범위를 벗어나지 않고 다른 실시예가 이용될 수 있고 다른 변경이 이루어질 수 있다. 본 명세서에 일반적으로 설명되고 도면에 나타낸 바와 같이, 본 개시내용의 양태는 광범위하게 다양한 상이한 구성으로 배열, 치환, 조합, 분리 및 설계될 수 있으며, 이들 모두는 명시적으로 본 명세서에서 고려되며 본 명세서에서 본 개시내용의 일부를 이룬다는 것을 쉽게 이해할 것이다.
개요
리드 콜랩싱은 동일한 소스의 데옥시리보핵산(deoxyribonucleic acid: DNA) 분자에서 유래한 것으로 뉴클레오타이드 시퀀싱 리드를 식별하고, 후속적으로 이러한 리드의 세트에서 발견되는 허위 오류를 감소시키기 위해 통계적 방법을 사용하는 계산 방법이다. 도 1을 참조하면, 플러스 가닥(108a) 및 마이너스 가닥(108b)을 갖는 동일한 DNA 분자(108)의 모든 듀플렉스 리드(104 + r1, 104 + r2, 104 - r1, 104 - r2)가 주어지면, 리드 콜랩싱은 해당 리드(104 + r1, 104 + r2, 104 - r1, 104 - r2)를 함께 그루핑하는 것을 포함할 수 있다. 리드 콜랩싱은 DNA 분자(108)의 플러스 가닥(108a)의 시퀀스와 같은 뉴클레오타이드 가닥의 뉴클레오타이드 시퀀스를 결정하기 위한 심플렉스 콜랩싱과 같이, 허위 오류를 감소시키기 위해 통계적 투표를 사용하는 것을 포함할 수 있다. 리드 콜랩싱은 플러스 가닥(108a)의 시퀀스와 마이너스 가닥(108b)의 시퀀스 모두로부터 DNA 분자(108)의 뉴클레오타이드 시퀀스를 결정하기 위해 듀플렉스 콜랩싱과 같이 높은 신뢰도로 원래 DNA 분자(108)의 시퀀스를 추론하는 것을 포함할 수 있다. 본 명세서에 개시된 시스템 및 방법은 리드 콜랩싱을 위해 지역 민감 해싱(LSH) 및 가상 식별자 시퀀스(vID 시퀀스)를 이용할 수 있다.
리드 콜랩싱은 고품질 리드를 생성할 수 있다. 리드 콜랩싱은 식별자 시퀀스(ID 시퀀스)(112a, 112b', 112a', 112b)로 샘플이 시퀀싱되는 것을 필요로 할 수 있다. 이러한 식별자 시퀀스는 또한 본 명세서에서 "물리적 식별자 시퀀스"(pID 시퀀스)라고도 칭해진다. 이러한 식별자 시퀀스는 범용 분자 인덱스(UMI) 바코드일 수 있다. 이러한 식별자 시퀀스(112a, 112b', 112a', 112b)는 특정 상황 하에서 이러한 식별자 시퀀스 없이 리드 콜랩싱이 수행될 수 있지만, 달리 매우 유사하게 보일 수 있는 리드 및 분자를 구별할 때 증가된 해상도를 가능하게 한다. 리드 콜랩싱은 인-실리카(in-silica) 오류 감소로 귀결될 수 있다. 이러한 오류 감소는 차세대 시퀀싱(NGS) 내의 많은 어플리케이션에 유용할 수 있다.
이러한 프로세스의 하나의 어플리케이션은 순환 종양 DNA(circulating tumor DNA: ctDNA)와 같은 초저 대립유전자 분획에만 존재하는 변이의 검출이다. 또 다른 어플리케이션은 임상 어플리케이션에 대한 높아진 변이 호출 특이성이다. 리드 콜랩싱은 DNA 단편의 PCR 복제와 같은 DNA 단편의 모든 중복 관찰을 단일 대표로 효과적으로 결합하기 때문에, 리드 콜랩싱은 다운스트림에서 프로세싱될 필요가 있는 데이터 양을 상당히 감소시키는 이점을 갖는다. 중복 관찰 또는 리드를 제거하는 것은 데이터 크기에서 10배 이상의 감소로 귀결될 수 있다.
네이브(naive) 리드 콜랩싱 방법은 O(n2)의 런타임을 필요로 하는 완전한 쌍별 시퀀스 비교를 포함할 수 있다. O(n2)는 NGS 데이터에 대해 대처할 수 없다. 예를 들어, 약 6억개의 리드 쌍(6 * 108)이 샘플로부터 생성될 수 있다. 완전한 쌍별 시퀀스 비교는 3.6 * 1017개의 비교를 필요로 할 수 있다. 나노 초당 하나의 비교 속도에서도, 쌍별 비교를 계산하기 위해서는 약 4,167일과 같은 3.6 * 108초를 필요로 할 수 있다. 56개의 프로세싱 코어를 사용하더라도, 단일 샘플을 분석하는 데 대략 2개월 초과의 계산 시간이 여전히 소요될 수 있다.
통상의 리드 콜랩싱 방법은 중복 리드의 그룹을 식별하기 위하여 정렬 위치 및 UMI 바코드 정보의 조합을 사용할 수 있다. 이러한 리드 콜랩싱 방법의 하나의 단점은 이러한 방법은 이미 정렬 및 소팅(sorting)된 입력 리드를 필요로 한다는 것이다. 리드 콜랩싱 전에 정렬 및 소팅되는 리드의 사전 프로세싱과 연관된 문제가 있다. 첫째, 통상의 리드 프로세싱은 O(n * log(n)) 사전 프로세싱을 필요로 한다. "n" 리드를 정렬하는 것은 O(n)의 런타임을 필요로 할 수 있다. "n" 리드를 소팅하는 것은 O(n * log(n))의 런타임을 필요로 한다. "n" 리드를 정렬하고 소팅하는 사전 프로세싱은 O(n * log(n))의 런타임을 필요로 한다.
통상의 방법을 사용하여 리드를 콜랩싱하는 전체 프로세스는 O(n * log(n))의 하한 런타임을 갖는다. 이러한 초-선형(super-linear) 함수는 런타임이 입력 크기보다 빠르게 증가함을 의미한다. 더 많은 미가공 시퀀싱 데이터가 생성됨에 따라, 통상의 리드 콜랩싱과 연관된 계산 비용은 프로세싱되는 시퀀싱 데이터의 양보다 더 빨리 증가한다. 또한, 통상의 리드 콜랩싱은 잘 특성화된 기준으로 제한된다. 뉴클레오타이드 정렬에 기반한 리드 콜랩싱은 고품질 기준 시퀀스가 존재하는 어플리케이션에 대한 사용을 제한하는데, 이는 이러한 기준 시퀀스는 양호한 정렬을 가능하게 하고 후속적으로 정확한 콜랩싱을 가능하게 하기 위해 필요하기 때문이다. 예를 들어, 구조적 변이, 반복 확장 및 반복적인 게놈 영역에 대해 합리적으로 양호한 정렬이 이용 가능하지 않을 수 있다. 정렬에 대한 의존성은 새로운 또는 알려지지 않은 종에 대한 리드 콜랩싱 기술(및 UMI 기술)을 사용하는 것을 어렵게 하여, UMI-가능 오류 감소 기술의 일반성을 제한한다. 시퀀싱 오류를 식별하는 데 도움이 되는 고품질 "기준"이 없기 때문에, 리드 콜랩싱은 이러한 영역에서 큰 영향을 미칠 수 있다.
본 명세서에서는 지역 민감 해싱(LSH)을 사용하는 리드 콜랩싱을 위한 시스템 및 방법이 개시된다. 통상의 리드 콜랩싱 접근법은 이미 UMI 바코드를 공유한 서브-그루핑 리드에 대한 양호한 대안적인 방법이 없었기 때문에 정렬 정보를 필요로 하였다. 본 명세서에 개시된 LSH-기반 리드 콜랩싱 방법은 이러한 단점을 해결하고, 정렬을 갖는 것에 대한 콜랩싱의 의존성을 제거하고, 알고리즘 복잡성과 리드 콜랩싱 및 관련 기술의 일반적인 적용 가능성에서 엄청난 이득을 가능하게 한다.
일 실시예에서, LSH-기반 리드 콜랩싱 방법은 O(n * log(n))의 런타임을 갖지 않으며, 잘 특성화된 기준을 필요로 하지 않는다. 예를 들어, 리드 콜랩싱 방법은 정렬 정보가 전혀 필요로 하지 않을 수 있으며, 소팅된 정렬을 훨씬 덜 필요로 할 수 있다. 일 구현에서, 본 방법은 물리적 UMI 바코드(pUMI 바코드)와 같은 물리적 식별자 시퀀스(pID 시퀀스) 및 가상 UMI 바코드(vUMI 바코드)와 같은 가상 식별자 시퀀스(vID 시퀀스)에 의존하여 다양한 뉴클레오타이드 단편에 존재하는 중복 리드의 그룹을 식별한다. 물리적 식별자 시퀀스는 또한 본 명세서에서 "식별자 시퀀스"(ID 시퀀스)라고도 칭한다. 물리적 UMI 바코드는 또한 본 명세서에서 "UMI 바코드"라고도 칭한다. 가상 식별자 시퀀스는 중복 리드의 그룹을 식별하기 위해 "가상" 식별자 시퀀스로서의 역할을 하는 리드의 서브시퀀스일 수 있다. vUMI 바코드는 중복 리드의 그룹을 식별하기 위해 "가상" 바코드로서의 역할을 하는 리드의 서브시퀀스일 수 있다. 물리적 식별자 시퀀스 또는 물리적 UMI 바코드는 시퀀싱 라이브러리 준비 중에 뉴클레오타이드 단편에 추가된 식별자 시퀀스 또는 바코드일 수 있다.
일 실시예에서, 본 방법은 유사한 리드를 함께 그루핑하고 임의의 기준 시퀀스 또는 완전한 시퀀스 비교를 필요로 하지 않는다. 본 방법은 물리적 UMI, 가상 UMI, 또는 이들의 조합과 같은 UMI 바코드에 의해 규정된 빈으로의 리드의 제1-패스 네이브 그루핑을 결정하는 것을 포함할 수 있다. 본 방법은 가상 UMI를 지역 민감 해싱과 결합한다. 본 방법은 정렬 정보 없이 유사한 시퀀스를 가진 리드를 함께 그루핑할 수 있도록 허용하므로, 본 방법은 정렬의 제약으로부터 리드 콜랩싱의 프로세스를 분리한다. 본 방법은 해당 빈에서 다른 시퀀싱 리드를 확인하는 것을 포함하는 유사한 시퀀스를 결정하는 것을 포함할 수 있다.
본 방법은 샘플이 유래된 유기체에 관계없이, DNA 또는 RNA와 같은 임의의 샘플로부터 리드를 콜랩싱하는 데 사용될 수 있다. 또한, 해싱은 O(1) 일정 시간 연산이고, 해싱은 n개의 리드의 각각에 대해 고정된 횟수로 수행될 필요가 있으므로, 본 방법은 O(n) 런타임에서 실행되는 리드 콜랩싱을 가능하게 한다. 예를 들어, n개의 리드 각각에 대해, 해싱은 1회, 2회, 3회 또는 그 이상 수행되어야 한다. 이러한 리드 콜랩싱 런타임은 NGS로 생성되는 점점 더 많아지는 데이터의 세트에 필요한 프로세싱 시간을 감소시킨다. O(n) 런타임은 2차 분석의 런타임 복잡성을 크게 감소시킬 수 있고, 임의의 샘플에 리드 콜랩싱을 유연하게 적용할 수 있다.
일 실시예에서, DNA 시퀀싱 기구는 본 명세서에 개시된 LSH-기반 리드 콜랩싱 방법을 구현할 수 있다. 예를 들어, 본 방법은 리드 콜랩싱을 위한 기준 시퀀스를 필요로 하지 않기 때문에, 인-실리카 오류 감소를 위한 기기 상의 방법으로서 구현될 수 있다. 본 방법은 NGS의 중복률을 활용하여 오류 감소를 수행함으로써 모든 시퀀싱 리드에 대해 오류율을 크게 감소시킬 수 있다. 본 방법은 또한 사용자가 프로세싱해야 하는 시퀀싱 데이터의 양을 크게 감소시킬 수 있어, 게놈 분석의 접근성을 높일 수 있다. 본 방법은 시퀀서 상의 기술로 활용되어 고객에게 더 적은 수의 고품질 리드를 출력하여 다운스트림 분석의 복잡성을 감소시킬 수 있다.
일 실시예에서, 시퀀싱 리드는 UMI 바코드와 연관되거나 이를 사용하여 생성되지 않는다. 예를 들어, 뉴클레오타이드 리드를 그루핑하기 위해 가상 UMI에 대해 지역 민감 해싱이 수행될 수 있다. 다른 예로서, "계층화된" 가상 UMI 전략은 물리적 UMI 바코드에 의해 제공되는 비닝(binning) 기능을 모방하는 데 사용될 수 있다. 본 방법은 2개 유형의 가상 UMI를 생성할 수 있는데, 하나는 물리적 UMI의 모방으로 사용되며 하나는 가상 UMI로 사용된다.
중복 마킹은 PCR에 의해 도입된 바이어스를 감소시키기 위한 생물 정보학적 방법이다. 본 명세서에 개시된 내용은 유사한 리드 시퀀스를 함께 그루핑하고 지역 민감 해싱으로 중복을 마킹하기 위한 시스템 및 방법을 포함한다.
리드 콜랩싱
본 명세서에 개시되는 내용은 리드 콜랩싱을 위한 시스템 및 방법을 포함한다. 일 실시예에서, 본 방법은 완전한 쌍별 비교를 수행하지 않고, 유사한 리드의 기준 없는 그루핑을 가능하게 하기 위해 지역 민감 해싱으로 가상 범용 분자 인덱스(vUMI)와 같은 가상 식별자(vID) 시퀀스를 사용한다. 시퀀싱 리드의 가상 UMI와 같은 가상 식별자 시퀀스는 잠재적으로 비연속적인 서브스트링을 포함하여 시퀀싱 리드 자체 내의 임의의 서브스트링 또는 서브시퀀스를 참조한다. 가상 식별자 시퀀스는 물리적 식별자(pID) 시퀀스와 다르다. 물리적 UMI(pUMI)와 같은 물리적 식별자 시퀀스는 시퀀싱 라이브러리 복구 중에 추가된 식별자 시퀀스 또는 UMI 바코드를 지칭한다.
지역 민감 해싱(LSH)은 완전한 쌍별 비교를 수행하지 않고 "유사한" 데이터를 동일한 계산 "빈"에 배치하는 계산 방법이다. 데이터 유사도는 Levenshtein 거리, Hamming 거리 또는 Jaccard 거리와 같은 메트릭으로 계산될 수 있는 리드의 시퀀스 유사도를 지칭한다. LSH 기능은 각 리드와 연관된 가상 UMI를 "해싱"하고, 결과를 사용하여 유사한 가상 UMI를 갖는 리드와 함께 각 리드를 빈에 배치할 수 있다. 본 명세서에 개시된 바와 같이 시퀀싱 리드에 적용되는 LSH는 오류를 포함하는 가상 UMI를 갖는 시퀀싱 리드가 가상 UMI에 기초하여 함께 그루핑될 수 있게 한다. 시퀀싱 기술은 종종 오류가 없는 시퀀싱 리드를 생성하지 않는다. 따라서, 함께 비닝할 수 있고 작은 돌연변이를 운반할 수 있는 유사한 시퀀스를 빠르게 찾을 수 있는 것은 리드 콜랩싱을 수행하는 데 필요한 리드 그루핑을 수행하는 데 중요하다. 시퀀싱 리드의 작은 돌연변이는 종종 예측하기 어렵기 때문에, 유사한 시퀀싱 리드를 그루핑하기 위한 일반적인 방법이 특정 돌연변이 패턴을 가정하는 유사한 시퀀싱 리드를 그루핑하는 특정 방법보다 더 유용할 수 있다. 일부 구현에서, 본 명세서에 개시된 방법의 오류 허용 특성은 약 20%의 시퀀싱 리드에서 작용한다. 보정되지 않고 남겨진 경우, 이러한 시퀀싱 리드는 콜랩싱 정확도에 큰 영향을 미칠 수 있고, 후속적으로 변이 호출에서 과도한 긍정 오류로 자체적으로 드러날 수 있다.
일 실시예에서, 유사한 시퀀싱 리드는 예를 들어 사전 편집순으로 가상 UMI를 소팅함으로써 시퀀싱 리드로부터 생성된 가상 UMI에 기초하여 식별될 수 있다. 가상 UMI 소팅에 기초하는 리드 콜랩싱 방법은 가상 UMI에서의 돌연변이를 고려하지 않을 수 있으며 O(n * log(n))의 런타임 복잡성을 가질 수 있다. 다른 실시예에서, 유사한 시퀀싱 리드는 가상 UMI를 갖는 네이브, 표준 해싱을 사용하여 식별될 수 있다. 네이브, 표준 해싱을 기초로 하는 리드 콜랩싱 방법은 LSH-기반 리드 콜랩싱 방법과 비교하여 유사한 성능을 가질 수 있다. 이러한 리드 콜랩싱 방법은 오류-허용 특성을 갖지 않는다. 일 실시예에서, 유사한 시퀀싱 리드는 시퀀싱 리드와 연관된 클러스터링 UMI에 의해 식별될 수 있다. 클러스터링-기반 리드 콜랩싱 방법은 약간 매칭되지 않는 가상 UMI 바코드를 처리할 수 있지만 O(n2) 쌍별 비교를 포함할 것이며, 이는 통상의 리드 콜랩싱 방법의 런타임 및 LSH-기반 리드 콜랩싱 방법의 O(n)의 런타임에 대해 O(n * log(n))보다 훨씬 나쁘다.
LSH는 확률적 데이터 프로세스이다. LSH로 동일한 빈에 유사한 리드 데이터를 배치할 확률은 높다. 유사한 데이터가 동일한 빈에 속하지 않을 작은, 제로가 아닌 확률이 존재한다. 유사한 데이터가 동일한 빈에 속하지 않거나 다른 데이터가 동일한 빈에 속할 작은 기회가 있을 수 있다. 일 실시예에서, LSH는 LSH와 동일한 빈에 유사한 리드 데이터를 배치할 확률을 최소화하기 위해 설계된다. 일 실시예에서, LSH-기반 리드 콜랩싱 방법은 최대 리콜을 위해 구성될 수 있고 각 빈의 각 항목에 대한 정렬-기반 확인을 수행할 수 있다(통상적으로 5개 항목 미만).
시퀀스에 적용되는 지역 민감 해싱
지역 민감 해싱(LSH)은 데이터의 가상 UMI와 같은 각 데이터의 단편을 "해시" 함수를 통해 전달하며, 그 결과는 데이터를 빈에 배치하는 데 사용된다. LSH를 사용하여, 유사한 데이터가 동일한(또는 가까운) 빈에 속해야 하며, 이는 유사한 데이터에 대한 매우 빠른 질의를 가능하게 한다. LSH-기반 리드 콜랩싱은 싱글링(shingling), 최소 해싱(min hashing) 및 지역 민감 해싱을 포함할 수 있다. 싱글링은 입력 데이터를 길이가 k인 문자의 중첩 세트 또는 싱글(shingle)로 요약하는 것을 포함한다. 최소 해싱은 데이터에 대한 지문 또는 서명을 생성하기 위해 해시 함수 세트를 통해 각 "싱글"을 전달하는 것을 포함한다. 지역 민감 해싱은 지문을 사용하여 유사한 데이터가 유사한 비닝 스킴을 공유할 가능성이 있는 "빈"에 데이터를 배치하는 것을 포함한다. 예를 들어, 시퀀싱 리드는 시퀀싱 리드의 길이 k의 서브시퀀스로 분해될 수 있다. 각각의 서브시퀀스는 해시 함수의 세트를 통해 전달되어 시퀀싱 리드의 서명을 생성할 수 있다. 서명은 유사한 시퀀싱 리드가 유사하거나 동일한 서명을 공유할 가능성이 있는 하나 이상의 빈에 시퀀싱 리드를 배치하는 데 사용될 수 있다.
도 2a 내지 도 2d는 싱글링(도 2a), 최소 해싱(도 2b), 지역 민감 해싱(LSH) 삽입(도 2c) 및 LSH 질의(도 2d)를 포함하는 지역 민감 해싱-기반 리드 그루핑 및 콜랩싱의 개략도를 나타낸다. 싱글링은 k 염기의 슬라이딩 윈도우를 m-염기 쌍 증분만큼 이동하여 가상 UMI(204)를 k-mer(즉, k량체) "싱글"(208a 내지 208d)로 분해하는 것을 포함한다(도 2a). 예를 들어, 4 염기의 슬라이딩 윈도우는 가상 UMI(204)를 4량체 싱글로 분해하기 위해 1-염기 쌍 증분만큼 이동될 수 있다. 도 2a는 시퀀스의 4개 싱글을 나타낸다. 제1 싱글은 GGAC(208a)이고, 제2 싱글은 TGGA(208b)이고, 제3 싱글은 CTGG(208c)이고, 제4 싱글은 ACTG(208d)이다.
최소 해싱은 여러 해시 함수(216)를 통해 세트를 전달하고 최소 해시(MinHash)를 취함으로써 k-mer 세트의 싱글에 대한 해시 "서명"(212)을 생성하는 것을 포함한다. 도 2b는 4개의 싱글 GGAC, TGGA, CTGG 및 ACTG의 세트가 8개의 해시 함수(216)로 전달되어, 각 싱글에 대해, 8개의 해시 함수의 8개 요소의 출력(220a 내지 220d)을 각각 생성할 수 있음을 나타낸다. 해시 함수의 수는 8, 16, 32, 64, 128, 256, 512, 1024 또는 그 이상이 될 수 있다. 해시 출력(220a 내지 220d)의 대응하는 요소의 최소값은 최소값의 최소 해시(212)를 계산하기 위해 취해질 수 있다. 최소 해시의 Jaccard 거리는 실제 Jaccard 거리의 근사치이다. 해시 함수가 많을수록, 근사가 더 좋다.
이제 도 2c를 참조하면, 시퀀싱 리드(204)는 시퀀싱 리드(204)로부터 계산된 최소 해시(212) 또는 최소 해시(212)의 서브시퀀스(212a, 212b)에 기초하여 해시 테이블(224a, 224b)에 삽입될 수 있다. 도 2c는 시퀀싱 리드(204)가 최소 해시(212)의 서브시퀀스(212a, 212b)에 기초하여 해시 테이블(224a, 224b)에 삽입될 수 있음을 나타낸다. 시퀀싱 리드(204)의 LSH 삽입은 해시 "서명"(212)을 소비한 다음 서명(212)을 청크 또는 서브시퀀스(212a, 212b)로 분할한다. 이러한 청크(212a, 212b)는 그 후 해시 테이블(224a, 224b), 특히 해시 테이블(224a, 224b)의 빈(228a, 228b)에서 키(key)로서 사용된다. 이러한 분할 및 해싱 스킴은 빈의 "넓이"와 더 높은 리콜 또는 더 높은 특이성을 위해 조정될 수 있다. 도 2c에 나타낸 바와 같이, 동일한 시퀀싱 리드(204)가 2개의 상이한 해시 테이블(224a, 224b)의 2개의 상이한 빈에 배치된다. 2개의 시퀀싱 리드가 하나 이상의 빈을 공유하거나 이에 저장되는 한, 시퀀싱 리드는 유사한 것으로 간주될 수 있다.
도 2d는 질의 시퀀싱 리드가 LSH를 사용하여 해시 테이블에 저장된 시퀀싱 리드와 유사하거나 동일한지 여부를 결정하는 것을 나타낸다. 질의 시퀀스 리드가 주어지면, 시스템은 최소 해싱을 통해 질의 시퀀싱 리드를 전달하고, 모든 해시 테이블에 대해 최소 해시를 질의한다. 질의 시퀀스의 서명(232)은 모든 해시 테이블(224a, 224b)에 대해 질의되는 2개의 청크(232a, 232b)로 분할될 수 있다. 해시 테이블 2(224b)가 기존의 빈(228b)의 키(212b)로서 척(232b) 중 하나를 포함하기 때문에, 질의 시퀀스는 기존 빈(228b)에 저장된 것과 같이 이와 연관된 시퀀싱 리드(204)와 유사하거나 동일하다.
시퀀스에 적용된 지역 민감 해싱
가상 UMI는 시퀀싱 리드 자체의 서브시퀀스이다. 가상 UMI는 전체 뉴클레오타이드 리드에 걸쳐 있을 수 있으며, 연속적인 서브시퀀스 또는 비연속적인 서브시퀀스일 수 있다. 예를 들어, 시퀀싱 리드의 가상 UMI는 시퀀싱 리드의 5' 단부로부터 25 염기쌍(base pairs: bps)일 수 있다. 도 3은 페어드-엔드(paired-end) 시퀀싱 리드의 리드 1(R1) 및 리드 2(R2)에 대한 가상 범용 분자 인덱스(vUMI) 생성의 개략도를 나타낸다. 시퀀싱되는 DNA 단편(308)의 양의 가닥 또는 음의 가닥에 대응하는 페어드-엔드 시퀀싱 리드의 리드 1(304r1) 및 리드 2(304r2)는 가상 UMI(312r1, 312r2)를 생성하기 위해 프로세싱될 수 있다.
도 4a 및 도 4b는 가상 UMI로부터 k-mer(도 4a) 및 타일형 k-mer(도 4b)를 생성하는 개략도를 나타낸다. 2개 세트의 k-mer의 Jaccard 유사도는 양쪽 세트가 포함하는 k-mer의 수이다. 가상 UMI에 대해 7개의 k-mer(412)가 생성되면, 2개의 동일한 가상 UMI의 Jaccard 유사도는 7/7일 수 있다. 도 4a에 나타낸 바와 같이, 삽입(408) 또는 삽입의 3'를 포함하는 모든 k-mer(412a)가 영향을 받기 때문에, 삽입(408)을 제외한 가상 UMI(404) 및 동일한 가상 UMI(404i)의 Jaccard 유사도는 2/12일 수 있다. 가상 UMI에 걸친 중첩 k-mer의 사용은 삽입 및 결실의 더 나은 허용 오차를 허용한다. 도 4b에 나타낸 바와 같이, 도 4a에 나타낸 동일한 삽입으로, 가상 UMI(404, 404i)에 대해 16개의 k-mer(412)가 생성되는 경우, 삽입(408)을 제외하고 가상 UMI(404) 및 동일한 가상 UMI(404i)의 Jaccard 유사도는 14/18에서 여전히 높다. 삽입(408)을 포함하는 k-mer(412a)만이 삽입(408)에 의해 영향을 받기 때문에 Jaccard 유사도는 여전히 상당히 높다. 싱글링 후 더 큰 유사도는 더 유사한 MinHash 서명으로 이어지며, 이는 결국 변경된 시퀀스가 동일한 LSH 빈에 위치하도록 돕는다.
일 실시예에서, LSH 자체는 콜랩싱될 리드 그룹을 직접 저장하거나 인덱싱하지 않는다. 오히려, LSH는 주어진 질의 리드와 유사한 리드를 찾는 데 도움이 된다. 유사한 리드가 발견되면, 키가 해당 그룹을 처음 개시한 "중심" 리드인 통상의 해시 테이블에 저장된다. 즉, LSH 데이터 구조는 상술한 통상의 해시 테이블과 동일한 "키"를 포함하며(2개는 잠금 단계에서 업데이트됨), 여기서 이러한 "키"는 유사한 경우 다른 리드가 할당되는 "그룹 앵커" 역할을 하는 리드이다. LSH는 진입 리드가 매칭될 수 있는 키/앵커를 빠르게 찾을 수 있게 하므로, 철저한 확인 또는 비교가 필요하지 않다. 실제 그룹 또는 시퀀싱 리드는 통상의 해시 테이블에 저장될 수 있다.
정렬 스코어 확인.
유사 시퀀스에 대해 LSH 빈 확인 후, 정렬 스코어 확인이 수행될 수 있다. 정렬 스코어 확인은 유사하지 않은 가상 UMI가 동등하거나 유사한 것으로 고려되지 않음을 보장한다. 가상 UMI가 동등한 것으로 고려되려면 가상 UMI에 대한 최소 정렬 스코어가 필요할 수 있다. LSH 매치에 대해 정렬 확인을 수행할 때, 정렬 스코어가 임계값(즉, 최고 정렬 스코어)을 초과하는지 결정하기 위해 최상의 매치가 사용될 수 있다. 단일 뉴클레오타이드 변이(SNV) 및 삽입 및 결실(인델(indel))과 같은 더 많은 미스매치는 정렬 스코어를 감소시킨다. 정렬을 "슬라이딩"하는 것은 매치 횟수를 감소시키고, 그 후 이는 결국 허용되는 미스매치의 횟수를 감소시킨다. 일 실시예에서, 가상 UMI의 글로벌 정렬이 수행될 수 있으며, 이는 계산 비용이 많이들 수 있다.
vUMI 매칭을 위한 듀얼-빈 LSH 구조
각 리드 쌍으로부터의 2개의 가상 UMI는 "독립적인" 바코드, 또는 동일한 DNA 단편의 아이덴티티의 독립적인 척도이다. 각 가상 UMI에 대해 2개의 개별 LSH 데이터 구조를 유지함으로써, 오류 긍정이 감소될 수 있다. 더 적은 MinHash 서명이 각 빈에 배치되기 때문에, 의도하지 않은 충돌 가능성이 더 낮다. 2개의 독립적인 질의의 결과를 교차시킴으로써, 정확한 히트(hit)를 잃지 않고 대부분의 남아 있는 오류 긍정 히트가 제거될 수 있다.
독립적인 LSH 데이터 구조가 리드1 및 리드2에 대해 가상 UMI를 위해 사용될 수 있다. LSH는 차선의 특이성을 가진 매우 높은 리콜로 구성될 수 있다. 특이성을 향상시키기 위해, 2개의 직교 질의 사이의 교차를 취하여 감도에 큰 영향을 주지 않고 특이성을 향상시킬 수 있다. 리드 1과 리드 2로부터 가상 UMI를 분리하는 것은 더 반복적인 영역에서도 특이성이 향상시킨다.
일 실시예에서, 각 k-mer에 대해 64개의 해시가 있을 수 있다. 리드 1은 64개 요소의 minHash 서명을 갖고, 리드 2는 64개 요소의 minHash 서명을 갖는다. 리드 1과 리드 2의 쌍은 리드 1의 minHash 서명과 리드 2의 minHash 서명에 각각 기초하여 듀얼-빈 LSH 구조의 2개의 해시 테이블에 저장될 수 있다. 리드 1의 minHash 서명은 리드 1과 리드 2의 쌍이 하나의 해시 테이블의 복수의 빈과 다른 해시 테이블의 복수의 빈에 저장될 수 있도록 서브시퀀스로 분할될 수 있다. 해시 수는 8, 64, 256, 1024 그리고 그 이상과 같이 다른 구현에서 다를 수 있다. 더 많은 해시가 약간 더 느린 런타임을 희생하여 보다 정확한 데이터 구조 성능을 위해 사용될 수 있으며, 더 적은 해시가 더 빠른 런타임을 추가하여 약간 덜 정확한 데이터 구조 성능을 위해 사용될 수 있다. 모든 k-mer가 minhash 서명이 일관된 크기를 갖는 것을 보장하도록 64회, 8회 또는 n회인, 동일 횟수로 해싱된다.
일 실시예에서, 리드 1 및 리드 2는 원자적, 분리 불가능한 단위로 고려되고, 이러한 원자 단위는 리드 1로부터의 가상 UMI의 MinHash 서명 및 리드 2의 가상 UMI(vUMI 1 및 vUMI 2)의 MinHash 서명 모두에 의해 참조된다. 각 해시 테이블 내에서, MinHash 서명은 원자 리드 1/리드 2 쌍이 서명의 각 척에 대해 한 번씩 복수의 빈에 저장되도록 부분으로 분할될 수 있다.
듀얼-빈 LSH 구조의 예시적인 의사 코드가 아래에 표시된다.
Figure pct00001
# vUMI 정렬을 통해 허위 매치 필터링 아웃
z = [items in intersect(x, y) with aln score ≥ cutoff]
return argmax(z) # 최상의 aln 스코어를 갖는 매치 반환
Figure pct00002
Figure pct00003
LSH에서 듀얼-빈 LSH 구조를 사용하는 예시적인 의사 코드가 아래에 나타내어진다. 듀얼-빈 LSH 구조에 유사한 가상 UMI가 저장되지 않은 가상 UMI 쌍을 삽입함으로써 향후 질의가 삽입된 쌍을 찾을 수 있게 한다. 본질적으로, 다음 회에 대해 매칭될 수 있는 패밀리에 대해 새로운 "시드(seed)"가 생성된다.
Figure pct00004
vUMI 매칭을 위한 듀얼-빈 LSH 구조
도 5는 해당 시퀀스 및 해당 해시를 통한 비닝 시퀀싱 리드의 흐름도를 나타낸다. 도 5에 나타낸 비닝 프로세스는 병렬화 가능하며, 이는 수천개의 스레드로 선형적인 속도 증가로 귀결될 수 있다. 나타낸 비닝 프로세스는 최소 메모리 사용으로 중간 캐싱을 필요로 한다. 각 물리적 UMI 바코드는 120 x 120 = 14,400개의 물리적 UMI 바코드 조합이 있고 시퀀싱 리드 1 및 리드 2의 각 쌍이 물리적 UMI 바코드의 14,400개의 조합 중 하나를 가질 수 있도록, 120개의 가능한 물리적 UMI 바코드 중 하나로부터 선택될 수 있다. LSH는 물리적 UMI의 각 쌍과 병렬로 연관된 시퀀싱 리드에 적용될 수 있다.
심플렉스 콜랩싱은 동일한 물리적 + 가상 UMI 쌍을 동일한 순서로 공유하는 모든 시퀀스를 콜랩싱하는 것을 지칭한다. 이들 시퀀스는 동일한 순서로 바코드를 가지고 있기 때문에, 이는 이들 시퀀스가 동일한 DNA 분자뿐만 아니라 해당 DNA 분자의 동일한 가닥으로부터 유래되었음을 나타낸다. 심플렉스 콜랩싱에서 그룹/패밀리의 모든 리드는 동일한 제1 UMI, 동일한 제2 UMI, 동일한 제1 가상 UMI 및 동일한 제2 가상 UMI를 갖는다. 복수의 리드가 이 조건을 충족할 수 있으며, 이 경우 이는 모두 동일한 분자의 모두 동일한 가닥에서 오는 리드인 것으로 고려된다.
심플렉스 콜랩싱이 수행된 후, 듀플렉스 콜랩싱이 수행될 수 있다. 듀플렉스 콜랩싱에서, 콜랩싱된 리드 쌍이 주어지면, 동일한 물리적 및 가상 UMI 쌍을 역순으로 갖는 또 다른 심플렉스 분자를 찾는 시도가 이루어지며, 이는 동일한 DNA 분자의 대향 가닥을 찾는 것과 유사하다. 이러한 듀플렉스 매치가 발견되면, 듀플렉스 콜랩싱이 수행된다.
심플렉스 콜랩싱에 후속하여 듀플렉스 콜랩싱이 수행되므로, 모든 가닥-특정 중복이 심플렉스 콜랩싱으로 제거되었다. 듀플렉스 콜랩싱에서, 동일한 분자의 대향 가닥으로부터 이미 콜랩싱된 리드가 발견된다. 예를 들어, 제1 UMI x, 제2 UMI y, 제1 가상 UMI a 및 제2 가상 UMI b를 갖는 콜랩싱된 리드 쌍이 주어질 때, 듀플렉스 콜랩싱은 제1 UMI가 y이고, 제2 UMI가 x이고, 제1 가상 UMI가 b이고, 제2 가상 UMI가 a인 대향 가닥의 리드 쌍을 찾는다. "fastq" 파일과 같은 출력 파일에서 리드가 보고되는 방식의 시맨틱으로 인해 대향 가닥의 리드 쌍을 역보완할 필요가 없을 수 있다. 이러한 2-계층 단일-가닥 후 교차-가닥 콜랩싱은 다운스트림 분석에서 일부 진보된 변이 호출 기술을 가능하게 한다.
결과
통상의 정렬-기반 방법과 LSH/가상 UMI-기반 방법 사이의 리드 콜랩싱 결과는 정렬 개요 메트릭의 레벨과 구조적 변이 호출 및 작은 변이 호출과 같은 변이 호출의 경우 모두 필적하는 것으로 밝혀졌다. 유사한 뉴클레오타이드 시퀀스를 찾기 위해, 빈의 다른 항목이 확인될 수 있다. 본 명세서에 개시된 가상 UMI-기반 방법은 따라서 변이 호출을 위한 시퀀싱 리드를 콜랩싱하는 데 사용될 수 있다.
도 6a 내지 도 6f는 지역 민감 해싱 및 정렬-기반 리드 콜랩싱을 사용한 리드 콜랩싱이 포르말린-고정 파라핀-매립(FFPE: formalin-fixed paraffin-embedded) 샘플로 실행되는 NextSeq®(Illumina, Inc.(캘리포니아주 샌디에고))와 유사한 성능을 갖는다는 것을 나타내는 예시적인 플롯이다. 도 6a는 정렬 기반 리드 콜랩싱 및 LSH-기반 리드 콜랩싱(본 명세서에서 또한 "fastq-기반 콜랩싱" 또는 "fastq 리드 콜랩싱"이라고도 칭함)에 의해 생성된 매우 유사한 타겟 영역 커버리지를 나타낸다. 도 6b는 비-참조 증거를 운반하는 게놈 좌위의 비율을 측정하고 작은 변이 호출 성능의 지표인 노이즈 AF를 나타낸다. LSH-기반 리드 콜랩싱은 정렬 콜랩싱과 유사한 오류 검출 및 보정 기능을 가졌다. 도 6c는 SV 호출 성능의 지표인 비선형 정렬을 갖는 리드의 퍼센티지를 나타낸다. LSH-기반 리드 콜랩싱은 더 적은(~ 7%) 키메라(chimeric) 리드를 생성했다. 생성된 더 적은 키메라 리드는 LSH-기반 리드 콜랩싱이 노이즈가 있는 리드로 더 잘 일반화될 수 있으므로 더 깨끗한 정렬을 생성한다는 증거이다. 도 6d는 메가 염기 당 돌연변이를 측정하는 종양 돌연변이 부담(TMB: tumor mutation burden)을 나타낸다. 이 도면은 작은 변이 호출이 매우 일치했음을 나타낸다. LSH-기반 리드 콜랩싱은 게놈의 안내 없이도, "와일드 유형" 리드로부터 돌연변이를 전달하는 리드를 분리하는 데 문제가 없었다. 6e는 게놈의 고도의 반복적인 영역에서 돌연변이를 측정하는 마이크로 위성 불안정성을 나타낸다. 고도로 반복되는 영역은 낮은 시퀀스 복잡성/고유성으로 인해 처리하기 어려운 영역이다. LSH-기반 리드 콜랩싱은 이러한 낮은 복잡성의 영역에서도 작동했다. 도 6f는 LSH-기반 리드 콜랩싱이 가변 복제 수를 가진 영역에서도 잘 작동했음을 나타낸다. 표 1은 이러한 샘플에서 융합 호출이 예상되지 않았기 때문에 융합 호출이 LSH-기반 리드 콜랩싱으로 극적으로 개선된 특이성을 나타내었다는 것을 나타낸다. 융합 호출 결과는 비선형 리드의 개선된 처리를 제안한다.
표 2는 융합 호출 특이성에 대한 개선이 NovaSeqTM(Illumina, Inc.) 실행의 리콜에 부정적인 영향을 미치지 않았음을 나타낸다.
Figure pct00005
Figure pct00006
전체적으로, 이러한 데이터는 LSH-기반 리드 콜랩싱이 정렬-기반 콜랩싱에 비해 우호적으로 비교되고 개요-레벨 메트릭뿐만 아니라 변이 호출에 대해 기존 성능과 매칭되거나 초과했음을 나타낸다.
리드 콜랩싱 방법
도 7은 지역 민감 해싱을 사용하는 리드 콜랩싱의 예시적인 방법(700)을 나타내는 흐름도이다. 본 방법(700)은 컴퓨팅 시스템의 하나 이상의 디스크 드라이브와 같은 컴퓨터-판독 가능 매체에 저장된 실행 가능한 프로그램 명령의 세트로 구현될 수 있다. 예를 들어, 도 9에 나타내고 더욱 상세하게 후술할 컴퓨팅 시스템(900)은 본 방법(700)을 구현하기 위하여 실행 가능한 프로그램 명령의 세트를 실행할 수 있다. 본 방법(700)이 개시될 때, 실행 가능한 프로그램 명령은 RAM과 같은 메모리에 로드될 수 있고, 컴퓨팅 시스템(900)의 하나 이상의 프로세서에 의해 실행될 수 있다. 본 방법(700)이 도 9에 나타낸 컴퓨팅 시스템(900)과 관련하여 설명되었지만, 해당 설명은 예시일 뿐이며, 제한적인 것으로 의도되지 않는다. 일부 실시예에서, 본 방법(700) 또는 그 일부는 복수의 컴퓨팅 시스템에 의해 직렬 또는 병렬로 수행될 수 있다. 컴퓨팅 시스템(900)은 복수의 빈에 뉴클레오타이드 시퀀싱 리드를 저장하기 위한 해시 테이블과 같은 제1 해시 데이터 구조를 포함할 수 있다.
본 방법(700)이 블록 704에서 개시된 후, 본 방법(700)은 컴퓨팅 시스템이 복수의 제1 뉴클레오타이드 시퀀싱 리드를 수신하는 블록 708로 진행한다. 복수의 제1 뉴클레오타이드 시퀀싱 리드는 동일한 물리적 식별자 시퀀스와 연관될 수 있다. 복수의 제1 뉴클레오타이드 시퀀싱 리드는 어떠한 물리적 식별자 시퀀스와도 연관되지 않을 수 있다.
본 방법(700)은 블록 708에서 블록 712로 진행하며, 여기서 컴퓨팅 시스템은 각각의 제1 뉴클레오타이드 시퀀싱 리드의 제1 식별자 시퀀스로부터 복수의 제1 식별자 서브시퀀스를 생성한다. 복수의 제1 식별자 서브시퀀스를 생성하는 것은 시퀀싱 리드의 제1 식별자 시퀀스로부터 복수의 k-mer를 생성하는 것을 포함할 수 있다. 서브시퀀스는 뉴클레오타이드 삽입, 뉴클레오타이드 결실, 뉴클레오타이드 치환 또는 이들의 조합을 포함할 수 있다. 2개의 연속적인 제1 식별자 서브시퀀스가 중첩될 수 있다. 예를 들어, 2개의 연속적인 제1 식별자 서브시퀀스는 k-1 뉴클레오타이드만큼 중첩된다. 예를 들어, 복수의 제1 식별자 서브시퀀스는 복수의 4량체를 포함하고, 여기서 제1 식별자 시퀀스는 약 25개의 뉴클레오타이드를 포함한다. 제1 식별자 시퀀스는 시퀀싱 리드 1의 서브시퀀스일 수 있다. 서브시퀀스는 시퀀싱 리드 1의 연속 서브시퀀스일 수 있다. 서브시퀀스는 시퀀싱 리드 1의 비연속적 서브시퀀스일 수 있다.
블록 712에서 제1 식별자 서브시퀀스를 생성한 후, 본 방법(700)은 블록 716으로 진행하고, 여기서 컴퓨팅 시스템은 복수의 제1 식별자 서브시퀀스에 해싱을 적용함으로써 제1 뉴클레오타이드 시퀀싱 리드에 대한 제1 서명을 생성한다. 제1 서명은 제1 해시 데이터 구조의 제1 특정 빈의 키와 매칭될 수 있다. 제1 해시 데이터 구조의 제1 특정 빈의 제1 서명 및 키는 동일할 수 있다.
제1 서명을 생성하는 것은 각각의 제1 식별자 서브시퀀스에 대한 복수의 해시를 결정하는 것을 포함할 수 있다. 제1 서명을 생성하는 것은 복수의 제1 식별자 서브시퀀스의 대응하는 해시로부터 제1 서명의 각각의 제1 요소를 결정하는 것을 포함할 수 있다. 제1 서명의 각각의 제1 요소는 복수의 제1 식별자 서브시퀀스의 대응하는 해시의 최소일 수 있다. 제1 서명의 각각의 제1 요소는 복수의 제1 식별자 서브시퀀스의 대응하는 해시의 최소, 평균(mean), 중간(medium), 또는 최대이다.
본 방법은 블록 716으로부터 블록 720으로 진행하며, 여기서 컴퓨팅 시스템은 제1 서명에 기초하여 제1 해시 데이터 구조의 적어도 하나의 제1 특정 빈에 제1 뉴클레오타이드 시퀀싱 리드를 할당한다. 일 실시예에서, 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 것은 제1 뉴클레오타이드 시퀀싱 리드의 제1 서명으로부터 제1 서명의 복수의 서브시퀀스를 결정하는 것; 및 제1 서명의 서브시퀀스에 기초하여 복수의 제1 해시 데이터 구조의 각각의 제1 해시 데이터 구조의 제1 특정 빈에 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 것을 포함한다. 다른 실시예에서, 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 것은: 제1 뉴클레오타이드 시퀀싱 리드의 제1 서명으로부터 제1 서명의 복수의 서브시퀀스를 결정하는 것; 및 제1 서명의 복수의 서브시퀀스에 기초하여 제1 해시 데이터 구조의 복수의 제1 특정 빈에 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 것을 포함한다. 본 방법(700)은 블록 728에서 종료된다.
일 예에서, 제1 특정 빈은 제1 해시 데이터 구조의 기존의 빈이고, 여기서 제1 뉴클레오타이드 시퀀싱 리드의 정렬 스코어 및 제1 해시 데이터 구조의 제1 특정 빈에 할당된 다른 제1 뉴클레오타이드 시퀀싱 리드의 서명은 정렬 스코어 임계값을 초과한다. 다른 예에서, 제1 특정 빈은 제1 해시 데이터 구조의 기존의 빈이고, 여기서 제1 뉴클레오타이드 시퀀싱 리드의 최고 정렬 스코어 및 제1 해시 데이터 구조의 제1 특정 빈에 할당된 임의의 제1 뉴클레오타이드 시퀀싱 리드의 서명은 정렬 스코어 임계값을 초과한다. 다른 예에서, 제1 특정 빈은 제1 해시 데이터 구조의 새로운 빈이고, 여기서 제1 뉴클레오타이드 시퀀싱 리드의 정렬 스코어 및 제1 해시 데이터 구조의 임의의 기존의 빈에 할당된 임의의 제1 뉴클레오타이드 시퀀싱 리드의 서명은 정렬 스코어 임계값 미만이다.
블록 720에서 제1 뉴클레오타이드 시퀀싱 리드가 제1 특정 빈에 할당된 후, 본 방법(700)은 블록 724로 진행하고, 여기서 컴퓨팅 시스템은 할당된 하나 이상의 제1 뉴클레오타이드 시퀀싱 리드를 갖는 제1 해시 데이터 구조의 각각의 제1 특정 빈에 대한 뉴클레오타이드 시퀀스를 결정한다. 뉴클레오타이드 시퀀스를 결정하는 것은 제1 특정 빈에 할당된 하나 이상의 제1 뉴클레오타이드 시퀀싱 리드의 공통 시퀀스를 결정하는 것을 포함할 수 있다. 공통 시퀀스를 결정하는 것은 제1 특정 빈의 공통 시퀀스로서 제1 특정 빈에 할당된 가장 빈번한 제1 뉴클레오타이드 시퀀싱 리드를 결정하는 것을 포함할 수 있다. 공통 시퀀스는 제1 특정 빈에 할당된 제1 뉴클레오타이드 시퀀싱 리드의 각각의 대응 위치에 대해 가장 빈번한 뉴클레오타이드 염기를 포함할 수 있다. 공통 시퀀스를 결정하는 것은 제1 특정 빈의 공통 시퀀스로서 제1 특정 빈에 할당된 최고 품질 스코어를 갖는 제1 뉴클레오타이드 시퀀싱 리드를 결정하는 것을 포함할 수 있다. 최고 품질 스코어는 최고 품질 스코어를 갖는 제1 뉴클레오타이드 시퀀싱 리드에 각각 기초하는 품질 스코어에 기초하여 결정될 수 있다. 뉴클레오타이드 시퀀스를 결정하는 것은 제1 특정 빈의 대표 시퀀스로서 제1 특정 빈에 할당된 하나 이상의 제1 뉴클레오타이드 시퀀싱 리드의 시퀀스를 선택하는 것을 포함할 수 있다. 뉴클레오타이드 시퀀스를 결정하는 것은 제1 특정 빈에 할당된 하나 이상의 제1 뉴클레오타이드 시퀀싱 리드 중 2개의 정렬 스코어가 정렬 스코어 임계값을 초과하는 것으로 결정하는 것을 포함할 수 있다.
페어드-엔드 시퀀싱 리드.
각각의 제1 뉴클레오타이드 시퀀싱 리드는 제2 뉴클레오타이드 시퀀싱 리드와 연관될 수 있다. 제1 뉴클레오타이드 시퀀싱 리드 및 제2 뉴클레오타이드 시퀀싱 리드는 페어드-엔드 뉴클레오타이드 시퀀싱 리드를 형성할 수 있다. 컴퓨팅 시스템은 제2 뉴클레오타이드 시퀀싱 리드의 제2 식별자 시퀀스로부터 복수의 제2 식별자 서브시퀀스를 생성할 수 있고; 복수의 제2 식별자 서브시퀀스에 해싱을 적용함으로써 제2 뉴클레오타이드 시퀀스 리드의 제2 서명을 생성할 수 있다.
제1 뉴클레오타이드 시퀀싱 리드를 할당하는 것은 다른 구현에서 다를 수 있다. 예를 들어, 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 것은 제1 서명에 기초하여 제1 해시 데이터 구조의 제1 특정 빈에 제1 뉴클레오타이드 시퀀싱 리드 및 제2 뉴클레오타이드 시퀀싱 리드를 포함하는 시퀀싱 리드의 쌍을 할당하는 것을 포함한다. 다른 예로서, 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 것은 제2 서명에 기초하여 제1 해시 데이터 구조의 제2 특정 빈에 제2 뉴클레오타이드 시퀀싱 리드를 할당하는 것을 포함한다. 또 다른 예로서, 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 것은 제2 서명에 기초하여 제2 해시 데이터 구조의 제2 특정 빈에 제1 뉴클레오타이드 시퀀싱 리드 및 제2 뉴클레오타이드 시퀀싱 리드를 포함하는 시퀀싱 리드의 쌍을 할당하는 것을 포함한다.
예를 들어, 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 것은 제1 뉴클레오타이드 시퀀싱 리드의 제1 서명의 복수의 서브시퀀스 및 제2 뉴클레오타이드 시퀀싱 리드의 제2 서명의 복수의 서브시퀀스에 각각 기초하여 제1 해시 데이터 구조의 제1 특정 빈 및 제2 데이터 구조의 제2 특정 빈에 제1 뉴클레오타이드 시퀀싱 리드 및 뉴클레오타이드 시퀀싱 리드를 포함하는 시퀀싱 리드의 쌍을 할당하는 것을 포함한다. 컴퓨팅 시스템은 각각 제1 해시 데이터 구조의 빈의 키 및 제2 해시 데이터 구조의 빈의 키를 저장하기 위한 제1 데이터 구조 및 제2 데이터 구조를 저장할 수 있다. 시퀀싱 리드의 쌍을 할당하는 것은 제1 서명 및 제2 서명이 제1 데이터 구조 및 제2 데이터 구조에 저장되는 것을 결정하고; 제1 저장된 키 및 제2 저장된 키를 각각 사용하여 제1 해시 데이터 구조의 제1 특정 빈 및 제2 해시 데이터 구조의 제2 특정 빈에 시퀀싱 리드의 쌍을 할당하는 것을 포함할 수 있다. 시퀀싱 리드의 쌍 및 제1 저장된 키와 연관된 제1 시퀀싱 리드 및 제2 저장된 키와 관련된 제2 시퀀싱 리드를 포함하는 쌍의 정렬 스코어는 정렬 스코어 임계값을 초과한다.
시퀀싱 리드의 쌍을 할당하는 것은 제1 데이터 구조에 저장되고 제1 서명과 연관된 제1 해시 데이터 구조의 하나 이상의 제1 키를 결정하고; 제2 데이터 구조에 저장되고 제2 서명과 연관된 제2 해시 데이터 구조의 하나 이상의 제2 키를 결정하고; 제1 저장된 키와 연관된 제1 시퀀싱 리드 및 제2 저장된 키와 연관된 제2 시퀀싱 리드를 포함하는 쌍이 시퀀싱 리드의 쌍과 함께 임의의 제1 저장된 키와 연관된 제1 시퀀싱 리드 및 임의의 제2 저장된 키와 연관된 제2 시퀀싱 리드를 포함하는 임의의 쌍의 최고 정렬 스코어를 갖는 것으로 결정하고; 각각 최고 정렬 스코어를 갖는 제1 시퀀싱 리드 및 제2 시퀀싱 리드의 쌍과 연관된 제1 저장된 키 및 제2 저장된 키를 사용하여 제1 해시 데이터 구조의 제1 특정 빈 및 제2 해시 데이터 구조의 제2 특정 빈에 시퀀싱 리드의 쌍을 할당하는 것을 포함할 수 있다. 제1 저장된 키와 연관된 제1 시퀀싱 리드는 제1 서명을 갖는 임의의 제1 저장된 키와 연관된 제1 시퀀싱 리드의 최고 정렬 스코어를 가질 수 있다. 제2 저장된 키와 연관된 제2 시퀀싱 리드는 제2 서명을 갖는 임의의 제2 저장된 키와 연관된 제2 시퀀싱 리드의 최고 정렬 스코어를 가질 수 있다.
리드 식별
도 8은 지역 민감 해싱을 사용하여 유사한 리드를 식별하는 예시적인 방법(800)을 나타내는 흐름도이다. 본 방법(800)은 컴퓨팅 시스템의 하나 이상의 디스크 드라이브와 같은 컴퓨터-판독 가능 매체에 저장된 실행 가능한 프로그램 명령의 세트로 구현될 수 있다. 예를 들어, 도 9에 나타내고 더욱 상세하게 후술할 컴퓨팅 시스템(900)은 본 방법(800)을 구현하기 위하여 실행 가능한 프로그램 명령의 세트를 실행할 수 있다. 본 방법(800)이 개시될 때, 실행 가능한 프로그램 명령은 RAM과 같은 메모리에 로드될 수 있고, 컴퓨팅 시스템(900)의 하나 이상의 프로세서에 의해 실행될 수 있다. 본 방법(800)이 도 9에 나타낸 컴퓨팅 시스템(900)과 관련하여 설명되었지만. 해당 설명은 예시일 뿐이며 제한적인 것으로 의도되지 않는다. 일부 실시예에서, 본 방법(800) 또는 그 일부는 복수의 컴퓨팅 시스템에 의해 직렬로 또는 병렬로 수행될 수 있다. 컴퓨팅 시스템은 시퀀싱 리드의 복수의 쌍을 저장하기 위한 제1 해시 데이터 구조 및 제2 해시 데이터 구조를 저장할 수 있다.
시퀀싱 리드의 각각의 쌍은 제1 뉴클레오타이드 시퀀싱 리드 및 제2 뉴클레오타이드 시퀀싱 리드를 포함할 수 있으며, 여기서 시퀀싱 리드의 각각의 쌍은 제1 뉴클레오타이드 시퀀싱 리드의 제1 식별자 시퀀스의 제1 식별자 서브시퀀스를 해싱함으로써 생성된 쌍의 제1 뉴클레오타이드 시퀀싱 리드의 제1 서명에 기초하여 제1 해시 데이터 구조의 복수의 제1 빈 중 하나에 할당된다. 시퀀싱 리드의 각각의 쌍은 제2 뉴클레오타이드 시퀀싱 리드의 제2 식별자 시퀀스를 해싱함으로써 생성된 쌍의 제2 뉴클레오타이드 시퀀싱 리드의 제2 서명에 기초하여 제2 해시 데이터 구조의 복수의 제2 빈 중 하나에 할당될 수 있다.
본 방법(800)이 블록 804에서 개시된 후, 본 방법(800)은 블록 808로 진행하고, 여기서 컴퓨팅 시스템은 제1 질의 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드의 쌍을 수신한다. 본 방법(800)은 블록 808에서 블록 812로 진행하며, 여기서 컴퓨팅 시스템은 각각 제1 질의 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드로부터 복수의 제1 질의 식별자 서브시퀀스 및 복수의 제2 질의 식별자 서브시퀀스를 생성한다. 블록 812에서 질의 식별자 서브시퀀스를 생성한 후, 본 방법(800)은 블록 816으로 진행하고, 여기서 컴퓨팅 시스템은 각각 복수의 제1 질의 식별자 서브시퀀스 및 복수의 제2 질의 식별자 서브시퀀스에 해싱을 적용함으로써 제1 뉴클레오타이드 시퀀싱 리드 및 제2 뉴클레오타이드 시퀀싱 리드에 대한 제1 질의 서명 및 제2 질의 서명을 생성한다. 컴퓨팅 시스템은 도 7을 참조하여 설명된 블록 708 내지 716을 참조하여 설명된 바와 같이 블록 808 내지 816에서 단계를 수행할 수 있다.
블록 816 후에, 본 방법은 직교 질의를 포함할 수 있다. 예를 들어, 본 방법은 블록 816에서 블록 820으로 진행하며, 여기서 컴퓨팅 시스템은 각각 제1 질의 서명 및 제2 질의 서명을 사용하여 제1 해시 데이터 구조 및 제2 해시 데이터 구조로부터 하나 이상의 제1 저장된 쌍 및 하나 이상의 제2 저장된 쌍을 검색하며, 여기서 제1 쌍 및 제2 쌍의 각각은 제1 저장된 뉴클레오타이드 시퀀싱 리드 및 제2 저장된 뉴클레오타이드 시퀀싱 리드를 포함한다. 블록 820에서 시퀀싱 리드의 쌍을 검색한 후, 본 방법(800)은 블록 824로 진행하며, 여기서 컴퓨팅 시스템은 질의 시퀀싱 리드 1 및 질의 시퀀싱 리드 2와 유사한 시퀀싱 리드 1 및 시퀀싱 리드 2로서 제1 저장된 쌍 및 제2 저장된 쌍 모두에 존재하는 제1 저장된 뉴클레오타이드 시퀀싱 리드 및 제2 저장된 뉴클레오타이드 시퀀싱 리드의 각각의 쌍을 결정한다. 본 방법(800)은 블록 828에서 종료된다.
시퀀싱 리드의 각각의 쌍은 제1 식별자 시퀀스 및 제2 식별자 시퀀스와 연관될 수 있다. 컴퓨팅 시스템은 시퀀싱 리드의 제1 쌍의 제1 식별자 시퀀스 및 제2 식별자 시퀀스와 시퀀싱 리드의 제2 쌍의 제2 식별자 시퀀스 및 제1 식별자 시퀀스가 동일한 것으로 결정할 수 있고; 시퀀싱 리드의 제1 쌍 및 시퀀싱 리드의 제2 쌍의 뉴클레오타이드 시퀀스를 결정할 수 있다.
일 실시예에서, 본 방법(800)은 블록 808에서 제1 질의 뉴클레오타이드 시퀀싱 리드를 수신하는 것을 포함할 수 있다. 제1 질의 뉴클레오타이드 시퀀싱 리드를 수신하는 것은 제1 질의 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드의 쌍을 수신하는 것을 포함할 수 있다. 본 방법(800)은 블록 812에서 제1 질의 뉴클레오타이드 시퀀싱 리드로부터 복수의 제1 질의 식별자 서브시퀀스를 생성하는 것을 포함할 수 있다. 복수의 제1 질의 식별자 서브시퀀스를 생성하는 것은 제2 뉴클레오타이드 시퀀싱 리드로부터 복수의 제2 질의 식별자 서브시퀀스를 생성하는 것을 포함할 수 있다. 본 방법(800)은 블록 816에서 복수의 제1 질의 식별자 서브시퀀스에 해싱을 적용함으로써 제1 뉴클레오타이드 시퀀싱 리드에 대한 제1 질의 서명을 생성하는 것을 포함할 수 있다. 제1 질의 서명을 생성하는 것은 복수의 제2 질의 식별자 서브시퀀스에 해싱을 적용함으로써 제2 뉴클레오타이드 시퀀싱 리드에 대한 제2 질의 서명을 생성하는 것을 포함할 수 있다. 본 방법(800)은 블록 820에서 제1 질의 서명을 사용하여 제1 해시 데이터 구조로부터 하나 이상의 제1 저장된 뉴클레오타이드 시퀀싱 리드를 검색하는 것을 포함할 수 있다. 제1 저장된 뉴클레오타이드 시퀀싱 리드의 각각은 제1 질의 뉴클레오타이드 시퀀싱 리드와 유사할 수 있다. 하나 이상의 제1 저장된 뉴클레오타이드 시퀀싱 리드를 검색하는 것은 제1 해시 데이터 구조로부터 하나 이상의 제1 저장된 쌍을 검색하고, 제1 질의 서명 및 제2 질의 서명을 사용하여 시퀀싱 리드의 복수의 쌍을 저장하는 것을 포함할 수 있다. 각각의 제1 쌍은 각각 제1 질의 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드와 유사한 제1 저장된 뉴클레오타이드 시퀀싱 리드 및 제2 저장된 뉴클레오타이드 시퀀싱 리드를 포함할 수 있다.
실행 환경
도 9는 본 명세서에 개시된 대사물, 주석 및 유전자 통합 시스템을 구현하도록 구성된 예시적인 컴퓨팅 디바이스(900)의 일반적인 아키텍처를 도시한다. 도 9에 도시된 컴퓨팅 디바이스(900)의 일반적인 아키텍처는 컴퓨터 하드웨어 및 소프트웨어 구성 요소의 배열을 포함한다. 컴퓨팅 디바이스(900)는 도 9에 도시된 것보다 더 많은(또는 더 적은) 요소를 포함할 수 있다. 그러나, 가능하게 하는 개시를 제공하기 위해 이러한 일반적으로 통상적인 요소들 모두가 나타내어질 필요는 없다. 나타낸 바와 같이, 컴퓨팅 디바이스(900)는 프로세싱 유닛(940), 네트워크 인터페이스(945), 컴퓨터 판독 가능 매체 드라이브(950), 입력/출력 디바이스 인터페이스(955), 디스플레이(960) 및 입력 디바이스(965)를 포함하며, 이들 모두는 통신 버스에 의해 서로 통신할 수 있다. 네트워크 인터페이스(945)는 하나 이상의 네트워크 또는 컴퓨팅 시스템에 대한 접속을 제공할 수 있다. 따라서, 프로세싱 유닛(940)은 네트워크를 통해 다른 컴퓨팅 시스템 또는 서비스로부터 정보 및 명령을 수신할 수 있다. 프로세싱 유닛(940)은 또한 메모리(970)로/로부터 통신할 수 있고, 입력/출력 디바이스 인터페이스(955)를 통해 선택적인 디스플레이(960)에 대한 출력 정보를 추가로 제공할 수 있다. 입력/출력 디바이스 인터페이스(955)는 또한 키보드, 마우스, 디지털 펜, 마이크로폰, 터치 스크린, 제스처 인식 시스템, 음성 인식 시스템, 게임 패드, 가속도계, 자이로스코프 또는 다른 입력 디바이스와 같은 선택적인 입력 디바이스(965)로부터의 입력을 받아들일 수 있다.
메모리(970)는 하나 이상의 실시예를 구현하기 위해 프로세싱 유닛(940)이 실행하는 컴퓨터 프로그램 명령(일부 실시예에서 모듈 또는 구성 요소로 그루핑됨)을 포함할 수 있다. 메모리(970)는 일반적으로 RAM, ROM 및/또는 다른 영구적인, 보조적인 또는 비일시적인 컴퓨터-판독 가능 매체를 포함한다. 메모리(970)는 컴퓨팅 디바이스(900)의 일반적인 관리 및 동작에서 프로세싱 유닛(940)에 의해 사용하기 위한 컴퓨터 프로그램 명령을 제공하는 운영 체제(972)를 저장할 수 있다. 메모리(970)는 컴퓨터 프로그램 명령 및 본 개시내용의 양태를 구현하기 위한 다른 정보를 추가로 포함할 수 있다.
예를 들어, 일 실시예에서, 메모리(970)는 도 7을 참조하여 설명된 리드 콜랩싱 방법(700)과 같은 지역 민감 해싱을 사용하여 시퀀싱 리드를 콜랩싱하기 위한 지역 민감 해싱-기반 리드 콜랩싱 모듈(974)을 포함한다. 메모리(970)는 도 8을 참조하여 설명된 식별 방법(800)과 같은 질의 시퀀싱 리드의 유사한 뉴클레오타이드 시퀀싱 리드를 식별하기 위한 지역 민감 해싱 질의 모듈(976)을 추가적으로 또는 대안적으로 포함할 수 있다. 또한, 메모리(970)는 리드 콜랩싱 및/또는 유사한 뉴클레오타이드 시퀀싱 리드 식별에 대한 데이터 및 그 결과를 저장하는 데이터 저장소(990) 및/또는 하나 이상의 다른 데이터 저장소를 포함하거나 이와 통신할 수 있다.
하드웨어 가속
일부 실시예에서, 시퀀싱 리드를 그루핑 및 콜랩싱하기 위한 개시된 방법은 범용 컴퓨터 프로세서보다 더 높은 효율로 개시된 방법을 계산하도록 설계되거나 프로그래밍된 어플리케이션-특정 하드웨어에서 구현된다. 예를 들어, 프로세싱 유닛(940)은 필드-프로그래머블 게이트 어레이(FPGA: field-programmable gate array) 또는 어플리케이션-특정 집적 회로(ASIC: application-specific integrated circuit)일 수 있다.
일 예에서, 지역 민감 해싱(LSH) 동작은 FPGA에 의해 가속화될 수 있다. 일부 실시예에서, FPGA에 의한 LSH 동작의 가속은 UMI 당 해시 테이블을 구축하고 질의하는 데 필요한 메모리 및 또한 소프트웨어의 병목에 메모리 대역폭이 얼마나 가까운지에 따를 수 있다. 시퀀싱 리드와 연관된 클러스터링 UMI가 FPGA에서 구현되는 경우, 동일한 하드웨어 내에서 리드 콜랩싱 방법을 가속화하는 것이 또한 유리할 수 있다.
일부 실시예에서, 하나 이상의 어플리케이션-특정 집적 회로(ASIC)가 본 명세서에 설명된 각각의 게놈 분석 모듈 또는 다른 컴퓨터 중 하나 이상의 기능을 수행하도록 프로그래밍될 수 있다. ASIC는 ASIC의 디지털 논리 게이트가 VHDL과 같은 하드웨어 설명 언어를 사용하여 프로그래밍 가능하다는 점에서 본 명세서에 설명된 FPGA와 유사한 하나 이상의 프로그래밍 가능한 논리 회로를 포함하는 집적 회로를 포함한다. 그러나, ASIC는 한 번만 프로그래밍될 수 있고, 일단 프로그래밍되면 동적으로 재구성될 수 없다는 점에서 FPGA와 다르다. 또한, 본 개시내용의 양태는 FPGA 또는 ASIC를 사용하여 시퀀싱 리드 그루핑 및 콜랩싱을 구현하는 것으로 한정되지 않는다. 대신, 프로세싱 유닛(940)의 임의의 게놈 분석 모듈 또는 다른 컴퓨터가 하나 이상의 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 또는 소프트웨어 명령 실행을 통해 시퀀싱 리드 그루핑 및 콜랩싱을 그에 따라 구현하는 임의의 조합을 사용하여 구현될 수 있다.
일부 구현에서, 시퀀싱 리드 그루핑 및 콜랩싱을 구현하기 위해 FPGA, ASIC, CPU, GPU 또는 이들의 조합과 같은 집적 회로의 사용은 단일 FPGA, 단일 ASIC, 단일 CPU, 단일 GPU 또는 이들의 임의의 조합을 포함할 수 있다. 대안적으로 또는 추가적으로, 시퀀싱 리드 그루핑 및 콜랩싱을 구현하기 위한 FPGA, ASIC, CPU, GPU 또는 이들의 조합과 같은 집적 회로의 사용은 복수의 FPGA, 복수의 ASIC, 복수의 CPU 또는 복수의 GPU 또는 이들의 임의의 조합을 포함할 수 있다. 시퀀싱 리드 그루핑 및 콜랩싱을 구현하기 위한 복수의 FPGA와 같은 추가 집적 회로의 사용은 매핑, 정렬, P-HMM 확률 계산 및 변이 호출과 같은 2차 분석 작업을 수행하는 데 걸리는 시간량을 줄일 수 있다. 일부 구현에서, 이러한 2차 분석 작업을 구현하기 위한 FPGA의 사용은 이러한 2차 분석 작업을 완료하는 데 걸리는 시간을 24시간 이상으로부터 30분 이하만큼 작게 줄일 수 있다. 일부 구현에서 이러한 2차 분석 작업을 수행하기 위한 복수의 FPGA의 사용은 이러한 2차 분석 작업을 5분만에 완료되도록 할 수 있다.
용어
본 명세서에서 실질적으로 임의의 복수 및/또는 단수 용어의 사용과 관련하여, 본 기술 분야의 통상의 기술자는 문맥 및/또는 어플리케이션에 적절하게 복수에서 단수로 및/또는 단수에서 복수로 번역할 수 있다. 명료성을 위해 다양한 단수/복수의 치환이 본 명세서에서 명시적으로 개진될 수 있다.
일반적으로 본 명세서에서, 특히 첨부된 청구 범위(예를 들어, 첨부된 청구 범위의 본문)에서 사용되는 용어는 일반적으로 "개방형" 용어로 의도된다는 것을 본 기술 분야의 통상의 기술자는 이해할 것이다(예를 들어, "포함하는"이라는 용어는 "포함하지만 이에 한정되지 않는"으로 해석되어야 하고, "갖는"이라는 용어는 "적어도 갖는"으로 해석되어야 하며, "포함하다"라는 용어는 "포함하지만 이에 한정되지 않는다" 등으로 해석되어야 함). 특정 수의 도입된 청구항 인용이 의도된 경우, 이러한 의도는 청구항에서 명시적으로 인용될 것이며, 이러한 인용이 없는 경우 이러한 의도가 존재하지 않는다는 것이 본 기술 분야의 통상의 기술자에 의해 추가로 이해될 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부된 청구항은 청구항 인용을 도입하기 위해 도입 문구 "적어도 하나" 및 "하나 이상"의 사용을 포함할 수 있다. 그러나, 이러한 문구의 사용은 부정 관사 "어느(a)" 또는 "어떤(an)"에 의한 청구항 인용의 도입이 동일한 청구항이 도입 문구 "하나 이상" 또는 "적어도 하나" 및 "어느" 또는 "어떤"과 같은 부정 관사를 포함하는 경우에도(예를 들어, "어느" 및/또는 "어떤"은 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 해석되어야 함) 부정 관사 "어느" 또는 "어떤"에 의한 청구항 인용의 도입이 이러한 도입된 청구항 인용을 포함하는 임의의 특정 청구항을 단지 하나의 이러한 인용을 포함하는 실시예로 한정함을 의미하는 것으로 해석되어서는 안되며; 동일한 사항의 청구항 인용을 도입하는 데 사용되는 정관사의 사용에 대해서도 유효하다. 또한, 도입된 청구항 인용의 특정 수가 명시적으로 인용되는 경우에도, 본 기술 분야의 통상의 기술자는 이러한 인용이 적어도 인용된 수를 의미하는 것으로 해석되어야 함을 인식할 것이다(예를 들어, 다른 수식어 없이 "2개의 인용"의 그대로의 인용은 적어도 2개의 인용 또는 2개 이상의 인용을 의미함). 또한 "A, B 및 C 등 중 적어도 하나"와 유사한 관례가 사용되는 경우, 일반적으로 그러한 구성은 본 기술 분야의 통상의 기술자가 해당 관례를 이해할 것이라는 의미에서 의도된다(예를 들어, "A, B 및 C 중 적어도 하나를 갖는 시스템"은 A 단독, B 단독, C 단독, A와 B 함께, A와 C 함께, B와 C 함께, 및/또는 A, B 및 C 함께 등을 갖는 시스템을 포함하지만 이에 한정되지는 않을 것이다). "A, B 또는 C 등 중 적어도 하나"와 유사한 관례가 사용되는 경우, 일반적으로 이러한 구성은 본 기술 분야의 통상의 기술자가 해당 관례를 이해할 것이라는 의미에서 의도된다(예를 들어, "A, B 또는 C 중 적어도 하나를 갖는 시스템"은 A 단독, B 단독, C 단독, A와 B 함께, A와 C 함께, B와 C 함께, 및/또는 A, B 및 C 함께 등을 갖는 시스템을 포함하지만 이에 한정되지는 않을 것이다). 설명, 청구 범위 또는 도면에서 2개 이상의 대체 용어를 제시하는 사실상 임의의 이접 단어 및/또는 문구는 용어 중 하나, 해당 용어 또는 모든 두 용어 모두 중 어느 하나를 포함할 가능성을 고려하도록 이해되어야 한다는 것이 본 기술 분야의 통상의 기술자에게 추가로 이해될 것이다. 예를 들어, "A 또는 B"라는 문구는 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
추가로, 본 개시내용의 특징 또는 양태가 Markush 그룹의 관점에서 설명되는 경우, 본 기술 분야의 통상의 기술자는 본 개시가 또한 Markush 그룹의 멤버의 임의의 개별 멤버 또는 하위 그룹의 관점에서 설명된다는 것을 인식할 것이다.
본 기술 분야의 통상의 기술자에 의해 이해되는 바와 같이, 임의의 및 모든 목적을 위해, 기재된 설명을 제공하는 관점에서와 같이, 본 명세서에 개시된 모든 범위는 또한 임의의 그리고 모든 가능한 하위 범위 및 그 하위 범위의 조합을 포함한다. 열거된 임의의 범위는 동일한 범위가 적어도 동일한 절반, 1/3, 1/4, 1/5, 1/10 등으로 분할되도록 충분히 설명하고 가능하게 하는 것으로 쉽게 인식될 수 있다. 비제한적인 예로서, 본 명세서에서 논의된 각 범위는 하위 1/3, 중간 1/3 및 상위 1/3 등으로 쉽게 분할될 수 있다. 또한, 본 기술 분야의 통상의 기술자에 의해 이해되는 바와 같이, "까지", "적어도", "보다 크다", "보다 작다" 등과 같은 모든 언어는 인용된 숫자를 포함하고, 위에서 논의한 바와 같이 하위-범위로 후속적으로 분할될 수 있는 범위를 지칭한다. 마지막으로, 본 기술 분야의 통상의 기술자에 의해 이해되는 바와 같이, 범위는 각각의 개별 멤버를 포함한다. 따라서, 예를 들어, 1개 내지 3개의 항목을 갖는 그룹은 1, 2 또는 3개의 항목을 갖는 그룹을 지칭한다. 유사하게, 1개 내지 5개의 항목을 갖는 그룹은 1, 2, 3, 4 또는 5개의 항목 등을 갖는 그룹을 지칭한다.
본 명세서에서 다양한 양태 및 실시예가 개시되었지만, 다른 양태 및 실시예가 본 기술 분야의 통상의 기술자에게 명백할 것이다. 본 명세서에 개시된 다양한 양태 및 실시예는 예시를 위한 것이며 한정하려고 의도된 것이 아니며, 진정한 범위 및 사상은 이하의 청구 범위에 의해 나타내어진다.

Claims (29)

  1. 뉴클레오타이드 시퀀싱 리드(read)로부터 뉴클레오타이드 시퀀스를 결정하기 위한 시스템으로서,
    실행 가능한 명령 및 상기 뉴클레오타이드 시퀀싱 리드를 복수의 빈(bin)에 저장하기 위한 제1 해시 데이터 구조를 저장하도록 구성된 비일시적 메모리; 및
    방법을 수행하기 위해 상기 실행 가능한 명령에 의해 프로그래밍된 하드웨어 프로세서를 포함하되, 상기 방법은,
    복수의 제1 뉴클레오타이드 시퀀싱 리드를 수신하는 단계;
    각각의 제1 뉴클레오타이드 시퀀싱 리드에 대해서:
    상기 제1 뉴클레오타이드 시퀀싱 리드의 제1 식별자 시퀀스로부터 복수의 제1 식별자 서브시퀀스를 생성하는 단계;
    상기 복수의 제1 식별자 서브시퀀스에 해싱을 적용함으로써 상기 제1 뉴클레오타이드 시퀀싱 리드에 대한 제1 서명을 생성하는 단계; 및
    상기 제1 서명에 기초하여 상기 제1 해시 데이터 구조의 적어도 하나의 제1 특정 빈에 상기 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 단계; 및
    할당된 하나 이상의 제1 뉴클레오타이드 시퀀싱 리드로 상기 제1 해시 데이터 구조의 각각의 제1 특정 빈에 대한 뉴클레오타이드 시퀀스를 결정하는 단계를 포함하는, 시스템.
  2. 제1항에 있어서, 상기 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 단계는,
    상기 제1 뉴클레오타이드 시퀀싱 리드의 상기 제1 서명으로부터 상기 제1 서명의 복수의 서브시퀀스를 결정하는 단계; 및
    상기 제1 서명의 서브시퀀스에 기초하여 복수의 제1 해시 데이터 구조의 각각의 제1 해시 데이터 구조의 제1 특정 빈에 상기 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 단계를 포함하는, 시스템.
  3. 제1항에 있어서, 상기 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 단계는,
    상기 제1 뉴클레오타이드 시퀀싱 리드의 상기 제1 서명으로부터 상기 제1 서명의 복수의 서브시퀀스를 결정하는 단계; 및
    상기 제1 서명의 상기 복수의 서브시퀀스에 기초하여 상기 제1 해시 데이터 구조의 복수의 제1 특정 빈에 상기 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 단계를 포함하는, 시스템.
  4. 제1항에 있어서, 상기 제1 특정 빈은 상기 제1 해시 데이터 구조의 기존의 빈이고, 상기 제1 해시 데이터 구조의 상기 제1 특정 빈에 할당된 상기 제1 뉴클레오타이드 시퀀싱 리드 및 또 다른 제1 뉴클레오타이드 시퀀싱 리드의 정렬 스코어는 정렬 스코어 임계값 초과인, 시스템.
  5. 제1항에 있어서, 상기 제1 특정 빈은 상기 제1 해시 데이터 구조의 기존의 빈이고, 상기 제1 해시 데이터 구조의 상기 제1 특정 빈에 할당된 상기 제1 뉴클레오타이드 시퀀싱 리드 및 임의의 제1 뉴클레오타이드 시퀀싱 리드의 최고 정렬 스코어는 정렬 스코어 임계값 초과인, 시스템.
  6. 제1항에 있어서, 상기 제1 특정 빈은 상기 제1 해시 데이터 구조의 새로운 빈이고, 상기 제1 해시 데이터 구조의 임의의 기존의 빈에 할당된 상기 제1 뉴클레오타이드 시퀀싱 리드 및 임의의 제1 뉴클레오타이드 시퀀싱 리드의 정렬 스코어는 정렬 스코어 임계값 미만인, 시스템.
  7. 제1항에 있어서, 상기 제1 서명은 상기 제1 해시 데이터 구조의 상기 제1 특정 빈의 키와 매칭되는, 시스템.
  8. 제1항에 있어서, 상기 제1 해시 데이터 구조의 상기 제1 특정 빈의 상기 제1 서명 및 키는 동일한, 시스템.
  9. 제1항에 있어서, 각각의 제1 뉴클레오타이드 시퀀싱 리드는 제2 뉴클레오타이드 시퀀싱 리드와 연관되고, 상기 제1 뉴클레오타이드 시퀀싱 리드 및 상기 제2 뉴클레오타이드 시퀀싱 리드는 페어드-엔드(paired-end) 뉴클레오타이드 시퀀싱 리드를 형성하는, 시스템.
  10. 제1항에 있어서, 상기 뉴클레오타이드 시퀀스를 결정하는 단계는 상기 제1 특정 빈에 할당된 상기 하나 이상의 제1 뉴클레오타이드 시퀀싱 리드의 공통(consensus) 시퀀스를 결정하는 단계를 포함하는, 시스템.
  11. 제10항에 있어서,
    상기 공통 시퀀스를 결정하는 단계는 상기 제1 특정 빈의 상기 공통 시퀀스로서 상기 제1 특정 빈에 할당된 최고 품질 스코어를 갖는 제1 뉴클레오타이드 시퀀싱 리드를 결정하는 단계를 포함하는, 시스템.
  12. 제1항에 있어서, 상기 뉴클레오타이드 시퀀스를 결정하는 단계는 상기 제1 특정 빈의 대표 시퀀스로서 상기 제1 특정 빈에 할당된 상기 하나 이상의 제1 뉴클레오타이드 시퀀싱 리드의 시퀀스를 선택하는 단계를 포함하는, 시스템.
  13. 제1항에 있어서,
    상기 뉴클레오타이드 시퀀스를 결정하는 단계는 상기 제1 특정 빈에 할당된 상기 하나 이상의 제1 뉴클레오타이드 시퀀싱 리드 중 2개의 정렬 스코어가 정렬 스코어 임계값을 초과하는 것으로 결정하는 단계를 포함하는, 시스템.
  14. 제1항에 있어서, 상기 복수의 뉴클레오타이드 시퀀싱 리드는 동일한 물리적 식별자 시퀀스와 연관되는, 시스템.
  15. 제1항에 있어서, 상기 복수의 뉴클레오타이드 시퀀싱 리드는 어떠한 물리적 식별자 시퀀스와도 연관되지 않는, 시스템.
  16. 뉴클레오타이드 시퀀싱 리드들로부터 뉴클레오타이드 시퀀스를 결정하기 위한 컴퓨터-구현 방법으로서,
    복수의 제1 뉴클레오타이드 시퀀싱 리드를 수신하는 단계;
    각각의 제1 뉴클레오타이드 시퀀싱 리드에 대해서:
    상기 제1 뉴클레오타이드 시퀀싱 리드의 제1 식별자 시퀀스로부터 복수의 제1 식별자 서브시퀀스를 생성하는 단계;
    상기 복수의 제1 식별자 서브시퀀스에 해싱을 적용함으로써 상기 제1 뉴클레오타이드 시퀀싱 리드에 대한 제1 서명을 생성하는 단계;
    상기 제1 서명에 기초하여 상기 제1 해시 데이터 구조의 제1 특정 빈에 상기 제1 뉴클레오타이드 시퀀싱 리드를 할당하는 단계; 및
    할당된 하나 이상의 제1 뉴클레오타이드 시퀀싱 리드로 상기 제1 해시 데이터 구조의 각각의 제1 특정 빈에 대한 뉴클레오타이드 시퀀스를 결정하는 단계를 포함하는, 방법.
  17. 제16항에 있어서, 상기 복수의 제1 식별자 서브시퀀스를 생성하는 단계는 상기 시퀀싱 리드의 상기 제1 식별자 시퀀스로부터 복수의 k-mer를 생성하는 단계를 포함하는, 방법.
  18. 제17항에 있어서, 상기 서브시퀀스는 뉴클레오타이드 삽입, 뉴클레오타이드 결실(deletion), 뉴클레오타이드 치환, 또는 이들의 조합을 포함하는, 방법.
  19. 제17항에 있어서, 2개의 연속적인 제1 식별자 서브시퀀스가 중첩되는, 방법.
  20. 제17항에 있어서, 상기 복수의 제1 식별자 서브시퀀스는 복수의 4-mer를 포함하고, 상기 제1 식별자 시퀀스는 약 25개의 뉴클레오타이드를 포함하는, 방법.
  21. 제17항에 있어서, 상기 제1 식별자 시퀀스는 시퀀싱 리드 1의 서브시퀀스인, 방법.
  22. 제17항에 있어서, 상기 제1 서명을 생성하는 단계는 각각의 제1 식별자 서브시퀀스에 대한 복수의 해시를 결정하는 단계를 포함하는, 시스템.
  23. 제17항에 있어서, 상기 제1 데이터 구조는 해시 테이블을 포함하는, 시스템.
  24. 유사한 뉴클레오타이드 시퀀싱 리드를 식별하기 위한 시스템으로서,
    실행 가능한 명령,
    복수 쌍의 시퀀싱 리드를 저장하기 위한 제1 해시 데이터 구조 및 제2 해시 데이터 구조를 저장하도록 구성된 비일시적 메모리; 및
    방법을 수행하기 위해 상기 실행 가능한 명령에 의해 프로그래밍된 하드웨어 프로세서를 포함하고, 상기 방법은,
    제1 질의(query) 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀싱 리드의 쌍을 수신하는 단계;
    상기 제1 질의 뉴클레오타이드 시퀀싱 리드 및 상기 제2 질의 뉴클레오타이드 시퀀싱 리드로부터 복수의 제1 질의 식별자 서브시퀀스 및 복수의 제2 질의 식별자 서브시퀀스를 각각 생성하는 단계;
    상기 복수의 제1 질의 식별자 서브시퀀스 및 상기 복수의 제2 질의 식별자 서브시퀀스에 해싱을 각각 적용함으로써, 상기 제1 뉴클레오타이드 시퀀싱 리드 및 상기 제2 뉴클레오타이드 시퀀싱 리드에 대한 제1 질의 서명 및 제2 질의 서명을 각각 생성하는 단계;
    상기 제1 질의 서명 및 상기 제2 질의 서명을 사용하여 상기 제1 해시 데이터 구조 및 상기 제2 해시 데이터 구조로부터 하나 이상의 제1 저장된 쌍 및 하나 이상의 제2 저장된 쌍을 각각 검색하는 단계로서, 상기 제1 쌍 및 상기 제2 쌍의 각각은 제1 저장된 뉴클레오타이드 시퀀싱 리드 및 제2 저장된 뉴클레오타이드 시퀀싱 리드를 포함하는, 검색하는 단계; 및
    질의 시퀀싱 리드 1 및 질의 시퀀싱 리드 2와 유사한 시퀀싱 리드 1 및 시퀀싱 리드 2로서 상기 제1 저장된 쌍 및 상기 제2 저장된 쌍 모두에 존재하는 제1 저장된 뉴클레오타이드 시퀀싱 리드 및 제2 저장된 뉴클레오타이드 시퀀싱 리드의 각각의 쌍을 각각 결정하는 단계를 포함하는, 시스템.
  25. 제24항에 있어서, 시퀀싱 리드들의 각각의 쌍은 제1 뉴클레오타이드 시퀀싱 리드 및 제2 뉴클레오타이드 시퀀싱 리드를 포함하고, 시퀀싱 리드들의 각각의 쌍은 상기 제1 뉴클레오타이드 시퀀싱 리드의 제1 식별자 시퀀스의 제1 식별자 서브시퀀스들을 해싱함으로써 생성된 쌍의 제1 뉴클레오타이드 시퀀싱 리드의 제1 서명에 기초하여 상기 제1 해시 데이터 구조의 복수의 제1 빈 중 하나에 할당되고, 시퀀싱 리드들의 각각의 쌍은 상기 제2 뉴클레오타이드 시퀀싱 리드의 제2 식별자 시퀀스들을 해싱함으로써 생성된 쌍의 제2 뉴클레오타이드 시퀀싱 리드의 제2 서명에 기초하여 상기 제2 해시 데이터 구조의 복수의 제2 빈 중 하나에 할당되는, 시스템.
  26. 제25항에 있어서, 상기 하드웨어 프로세서는 상기 방법을 수행하기 위해 상기 실행 가능한 명령에 의해 프로그래밍되고, 상기 방법은,
    시퀀싱 리드들의 각각의 쌍에 대해서:
    상기 시퀀싱 리드들의 쌍의 상기 제1 뉴클레오타이드 시퀀싱 리드의 제1 식별자 시퀀스로부터 복수의 제1 식별자 서브시퀀스를 생성하는 단계;
    상기 복수의 제1 식별자 서브시퀀스에 해싱을 적용함으로써 상기 제1 뉴클레오타이드 시퀀싱 리드에 대한 제1 서명을 생성하는 단계; 및
    상기 제1 서명에 기초하여 상기 제1 해시 데이터 구조의 적어도 하나의 제1 특정 빈에 상기 시퀀싱 리드들의 쌍을 할당하는 단계; 및
    상기 하나 이상의 쌍의 상기 제1 뉴클레오타이드 시퀀싱 리드들 및 상기 제2 뉴클레오타이드 시퀀싱 리드들로부터 할당된 제1 뉴클레오타이드 시퀀싱 리드들 및 제2 뉴클레오타이드 시퀀싱 리드들의 하나 이상의 쌍으로 상기 제1 해시 데이터 구조의 각각의 제1 특정 빈에 대한 뉴클레오타이드 시퀀스를 결정하는 단계를 포함하는, 시스템.
  27. 제25항에 있어서, 시퀀싱 리드들의 각각의 쌍은 제1 식별자 시퀀스 및 제2 식별자 시퀀스와 연관되고, 상기 하드웨어 프로세서는 상기 방법을 수행하기 위해 상기 실행 가능한 명령에 의해 프로그래밍되고, 상기 방법은,
    시퀀싱 리드들의 제1 쌍의 상기 제1 식별자 시퀀스 및 상기 제2 식별자 시퀀스와 상기 시퀀싱 리드들의 제2 쌍의 상기 제2 식별자 시퀀스 및 상기 제1 식별자 시퀀스가 동일한지를 결정하는 단계; 및
    상기 시퀀싱 리드들의 상기 제1 쌍 및 상기 시퀀싱 리드들의 상기 제2 쌍의 뉴클레오타이드 시퀀스를 결정하는 단계를 포함하는, 시스템.
  28. 유사한 뉴클레오타이드 시퀀싱 리드를 식별하기 위한 방법으로서,
    제1 질의 뉴클레오타이드 시퀀싱 리드를 수신하는 단계;
    상기 제1 질의 뉴클레오타이드 시퀀싱 리드로부터 복수의 제1 질의 식별자 서브시퀀스를 생성하는 단계;
    상기 복수의 제1 질의 식별자 서브시퀀스에 해싱을 적용함으로써 상기 제1 뉴클레오타이드 시퀀싱 리드에 대한 제1 질의 서명을 생성하는 단계; 및
    상기 제1 질의 서명을 사용하여 제1 해시 데이터 구조로부터 하나 이상의 제1 저장된 뉴클레오타이드 시퀀싱 리드를 검색하는 단계로서, 상기 제1 저장된 뉴클레오타이드 시퀀싱 리드들의 각각은 상기 제1 질의 뉴클레오타이드 시퀀싱 리드와 유사한, 검색하는 단계를 포함하는, 방법.
  29. 제28항에 있어서, 상기 제1 질의 뉴클레오타이드 시퀀싱 리드를 수신하는 단계는 상기 제1 질의 뉴클레오타이드 시퀀싱 리드 및 제2 질의 뉴클레오타이드 시퀀스 리드의 쌍을 수신하는 단계를 포함하고, 상기 복수의 제1 질의 식별자 서브시퀀스를 생성하는 단계는 상기 제2 뉴클레오타이드 시퀀싱 리드로부터 복수의 제2 질의 식별자 서브시퀀스를 생성하는 단계를 포함하고, 상기 제1 질의 서명을 생성하는 단계는 상기 복수의 제2 질의 식별자 서브시퀀스에 해싱을 적용함으로써 상기 제2 뉴클레오타이드 시퀀싱 리드에 대한 제2 질의 서명을 생성하는 단계를 포함하고, 상기 하나 이상의 제1 저장된 뉴클레오타이드 시퀀싱 리드를 검색하는 단계는 상기 제1 질의 서명 및 상기 제2 질의 서명을 사용하여 상기 제1 해시 데이터 구조로부터 하나 이상의 제1 저장된 쌍을 검색하고, 시퀀싱 리드들의 복수의 쌍을 저장하는 단계를 포함하고, 제1 쌍의 각각은 상기 제1 질의 뉴클레오타이드 시퀀싱 리드 및 상기 제2 질의 뉴클레오타이드 시퀀싱 리드와 각각 유사한 제1 저장된 뉴클레오타이드 시퀀싱 리드 및 제2 저장된 뉴클레오타이드 시퀀싱 리드를 포함하는, 방법.
KR1020207037493A 2018-10-31 2019-10-29 시퀀싱 리드 그루핑 및 콜랩싱을 위한 시스템 및 방법 KR20210082390A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862753786P 2018-10-31 2018-10-31
US62/753,786 2018-10-31
PCT/US2019/058476 WO2020092309A1 (en) 2018-10-31 2019-10-29 Systems and methods for grouping and collapsing sequencing reads

Publications (1)

Publication Number Publication Date
KR20210082390A true KR20210082390A (ko) 2021-07-05

Family

ID=68583540

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207037493A KR20210082390A (ko) 2018-10-31 2019-10-29 시퀀싱 리드 그루핑 및 콜랩싱을 위한 시스템 및 방법

Country Status (10)

Country Link
US (2) US11688489B2 (ko)
EP (1) EP3874511A1 (ko)
JP (1) JP2022503435A (ko)
KR (1) KR20210082390A (ko)
CN (1) CN112534507B (ko)
AU (1) AU2019369302A1 (ko)
CA (1) CA3103297A1 (ko)
IL (1) IL279436A (ko)
SG (1) SG11202012296TA (ko)
WO (1) WO2020092309A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2022277902A1 (en) 2021-05-19 2023-12-14 Illumina, Inc. Umi collapsing
WO2023274497A1 (en) 2021-06-28 2023-01-05 Voredos N-hamming distance search and n-hamming distance search index

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070509A1 (en) * 2008-08-15 2010-03-18 Kai Li System And Method For High-Dimensional Similarity Search
US11859171B2 (en) * 2013-04-17 2024-01-02 Agency For Science, Technology And Research Method for generating extended sequence reads
US10191929B2 (en) * 2013-05-29 2019-01-29 Noblis, Inc. Systems and methods for SNP analysis and genome sequencing
US10956324B1 (en) * 2013-08-09 2021-03-23 Ellis Robinson Giles System and method for persisting hardware transactional memory transactions to persistent memory
US20160125130A1 (en) * 2014-11-05 2016-05-05 Agilent Technologies, Inc. Method for assigning target-enriched sequence reads to a genomic location
WO2016141294A1 (en) 2015-03-05 2016-09-09 Seven Bridges Genomics Inc. Systems and methods for genomic pattern analysis
WO2017004589A1 (en) 2015-07-02 2017-01-05 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
JP6946292B2 (ja) * 2015-08-06 2021-10-06 エイアールシー バイオ リミテッド ライアビリティ カンパニー ゲノム分析のためのシステムおよび方法
CN106295250B (zh) 2016-07-28 2019-03-29 北京百迈客医学检验所有限公司 二代测序短序列快速比对分析方法及装置
EP3520221B1 (en) * 2016-09-30 2021-05-05 Microsoft Technology Licensing, LLC Efficient clustering of noisy polynucleotide sequence reads
US20180247016A1 (en) * 2017-02-02 2018-08-30 Seven Bridges Genomics Inc. Systems and methods for providing assisted local alignment
US10774379B2 (en) * 2017-03-15 2020-09-15 Microsoft Technology Licensing, Llc Random access of data encoded by polynucleotides

Also Published As

Publication number Publication date
WO2020092309A1 (en) 2020-05-07
IL279436A (en) 2021-01-31
CN112534507A (zh) 2021-03-19
AU2019369302A1 (en) 2021-01-21
CN112534507B (zh) 2024-03-15
SG11202012296TA (en) 2021-01-28
US11688489B2 (en) 2023-06-27
JP2022503435A (ja) 2022-01-12
EP3874511A1 (en) 2021-09-08
US20230282309A1 (en) 2023-09-07
US20200135298A1 (en) 2020-04-30
CA3103297A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
Schbath et al. Mapping reads on a genomic sequence: an algorithmic overview and a practical comparative analysis
Holley et al. Bifrost: highly parallel construction and indexing of colored and compacted de Bruijn graphs
US10579661B2 (en) System and method for machine learning and classifying data
Dobin et al. Optimizing RNA-Seq mapping with STAR
Rumble et al. SHRiMP: accurate mapping of short color-space reads
Sirén et al. Indexing graphs for path queries with applications in genome research
KR101153033B1 (ko) 사본 탐지 및 삭제 방법
Al-Ghalith et al. NINJA-OPS: fast accurate marker gene alignment using concatenated ribosomes
US20230282309A1 (en) Systems and methods for grouping and collapsing sequencing reads
US11062793B2 (en) Systems and methods for aligning sequences to graph references
JP2008506165A (ja) データ集合の目録作成および探索のための方法およびシステム
Alsmadi et al. String matching evaluation methods for DNA comparison
Prezza et al. Variable-order reference-free variant discovery with the Burrows-Wheeler Transform
Kim et al. A review on sequence alignment algorithms for short reads based on next-generation sequencing
Li et al. MegaGTA: a sensitive and accurate metagenomic gene-targeted assembler using iterative de Bruijn graphs
Nayak et al. A review on role of bloom filter on dna assembly
Popic et al. Privacy-preserving read mapping using locality sensitive hashing and secure kmer voting
Vaddadi et al. Read mapping on genome variation graphs
US20130041593A1 (en) Method for fast and accurate alignment of sequences
US20170169159A1 (en) Repetition identification
Zheng et al. Creating and using minimizer sketches in computational genomics
Kucherov et al. Multi-seed lossless filtration
Bonizzoni et al. Kfinger: capturing overlaps between long reads by using Lyndon fingerprints
JP7173821B2 (ja) 生物学的配列フィンガープリント
Adaş et al. Nucleotide sequence alignment and compression via shortest unique substring