IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ イルミナ インコーポレイテッドの特許一覧

特許7562426配列決定リードのグルーピングおよびコラプシングのためのシステムおよび方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】配列決定リードのグルーピングおよびコラプシングのためのシステムおよび方法
(51)【国際特許分類】
   G16B 30/10 20190101AFI20240930BHJP
   G06F 16/901 20190101ALI20240930BHJP
【FI】
G16B30/10
G06F16/901
【請求項の数】 17
(21)【出願番号】P 2020572925
(86)(22)【出願日】2019-10-29
(65)【公表番号】
(43)【公表日】2022-01-12
(86)【国際出願番号】 US2019058476
(87)【国際公開番号】W WO2020092309
(87)【国際公開日】2020-05-07
【審査請求日】2022-10-28
(31)【優先権主張番号】62/753,786
(32)【優先日】2018-10-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500358711
【氏名又は名称】イルミナ インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジャオ, チェン
(72)【発明者】
【氏名】ウー, ケビン エリック
(72)【発明者】
【氏名】ビルケ, スヴェン
【審査官】山崎 誠也
(56)【参考文献】
【文献】Assemblinglarge genomes with single-molecule sequencing and locality-sensitive hashing,[online],VOLUME 33 NUMBER 6,2015年06月,[2023年12月26日検索], インターネット<URL:https://www.nature.com/articles/nbt.3238.pdf>
【文献】Neil A. Miller,A 26-hour system of highly sensitive whole genome sequencing for emergency management of genetic diseases,[online],2015年,p.1-16,[2023年12月26日検索], インターネット<URL:https://genomemedicine.biomedcentral.com/articles/10.1186/s13073-015-0221-8>
(58)【調査した分野】(Int.Cl.,DB名)
G16B 5/00-99/00
G06F 16/901
(57)【特許請求の範囲】
【請求項1】
ヌクレオチド配列決定リードを識別するためのシステムであって、前記システムは、
以下を格納するように構成された一時的でないメモリ:
実行可能な命令、
配列決定リードの複数のペアを格納するための第1のハッシュデータ構造および第2のハッシュデータ構造;ならびに
以下を行うために、前記実行可能な命令によってプログラムされたハードウェアプロセッサ:
第1の問い合わせヌクレオチド配列決定リードおよび第2の問い合わせヌクレオチド配列決定リードのペアを受容する工程;
複数の第1の問い合わせ識別子サブシーケンスおよび複数の第2の問い合わせ識別子サブシーケンスを、それぞれ、前記第1の問い合わせヌクレオチド配列決定リードおよび前記第2の問い合わせヌクレオチド配列決定リードから生成する工程;
前記第1の問い合わせヌクレオチド配列決定リードおよび前記第2の問い合わせヌクレオチド配列決定リードに関する第1の問い合わせシグナチャーおよび第2の問い合わせシグナチャーを、それぞれ、前記複数の第1の問い合わせ識別子サブシーケンスおよび前記複数の第2の問い合わせ識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;ならびに
1またはこれより多くの第1の格納したペアおよび1またはこれより多くの第2の格納したペアを、それぞれ、前記第1のハッシュデータ構造および前記第2のハッシュデータ構造から、前記第1の問い合わせシグナチャーおよび前記第2の問い合わせシグナチャーを使用して回収する工程であって、ここで各回収され、格納したペアは、第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードを含む工程;ならびに
前記第1の格納したペアおよび第2の格納したペアの両方に存在する第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードの各ペアを、配列決定リード1および配列決定リード2として決定する工程、
を含む、システム。
【請求項2】
配列決定リードの各ペアは、第1のヌクレオチド配列決定リードおよび第2のヌクレオチド配列決定リードを含み、配列決定リードの各ペアは、前記第1のヌクレオチド配列決定
リードの第1の識別子配列の第1の識別子サブシーケンスのハッシングによって生成した前記ペアの第1のヌクレオチド配列決定リードの第1のシグナチャーに基づいて、前記第1のハッシュデータ構造の複数の第1のビンのうちの1つに割り当てられ、配列決定リードの各ペアは、前記第2のヌクレオチド配列決定リードの第2の識別子配列のハッシングによって生成した前記ペアの第2のヌクレオチド配列決定リードの第2のシグナチャーに基づいて、前記第2のハッシュデータ構造の複数の第2のビンのうちの1つに割り当てられる、請求項1に記載のシステム。
【請求項3】
前記ハードウェアプロセッサは、
配列決定リードの各ペアに関して:
複数の第1の識別子サブシーケンスを、配列決定リードの前記ペアのうちの前記第1のヌクレオチド配列決定リードの第1の識別子配列から生成する工程;
前記第1のヌクレオチド配列決定リードに関する第1のシグナチャーを、前記複数の第1の識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;および
配列決定リードの前記ペアを、前記第1のシグナチャーに基づいて、前記第1のハッシュデータ構造のうちの少なくとも1つの第1の特定のビンに割り当てる工程;および
前記第1のハッシュデータ構造の各第1の特定のビンに関するヌクレオチド配列を、前記1またはこれより多くのペアのうちの前記第1のヌクレオチド配列決定リードおよび前記第2のヌクレオチド配列決定リードから割り当てられた第1のヌクレオチド配列決定リードおよび第2のヌクレオチド配列決定リードの1またはこれより多くのペアとともに決定する工程、
を行うために前記実行可能な命令によってプログラムされている、請求項2に記載のシステム。
【請求項4】
配列決定リードの前記ペアを割り当てる工程が、
前記第1のシグナチャーの複数のサブシーケンスを、配列決定リードの前記ペアのうちの前記第1のヌクレオチド配列決定リードの前記第1のシグナチャーから決定すること、および
配列決定リードの前記ペアを、前記第1のシグナチャーのサブシーケンスに基づいて、複数の第1のハッシュデータ構造のうちの各第1のハッシュデータ構造の第1の特定のビンに割り当てること
を含む、請求項3に記載のシステム。
【請求項5】
配列決定リードの前記ペアを割り当てる工程が、
前記第1のシグナチャーの複数のサブシーケンスを、配列決定リードの前記ペアのうちの前記第1のヌクレオチド配列決定リードの前記第1のシグナチャーから決定すること、および
配列決定リードの前記ペアを、前記第1のシグナチャーの前記複数のサブシーケンスに基づいて、前記第1のハッシュデータ構造の複数の第1の特定のビンに割り当てること
を含む、請求項3に記載のシステム。
【請求項6】
前記第1の特定のビンは、前記第1のハッシュデータ構造に存在するビンであり、配列決定リードの前記ペアまたは配列決定リードの前記ペアの1つ、および前記第1のハッシュデータ構造の前記第1の特定のビンに割り当てられた配列決定リードの別ペアまたはその1つの配列決定リードのアラインメントスコアは、アラインメントスコア閾値を上回る、
前記第1の特定のビンは、前記第1のハッシュデータ構造に存在するビンであり、配列決定リードの前記ペアまたはその1つの配列決定リード、および前記第1のハッシュデータ構造の前記第1の特定のビンに割り当てられたヌクレオチド配列決定リードの任意のペアまたはその1つの配列決定リードの最高のアラインメントスコアは、アラインメントスコ
ア閾値を上回る、ならびに/または
前記第1の特定のビンは、前記第1のハッシュデータ構造の新しいビンであり、配列決定リードの前記ペアまたはその1つの配列決定リード、および前記第1のハッシュデータ構造の任意に存在するビンに割り当てられた配列決定リードの任意のペアまたはその1つの配列決定リードのアラインメントスコアは、アラインメントスコア閾値を下回る、
請求項3に記載のシステム。
【請求項7】
前記第1のシグナチャーは、前記第1のハッシュデータ構造の前記第1の特定のビンのキーにマッチする、および/または前記第1のシグナチャーおよび前記第1のハッシュデータ構造の前記第1の特定のビンの前記キーは、同一である、請求項3に記載のシステム。
【請求項8】
前記ヌクレオチド配列を決定する工程は、前記第1の特定のビンに割り当てられた配列決定リードの前記1またはこれより多くのペアのコンセンサス配列を決定することを包含し、必要に応じて、前記コンセンサス配列を決定することは、前記第1の特定のビンに割り当てられた最高の品質スコアを有する配列決定リードのペアまたは配列決定リードの前記ペアの1つを、前記第1の特定のビンの前記コンセンサス配列として決定することを包含する、請求項3に記載のシステム。
【請求項9】
前記ヌクレオチド配列を決定する工程は、前記第1の特定のビンに割り当てられた配列決定リードの前記1またはこれより多くのペアの配列を、前記第1の特定のビンの代表的配列として選択することを包含する、請求項3に記載のシステム。
【請求項10】
前記ヌクレオチド配列を決定する工程は、前記第1の特定のビンに割り当てられた配列決定リードの前記1またはこれより多くのペアのうちの2つのアラインメントスコアがアラインメントスコア閾値を上回ることを決定することを包含する、請求項3に記載のシステム。
【請求項11】
複数の前記ヌクレオチド配列決定リードは、同一の物理的識別子配列と関連するか、または複数の前記ヌクレオチド配列決定リードは、いかなる物理的識別子配列とも関連しない、請求項3に記載のシステム。
【請求項12】
配列決定リードの各ペアは、第1の識別子配列および第2の識別子配列と関連し、前記ハードウェアプロセッサは、
配列決定リードの第1のペアの前記第1の識別子配列および前記第2の識別子配列、ならびに配列決定リードの第2のペアの前記第2の識別子配列および第1の識別子配列が同一であることを決定する工程;ならびに
配列決定リードの前記第1のペアおよび配列決定リードの前記第2のペアのヌクレオチド配列を決定する工程、
を行うために前記実行可能な命令によってプログラムされている、請求項2に記載のシステム。
【請求項13】
前記第1の問い合わせヌクレオチド配列決定リードおよび前記第2の問い合わせヌクレオチド配列決定リードはペアードエンドヌクレオチド配列決定リードである、請求項1に記載のシステム。
【請求項14】
ヌクレオチド配列決定リードを識別するためのコンピューターで実行される方法であって、前記方法は、
第1の問い合わせヌクレオチド配列決定リードおよび第2の問い合わせヌクレオチド配列決定リードのペアを受容する工程;
複数の第1の問い合わせ識別子サブシーケンスおよび複数の第2の問い合わせ識別
子サブシーケンスを、それぞれ前記第1の問い合わせヌクレオチド配列決定リードおよび前記第2のヌクレオチド配列決定リードから生成する工程;
それぞれ前記第1の問い合わせヌクレオチド配列決定リードおよび前記第2の問い合わせヌクレオチド配列決定リードに関する第1の問い合わせシグナチャーおよび第2の問い合わせシグナチャーを、それぞれ前記複数の第1の問い合わせ識別子サブシーケンスおよび前記複数の第2の問い合わせ識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;および
1またはこれより多くの第1の格納したヌクレオチド配列決定リードおよび1またはこれより多くの第2の格納した配列決定リードを、第1のハッシュデータ構造から、前記第1の問い合わせシグナチャーおよび前記第2の問い合わせシグナチャーを使用して回収し、それにより前記第1の格納したヌクレオチド配列決定リードおよび前記第2の格納した配列決定リードを、前記第1の問い合わせヌクレオチド配列決定リードおよび前記第2の問い合わせヌクレオチド配列決定リードから識別する工程、
を包含する方法。
【請求項15】
1またはこれより多くの第1の格納したヌクレオチド配列決定リードおよび1またはこれより多くの第2の格納した配列決定リードを回収する工程が、前記第1のハッシュデータ構造から1またはこれより多くの第1の格納したペアを回収すること、配列決定リードの複数のペアを格納すること、前記第1の問い合わせシグナチャーおよび前記第2の問い合わせシグナチャーを使用することを含む、請求項14に記載の方法。
【請求項16】
請求項1から13のいずれか一項に記載のシステムまたは請求項14または15に記載の方法により、ヌクレオチド配列決定リードからヌクレオチド配列を決定するためのシステムであって、前記システムは、
実行可能な命令および複数のビンの中にヌクレオチド配列決定リードを格納するための第1のハッシュデータ構造を格納するように構成された一時的でないメモリ;ならびに
以下を行うために、前記実行可能な命令によってプログラムされたハードウェアプロセッサ:
複数の第1のヌクレオチド配列決定リードを受容する工程;
各第1の問い合わせヌクレオチド配列決定リードに関して:
複数の第1の識別子サブシーケンスを、前記第1の問い合わせヌクレオチド配列決定リードの第1の識別子配列から生成する工程;
前記第1の問い合わせヌクレオチド配列決定リードに関する第1のシグナチャーを、前記複数の第1の識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;および
前記第1のヌクレオチド配列決定リードを、前記第1のシグナチャーに基づいて、前記第1のハッシュデータ構造のうちの少なくとも1つの第1の特定のビンに割り当てる工程;ならびに
前記第1のハッシュデータ構造の各第1の特定のビンに関するヌクレオチド配列を、割り当てられた1またはこれより多くの第1のヌクレオチド配列決定リードとともに決定する工程、
を含むシステム。
【請求項17】
請求項1から15のいずれか一項に記載の方法により、ヌクレオチド配列決定リードからヌクレオチド配列を決定するためのコンピューターで実行される方法であって、前記方法は、
複数の第1のヌクレオチド配列決定リードを受容する工程;
各第1のヌクレオチド配列決定リードに関して:
複数の第1の識別子サブシーケンスを、前記第1のヌクレオチド配列決定リードの第1の識別子配列から生成する工程;
前記第1のヌクレオチド配列決定リードに関する第1のシグナチャーを、前記複数の第1の識別子サブシーケンスに対してハッシュ化を適用することによって生成する工
程;および
前記第1のヌクレオチド配列決定リードを、前記第1のシグナチャーに基づいて、第1のデータ構造の第1の特定のビンに割り当てる工程;および
前記第1のデータ構造の各第1の特定のビンに関するヌクレオチド配列を、割り当てられた1またはこれより多くの第1のヌクレオチド配列決定リードとともに決定する工程、
を包含する方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本出願は、2018年10月31日出願の米国仮出願第62/753,786号(その内容は、その全体において参考として援用される)に基づく優先権を主張する。
【0002】
著作権の表示
この特許文書の開示の一部は、著作権保護に従う資料を含む。著作権者は、特許文書または特許の開示が特許商標庁の特許ファイルおよび記録にあることから、特許文書または特許の開示を何人かが複製することに異議はないが、そうでなければ、どのようなものでも、全ての著作権の権利を留保する。
【0003】
背景
分野
本開示は、一般に、ヌクレオチド配列決定データを処理する、およびより詳細には、局所性鋭敏型ハッシュを使用するヌクレオチド配列決定データのコラプシング(collapsing)という分野に関する。
【背景技術】
【0004】
関連技術の説明
リードコラプシングは、同じ供給源のデオキシリボ核酸(DNA)分子から発生するとして、配列決定システムからの出力であるヌクレオチド配列決定リードを識別する計算(computational)方法である。上記配列決定システムは、Illumina, Inc.(San Diego, CA)のNextSseq機器のような次世代シーケンシング(NGS)システムであり得る。リードコラプシングは、これらのリードセットにおいて見出される疑似エラーを低減する統計的方法を使用することを含み得る。リードコラプシングの結果のインシリコエラー低減は、超低アレル画分を有するバリアントの検出のような次世代シーケンシング(NGS)内での適用のために、および臨床適用のための強調されたバリアント呼び出し特異性を可能にするにあたって有用であり得る。
【発明の概要】
【課題を解決するための手段】
【0005】
要旨
配列決定リードをコラプシングし、かつ複数の異なる配列決定リードにおいて類似のヌクレオチド配列を識別するためのシステムおよび方法が、本明細書で開示される。一実施形態において、システムは、ラン可能な命令および複数のビンの中にヌクレオチド配列決定リードを格納するための第1のハッシュデータ構造を格納するように構成された一時的でないメモリを含む。上記システムはまた、以下を包含する方法を行うために、上記実行可能な命令によってプログラムされたハードウェアプロセッサ:複数のヌクレオチド配列決定リード(例えば、ペアードエンド配列決定リードのヌクレオチド配列決定リード1)を受容する工程;各ヌクレオチド配列決定リードに関して: 複数の第1の識別子サブシーケンスを、上記ヌクレオチド配列決定リードの第1の識別子配列から生成する工程;上記ヌクレオチド配列決定リードに関する第1のシグナチャーを、上記複数の第1の識別子サブシーケンスに対してハッシュ化(ハッシング)を適用することによって生成する工程;ならびに上記ヌクレオチド配列決定リードを、上記第1のシグナチャーに基づいて、上記第1のハッシュデータ構造のうちの少なくとも1つの第1の特定のビンに割り当てる工程;ならびに上記第1のハッシュデータ構造の各第1の特定のビンに関するヌクレオチド配列を、割り当てられた1またはこれより多くのヌクレオチド配列決定リードとともに決定する工程、を含み得る。
【0006】
本発明の別の実施形態は、複数のヌクレオチド配列決定リード(例えば、ヌクレオチド配列決定リード)を受容する工程;各ヌクレオチド配列決定リードに関して: 複数の第1の識別子サブシーケンスを、上記ヌクレオチド配列決定リードの第1の識別子配列から生成する工程;上記ヌクレオチド配列決定リードに関する第1のシグナチャーを、上記複数の第1の識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;ならびに上記ヌクレオチド配列決定リードを、上記第1のシグナチャーに基づいて、第1のデータ構造の第1の特定のビンに割り当てる工程;ならびに上記第1のデータ構造の各第1の特定のビンに関するヌクレオチド配列を、割り当てられた1またはこれより多くのヌクレオチド配列決定リードとともに決定する工程を包含するコンピューターで実行される方法である。
【0007】
さらに別の実施形態は、類似のヌクレオチド配列決定リードを識別するためのシステムおよび方法を包含する。一例において、システムは、以下を格納するように構成された一時的でないメモリ:実行可能な命令、配列決定リードの複数のペアを格納するための第1のハッシュデータ構造および第2のハッシュデータ構造;ならびに以下を包含する方法を行うために、上記実行可能な命令によってプログラムされたハードウェアプロセッサ:第1の問い合わせ(query)ヌクレオチド配列決定リードおよび第2の問い合わせヌクレオチド配列決定リードのペアを受容する工程;複数の第1の問い合わせ識別子サブシーケンスおよび複数の第2の問い合わせ識別子サブシーケンスを、それぞれ、上記第1の問い合わせヌクレオチド配列決定リードおよび上記第2の問い合わせヌクレオチド配列決定リードから生成する工程、を含む。上記第1および第2の問い合わせヌクレオチド配列決定リードは、ペアードエンド配列決定リードのペアのリードであり得る。上記方法は、上記第1のヌクレオチド配列決定リードおよび第2のヌクレオチド配列決定リードに関する第1の問い合わせシグナチャーおよび第2の問い合わせシグナチャーを、それぞれ、上記複数の第1の問い合わせ識別子サブシーケンスおよび上記複数の第2の問い合わせ識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;1またはこれより多くの第1の格納したペアおよび1またはこれより多くの第2の格納したペアを、それぞれ、上記第1のハッシュデータ構造および上記第2のハッシュデータ構造から、上記第1の問い合わせシグナチャーおよび上記第2の問い合わせシグナチャーを使用して回収する工程であって、ここで上記第1のペアおよび上記第2のペアの各々は、第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードを含む工程;ならびに上記第1の格納したペアおよび第2の格納したペアの両方に存在する第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードの各ペアを、それぞれ、上記第1の問い合わせ配列決定リードおよび上記第2の問い合わせ配列決定リードに類似の第1の配列決定リードおよび第2の配列決定リードとして決定する工程を包含し得る。
【0008】
別の実施形態は、第1の問い合わせヌクレオチド配列決定リードおよび第2の問い合わせヌクレオチド配列決定リードのペアを受容する工程;複数の第1の問い合わせ識別子サブシーケンスおよび複数の第2の問い合わせ識別子サブシーケンスを、それぞれ、上記第1の問い合わせヌクレオチド配列決定リードおよび上記第2の問い合わせヌクレオチド配列決定リードから生成する工程;上記第1のヌクレオチド配列決定リードおよび上記第2のヌクレオチド配列決定リードに関する第1の問い合わせシグナチャーおよび第2の問い合わせシグナチャーを、それぞれ、上記複数の第1の問い合わせ識別子サブシーケンスおよび上記複数の第2の問い合わせ識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;ならびに1またはこれより多くの第1の格納したペアを第1のハッシュデータ構造から回収する工程、配列決定リードの複数のペアを、上記第1の問い合わせシグナチャーおよび上記第2の問い合わせシグナチャーを使用して格納する工程であって、ここで前記第1のペアの各々は、上記第1の問い合わせヌクレオチド配列決定リードおよび上記第2の問い合わせヌクレオチド配列決定リードに類似の第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードを含む工程、を包含するコンピューターで実行される方法である。
【0009】
本明細書に記載される主題の1またはこれより多くの実行の詳細は、添付の図面および以下の説明に示される。他の特長、局面、および利点は、説明、図面、および請求項から明らかになる。この要旨も以下の詳細な説明も、本発明の主題の範囲を規定することも限定することも主張しない。
【図面の簡単な説明】
【0010】
図1図1は、配列決定リードのコラプシングの模式図である。
【0011】
図2-1】図2A~2Dは、局所性鋭敏型ハッシュに基づくリードグルーピングおよびコラプシングの模式図を示す。この模式図は、屋根を葺くように並べる(shingling)(図2A)、最小ハッシュ化(図2B)、局所性鋭敏型ハッシュ(LSH)挿入(図2C)、およびLSH問い合わせ(図2D)を含む。問い合わせ配列決定リード(示さず)が与えられると、上記問い合わせ配列決定リードの最小ハッシュまたはシグナチャー232が生成され得、上記最小ハッシュ232は、ハッシュ表1および2(224a, 224b)に対して問い合わせするために使用される2つのチャック232a、232bへと分割され得る。上記問い合わせ配列決定リードは、ハッシュ表1および2(224a, 224b)に格納される配列ACTGGAC 204に類似であるが、同一ではない。上記問い合わせ配列決定リードの最小ハッシュ232は、最小ハッシュ212が、どのようにして図2Aおよび2Bに図示される配列決定リードACTGGAC(204)に関して生成されるかに類似して生成される。ハッシュ表1(224a)は、既存のビン228aのキー212aとしてチャックのうちの一方232aを含まないので、上記問い合わせ配列決定リードに類似の配列決定リードは、ハッシュ表1(224a)において見出されない。ハッシュ表2(224b)は、既存のビン228bのキー212bとしてチャックのうちの一方232bを含むので、上記問い合わせ配列決定リードは、既存のビン228bと関連する配列決定リード204に類似である。次いで、既存のビン228bに格納される配列ACTGGAC(204)は、上記問い合わせ配列決定リードに類似の配列決定リードとして戻される。
図2-2】同上。
図2-3】同上。
図2-4】同上。
【0012】
図3図3は、ペアードエンド配列決定リードのリード1およびリード2に関する仮想ユニバーサル分子インデックス(vUMI)を生成する模式図を示す。
【0013】
図4図4Aおよび4Bは、仮想UMIからkマー(図4A)およびタイル状のkマー(図4B)を生成する模式図を示す。
【0014】
図5図5は、配列決定リードを、それらの配列およびそれらのハッシュを介してビニングするフロー図を示す。各物理的UMIバーコードは、120の考えられる物理的UMIバーコードのうちの1つから選択され得、その結果、配列決定リード1およびリード2の各ペアに関する物理的UMIバーコードの120×120=14,400の組み合わせが存在する。フロー図において、配列決定リード1およびリード2の各ペアは、上記ペアの物理的UMIバーコードの組み合わせに基づいて、14,400 UMIビンのうちの各々に割り当てられ得る。本開示のリードコラプシング方法は、各UMIビンの配列決定リードに適用され得る。
【0015】
図6-1】図6A~6Fは、局所性鋭敏型ハッシュを伴うリードコラプシングをよびアラインメントベースのリードコラプシングが類似の成績を有することを示す例示的プロットである。
図6-2】同上。
図6-3】同上。
図6-4】同上。
図6-5】同上。
図6-6】同上。
【0016】
図7図7は、局所性鋭敏型ハッシュを使用するリードコラプシングの例示的方法を示すフロー図である。
【0017】
図8図8は、局所性鋭敏型ハッシュを使用する類似のリードを識別する例示的方法を示すフロー図である。
【0018】
図9図9は、局所性鋭敏型ハッシュでリードコラプシングおよび問い合わせを実行するように構成された例証的コンピューティングシステムのブロック図である。
【発明を実施するための形態】
【0019】
詳細な説明
以下の詳細な説明において、その一部を形成する添付の図面に対して言及がなされる。図面において、類似の記号は、代表的には、状況が別段規定しなければ、類似の構成要素を識別する。詳細な説明、図面、および請求項に記載される例証的実施形態は、限定であることを意味されない。他の実施形態が利用されてもよく、本明細書で示される主題の趣旨または範囲から逸脱することなく、他の変更が行われてもよい。本開示の局面は、本明細書で概して記載され、図面の中で図示されるように、広く種々の異なる構成において配置され得、置換され得、組み合わされ得、分離され得、デザインされ得ることは、容易に理解される。これら構成は全て、本明細書で明示的に企図され、本明細書中の開示の一部を構成する。
【0020】
概説
リードコラプシングは、同じ供給源のデオキシリボ核酸(DNA)分子に由来するヌクレオチド配列決定リードを識別し、その後、統計的方法を使用して、これらのリードセットにおいて見出される疑似エラーを低減する計算方法である。図1を参照すると、プラス鎖108aおよびマイナス鎖108bを有する同じDNA分子108の重複のリード104+r1、104+r2、104-r1、104-r2を全て与えると、リードコラプシングは、それらのリード104+r1、104+r2、104-r1、104-r2を一緒にグルーピングする工程を包含し得る。リードコラプシングは、統計的投票(statistical voting)を使用して、疑似エラーを低減する、例えば、単純コラプシングを用いて、ヌクレオチド鎖のヌクレオチド配列(例えば、DNA分子108のプラス鎖108aの配列)を決定する工程を包含し得る。リードコラプシングは、高忠実度を有する元のDNA分子108の配列を推測する工程、例えば、二重コラプシングを用いて、プラス鎖108aの配列およびマイナス鎖108bの配列の両方から、DNA分子108のヌクレオチド配列を決定する工程を包含し得る。本明細書で開示されるシステムおよび方法は、リードコラプシングのために局所性鋭敏型ハッシュ(LSH)および仮想識別子配列(vID配列)を利用し得る。
【0021】
リードコラプシングは、高品質リードを生成し得る。リードコラプシングは、サンプルが、識別子配列(ID配列)112a、112b’、112a’、112bとともに配列決定されることを要求し得る。このような識別子配列はまた、本明細書で「物理的識別子配列(physical identifier sequence)」(pID sequences)といわれる。これらの識別子配列は、ユニバーサル分子インデックス(UMI)バーコードであり得る。このような識別子配列112a、112b’、112a’、112bは、別の点では非常に類似であるように思われ得るリードおよび分子を区別する場合に増大した分離能を可能にするが、リードコラプシングは、特定の環境下でこのような識別子配列なしに行われ得る。リードコラプシングは、インシリコ(in-silica)エラー低減を生じ得る。このようなエラー低減は、次世代シーケンシング(NGS)内での多くの適用のために有用であり得る。
【0022】
このプロセスの1つの適用は、超低アレル画分に(例えば、循環する腫瘍DNA(ctDNA)に)存在するに過ぎないバリアントの検出である。別の適用は、臨床適用に関する強調したバリアント呼び出し特異性である。リードコラプシングは、DNAフラグメントの重複の観察(例えば、DNAフラグメントのPCR複製)全てを、単一の代表へと効果的に組み合わせるので、リードコラプシングは、下流で処理される必要のあるデータ量を顕著に低減するという利点を有する。重複の観察、またはリードを除去することは、データサイズにおいて10倍の、またはこれより大きな減少を生じ得る。
【0023】
ナイーブリードコラプシング法は、徹底的なペアワイズ配列比較を含み得、これは、ランタイムO(n)を要する。O(n)は、NGSデータにとって打破しがたい。例えば、およそ6億のリードペア(6×10)が、サンプルから生成され得る。徹底的なペアワイズ配列比較は、3.6×1017の比較を要し得る。1つの比較/ナノ秒という速度においてすら、3.6×10秒(これは、およそ4,167日に等しい)が、上記ペアワイズ比較を計算するために要求される。56プロセシングコアを用いてすら、1つのサンプルを分析するために2ヶ月超という計算時間がなおかかる。
【0024】
従来のリードコラプシング方法は、アラインメント位置およびUMIバーコード情報の組み合わせを使用して、重複のリードのグループを識別し得る。リードコラプシングのこれらの方法のうちの1つの否定的側面は、このような方法が、既に整列されかつソートされた入力リードを要求することである。リードコラプシングの前に整列およびソードされているリードの前処理と関連する難題が存在する。第1に、従来のリード処理は、O(n×log(n))の前処理を要する。「n」個のリードを整列させることは、O(n)というランタイムを要求し得る。「n」個のリードをソートすることは、O(n×log(n))というランタイムを要求する。「n」個のリードを整列およびソートするという前処理は、O(n×log(n))というランタイムを要求する。
【0025】
従来の方法を使用してリードをコラプシングするプロセス全体は、O(n×log(n))という下界のランタイムを有する。この超線形関数は、ランタイムが入力サイズより早くなることを意味する。生の配列決定データがより大きく生成されるにつれて、従来のリードコラプシングと関連する計算コストは、処理されている配列決定データの量より早く大きくなる。さらに、従来のリードコラプシングは、十分に特徴づけられた参照に拘束される。リードコラプシングをヌクレオチドアラインメントに基づかせると、その使用法は、高品質参照配列が存在する適用に拘束される。なぜならこれらの参照配列は、良好なアラインメントおよびその後の正確なコラプシングを可能にするために必要であるからである。例えば、合理的に良好なアラインメントは、構造的バリアント、反復拡大、および反復ゲノム領域にとって利用可能でないこともある。アラインメントに対する依存性は、新規または未知の種に対してリードコラプシング技術(およびUMI技術)を使用することを困難にし、UMIが可能にしたエラー低減技術の一般性を制限する。リードコラプシングは、配列決定エラーを識別することに役立つ高品質「参照」が存在しないので、これらの場において大きな影響を有し得る。
【0026】
局所性鋭敏型ハッシュ(LSH)を使用するリードコラプシングのためのシステムおよび方法が、本明細書で開示される。従来のリードコラプシングアプローチは、アラインメント情報を要求した。なぜならUMIバーコードを既に共有したリードのサブグルーピングのための良好な代替法が存在しなかったからである。本明細書で開示されるとおりのLSHベースのリードコラプシング方法は、この欠点に対処し、アラインメントを有することに対するコラプシングの依存性を除去し、アルゴリズムの複雑性、ならびにリードコラプシングおよび関連技術の一般的適用における大きな利益を可能にする。
【0027】
一実施形態において、上記LSHベースのリードコラプシング方法は、O(n×log(n))というランタイムを有さず、十分に特徴づけられた参照を要求しない。例えば、上記リードコラプシング方法は、アラインメント情報を全く、ましてやソートされたアラインメントを要求しなくてもよい。1つの実行において、上記方法は、物理的識別子配列(pID配列)(例えば、物理的UMIバーコード(pUMIバーコード))、および仮想識別子配列(vID配列)(例えば、仮想UMIバーコード(vUMIバーコード))に依拠して、種々のヌクレオチドフラグメントに存在する重複したリードのグループを識別する。物理的識別子配列はまた、本明細書で「識別子配列(identifier sequence)」(ID配列)といわれる。物理的UMIバーコードはまた、本明細書で「UMIバーコード(UMI barcode)」といわれる。仮想識別子配列は、重複したリードのグループを識別するために、「仮想(virtual)識別子配列として作用するリードのサブシーケンスであり得る。vUMIバーコードは、重複したリードのグループを識別するために、「仮想」バーコードとして作用するリードのサブシーケンスであり得る。物理的識別子配列または物理的UMIバーコードは、配列決定ライブラリー調製の間に、ヌクレオチドフラグメントに付加される識別子配列またはバーコードであり得る。
【0028】
一実施形態において、上記方法は、類似のリードを一緒にグルーピングし、いかなる参照配列も徹底的な配列比較も要求しない。上記方法は、UMIバーコード(例えば、物理的UMI、仮想UMI、またはこれらの組み合わせ)によって規定されるビンへとリードの一次通過のナイーブグルーピングを決定する工程を包含し得る。上記方法は、仮想UMIと局所性鋭敏型ハッシュとを組み合わせる。上記方法は、類似の配列を有するリードが、それらのアラインメント情報なしに一緒にグルーピングされることを可能にし、上記方法は、リードコラプシングのプロセスをアラインメントの拘束から切り離す。上記方法は、そのビンにおいて他の配列決定リードをチェックすることを含む、類似の配列を決定する工程を包含し得る。
【0029】
上記方法は、サンプルが由来する生物に拘わらず、任意のサンプル(例えば、DNAまたはRNA)からのリードをコラプシングするために使用され得る。さらに、ハッシュ化は、O(1)一定時間オペレーションであり、かつハッシュ化は、n個のリードの各々に対して固定された時間数で行われる必要があるので、上記方法は、O(n)ランタイムにおいて実行するリードコラプシングを可能にする。例えば、ハッシュ化は、1回、2回、3回、またはより多く、n個のリードの各々に対して行われなければならない。このようなリードコラプシングランタイムは、NGSで生成されるデータのますます大きなセットに対して要求される処理時間を低減する。O(n)ランタイムは、二次分析のランタイム複雑性における顕著な低減を可能にし、任意のサンプルへのリードコラプシングの融通の利く適用を可能にする。
【0030】
一実施形態において、DNA配列決定機器は、本明細書で開示されるLSHベースのリードコラプシング方法を実行し得る。例えば、上記方法は、インシリコエラー低減のための機器上の方法(on-instrument method)として実行され得る。なぜなら上記方法は、リードコラプシングのために参照配列を要求しないからである。上記方法は、NGSの重複率をてこ入れしてエラー低減を実施することによって、全ての配列決定リードに関して大きく低減したエラー率を達成し得る。上記方法はまた、ユーザーが処理しなければならない配列決定データの量を顕著に低減し得、従って、ゲノム分析のアクセス性を増大させる。上記方法は、顧客にとってより少ない高品質リードを出力し、下流分析の複雑性を低減するシーケンサー上での技術として利用され得る。
【0031】
一実施形態において、上記配列決定リードは、UMIバーコードと関連しないか、またはUMIバーコードを使用して生成される。例えば、局所性鋭敏型ハッシュは、ヌクレオチドリードのグルーピングするために、仮想UMIに対して行われ得る。別の例として、物理的UMIバーコードによって提供されるビニング機能性を模倣するために、「層になった(tiered)」仮想UMIストラテジーが使用され得る。上記方法は、2タイプの仮想UMI(一方は、物理的UMIの模倣として使用され、一方は、仮想UMIとして使用される)を生成し得る。
【0032】
重複マーキングは、PCRによって導入されるバイアスを低減するためのバイオインフォマティクス方法である。本明細書で開示されるものは、類似のリード配列を一緒にグルーピングし、局所性鋭敏型ハッシュで重複を作成するためのシステムおよび方法を含む。
【0033】
リードコラプシング
本明細書で開示されるものは、リードコラプシングのためのシステムおよび方法を含む。一実施形態において、上記方法は、仮想識別子(vID)配列(例えば、仮想ユニバーサル分子インデックス(vUMI))を、局所性鋭敏型ハッシュとともに使用して、徹底的なペアワイズ比較を行うことなく、類似のリードの参照なのグルーピングを可能にする。配列決定リードの仮想識別子配列(例えば、仮想UMI)は、潜在的に不連続の部分ストリングを含む、配列決定リード自体の内部にある任意の部分ストリングまたはサブシーケンスに言及する。仮想識別子配列は、物理的識別子(pID)配列とは異なる。物理的識別子配列(例えば、物理的UMI(pUMI))は、配列決定ライブラリー調製の間に付加される識別子配列またはUMIバーコードに言及する。
【0034】
局所性鋭敏型ハッシュ(LSH)は、徹底的なペアワイズ比較を行うことなく、「類似の(similar)」データを、同じ計算「ビン(bin)」の中に置く計算法である。データ類似性は、レーベンシュタイン距離、ハミング距離、またはジャッカード距離のような測定規準とともに計算され得る。リードの配列類似性に言及する。上記LSH関数は、各リードと関連する仮想UMIを「ハッシュ(hash)」し得、その結果を使用して、類似の仮想UMIを有するリードの側に、各リードをビンの中に置く。本明細書で開示されるように配列決定リードに適用されるとおりのLSHは、エラーを含む仮想UMIを有する配列決定リードが、仮想UMIに基づいて一緒にグルーピングされることを可能にする。配列決定技術はしばしば、エラーのない配列決定リードを生成しない。従って、小さな変異を有し得る類似の配列を一緒にビニングしかつ迅速に見出すことができることは、リードコラプシングを行うために必要なリードグルーピングを実施するために重要である。配列決定リード中の小さな変異はしばしば予測し難いことから、類似の配列決定リードのグルーピングのための一般的方法は、特定の変異パターンを仮定する類似の配列決定リードのグルーピングのための特定の方法よりも有用であり得る。いくつかの実行において、本明細書で開示される方法の、エラーが全体に影響を与えない特性(error tolerant properties)は、配列決定リードのうちのおよそ20%において作用し始める。訂正されないままである場合、これらの配列決定リードは、コラプシング精度に大きく影響を与え得、その後、それ自体がバリアント呼び出しにおいて過度の偽陽性として現れ得る。
【0035】
一実施形態において、類似の配列決定リードは、仮想UMIを、例えば、辞書式順序で(lexicographically)ソートすることによって、配列決定リードから生成される仮想UMIに基づいて識別され得る。仮想UMIをソートすることに基づくリードコラプシング方法は、仮想UMIにおける変異を説明しなくてもよく、O(n×log(n))というランタイム複雑性を有してもよい。別の実施形態において、類似の配列決定リードは、ナイーブ規準的ハッシュ化を仮想UMIとともに使用して識別され得る。ナイーブ規準的ハッシュ化に基づくリードコラプシング方法は、LSHベースのリードコラプシング方法と比較して類似の成績を有し得る。このようなリードコラプシング方法は、エラーが全体に影響を与えない特性を有しない。一実施形態において、類似の配列決定リードは、配列決定リードと関連するUMIをクラスター化することによって識別され得る。クラスター化ベースのリードコラプシング方法は、わずかにミスマッチの仮想UMIバーコードを取り扱い得るが、O(n)ペアワイズ比較を必要とし、これは、従来のリードコラプシング方法のランタイムに関するO(n×log(n))およびLSHベースのリードコラプシング方法のO(n)ランタイムより顕著に悪い。
【0036】
LSHは、確率的データプロセスである。LSHで類似のリードデータを同じビンの中に置く確率は、高い。類似のデータが同じビンの中に入らない確率は、小さく、ゼロではない。類似のデータが同じビンの中に入らないか、または異なるデータが同じビンの中に入る見込みは、小さいかもしれない。一実施形態において、LSHは、類似のリードデータを同じビンの中に置く確率をLSHで最小にするためにデザインされる。一実施形態において、上記LSHベースのリードコラプシング方法は、最大呼び戻し(recall)および各ビンにおける各項目(通常は、5項目より少ない)に関するアラインメントベースのチェックを行うように構成され得る。
【0037】
配列に適用される局所性鋭敏型ハッシュ
局所性鋭敏型ハッシュ(LSH)は、各データ片(例えば、データの仮想UMI)を「ハッシュ」関数に通過させ、その結果は、そのデータをビンの中に入れるために使用される。LSHを用いると、類似のデータは、同じ(または近い)ビンの中に入り、類似のデータに関する非常に迅速な問い合わせを可能にする。LSHベースのリードコラプシングは、屋根を葺くように並べること、最小ハッシュ化、および局所性鋭敏型ハッシュを含み得る。屋根を葺くように並べることは、入力データを重なり合うセットまたは長さkの文字のシングル(shingle)へと整理することを含む。最小ハッシュ化は、各「シングル」を、ハッシュ関数のセットに通過させて、データのフィンガープリントまたはシグナチャーを生成することを含む。局所性鋭敏型ハッシュは、上記フィンガープリントを使用して、データを、類似のデータが類似のビニングスキームを共有するようである「ビン」に置くことを含む。例えば、配列決定リードは、上記配列決定リードの長さkのサブシーケンスへと整理され得る。各サブシーケンスは、ハッシュ関数を通過して、上記配列決定リードのシグナチャーを生成し得る。上記シグナチャーは、上記配列決定リードを、類似の配列決定リードが類似のまたは同一のシグナチャーを共有するようである1またはこれより多くのビンに置くために使用され得る。
【0038】
図2A~2Dは、屋根を葺くように並べること(図2A)、最小ハッシュ化(図2B)、局所性鋭敏型ハッシュ(LSH)挿入(図2C)、およびLSH問い合わせ(図2D)を含む、局所性鋭敏型ハッシュベースのリードグルーピングおよびコラプシングの模式図を示す。屋根を葺くように並べることは、m塩基対増分ずつk塩基のスライドするウインドウを動かし、従って、仮想UMI204をkマーの「シングル」208a~208d(図2A)に整理することを含む。例えば、4塩基のスライドするウインドウは、1塩基対増分ずつ動かされて、仮想UMI204を4マーのシングルへと整理し得る。図2Aは、配列の4つのシングルを示す。第1のシングルはGGAC(208a)であり、第2のシングルはTGGA(208b)であり、第3のシングルはCTGG(208c)であり、第4のシングルはACTG(208d)である。
【0039】
最小ハッシュ化は、シングルのkマーセットに関するハッシュ「シグナチャー(signature)」212を、上記セットをいくつかのハッシュ関数216に通過させ、最小ハッシュ(MinHash)を採用することによって、生成することを包含する。図2Bは、4つのシングル、GGAC、TGGA、CTGG、およびACTGのセットが、8個のハッシュ関数216へと通過して、各シングルに関して、それぞれ、上記8個のハッシュ関数の8要素の出力220a~220dを生成し得ることを図示する。ハッシュ関数の数は、8、16、32、64、128、256、512、1024、またはこれより多い可能性がある。そのハッシュ出力220a~220dの相当する要素の最小数は、上記最小数の最小ハッシュ212を計算するために採用され得る。上記最小ハッシュのジャッカード距離は、真のジャッカード距離の近似値である。ハッシュ関数がより多くなるほど、その近似値もよりよくなる。
【0040】
ここで図2Cを参照すると、上記配列決定リード204は、上記最小ハッシュ212、または上記配列決定リード204から計算された上記最小ハッシュ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において、キーとして使用される。この分割およびハッシュ化スキームは、ビンの「幅広さ(wideness)」に関して、およびより高次の呼び戻しまたはより高次の特異性に関して調節可能である。図2Cに示されるように、同じ配列決定リード204は、2つの異なるハッシュ表224a、224bにおいて2つの異なるビンの中に入れられる。2つの配列決定リードが1またはこれより多くのビンの中で共有する、または格納される限りにおいて、上記配列決定リードは、類似であると考えられ得る。
【0041】
図2Dは、問い合わせ配列決定リードが、LSHを使用して、ハッシュ表の中に格納された配列決定リードに類似であるか、または同一であるかを決定することを図示する。問い合わせ配列決定リードが与えられる場合、上記システムは、問い合わせ配列決定リードを最小ハッシュ化に通過させ、全てのハッシュ表に対して最小ハッシュを問い合わせる。上記問い合わせ配列のシグナチャー232は、2つの塊232a、232bに分割され得、これらは、全てのハッシュ表224a、224bに対して問い合わせられる。上記ハッシュ表2(224b)が、チャックのうちの一方232bを、既存のビン228bのキー212bとして含むので、上記問い合わせ配列は、既存のビン228bと関連する(例えば、中に格納される)上記配列決定リード204に類似または同一である。
【0042】
配列に適用される局所性鋭敏型ハッシュ
仮想UMIは、配列決定リード自体のサブシーケンスである。仮想UMIは、ヌクレオチドリード全体にまで及び得、連続するサブシーケンスであっても、連続していないサブシーケンスであってもよい。例えば、配列決定リードの仮想UMIは、上記配列決定リードの5’末端から25塩基対(bps)であり得る。図3は、ペアードエンド配列決定リードのリード1(R1)およびリード2(R2)に関する仮想ユニバーサル分子インデックス(vUMI)を生成する模式図を示す。配列決定されているDNAフラグメント308のプラス鎖またはマイナス鎖に相当するペアードエンド配列決定リードのリード1 304r1およびリード2 304r2は、仮想UMI 312r1、312r2を生成するために処理され得る。
【0043】
図4Aおよび4Bは、仮想UMIからkマー(図4A)およびタイル状のkマー(図4B)を生成する模式図を示す。2セットのkマーのジャッカード類似性は、両方のセットが含むkマーの数である。2つの同一の仮想UMIのジャッカード類似性は、7個のkマー412が上記仮想UMIに関して生成される場合、7/7であり得る。図4Aに図示されるように、仮想UMI404および408の挿入を除いて同じ仮想UMI 404iのジャッカード類似性は、2/12であり得る。なぜなら挿入408を含み得る全てのkマー412aまたは上記挿入の3’は、影響を及ぼされるからである。仮想UMIにわたって重なり合うkマーの使用は、挿入および欠失のより良好な寛容を可能にする。図4Bに図示されるように、図4Aに図示される同じ挿入を用いると、仮想UMI 404および挿入408を除いて同じ仮想UMI 404iのジャッカード類似性は、16個のkマー412が、仮想UMI 404、404iに関して生成される場合、14/18で、依然として高い。上記ジャッカード類似性は、挿入408を含むkマー412aのみが挿入408によって影響を受けることから、依然として極めて高い。屋根を葺くように並べた後の類似性が大きくなるほど、より類似のMinHashシグナチャーがもたらされ、これは、つぎに、同じLSHビンにおいて変化した配列が加わるのを助ける。
【0044】
一実施形態において、LSH自体は、コラプシングされるべきリードのグループを直接格納もインデックスもしない。むしろ、LSHは、所定の問い合わせリードに対して類似のリードを見出すことを補助する。類似のリードがいったん見出されると、それは、キーが最初にそのグループを開始した「重心(centroid)」リードである従来のハッシュ表の中に格納される。言い換えると、上記LSHデータ構造は、上述の従来のハッシュ表と同じ「キー」を含む(そしてその2つは、足並みを揃えて更新される)。ここでこれらの「キー」は、他のリードが類似である場合に割り当てられる「グループアンカー(group anchor)」として働くリードである。LSHは、入ってくるリードが、マッチする可能性がある上記キー/アンカーを迅速に見出すことを可能にする。その結果、徹底的なチェックまたは比較は要求されない。実際のグループまたは配列決定リードは、従来のハッシュ表の中に格納され得る。
【0045】
アラインメントスコアチェック
アラインメントスコアチェックは、類似の配列に関してLSHビンをチェックした後に行われ得る。上記アラインメントスコアチェックは、似ていない仮想UMIが同等でないまたは類似とみなされないことを確実にする。仮想UMIに関する最小アラインメントスコアは、仮想UMIが等しいと考えられるために必要とされ得る。LSHマッチに対するアラインメントチェックを行う場合、アラインメントスコアが閾値を上回る(すなわち、最高のアラインメントスコアで)決定するために、最良のマッチが使用され得る。より多くのミスマッチ(例えば、単一ヌクレオチドバリアント(SNV)ならびに挿入および欠失(インデル)は、アラインメントスコアを低減する。アラインメントを「スライドさせる」ことは、マッチの数を低減し、これは、次に、許容されるミスマッチの数を低減する。一実施形態において、仮想UMIの全体のアラインメントが行われ得、これは、計算するコストが高価であり得る。
【0046】
vUMIマッチングのための二重ビンLSH構造
各リードペアからの2つの仮想UMIは、「独立した(independent)」バーコードであるか、または同じDNAフラグメントの同一性の独立した測定値である。各仮想UMIに関して2つの別個のLSHデータ構造を維持することによって、偽陽性が低減され得る。より少ないMinHashシグナチャーが、各ビンへと置かれるので、意図しない不一致の機会はより低い。2つの独立した問い合わせの結果を交差させることによって、大部分の残りの偽陽性ヒットは、正確なヒットを失うことなく除去され得る。
【0047】
独立したLSHデータ構造は、リード1および/またはリード2に関する仮想UMIのために使用され得る。LSHは、最適未満の特異性に伴う非常に高い呼び戻のために構成され得る。特異性を改善するために、2つの直交する問い合わせの間の交差は、感度に対して大きな影響なしに、特異性を改善するために採用され得る。仮想UMIをリード1およびリード2から分離することは、より反復性の領域における特異性も改善する。
【0048】
一実施形態において、各kマーに対して64のハッシュが存在し得る。リード1は、64要素のminHashシグナチャーを有し、リード2は、64要素のminHashシグナチャーを有する。リード1およびリード2のペアは、それぞれ、上記リード1のminHashシグナチャーおよび上記リード2のminHashシグナチャーに基づいて、二重ビンLSH構造の2つのハッシュ表の中に格納され得る。上記リード1のminHashシグナチャーは、サブシーケンスへと分割され得、その結果、リード1およびリード2のペアは、一方のハッシュ表の多数のビンの中に、および他方のハッシュ表の多数のビンの中に、格納され得る。ハッシュの数字は、実行が異なれば異なり得る(例えば、8、64、256、1024、およびより多く)。より多くのハッシュは、わずかかにより遅いランタイムを犠牲にして、より正確なデータ構造成績のために使用され得、より少ないハッシュは、より速いランタイムを追加して、わずかに正確性の低いデータ構造成績のために使用され得る。あらゆるkマーは、minhashシグナチャーが一貫したサイズであることを確実にするために、64回だろうが、8回だろうが、またはn回だろうが、同じ回数ハッシュされる。
【0049】
一実施形態において、リード1およびリード2は、原子的で分離不能なユニットと考えられ、この原子的ユニットは、リード1からの仮想UMIのMinHashシグナチャー、およびリード2からの仮想UMIのMinHashシグナチャーの両方(vUMI 1およびvUMI 2)によって参照される。各ハッシュ表内で、上記MinHashシグナチャーは、上記原子的リード1/リード2ペアが、上記シグナチャーの各チャックにつき1回、多数のビンの中に格納されるように、部分へと分割され得る。
【0050】
二重ビンLSH構造の例示的な擬似コードは、以下に示される。
【数1】
【0051】
LSHにおいて二重ビンLSH構造を使用するという例示的な擬似コードは、以下に示される。類似の仮想UMIが二重ビンLSH構造の中に格納されていない仮想UMIのペアを挿入することによって、将来的な問い合わせが、挿入されたペアを見出すことが可能になる。本質的には、次回に対してマッチングされ得るファミリーのために、新たな「シード(seed)」が作られる。
【数2】
【0052】
vUMIマッチングのための二重ビンLSH構造
図5は、配列決定リードの、それらの配列およびそれらのハッシュを介するビニングのフロー図を示す。図5に図示されるビニングプロセスは、並列化可能であり、これは、数千スレッドで線形的高速化を生じ得る。図示されるビニングプロセスは、最小のメモリ使用率で中間キャッシングを必要とする。各物理的UMIバーコードは、120の考えられる物理的UMIバーコードのうちの1つから選択され得、その結果、物理的UMIバーコードの120×120=14,400の組み合わせがあり、配列決定リード1およびリード2の各ペアは、物理的UMIバーコードの14,400の組み合わせのうちの1つを有し得る。LSHは、物理的UMIの各ペアと関連する上記配列決定リードに並行して適用され得る。
【0053】
単純コラプシングは、同じ物理的+仮想UMIペア形成を共有する全ての配列を同じ順序でコラプシングすることに言及する。これらの配列は同じ順序でそれらのバーコードを有することから、これは、これらの配列が、同じDNA分子に由来しただけでなく、そのDNA分子の同じ鎖にも由来したことを示す。単純コラプシングにおいて、グループ/ファミリーの中のあらゆるリードは、同じ第1のUMI、同じ第2のUMI、同じ第1の仮想UMI、および同じ第2の仮想UMIを有する。多数のリードが、この条件を満たし得、この場合、それらは全て、同じ分子の同じ鎖に由来するリードであると考えられる。
【0054】
単純コラプシングが行われた後に、二重コラプシングが行われ得る。二重コラプシングにおいて、コラプシングされたリードペアが与えられると、同じ物理的および仮想UMIペア形成を有する別の単純分子を逆の順序で見出そうとする試みが行われる - これは、その同じDNA分子の反対側の鎖を見出すことに類似である。このような二重マッチが見出される場合、二重コラプシングが行われる。
【0055】
二重コラプシングは、単純コラプシングに引き続いて行われることから、全ての鎖特異的重複は、単純コラプシングで除去されている。二重コラプシングにおいて、同じ分子に由来する反対側の鎖からの既にコラプシングされたリードが見出される。例えば、第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」ファイルのような出力ファイルにおいてどのようにリードが報告されるかというセマンティクスに起因して、必要とされないこともある。この二層構造の1本鎖、次いで、交差鎖(cross-strand)コラプシングは、下流の分析においていくつかの高度バリアント呼び出し技術を可能にする。
【0056】
結果
従来のアラインメントベースの方法と上記LSH/仮想UMIベースの方法との間のリードコラプシング結果は、アラインメントサマリーメトリクスのレベルでも、およびバリアント呼び出し(例えば、構造的バリアント呼び出しおよび小さなバリアント呼び出し)に関していっても、両方で匹敵することが見出された。類似のヌクレオチド配列を見出すために、ビンの中の他の項目がチェックされ得る。本明細書で開示される仮想UMIベースの方法は、従って、バリアント呼び出しのための配列決定リードをコラプシングするために使用され得る。
【0057】
図6A~6Fは、局所性鋭敏型ハッシュを伴うリードコラプシングおよびアラインメントベースのリードコラプシングが、ホルマリン固定パラフィン包埋(FFPE)サンプルで実行したNextSeq(登録商標)(Illumina, Inc.(San Diego, CA))の類似の成績を有することを示す例示的プロットである。図6Aは、アラインメントベースのリードコラプシングおよびLSHベースのリードコラプシング(これはまた、本明細書で「fastqベースのコラプシング」または「fastqリードコラプシング」ともいわれる)によって生成される極めて類似の標的領域適用率を示す。図6Bは、非参照証拠を有し、かつ小さなバリアント呼び出し成績のインジケーターであるゲノム遺伝子座の割合を判断するノイズAFを示す。LSHベースのリードコラプシングは、アラインメントコラプシングと類似のエラー検出および訂正能力を有した。図6Cは、SV呼び出し成績のインジケーターである、非線形的アラインメントを有するリードのパーセンテージを示す。LSHベースのリードコラプシングは、より少ない(~7%)キメラリードを生成した。生成したキメラリードがより少ないことは、LSHベースのリードコラプシングが、ノイズのあるリードへとより一般化され得、従って、よりきれいなアラインメントを生じるという証拠である。図6Dは、メガ塩基あたりの変異を判断する腫瘍遺伝子変異量(tumor mutation burden)(TMB)を示す。この図は、小さなバリアント呼び出しが、非常に一致したことを示す。LSHベースのリードコラプシングは、ゲノムのガイダンスがなくても、変異を運ぶリードを「野生型」リードから分離するのに問題がない。図6Eは、ゲノムの高度に反復性の領域における変異を判断するマイクロサテライト不安定性を示す。高度に反復性の領域は、配列複雑性/特有性の低さに起因して、取り扱うのが困難な領域である。LSHベースのリードコラプシングは、このような複雑性が低い領域にあっても機能した。図6Fは、LSHベースのリードコラプシングが、変動性のコピー数を有する領域にあっても十分に機能したことを示す。表1は、フュージョン呼び出しがこれらのサンプルにおいて予測されたように、フュージョン呼び出しがLSHベースのリードコラプシングに伴って劇的に改善した特異性を示したことを示す。上記フュージョン呼び出し結果は、非線形リードの改善された取り扱いを示唆する。
【0058】
表2は、フュージョン呼び出し特異性に対する改善が、NovaSeqTM(Illumina, Inc.)ランの呼び戻しに否定的に影響しないことを示す。
表1. フュージョン呼び出し偽陽性
【表1】
表2. フュージョン呼び出し呼び戻し
【表2】
【0059】
全体として、これらのデータは、LSHベースのリードコラプシングが、アラインメントベースのコラプシングに都合良く匹敵し、サマリーレベルメトリクスおよびバリアント呼び出しで既存の成績に匹敵するかまたはこれを超えたことを示す。
【0060】
リードコラプシング方法
図7は、局所性鋭敏型ハッシュを使用するリードコラプシングの例示的方法700を示すフロー図である。方法700は、コンピューティングシステムのコンピューター可読媒体(例えば、1またはこれより多くのディスクドライブ)に格納された実行可能なプログラム命令のセットの中に埋め込まれ得る。例えば、図9に示されかつ以下でより詳細に記載されるコンピューティングシステム900は、方法700を実行するために、実行可能なプログラム命令のセットを実行し得る。方法700が開始される場合、上記実行可能なプログラム命令は、メモリ(例えば、RAM)に搭載され得、コンピューティングシステム900の1またはこれより多くのプロセッサによって実行され得る。方法700が、図9に示されるコンピューティングシステム900に関して記載されるが、その説明は例証に過ぎず、限定であることを意図しない。いくつかの実施形態において、方法700またはその一部は、多数のコンピューティングシステムによって直列でまたは並列で行われ得る。コンピューティングシステム900は、複数のビンにおいてヌクレオチド配列決定リードをソートするために、第1のハッシュデータ構造(例えば、ハッシュ表)を含み得る。
【0061】
方法700が、ブロック704で開始した後、方法700は、ブロック708へと進み、ここでコンピューティングシステムは、複数の第1のヌクレオチド配列決定リードを受容する。上記複数の第1のヌクレオチド配列決定リードは、同一の物理的識別子配列と関連し得る。上記複数の第1のヌクレオチド配列決定リードは、任意の物理的識別子配列と関連し得る。
【0062】
方法700は、ブロック708からブロック712へと進み、ここで上記コンピューティングシステムは、複数の第1の識別子サブシーケンスを、各第1のヌクレオチド配列決定リードの第1の識別子配列から生成する。上記複数の第1の識別子サブシーケンスの生成は、上記配列決定リードの第1の識別子配列から複数のkマーを生成することを包含し得る。上記サブシーケンスは、ヌクレオチド挿入、ヌクレオチド欠失、ヌクレオチド置換、またはこれらの組み合わせを含み得る。2つの連続する第1の識別子サブシーケンスは、重なり合い得る。例えば、上記2つの連続する第1の識別子サブシーケンスは、k-1ヌクレオチドが重なり合う。例えば、上記複数の第1の識別子サブシーケンスは、複数の4マーを含み、ここで上記第1の識別子配列は、約25ヌクレオチドを含む。上記第1の識別子配列は、上記配列決定リード1のサブシーケンスであり得る。上記サブシーケンスは、上記配列決定リード1の連続するサブシーケンスであり得る。上記サブシーケンスは、上記配列決定リード1の非連続サブシーケンスであり得る。
【0063】
ブロック712において第1の識別子サブシーケンスを生成した後、方法700は、ブロック716へと進み、ここで上記コンピューティングシステムは、第1のヌクレオチド配列決定リードに関する第1のシグナチャーを、上記複数の第1の識別子サブシーケンスに対してハッシュ化を適用することによって生成する。上記第1のシグナチャーは、上記第1のハッシュデータ構造の第1の特定のビンのキーにマッチし得る。上記第1のシグナチャーおよび上記第1のハッシュデータ構造の第1の特定のビンのキーは、同一であり得る。
【0064】
上記第1のシグナチャーを生成する工程は、各第1の識別子サブシーケンスに関する複数のハッシュを決定する工程を包含し得る。上記第1のシグナチャーを生成する工程は、上記第1のシグナチャーの各第1の要素を、上記複数の第1の識別子サブシーケンスの相当するハッシュから決定する工程を包含し得る。上記第1のシグナチャーの各第1の要素は、上記複数の第1の識別子サブシーケンスの相当するハッシュの最小であり得る。上記第1のシグナチャーの各第1の要素は、上記複数の第1の識別子サブシーケンスの相当するハッシュのうちの最小、平均、中間、または最大である。
【0065】
上記方法は、ブロック716からブロック720へと進み、ここで上記コンピューティングシステムは、上記第1のヌクレオチド配列決定リードを、上記第1のシグナチャーに基づいて、上記第1のハッシュデータ構造のうちの少なくとも1つの第1の特定のビンに割り当てる。一実施形態において、上記第1のヌクレオチド配列決定リードを割り当てる工程は、上記第1のシグナチャーの複数のサブシーケンスを、上記第1のヌクレオチド配列決定リードの第1のシグナチャーから決定する工程;および上記第1のヌクレオチド配列決定リードを、上記第1のシグナチャーのサブシーケンスに基づいて、複数の第1のハッシュデータ構造の各第1のハッシュデータ構造の第1の特定のビンに割り当てる工程を包含する。別の実施形態において、上記第1のヌクレオチド配列決定リードを割り当てる工程は、上記第1のシグナチャーの複数のサブシーケンスを、上記第1のヌクレオチド配列決定リードの第1のシグナチャーから決定する工程;および上記第1のヌクレオチド配列決定リードを、上記第1のシグナチャーの複数のサブシーケンスに基づいて、上記第1のハッシュデータ構造の複数の第1の特定のビンに割り当てる工程を包含する。方法700は、ブロック728で終了する。
【0066】
一例において、上記第1の特定のビンは、上記第1のハッシュデータ構造に存在するビンであり、ここで上記第1のヌクレオチド配列決定リードおよび上記第1のハッシュデータ構造の第1の特定のビンに割り当てられた別の第1のヌクレオチド配列決定リードのシグナチャーのアラインメントスコアは、アラインメントスコア閾値を上回る。別の例では、上記第1の特定のビンは、上記第1のハッシュデータ構造に存在するビンであり、ここで上記第1のヌクレオチド配列決定リードおよび上記第1のハッシュデータ構造の第1の特定のビンに割り当てられた任意の第1のヌクレオチド配列決定リードのシグナチャーの最高のアラインメントスコアは、アラインメントスコア閾値を上回る。別の例では、上記第1の特定のビンは、上記第1のハッシュデータ構造の新しいビンであり、ここで上記第1のヌクレオチド配列決定リードおよび上記第1のハッシュデータ構造の任意に存在するビンに割り当てられた任意の第1のヌクレオチド配列決定リードのシグナチャーのアラインメントスコアは、アラインメントスコア閾値を下回る。
【0067】
上記第1のヌクレオチド配列決定リードが、ブロック720において上記第1の特定のビンに割り当てられた後、方法700は、ブロック724に進み、ここで上記コンピューティングシステムは、上記第1のハッシュデータ構造の各第1の特定のビンに関するヌクレオチド配列を、割り当てられた1またはこれより多くの第1のヌクレオチド配列決定リードとともに決定する。上記ヌクレオチド配列を決定する工程は、上記第1の特定のビンに割り当てられた上記1またはこれより多くの第1のヌクレオチド配列決定リードのコンセンサス配列を決定する工程を包含し得る。上記コンセンサス配列を決定する工程は、上記第1の特定のビンに割り当てられた最も頻度の高い第1のヌクレオチド配列決定リードを、上記第1の特定のビンのコンセンサス配列として決定する工程を包含し得る。上記コンセンサス配列は、上記第1の特定のビンに割り当てられた上記第1のヌクレオチド配列決定リードの各相当する位置に関して最も頻度の高いヌクレオチド塩基を含み得る。上記コンセンサス配列を決定する工程は、上記第1の特定のビンに割り当てられた最高品質スコアを有する第1のヌクレオチド配列決定リードを、上記第1の特定のビンのコンセンサス配列として決定する工程を包含し得る。最高品質スコアは、上記最高品質スコアを有する第1のヌクレオチド配列決定リード上の各塩基の品質スコアに基づいて決定され得る。上記ヌクレオチド配列を決定する工程は、上記第1の特定のビンに割り当てられた1またはこれより多くの第1のヌクレオチド配列決定リードの配列を、上記第1の特定のビンの代表的配列として選択する工程を包含し得る。上記ヌクレオチド配列を決定する工程は、上記第1の特定のビンに割り当てられた1またはこれより多くの第1のヌクレオチド配列決定リードのうちの2つのアラインメントスコアが、アラインメントスコア閾値を上回ることを決定する工程を包含し得る。
【0068】
ペアードエンド配列決定リード
各第1のヌクレオチド配列決定リードは、第2のヌクレオチド配列決定リードと関連し得る。上記第1のヌクレオチド配列決定リードおよび上記第2のヌクレオチド配列決定リードは、ペアードエンドヌクレオチド配列決定リードを形成し得る。上記コンピューティングシステムは、複数の第2の識別子サブシーケンスを、上記第2のヌクレオチド配列決定リードの第2の識別子配列から決定し;上記複数の第2の識別子サブシーケンスに対してハッシュ化を適用することによって、上記第2のヌクレオチド配列決定リードの第2のシグナチャーを決定し得る。
【0069】
上記第1のヌクレオチド配列決定リードを割り当てる工程は、実行が異なれば異なり得る。例えば、上記第1のヌクレオチド配列決定リードを割り当てる工程は、上記第1のヌクレオチド配列決定リードおよび上記第2のヌクレオチド配列決定リードを含む配列決定リードのペアを、上記第1のシグナチャーに基づいて、上記第1のハッシュデータ構造の第1の特定のビンに割り当てる工程を包含し得る。別の例として、上記第1のヌクレオチド配列決定リードを割り当てる工程は、上記第2のヌクレオチド配列決定リードを、上記第2のシグナチャーに基づいて、上記第1のハッシュデータ構造の第2の特定のビンに割り当てる工程を包含する。さらに別の例として、上記第1のヌクレオチド配列決定リードを割り当てる工程は、上記第1のヌクレオチド配列決定リードおよび上記第2のヌクレオチド配列決定リードを含む配列決定リードのペアを、上記第2のシグナチャーに基づいて、第2のハッシュデータ構造の第2の特定のビンに割り当てる工程を包含する。
【0070】
一例として、上記第1のヌクレオチド配列決定リードを割り当てる工程は、上記第1のヌクレオチド配列決定リードおよび上記ヌクレオチド配列決定リードを含む配列決定リードのペアを、上記第1のヌクレオチド配列決定リードの第1のシグナチャーの複数のサブシーケンスおよび上記第2のヌクレオチド配列決定リードの第2のシグナチャーの複数のサブシーケンスに基づいて、それぞれ、上記第1のハッシュデータ構造の第1の特定のビンおよび第2のデータ構造の第2の特定のビンに割り当てる工程を包含する。上記コンピューティングシステムは、上記第1のハッシュデータ構造のビンのキーおよび上記第2のハッシュデータ構造のビンのキーを格納するために、それぞれ、第1のデータ構造および第2のデータ構造を格納し得る。配列決定リードの上記ペアを割り当てる工程は、上記第1のシグナチャーおよび上記第2のシグナチャーが、上記第1のデータ構造および上記第2のデータ構造の中に格納されることを決定する工程;ならびに配列決定リードの上記ペアを、上記第1のハッシュデータ構造の第1の特定のビンおよび上記第2のハッシュデータ構造の第2の特定のビンに、それぞれ、第1の格納したキーおよび上記第2の格納したキーを使用して割り当てる工程を包含し得る。配列決定リードの上記ペアおよび上記第1の格納したキーと関連する第1の配列決定リードおよび第2の格納したキーと関連する第2の配列決定リードを含むペアのアラインメントスコアは、アラインメントスコア閾値を上回る。
【0071】
配列決定リードの上記ペアを割り当てる工程は、上記第1のデータ構造の中に格納されかつ上記第1のシグナチャーと関連する上記第1のハッシュデータ構造の1またはこれより多くの第1のキーを決定する工程;上記第2のデータ構造の中に格納されかつ上記第2のシグナチャーと関連する上記第2のハッシュデータ構造の1またはこれより多くの第2のキーを決定する工程;第1の格納したキーと関連する第1の配列決定リードおよび第2の格納したキーと関連する第2の配列決定リードを含むペアが、任意の第1の格納したキーと関連する第1の配列決定リードおよび任意の第2の格納したキーと関連する第2の配列決定リードを含む任意のペアの最高のアラインメントスコアを有することを、配列決定リードの上記ペアとともに決定する工程;ならびに配列決定リードの上記ペアを、上記第1のハッシュデータ構造の第1の特定のビンおよび上記第2のハッシュデータ構造の第2の特定のビンに、それぞれ、第1の配列決定リードおよび第2の配列決定リードのペアと関連する上記第1の格納したキーおよび上記第2の格納したキーを使用して、上記最高のアラインメントスコアとともに割り当てる工程を包含し得る。上記第1の格納したキーと関連する第1の配列決定リードは、上記第1のシグナチャーとともに任意の第1の格納したキーと関連する上記第1の配列決定リードの最高のアラインメントスコアを有し得る。上記第2の格納したキーと関連する第2の配列決定リードは、上記第2のシグナチャーとともに任意の第2の格納したキーと関連する第2の配列決定リードの最高のアラインメントスコアを有し得る。
【0072】
リード識別
図8は、局所性鋭敏型ハッシュを使用して類似のリードを識別する、例示的方法800を示すフロー図である。方法800は、コンピューティングシステムのコンピューター可読媒体(例えば、1またはこれより多くのディスクドライブ)に格納された実行可能なプログラム命令のセットの中に埋め込まれ得る。例えば、図9に示されかつ以下で依り詳細に記載されるコンピューティングシステム900は、方法800を実行するために、実行可能なプログラム命令のセットを実行し得る。方法800が開始される場合、上記実行可能なプログラム命令は、メモリ(例えば、RAM)に搭載され得、コンピューティングシステム900の1またはこれより多くのプロセッサによって実行され得る。方法800が、図9に示されるコンピューティングシステム900に関して記載されるが、その説明は例証に過ぎず、限定であることを意図しない。いくつかの実施形態において、方法800またはその一部は、多数のコンピューティングシステムによって直列でまたは並列で行われ得る。上記コンピューティングシステムは、配列決定リードの複数のペアを格納するために、第1のハッシュデータ構造および第2のハッシュデータ構造を格納し得る。
【0073】
配列決定リードの各ペアは、第1のヌクレオチド配列決定リードおよび第2のヌクレオチド配列決定リードを含み得、ここで配列決定リードの各ペアは、上記第1のヌクレオチド配列決定リードの第1の識別子配列の第1の識別子サブシーケンスのハッシングによって生成したペアの第1のヌクレオチド配列決定リードの第1のシグナチャーに基づいて、上記第1のハッシュデータ構造の複数の第1のビンのうちの1つに割り当てられる。配列決定リードの各ペアは、上記第2のヌクレオチド配列決定リードの第2の識別子配列のハッシングによって生成したペアの第2のヌクレオチド配列決定リードの第2のシグナチャーに基づいて、上記第2のハッシュデータ構造の複数の第2のビンのうちの1つに割り当てられ得る。
【0074】
方法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において工程を実施し得る。
【0075】
ブロック816の後に、上記方法は、直交する問い合わせを含み得る。例えば、上記方法は、ブロック816からブロック820へと進み、ここで上記コンピューティングシステムは、1またはこれより多くの第1の格納したペアおよび1またはこれより多くの第2の格納したペアを、上記第1のハッシュデータ構造および上記第2のハッシュデータ構造から、それぞれ、上記第1の問い合わせシグナチャーおよび上記第2の問い合わせシグナチャーを使用して回収する。ここで上記第1のペアおよび上記第2のペアの各々は、第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードを含む。ブロック820において配列決定リードのペアを回収した後、方法800は、ブロック824へと進み、ここで上記コンピューティングシステムは、配列決定リード1および配列決定リード2としての上記第1の格納したペアおよび第2の格納したペアの両方に存在する第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードの各ペアを、上記問い合わせ配列決定リード1および上記問い合わせ配列決定リード2に類似であるとして決定する。方法800は、ブロック828で終了する。
【0076】
配列決定リードの各ペアは、第1の識別子配列および第2の識別子配列と関連し得る。上記コンピューティングシステムは、配列決定リードの第1のペアの上記第1の識別子配列および上記第2の識別子配列、ならびに配列決定リードの第2のペアの上記第2の識別子配列および第1の識別子配列が同一であることを決定し得;そして配列決定リードの上記第1のペアおよび配列決定リードの上記第2のペアのヌクレオチド配列を決定し得る。
【0077】
一実施形態において、方法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またはこれより多くの第1の格納したペアを上記第1のハッシュデータ構造から回収する工程、配列決定リードの複数のペアを、上記第1の問い合わせシグナチャーおよび上記第2の問い合わせシグナチャーを使用して格納する工程を包含し得る。上記第1のペアの各々は、それぞれ、上記第1の問い合わせヌクレオチド配列決定リードおよび上記第2の問い合わせヌクレオチド配列決定リードに類似の第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードを含み得る。
【0078】
実行環境
図9は、本明細書で開示される代謝産物、註釈および遺伝子組み込みシステムを実行するように構成された例示的なコンピューティングデバイス900の一般的構造を示す。図9に示されるコンピューティングデバイス900の一般的構造は、コンピューターハードウェアおよびソフトウェア構成要素の配置を含む。コンピューティングデバイス900は、図9に示されるもの以外のより多くの(またはより少ない)要素を含み得る。しかし、これら概して従来どおりの要素の全てが、可能な開示を提供するために示されることは必要ではない。図示されるように、コンピューティングデバイス900は、処理装置940、ネットワークインターフェイス945、コンピューター可読媒体ドライブ950、入力/出力デバイスインターフェイス955、ディスプレイ960、および入力デバイス965を含み、これらは全て、コミュニケーションバスによって互いと連絡し得る。ネットワークインターフェイス945は、1またはこれより多くのネットワークまたはコンピューティングシステムに対する接続を提供し得る。上記処理装置940は、このようにして、他のコンピューティングシステムまたはサービスから、ネットワークを介して情報および命令を受容し得る。処理装置940はまた、メモリ970に、およびメモリ970から連絡し得、入力/出力デバイスインターフェイス955を介して選択肢的なディスプレイ960に出力情報をさらに提供し得る。入力/出力デバイスインターフェイス955はまた、選択肢的な入力デバイス965(例えば、キーボード、マウス、デジタルペン、マイクロフォン、タッチスクリーン、ジェスチャー認識システム、音声認識システム、ゲームパッド、加速度計、ジャイロスコープ、または他の入力デバイス)からの入力を受け入れ得る。
【0079】
メモリ970は、処理装置940が1またはこれより多くの実施形態を実行するために実行するコンピュータープログラム命令(いくつかの実施形態ではモジュールまたは構成要素としてグルーピングされる)を含み得る。メモリ970は一般に、RAM、ROMおよび/または他の永続的な、補助的または一時的でないコンピューター可読媒体を含む。メモリ970は、コンピューティングデバイス900の一般的管理およびオペレーションにおいて、処理装置940による使用のためのコンピュータープログラム命令を提供するオペレーティングシステム972を格納し得る。メモリ970は、コンピュータープログラム命令および本開示の局面を実行するための他の情報をさらに含み得る。
【0080】
例えば、一実施形態において、メモリ970は、局所性鋭敏型ハッシュ(例えば、図7を参照して記載されるリードコラプシング方法700)を使用して配列決定リードをコラプシングするための局所性鋭敏型ハッシュベースのリードコラプシングモジュール974を含む。メモリ970は、さらにまたは代わりに、問い合わせ配列決定リードの類似のヌクレオチド配列決定リードを識別するための局所性鋭敏型ハッシュ問い合わせモジュール976を含み得る(例えば、図8を参照して記載される識別方法800)。さらに、メモリ970は、データストア990、ならびに/またはリードコラプシングおよび/もしくは類似のヌクレオチド配列決定リード特定に関するデータおよびその結果を格納する1もしくはこれより多くの他のデータストアを含み得るかまたは連絡し得る。
【0081】
ハードウェアアクセラレーション
いくつかの実施形態において、配列決定リードのグルーピングおよびコラプシングに関して開示される方法は、汎用コンピュータープロセッサより高効率で開示される方法を計算するようにデザインまたはプログラムされたアプリケーション特異的ハードウェアにおいて実行される。例えば、処理装置940は、フィールドプログラマブルゲートアレイ(FPGA)またはアプリケーション特異的集積回路(ASIC)であり得る。
【0082】
一例において、上記局所性鋭敏型ハッシュ(LSH)オペレーションは、FPGAによって加速され得る。いくつかの実施形態において、FPGAによるLSHオペレーションの加速は、UMIあたりにハッシュ表を構築および問い合わせするために必要とされるメモリに、およびソフトウェアにおいてボトルネックとなるメモリハンド幅にどの程度近いかにも依存し得る。配列決定リードと関連するUMIのクラスター化が、FPGAにおいて実行される場合、それは、同じハードウェア内で上記リードコラプシング方法を加速することはまた、有益であり得る。
【0083】
いくつかの実施形態において、1またはこれより多くのアプリケーション特異的集積回路(ASIC)は、本明細書で記載されるそれぞれのゲノム分析モジュール、または他のコンピューターのうちの1またはこれより多くの機能を実施するようにプログラムされ得る。ASICは、上記ASICのデジタルロジックゲートが、VHDLのようなハードウェア記述言語を使用してプログラム可能であるという点で、本明細書で記載されるFPGAに類似の1またはこれより多くのプログラマブルロジック回路を含む集積回路を含む。しかし、ASICは、ASICが、1回だけプログラム可能であり、一旦プログラムされたら動的に再構成され得ないという点で、FPGAとは異なる。さらに、本開示の局面は、FPGAまたはASICを使用して配列決定リードのグルーピングおよびコラプシングを実行することに限定されない。代わりに、処理装置940のゲノム分析モジュール、または他のコンピューターのいずれも、ソフトウェア命令の実行を通じて配列決定リードのグルーピングおよびコラプシングを実行する、1またはこれより多くの中央演算装置(CPU)、グラフィック処理装置(GPU)、またはそのための任意の組み合わせを使用して実行され得る。
【0084】
いくつかの実行において、配列決定リードのグルーピングおよびコラプシングを実行する、FPGA、ASIC、CPU、GPU、またはこれらの組み合わせのような集積回路の使用は、単一のFPGA、単一のASIC、単一のCPU、単一のGPU、またはこれらの任意の組み合わせを含み得る。代わりに、またはさらに、配列決定リードのグルーピングおよびコラプシングを実行する、FPGA、ASIC、CPU、GPU、またはこれらの組み合わせのような集積回路の使用は、多数のFPGA、多数のASIC、多数のCPU、または多数のGPU、またはこれらの任意の組み合わせを含み得る。配列決定リードのグルーピングおよびコラプシングを実行する、多数のFPGAのようなさらなる集積回路の使用は、マッピング、整列、P-HMM確率計算、およびバリアント呼び出しのような二次分析オペレーションを行うためにかかる時間量を低減し得る。いくつかの実行において、これらの二次分析オペレーションを実行するFPGAの使用は、これらの二次分析オペレーションを完了するのにかかる時間を、24時間(またはこれより長い)から30分(もしくはより短い)程度の短さへと低減し得る。いくつかの実行において、これらの二次分析オペレーションを実行する多数のFPGAの使用は、これらの二次分析オペレーションの5分程度の短さでの完了を生じ得る。
【0085】
用語法
本明細書中の実質的に任意の複数形および/または単数形の用語の使用に関して、当業者は、その状況および/または適用に適切な場合、その複数形から単数形へおよび/またはその単数形から複数形へと解釈し得る。その種々の単数系/複数形の交換は、明瞭にする目的で、本明細書で明らかに述べられ得る。
【0086】
一般に、本明細書で、および特に添付の請求項において使用される用語(例えば、添付の請求項の本文)は、概して、「開放系」の用語(例えば、用語「含む、包含する(including)」は、「が挙げられるが、これらに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「を少なくとも有する(having at least)」と解釈されるべきであり、用語「含む、包含する(includes)」は、「が挙げられるが、これらに限定されない(includes but is not limited to)」と解釈されるべきである、など)と意図されることは、当業者によって理解される。導入される請求項の記載の特定の数字が意図される場合、このような意図は、その請求項の中で明示的に記載され、このような記載がない場合、このような意図は存在しないことは、当業者によってさらに理解される。例えば、理解の補助として、以下の添付の請求項は、請求項の記載を導入するために、導入句「少なくとも1(at least one)」および「1またはこれより多くの(one or more)」の使用を含み得る。しかし、このような語句の使用は、不定冠詞「1つの、ある(a)」または「1つの、ある(an)」による請求項の記載の導入が、その同じ請求項が、その導入句「1またはこれより多くの」または「少なくとも1」および不定冠詞(例えば、「1つの、ある(a)」または「1つの、ある(an)」を含む場合であっても、このような導入された請求項の記載を含む任意の特定の請求項を、1つのこのような記載のみを含む実施形態に限定することを意味するとは解釈されるべきではない(例えば、「1つの、ある(a)」および/または「1つの、ある(an)」は、「少なくとも1」または「1またはこれより多くの」を意味すると解釈されるべきである);同じことが、請求項の記載を導入するために使用される定冠詞の使用に関してもあてはまる。さらに、導入された請求項の記載の特定の数字が、明示的に記載されているとしても、当業者は、このような記載が少なくともその記載された数字を意味すると解釈されるべきであることを認識する(例えば、「2つの記載(two recitations)」という最低限の記載は、他の修飾語がなくても、少なくとも2つの記載、または2またはこれより多くの記載を意味する)。さらに、「A、B、およびCなどのうちの少なくとも1つ(at least one of A, B, and C, etc.)」に類似の慣習が使用される場合では、一般に、このような構文は、当業者がその慣習を理解するという意味において意図される(例えば、「A、B、およびCのうちの少なくとも1つを有するシステム(a system having at least one of A, B, and C)」としては、Aのみ、Bのみ、Cのみ、AとBとを一緒に、AとCとを一緒に、BとCとを一緒に、および/またはAとBとCとを一緒に、などを有するシステムが挙げられるが、これらに限定されない)。「A、B、またはCなどのうちの少なくとも1つ(at least one of A, B, or C, etc.)」に類似の慣習が使用される場合では、一般に、このような構文は、当業者がその慣習を理解するという意味において意図される(例えば、「A、B、またはCのうちの少なくとも1つを有するシステム(a system having at least one of A, B, or C)」としては、Aのみ、Bのみ、Cのみ、AとBとを一緒に、AとCとを一緒に、BとCとを一緒に、および/またはAとBとCとを一緒に、などを有するシステムが挙げられるが、これらに限定されない)。2またはこれより多くの代替の用語を表す実質的に任意の離節的な単語および/または語句が、説明の中であろうとも、請求項の中であろうとも、図面の中であろうとも、その用語のうちの1つ、その用語のうちのいずれか、または両方の用語を含むという可能性を企図することが理解されるべきであることは、当業者によってさらに理解される。例えば、語句「AまたはB(A or B)」は、「A」もしくは「B」または「AおよびB(A and B)」という可能性を含むことが理解される。
【0087】
さらに、本開示の特徴または局面がマーカッシュグループの用語で記載される場合、当業者は、本開示がまた、それによって、そのマーカッシュグループの任意の個々のメンバーまたはメンバーの下位群に関して記載されていることを認識する。
【0088】
当業者によって理解されるように、任意のおよび全ての目的に関して(例えば、書面による説明を提供することに関して)、本明細書で開示される全ての範囲はまた、任意のおよび全ての考えられる部分範囲、ならびにその部分範囲の組み合わせを包含する。任意の列挙された範囲は、十分に記載されかつその同じ範囲が少なくとも等しく1/2、1/3、1/4、1/5、1/10などへと分離されることを可能にすると容易に認識され得る。非限定的な例として、本明細書で考察される各範囲は、下位の1/3、中央の1/3、および上位の1/3などへと容易に分離され得る。同様に当業者によって理解されるように、「まで(up to)」、「少なくとも(at least)」、「より大きい、を超える(greater than)」、「より小さい、未満(less than)」などのような全ての文言は、記載される数字を包含し、上記で考察されるとおりの部分範囲へとその後に分離され得る範囲に言及する。最後に、当業者によって理解されるように、範囲は、各個々のメンバーを包含する。従って、例えば、1~3個の物品を有する群は、1個の、2個の、または3個の物品を有する群に言及する。同様に、1~5個の物品を有する群は、1個の、2個の、3個の、4個の、または5個の物品を有する群に言及するなど。
【0089】
種々の局面および実施形態が本明細書で開示されているが、他の局面および実施形態は、当業者に明らかである。本明細書で開示される種々の局面および実施形態は、例証目的であり、限定であるとは意図されず、真の範囲および趣旨は、以下の請求項によって示される。
本発明は、例えば、以下の項目を提供する。
(項目1)
ヌクレオチド配列決定リードからヌクレオチド配列を決定するためのシステムであって、前記システムは、
実行可能な命令および複数のビンの中にヌクレオチド配列決定リードを格納するための第1のハッシュデータ構造を格納するように構成された一時的でないメモリ;ならびに
以下を包含する方法を行うために、前記実行可能な命令によってプログラムされたハードウェアプロセッサ:
複数の第1のヌクレオチド配列決定リードを受容する工程;
各第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のヌクレオチド配列決定リードは、第2のヌクレオチド配列決定リードと関連し、前記第1のヌクレオチド配列決定リードおよび前記第2のヌクレオチド配列決定リードは、ペアードエンドヌクレオチド配列決定リードを形成する、項目1に記載のシステム。
(項目10)
前記ヌクレオチド配列を決定する工程は、前記第1の特定のビンに割り当てられた前記1またはこれより多くの第1のヌクレオチド配列決定リードのコンセンサス配列を決定することを包含する、項目1に記載のシステム。
(項目11)
前記コンセンサス配列を決定することは、前記第1の特定のビンに割り当てられた最高の品質スコアを有する第1のヌクレオチド配列決定リードを、前記第1の特定のビンの前記コンセンサス配列として決定することを包含する、項目10に記載のシステム。
(項目12)
前記ヌクレオチド配列を決定する工程は、前記第1の特定のビンに割り当てられた前記1またはこれより多くの第1のヌクレオチド配列決定リードの配列を、前記第1の特定のビンの代表的配列として選択することを包含する、項目1に記載のシステム。
(項目13)
前記ヌクレオチド配列を決定する工程は、前記第1の特定のビンに割り当てられた前記1またはこれより多くの第1のヌクレオチド配列決定リードのうちの2つのアラインメントスコアがアラインメントスコア閾値を上回ることを決定することを包含する、項目1に記載のシステム。
(項目14)
前記複数のヌクレオチド配列決定リードは、同一の物理的識別子配列と関連する、項目1に記載のシステム。
(項目15)
前記複数のヌクレオチド配列決定リードは、いかなる物理的識別子配列とも関連しない、項目1に記載のシステム。
(項目16)
ヌクレオチド配列決定リードからヌクレオチド配列を決定するためのコンピューターで実行される方法であって、前記方法は、
複数の第1のヌクレオチド配列決定リードを受容する工程;
各第1のヌクレオチド配列決定リードに関して:
複数の第1の識別子サブシーケンスを、前記第1のヌクレオチド配列決定リードの第1の識別子配列から生成する工程;
前記第1のヌクレオチド配列決定リードに関する第1のシグナチャーを、前記複数の第1の識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;および
前記第1のヌクレオチド配列決定リードを、前記第1のシグナチャーに基づいて、第1のデータ構造の第1の特定のビンに割り当てる工程;および
前記第1のデータ構造の各第1の特定のビンに関するヌクレオチド配列を、割り当てられた1またはこれより多くの第1のヌクレオチド配列決定リードとともに決定する工程、
を包含する方法。
(項目17)
前記複数の第1の識別子サブシーケンスを生成する工程は、前記配列決定リードの前記第1の識別子配列から複数のkマーを生成することを包含する、項目16に記載の方法。
(項目18)
前記サブシーケンスは、ヌクレオチド挿入、ヌクレオチド欠失、ヌクレオチド置換、またはこれらの組み合わせを含む、項目17に記載の方法。
(項目19)
2つの連続する第1の識別子サブシーケンスが重なり合う、項目17に記載の方法。
(項目20)
前記複数の第1の識別子サブシーケンスは、複数の4マーを含み、前記第1の識別子配列は、約25ヌクレオチドを含む、項目17に記載の方法。
(項目21)
前記第1の識別子配列は、配列決定リード1のサブシーケンスである、項目17に記載の方法。
(項目22)
前記第1のシグナチャーを生成することは、各第1の識別子サブシーケンスに関する複数のハッシュを決定することを包含する、項目17に記載の方法。
(項目23)
前記第1のデータ構造は、ハッシュ表を含む、項目17に記載の方法。
(項目24)
類似のヌクレオチド配列決定リードを識別するためのシステムであって、前記システムは、
以下を格納するように構成された一時的でないメモリ:
実行可能な命令、
配列決定リードの複数のペアを格納するための第1のハッシュデータ構造および第2のハッシュデータ構造;ならびに
以下を包含する方法を行うために、前記実行可能な命令によってプログラムされたハードウェアプロセッサ:
第1の問い合わせヌクレオチド配列決定リードおよび第2の問い合わせヌクレオチド配列決定リードのペアを受容する工程;
複数の第1の問い合わせ識別子サブシーケンスおよび複数の第2の問い合わせ識別子サブシーケンスを、それぞれ、前記第1の問い合わせヌクレオチド配列決定リードおよび前記第2の問い合わせヌクレオチド配列決定リードから生成する工程;
前記第1のヌクレオチド配列決定リードおよび前記第2のヌクレオチド配列決定リードに関する第1の問い合わせシグナチャーおよび第2の問い合わせシグナチャーを、それぞれ、前記複数の第1の問い合わせ識別子サブシーケンスおよび前記複数の第2の問い合わせ識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;
1またはこれより多くの第1の格納したペアおよび1またはこれより多くの第2の格納したペアを、それぞれ、前記第1のハッシュデータ構造および前記第2のハッシュデータ構造から、前記第1の問い合わせシグナチャーおよび前記第2の問い合わせシグナチャーを使用して回収する工程であって、ここで前記第1のペアおよび前記第2のペアの各々は、第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードを含む工程;ならびに
前記第1の格納したペアおよび第2の格納したペアの両方に存在する第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードの各ペアを、それぞれ、前記問い合わせ配列決定リード1および前記問い合わせ配列決定リード2に類似の配列決定リード1および配列決定リード2として決定する工程、
を含む、システム。
(項目25)
配列決定リードの各ペアは、第1のヌクレオチド配列決定リードおよび第2のヌクレオチド配列決定リードを含み、配列決定リードの各ペアは、前記第1のヌクレオチド配列決定リードの第1の識別子配列の第1の識別子サブシーケンスのハッシングによって生成した前記ペアの第1のヌクレオチド配列決定リードの第1のシグナチャーに基づいて、前記第1のハッシュデータ構造の複数の第1のビンのうちの1つに割り当てられ、配列決定リードの各ペアは、前記第2のヌクレオチド配列決定リードの第2の識別子配列のハッシングによって生成した前記ペアの第2のヌクレオチド配列決定リードの第2のシグナチャーに基づいて、前記第2のハッシュデータ構造の複数の第2のビンのうちの1つに割り当てられる、項目24に記載のシステム。
(項目26)
前記ハードウェアプロセッサは、
配列決定リードの各ペアに関して:
複数の第1の識別子サブシーケンスを、配列決定リードの前記ペアのうちの前記第1のヌクレオチド配列決定リードの第1の識別子配列から生成する工程;
前記第1のヌクレオチド配列決定リードに関する第1のシグナチャーを、前記複数の第1の識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;および
配列決定リードの前記ペアを、前記第1のシグナチャーに基づいて、前記第1のハッシュデータ構造のうちの少なくとも1つの第1の特定のビンに割り当てる工程;および
前記第1のハッシュデータ構造の各第1の特定のビンに関するヌクレオチド配列を、前記1またはこれより多くのペアのうちの前記第1のヌクレオチド配列決定リードおよび前記第2のヌクレオチド配列決定リードから割り当てられた第1のヌクレオチド配列決定リードおよび第2のヌクレオチド配列決定リードの1またはこれより多くのペアとともに決定する工程、
を包含する方法を行うために前記実行可能な命令によってプログラムされている、項目25に記載のシステム。
(項目27)
配列決定リードの各ペアは、第1の識別子配列および第2の識別子配列と関連し、前記ハードウェアプロセッサは、
配列決定リードの第1のペアの前記第1の識別子配列および前記第2の識別子配列、ならびに配列決定リードの第2のペアの前記第2の識別子配列および第1の識別子配列が同一であることを決定する工程;ならびに
配列決定リードの前記第1のペアおよび配列決定リードの前記第2のペアのヌクレオチド配列を決定する工程、
を包含する方法を行うために前記実行可能な命令によってプログラムされている、項目25に記載のシステム。
(項目28)
類似のヌクレオチド配列決定リードを識別するための方法であって、前記方法は、
第1の問い合わせヌクレオチド配列決定リードを受容する工程;
複数の第1の問い合わせ識別子サブシーケンスを、前記第1の問い合わせヌクレオチド配列決定リードから生成する工程;
前記第1のヌクレオチド配列決定リードに関する第1の問い合わせシグナチャーを、前記複数の第1の問い合わせ識別子サブシーケンスに対してハッシュ化を適用することによって生成する工程;および
1またはこれより多くの第1の格納したヌクレオチド配列決定リードを、第1のハッシュデータ構造から、前記第1の問い合わせシグナチャーを使用して回収する工程であって、ここで前記第1の格納したヌクレオチド配列決定リードの各々は、前記第1の問い合わせヌクレオチド配列決定リードに類似である工程、
を包含する方法。
(項目29)
前記第1の問い合わせヌクレオチド配列決定リードを回収する工程は、前記第1の問い合わせヌクレオチド配列決定リードおよび第2の問い合わせヌクレオチド配列決定リードのペアを受容することを包含し、前記複数の第1の問い合わせ識別子サブシーケンスを生成する工程は、複数の第2の問い合わせ識別子サブシーケンスを前記第2のヌクレオチド配列決定リードから生成することを包含し、前記第1の問い合わせシグナチャーを生成する工程は、前記第2のヌクレオチド配列決定リードに関する第2の問い合わせシグナチャーを、前記複数の第2の問い合わせ識別子サブシーケンスに対してハッシュ化を適用することによって生成することを包含し、そして1またはこれより多くの第1の格納したヌクレオチド配列決定リードを回収する工程は、1またはこれより多くの第1の格納したペアを、前記第1のハッシュデータ構造から回収すること、配列決定リードの複数のペアを、前記第1の問い合わせシグナチャーおよび前記第2の問い合わせシグナチャーを使用して格納することを包含し、前記第1のペアの各々は、前記第1の問い合わせヌクレオチド配列決定リードおよび前記第2の問い合わせヌクレオチド配列決定リードにそれぞれ類似の第1の格納したヌクレオチド配列決定リードおよび第2の格納したヌクレオチド配列決定リードを含む、項目28に記載の方法。
図1
図2-1】
図2-2】
図2-3】
図2-4】
図3
図4
図5
図6-1】
図6-2】
図6-3】
図6-4】
図6-5】
図6-6】
図7
図8
図9