(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-17
(45)【発行日】2024-01-25
(54)【発明の名称】リファレンスゲノム内のサンプルリードを位置特定するためのデバイス及び方法
(51)【国際特許分類】
G16B 30/00 20190101AFI20240118BHJP
【FI】
G16B30/00
(21)【出願番号】P 2022529856
(86)(22)【出願日】2020-07-01
(86)【国際出願番号】 US2020040570
(87)【国際公開番号】W WO2021188138
(87)【国際公開日】2021-09-23
【審査請求日】2022-06-06
(32)【優先日】2020-03-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504056130
【氏名又は名称】ウェスタン デジタル テクノロジーズ インコーポレーテッド
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】キニー、ジャスティン
【審査官】藤澤 美穂
(56)【参考文献】
【文献】特開2005-251192(JP,A)
【文献】米国特許出願公開第2017/0337325(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G16B 5/00-99/00
(57)【特許請求の範囲】
【請求項1】
デバイスであって、
複数のセルグループであって、各セルグループが、
リファレンスゲノムからリファレンス塩基を表すリファレンス配列を記憶することであって、前記リファレンス配列は、それぞれのセルグループにおけるセルの順序に対応する、記憶することと、
サンプルリードからサンプル塩基を表す現在のサブストリング配列を記憶することであって、前記現在のサブストリング配列は、前記それぞれのセルグループにおける前記セルの前記順序に対応する、記憶することと、を行うように構成されており、
前記複数のセルグループの各セルグループが、同じ現在のサブストリング配列及び1つ以上の他のセルグループに記憶された1つ以上の他のリファレンス配列によって表される前記リファレンスゲノムの少なくとも1つの他の部分と部分的に重複する前記リファレンスゲノムの一部分を表すリファレンス配列を記憶するように更に構成されている、
前記複数のセルグループと、
前記記憶されたリファレンス配列がセルグループに記憶された前記現在のサブストリング配列と一致する、前記複数のセルグループの中の前記セルグループを識別することを行うように構成されている、回路
であって、
前記回路が、前記リファレンスゲノム内の前記サンプルリードの確率的位置を、
前記サンプルリードから、前記複数のセルグループにおいて、異なるサブストリング配列を記憶することと、
前記記憶されたリファレンス配列が前記複数のセルグループの中のセルグループに記憶された前記サブストリング配列と一致する、前記セルグループを識別することと、
を繰り返すことに基づいて、判定するように更に構成されている、前記回路と、
を備える、デバイス。
【請求項2】
前記回路及び各セルグループのうちの少なくとも1つが、1つ以上の論理演算を実施して、前記記憶されたリファレンス配列が前記セルグループに記憶された前記現在のサブストリング配列と一致するかどうかを判定するように更に構成されている、請求項1に記載のデバイス。
【請求項3】
前記複数のセルグループの各セルが、
少なくとも1つのXNOR演算を実施して、前記現在のサブストリング配列からのサンプル塩基に対する前記セルに記憶された第1の値を、前記それぞれのセルグループに記憶された前記リファレンス配列からのリファレンス塩基に対する前記セルに記憶された第2の値と比較することと、
前記回路に、前記少なくとも1つのXNOR演算について、前記セルに対する前記サンプル塩基が前記セルに対する前記リファレンス塩基と一致するかどうかを示す比較値を出力することと、を行うように更に構成されている、請求項1に記載のデバイス。
【請求項4】
前記回路が、それぞれのセルグループについて、前記セルから出力された前記比較値においてAND演算を実施することによって、前記記憶されたリファレンス配列がセルグループに記憶された前記現在のサブストリング配列と一致する前記セルグループを識別するように更に構成されている、請求項3に記載のデバイス。
【請求項5】
前記複数のセルグループの各セルが、
前記サンプル塩基及び前記リファレンス塩基を表す、前記セルに記憶された値の積を計算することと、
前記積を前記回路に出力することと、を行うように更に構成されており、
前記回路が、前記セルによって出力された前記積に少なくとも部分的に基づいて、前記記憶されたリファレンス配列がセルグループに記憶された前記現在のサブストリング配列と一致する前記セルグループを識別するように更に構成されている、請求項1に記載のデバイス。
【請求項6】
前記回路が、前記複数のセルグループの各セルグループについて、
前記セルグループの前記セルによって出力された前記積を合計することと、
前記合計を前記セルグループの前記セルの数の所定の倍数と比較することと、
前記合計が、前記セルグループの前記セルの数の前記所定の倍数に等しいことに応答して、前記記憶されたリファレンス配列が前記セルグループに記憶された前記現在のサブストリング配列と一致するとして、前記セルグループを識別することと、を行うように更に構成されている、請求項5に記載のデバイス。
【請求項7】
前記複数のセルグループの各セルグループが、所定の数のセルからなり、前記所定の数のセルが、17~25個のセルの範囲内である、請求項1に記載のデバイス。
【請求項8】
前記複数のセルの各セルグループが、
前記現在のサブストリング配列を、前記サンプルリードからのサンプル塩基を表す後続のサブストリング配列で上書きして、前記後続のサブストリング配列を前記セルグループに記憶することと、
前記セルグループに記憶された前記それぞれのリファレンス配列を保持することと、を行うように更に構成されており、
前記回路が、前記セルグループに記憶された前記保持されたリファレンス配列が前記
セルグルー
プに記憶された前記後続のサブストリング配列と一致する、前記複数のセルグループの中のセルグループを識別することを行うように更に構成されている、請求項1に記載のデバイス。
【請求項9】
前記デバイスが、フィールドプログラマブルゲートアレイ(FPGA)及び特定用途向け集積回路(ASIC)のうちの少なくとも1つを含む、請求項1に記載のデバイス。
【請求項10】
前記複数のセルグループの前記セルが、レジスタ、ラッチ、及びフリップフロップのうちの少なくとも1つを備える、請求項1に記載のデバイス。
【請求項11】
リファレンスゲノムに対してサンプルリードを位置特定する
コンピュータのためのプログラムであって、
前記コンピュータに、
前記コンピュータのアレイにおける複数のセルグループに、前記リファレンスゲノムからのリファレンス塩基を表すリファレンス配列を記憶することであって、前記リファレンス配列が、前記複数のセルグループのそれぞれのセルグループにおけるセルの順序に対応し、前記複数のセルグループの各セルグループが、1つ以上の他のセルグループに記憶された1つ以上の他のリファレンス配列によって表される前記リファレンスゲノムの少なくとも1つの他の部分と部分的に重複する前記リファレンスゲノムの一部分を表すリファレンス配列を記憶する、記憶することと、
前記複数のセルグループの各セルグループに、サンプル塩基に対する現在のサブストリング配列を記憶することであって、前記現在のサブストリング配列が、前記複数のセルグループの前記それぞれの
セルグルー
プにおける前記セルの順序に対応する、記憶することと、
前記記憶されたリファレンス配列が前記セルグループに記憶された前記現在のサブストリング配列と一致する、前記複数のセルグループの中のセルグループを識別することと、
前記リファレンスゲノム内の前記サンプルリードの確率的位置を、
前記サンプルリードから、前記複数のセルグループにおいて、異なるサブストリング配列を記憶することと、
前記記憶されたリファレンス配列が前記複数のセルグループの中のセルグループに記憶された前記サブストリング配列と一致する、前記セルグループを識別することと、
を繰り返すことに基づいて、判定することと、
を
実行させる、
プログラム。
【請求項12】
前記コンピュータに、各セルグループについて、1つ以上の論理演算を実施して、前記記憶されたリファレンス配列が前記セルグループに記憶された前記現在のサブストリング配列と一致するかどうかを判定することを更に
実行させる、請求項
11に記載の
プログラム。
【請求項13】
前記コンピュータに、前記複数の
セルグルー
プの各セルについて、
前記現在のサブストリング配列からのサンプル塩基に対する前記セルに記憶された第1の値及び、前記それぞれのセルグループに記憶された前記リファレンス配列からのリファレンス塩基に対する前記セルに記憶された第2の値に対して少なくとも1つのXNOR演算を実施することと、
前記少なくとも1つのXNOR演算について、前記セルに対する前記サンプル塩基が前記セルに対する前記リファレンス塩基と一致するかどうかを示す比較値
を出力することと、を更に
実行させる、請求項
11に記載の
プログラム。
【請求項14】
前記コンピュータに、それぞれのセルグループについて、前記セルから出力された前記比較値においてAND演算を実施することによって、前記記憶されたリファレンス配列が前記セルグループに記憶された前記現在のサブストリング配列と一致するセルグループを識別することを更に
実行させる、請求項
13に記載の
プログラム。
【請求項15】
少なくとも、
前記コンピュータに、前記複数のセルグループの各セルグループについて、前記セルグループに記憶されたリファレンス塩基を表すリファレンスベクトルと前記セルグループに記憶されたサンプル塩基を表すサブストリングベクトルの内積を計算することによって、前記記憶されたリファレンス配列が前記セルグループに記憶された前記現在のサブストリング配列と一致するセルグループを識別することを更に
実行させる、請求項
11に記載の
プログラム。
【請求項16】
前記現在のサブストリング配列が、17~25の塩基の範囲内である、請求項
11に記載の
プログラム。
【請求項17】
前記コンピュータに、前記複数の
セルグルー
プの各セルグループについて、
前記現在のサブストリング配列を、前記サンプルリードからの塩基の後続のサブストリング配列で上書きして、前記後続のサブストリング配列を記憶することと、
前記リファレンスゲノムのそれぞれの部分を、前記セルグループに記憶された前記リファレンス配列として保持することと、
前記セルグループに記憶された前記保持されたリファレンス配列が前記セルグループに記憶された前記後続のサブストリング配列と一致する、前記複数のセルグループの中のセルグループを識別することと、を更に
実行させる、請求項
11に記載の
プログラム。
【請求項18】
コンピュータのためのプログラムであって、
前記コンピュータに、
前記コンピュータのアレイにおける複数のセルグループの各セルグループに、サンプルリードからのサンプル塩基に対する第1のサブストリング配列を記憶して、前記第1のサブストリング配列における前記サンプル塩基が、前記複数のセルグループのそれぞれのセルグループのセルの順序に対応するようにすることであって、前記複数のセルグループの各セルグループが、リファレンスゲノムの異なる部分を表すリファレンス配列を記憶するように構成されている、記憶することと、
前記記憶されたリファレンス配列が前記セルグループに記憶された前記第1のサブストリング配列と一致する、前記複数のセルグループの中のセルグループを識別することと、
前記複数のセルグループの各セルグループに、前記サンプルリードの別の部分からのサンプル塩基に対する第2のサブストリング配列を記憶して、前記第2のサブストリング配列に対する前記サンプル塩基が、前記セルグループの前記セルの順序に対応し、前記第1のサブストリング配列を上書きすることと、
前記記憶されたリファレンス配列が前記セルグループに記憶された前記第2のサブストリング配列と一致する、前記複数のセルグループの中のセルグループを識別することと、
前記リファレンスゲノム内の前記サンプルリードの確率的位置を、
前記記憶されたリファレンス配列が1つ以上のセルグループに記憶された前記第1のサブストリング配列と一致する前記1つ以上のセルグループ、及び
前記記憶されたリファレンス配列が1つ以上のセルグループに記憶された前記第2のサブストリング配列と一致する前記1つ以上のセルグループ、
を識別することに基づいて、判定すること、
を
実行させる、
プログラム。
【請求項19】
前記コンピュータに、
前記第1のサブストリング配
列について、各セルグループに対する1つ以上の論理演算を実施して、前記記憶されたリファレンス配列が前記セルグループに記憶された前記
第1のサブストリング配列と一致するかどうかを判定することと、
前記第2のサブストリング配列について、各セルグループに対する1つ以上の論理演算を実施して、前記記憶されたリファレンス配列が前記セルグループに記憶された前記第2のサブストリング配列と一致するかどうかを判定することと、
を更に
実行させる、請求項
18に記載の
プログラム。
【請求項20】
前記コンピュータに、
前記複数のセルグループの各セルについて、少なくとも1つの論理XNOR演算を実施して、前記セルに記憶された前記
第1のサブストリング配列からのサンプル塩基を前記セルに記憶された前記リファレンス配列からのリファレンス塩基と比較することと、
前記複数のセルグループの各セルから、前記セルに記憶された前記サンプル塩基が前記セルに記憶された前記リファレンス塩基と一致するかどうかを示す値を出力することと、
前記複数のセルグループの各セルについて、少なくとも1つの論理XNOR演算を実施して、前記セルに記憶された前記第2のサブストリング配列からのサンプル塩基を前記セルに記憶された前記リファレンス配列からのリファレンス塩基と比較することと、
前記複数のセルグループの各セルから、前記セルに記憶された前記サンプル塩基が前記セルに記憶された前記リファレンス塩基と一致するかどうかを示す値を出力することと、を更に
実行させる、請求項
18に記載の
プログラム。
【請求項21】
前記コンピュータに、それぞれのセルグループについて前記セルから出力された前記値において論理的AND演算を実施することによって、前記記憶されたリファレンス配列が前記
セルグルー
プに記憶されたサブストリング配列に一致するセルグループ
を識別することを更に
実行させる、請求項
20に記載の
プログラム。
【請求項22】
少なくとも、
前記コンピュータに、前記複数のセルグループの各セルグループについて、前記セルグループに記憶されたリファレンス塩基を表すリファレンスベクトルと前記セルグループに記憶されたサンプル塩基を表すサブストリングベクトルの内積を計算することによって、前記記憶されたリファレンス配列が前記セルグループに記憶されたサブストリング配列に一致するセルグループを識別することを更に
実行させる、請求項
18に記載の
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2020年3月17日に出願され、「REFERENCE-GUIDED GENOME SEQUENCING」と題する同時係属中の米国出願第16/821,849号(代理人整理番号WDA-4724-US)に関連し、その全容が参照により本明細書に組み込まれる。本出願はまた、2020年3月18日に出願され、「REFERENCE-GUIDED GENOME SEQUENCING」と題する同時係属中の米国出願第16/822,010号(代理人整理番号WDA-4725-US)に関連し、その全容が参照により本明細書に組み込まれる。
【背景技術】
【0002】
現在のDNA(deoxyribonucleic acid、デオキシリボ核酸)サンプル取り扱いの制限は、サンプルゲノム中の一般に不明な位置を有するサンプルゲノムのサンプルリード又はサンプルゲノムの部分につながる。サンプルリードを互いに比較してサンプルゲノム内のサンプルリードを位置特定する際にリファレンスゲノムを使用しないデノボ配列決定の場合、サンプルリードは、典型的には、単一の大きいグループとして分析されるが、これは、サンプルゲノム内のサンプルリードの位置を判定するために、大きいグループにおけるサンプルリードを互いに計算するためにかなりのメモリリソース及び高い計算コストを必要とする。デノボ配列決定のそのような従来の方法は、ゲノム配列決定のために処理される必要がある大量のデータに対して拡張可能ではない。より詳細には、デノボ配列決定の従来の方法は、通常、高価な2TBのDRAMなどの共有メモリにサンプルリードの大きいグループを記憶する。独立した高帯域幅チャネルを有する共有DRAMに接続することができる計算コアの数は制限されるため(例えば、最大24個のコア)、この配置は、デノボ配列決定に使用することができる独立した計算スレッドの数(例えば、最大128個の計算スレッド)を制限する。
【0003】
リファレンスゲノムを使用してサンプルゲノム内のサンプルリードを位置特定するリファレンスアライン配列決定の場合、完全リファレンスゲノムは、典型的には、各サンプルリードについて検索されて、リファレンスゲノム内のサンプルリードを位置特定する。そのようなリファレンスアライン配列決定はまた、完全リファレンスゲノムを記憶するためにかなりのメモリリソース及び各サンプルリードを完全リファレンスゲノムと比較するために高い計算コストを必要とする。リファレンスアライン配列決定の従来の方法はまた、拡張性が制限される。より詳細には、リファレンスアライン配列決定の従来の方法は、対応する計算スレッドによって処理されるグループにサンプルリードをランダムに分配し得る。しかしながら、各計算スレッドは、典型的には、リファレンスゲノム全体を記憶するために、16GBのDRAMなどの大きい専用メモリを必要とする。他の技術では、リファレンスゲノムは、単一の共有16GBのDRAMに記憶され得るが、従来のデノボ配列決定について上述したように、この共有メモリ配置は、共有メモリにアクセスすることができるコア及び計算スレッドの数を制限する。したがって、計算コスト、メモリリソース、及び拡張性に関してゲノム配列決定を改善する必要性がある。
【図面の簡単な説明】
【0004】
本開示の実施形態の特徴及び利点は、図面と併せて解釈されるときに、以下に記載される詳細な説明からより明らかになるであろう。図面及び関連する説明は、本開示の実施形態を例解するように、かつ特許請求の範囲の範囲を限定しないように、提供される。
【0005】
【
図1】1つ以上の実施形態による、リファレンスガイドデバイスを含むゲノム配列決定のためのシステムのブロック図である。
【0006】
【
図2】1つ以上の実施形態による、リファレンスガイドデバイス内の複数のセルグループの例を例解する。
【0007】
【
図3】ヒトリファレンスゲノムH38における異なる長さのサブストリングの一意性を描くグラフである。
【0008】
【
図4A】1つ以上の実施形態による、記憶された現在のサブストリング配列がリファレンス配列と一致するリファレンスガイドデバイス内のセルグループを識別する例を例解する。
【0009】
【
図4B】1つ以上の実施形態による、サブストリング塩基値をセルに記憶されたリファレンス塩基値と比較するための回路の例である。
【0010】
【
図4C】1つ以上の実施形態による、セルグループにおけるセル出力値を比較するための回路の例である。
【0011】
【
図5】1つ以上の実施形態による、サンプルリード位置特定プロセスのためのフローチャートである。
【0012】
【
図6】1つ以上の実施形態による、論理演算を使用する一致識別サブプロセスのためのフローチャートである。
【0013】
【
図7】1つ以上の実施形態による、リファレンスベクトル及びサブストリングベクトルの内積を使用する一致識別サブプロセスのためのフローチャートである。
【発明を実施するための形態】
【0014】
以下の詳細な説明では、本発明の完全な理解を提供するために、数多くの具体的な詳細が記載される。しかしながら、開示された様々な実施形態が、これらの具体的な詳細のうちの一部を伴わずに実施され得ることが、当業者には明らかであろう。他の例では、様々な実施形態を不必要に不明瞭にすることを避けるために、周知の構造及び技術は詳細に示されていない。
システムの例
【0015】
図1は、1つ以上の実施形態による、ホスト101及びリファレンスガイドデバイス102を含むゲノム配列決定のためのシステム100のブロック図である。ホスト101は、リファレンスガイドデバイス102と通信して、リファレンスゲノム内のサンプルリードの確率的位置を判定する。いくつかの実装形態において、デバイス102は、サンプルリードの確率的位置を示すデバイス102のメモリ108に記憶されたインデックス10をホスト101に提供することができる。他の実装形態において、デバイス102は、サンプルリードの確率的位置の別のデータ構造又は表示をホスト101に提供し得る。
【0016】
サンプルリード又はサンプルリードから取得されたサンプルサブストリング配列は、最初に、ホスト101によって、及び/又は
図1に示されていない別のデバイス、例えば、追加のホストによって、リファレンスガイドデバイス102に提供されて、デバイス102の1つ以上のアレイ104に記憶されたリファレンスゲノム内のサンプルリードの確率的位置を判定し得る。いくつかの実装形態において、サンプルリードを生成するリードデバイス、例えば、Illuminaデバイス(カルフォルニア州サンディエゴのIllumina社)又はナノポアデバイスは、リファレンスガイドデバイス102にサンプルリードを提供し得る。
【0017】
説明を容易にするために、本開示の例示的な実施形態は、DNA配列決定の文脈で説明される。しかしながら、本開示の実施形態は、DNA配列決定に限定されず、一般に、RNA(ribonucleic acid、リボ核酸)配列決定を含む任意の核酸ベースの配列決定に適用することができる。
【0018】
ホスト101は、例えば、ゲノム配列決定アルゴリズム、例えば、正確に一致するためのシード及び拡張アルゴリズム、及び/又は計算的に複雑なアルゴリズム、例えばゲノム内のサンプルリードの近似一致のためのBurrows-Wheelerアルゴリズム若しくはSmith-Watermanを実装し得るデスクトップ又はサーバを含むことができる。以下でより詳細に考察されるように、デバイス102は、デノボ又はリファレンスアライン配列決定の前にサンプルリードをプリプロセスするために使用され得る。これに関して、リファレンスガイドデバイス102によって提供される確率的位置は、メモリリソース及び計算コストに関してホスト101によって実施されるアルゴリズムの効率を置き換え得るか、又は改善し得る。加えて、関連する同時係属出願第16/821,849号及び同第16/822,010号に記載されているように、デバイス102によって提供されるサンプルリードの確率的位置は、ゲノム配列決定の拡張性に対する改善を可能にし、それによって、デノボ又はリファレンスアラインゲノム配列決定を実施するための費用及び時間を低下させることができる。
【0019】
いくつかの実装形態におけるリファレンスガイドデバイス102は、例えば、リファレンスゲノムに対するサンプルリードからサンプルサブストリング配列の確率的位置を示すインデックス10を生成するために1つ以上の特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)又はフィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)を含むことができる。サンプルサブストリング配列の確率的位置は、サンプルサブストリング配列が取られたサンプルリードに対する確率的位置をホスト101に提供することができる。いくつかの実装形態において、ホスト101又は別のデバイスは、デバイス102の1つ以上のアレイ104にロードするために現在のサンプルサブストリング配列をリファレンスガイドデバイス102を提供し得る。他の実装形態において、ホスト101又は別のデバイスは、サンプルリードをリファレンスガイドデバイス102に提供し得、サンプルガイドデバイス102は、1つ以上のアレイ104にロードされるサンプルリードからサンプルサブストリング配列を判定し得る。
【0020】
ホスト101及びデバイス102は、物理的に並置されてもよく、又はされなくてもよい。例えば、いくつかの実装形態において、ホスト101及びデバイス102は、インターネットなどのローカルエリアネットワーク(Local Area Network、LAN)若しくはワイドエリアネットワーク(Wide Area Network、WAN)、又はデータバス若しくはファブリックを使用することなどによって、ネットワークを介して通信し得る。加えて、当業者は、他の実装形態が、サンプルリードの確率的位置を提供するために、複数のホスト101及び/又は複数のデバイス102を含み得ることを理解するであろう。特定の実施形態において、ホスト101及びデバイス102(又は複数のホスト及びデバイス)は、単一のデバイス又はシステムとして一体化される。
【0021】
図1の例に示すように、デバイス102は、1つ以上のアレイ104を含む。本明細書で使用される場合、セルは、一般に、本開示における塩基と称される1つ以上のヌクレオチドを表す1つ以上の値を記憶するためのメモリ位置を指す。いくつかの実装形態において、アレイ又は複数のアレイ104は、セルに記憶された値又は複数の値に対して1つ以上の動作を実施するための論理も含むセルを含むことができる。そのような例において、1つ以上のアレイ内の各セルは、リファレンスゲノムからリファレンス塩基を表すリファレンス値及びサンプルサブストリング配列からの塩基を表すサンプル値を記憶することができる。セルは、1つ以上のアレイ104におけるセルグループが、セルグループに記憶されたサブストリング配列と一致するリファレンス配列を記憶するかどうかを判定するために、1つ以上のアレイ104の回路106又は回路によって使用され得る値を出力する1つ以上の動作を実施し得る。いくつかの実装形態において、アレイ104は、リファレンスゲノムからのリファレンス塩基を表すリファレンス値がロードされ、サンプル値をアレイ104の別のセルグループにおける次のセルに通過させる前に、サンプル値をリファレンス値と比較するために、サンプルサブストリング配列からの塩基を表すサンプル値がセルにロードされ得る1つ以上の収縮期アレイを含むことができる。
【0022】
他の実装形態において、アレイ又は複数のアレイ104は、セルに記憶された値が一致するかどうかを判定するための動作を実施しない場合があるソリッドステートメモリセルを含むことができる。例えば、いくつかの実装形態における回路106は、各セルに記憶された値が一致するかどうかを判定し得る。別の変形例として、アレイ又は複数のアレイ104は各々、リファレンス塩基を表すリファレンス値又はサンプル塩基を表すサンプル値のいずれかを記憶し得る。そのような実装形態において、リファレンス値を記憶するセルは、リファレンス塩基とサンプル塩基との比較のためにサンプル値を記憶するセルと対になり得る。更に他の実装形態において、アレイ104内のセルは、レジスタ、ラッチ、又はフリップフロップなどの回路要素を含むことができる。
【0023】
本明細書の説明は、一般に、ソリッドステートメモリを指しているが、ソリッドステートメモリは、フラッシュ集積回路、カルコゲナイドRAM(Chalcogenide RAM、C-RAM)、位相変化メモリ(Phase Change Memory、PC-RAM若しくはPRAM)、プログラマブル金属化セルRAM(Programmable Metallization Cell RAM、PMC-RAM若しくはPMCm)、オバニックユニファイドメモリ(Ovonic Unified Memory、OUM)、抵抗性RAM(Resistive RAM、RRAM)、NANDメモリ(例えば、単一レベルセル(Single-Level Cell、SLC)メモリ、マルチレベルセル(Multi-Level Cell、MLC)メモリ(すなわち、2つ以上のレベル)、若しくはそれらの任意の組み合わせ)、NORメモリ、EEPROM、強誘導体メモリ(Ferroelectric Memory、FeRAM)、磁気抵抗RAM(Magnetoresistive RAM、MRAM)、他の個別の不揮発性メモリ(Non-Volatile Memory、NVM)チップ、又はそれらの任意の組み合わせなどの様々なタイプのメモリデバイスのうちの1つ以上を備え得ることが理解される。
【0024】
回路106は、例えば、ハードワイヤード論理、アナログ回路、及び/又はそれらの組み合わせを含むことができる。他の実装形態において、回路106は、1つ以上のASIC、マイクロコントローラ、デジタル信号プロセッサ(Digital Signal Processor、DSP)、FPGA、及び/又はそれらの組み合わせを含むことができる。いくつかの実装形態において、回路106は、メモリ108と組み合わせ得る1つ以上のシステムオンチップ(Systems on a Chip、SoC)を含むことができる。下記により詳細に考察されるように、回路106は、記憶されたリファレンス配列がセルグループに記憶された現在のサブストリング配列と一致する、アレイ又は複数のアレイ104におけるセルグループを識別するように構成されている。
【0025】
より詳細には、アレイ又は複数のアレイ104の各セルグループについて、リファレンスゲノムからリファレンス塩基のリファレンス配列をセルグループに記憶することができる。リファレンス配列は、それぞれのセルグループにおけるセルの順序に対応する。各セルグループは、1つ以上の他のセルグループに記憶された1つ以上の他のリファレンス配列によって表されるリファレンスゲノムの少なくとも1つの他の部分と部分的に重複するリファレンスゲノムの一部分を表すリファレンス配列を記憶するように構成されている。アレイ内のそのような重複するリファレンス配列の記憶の例は、
図2を参照して下記でより詳細に考察される。
【0026】
加えて、アレイ又は複数のアレイ104内の各セルグループは、それぞれのセルグループの順序に対応する同じ現在のサブストリング配列を記憶するように構成されている。上述のように、回路106は、記憶された現在のサブストリング配列がセルグループに記憶されたリファレンス配列と一致する、アレイ又は複数のアレイ104における複数のセルグループの中のセルグループを識別するように構成されている。一致する配列を有するセルグループの識別は、XNOR演算などの少なくとも1つの論理演算を実施した後、セルから出力された値に基づいて、回路106によっていくつかの実装形態において行われ得る。他の実装形態において、一致する配列を有するセルグループの識別は、リファレンス塩基を表すリファレンス値及びサンプル塩基を表すサンプル値に乗算した後、セルから出力された値に基づいて、回路106によって行われ得る。更に他の実装形態において、回路106は、セル自体によって実施される動作のいくつかの代わりに、セルに記憶された値においてすべての動作を実施し得る。
【0027】
デバイス102のメモリ108は、例えば、インデックス10を記憶するためのDRAMなどの揮発性メモリを含むことができる。他の実装形態において、メモリ108は、MRAMなどの不揮発性メモリを含むことができる。
図1に示すように、メモリ108は、アレイ又は複数のアレイ104にロードされた、又は記憶された重複するリファレンス配列によって表されるリファレンスゲノム内のサンプルリードの確率的位置を判定するために、ホスト101によって使用され得るインデックス10を記憶する。いくつかの実装形態において、インデックス10は、一致する配列を記憶するとして識別されたセルグループに対応するリファレンスゲノムにおけるインデックス又は位置を示すビットマップ又は他のデータ構造などのデータ構造を含むことができる。回路106は、アレイ又は複数のアレイ104の各セルグループにロードされる異なるサンプルサブストリング配列のためのインデックス10を更新し得る。いくつかの実装形態において、回路106は、複数の一致するセルグループを有するサブストリング配列に対するインデックス10の平均位置を示し得る。他の実装形態において、特定のサブストリング配列のための第1の一致するセルグループのみが使用され得るか、又は回路106は、一致する配列を記憶する単一のセルグループを有するサブストリング配列のために、インデックス10をまったく更新しない場合がある。
【0028】
加えて、いくつかの実装形態は、一致する配列を有するセルグループの位置を示すためのインデックス又は他のデータ構造を使用しない場合がある。例えば、いくつかの実装形態における回路106は、一致する配列を有するセルグループを示すデータをホスト101に直接データを出力し得る。
【0029】
本開示を参照して当業者には理解されるように、他の実装形態は、
図1の例におけるシステム100に対して示されるものとは異なる数又は配置のコンポーネントを含み得る。例えば、他の実装形態は、ホスト101とデバイス102とを組み合わせ得るか、又は異なる数のデバイス102及び/又はホスト101を含み得る。
【0030】
図2は、1つ以上の実施形態による、リファレンスガイドデバイス102内の複数のセルグループの例を例解する。
図2の例に示すように、アレイ104は、セルグループ110
1~110
L-19を含む。
図2のセルグループ110
1~110
L-19は、列として示されているが、他の実装形態は、列として物理的に配置されていないセルグループを含み得る。いくつかの実装形態において、アレイ104は、同じアレイの異なる部分又は異なるアレイ内のスペアセルのプールに位置する別のセルを用いて、1つのセルグループから欠陥セルを置換し得る。各セルグループが、以前のセルグループから1つのリファレンス塩基によってシフトされている重複したファレンス配列を記憶する実装形態において、Lは、フルリファレンスヒトゲノムH38の場合のように、32億のセルグループ又はセル列などのリファレンスゲノムの全長に等しくすることができる。他の実装形態は、代わりに、2つのリファレンス塩基などによってなど異なる数のリファレンス塩基によってシフトされている重複したリファレンス配列を記憶し、より小さいサイズのアレイ104を可能にするより少ないセルグループ又は列が必要となるようにする。しかしながら、重複を2つ以上のリファレンス塩基だけシフトすることは、サブストリング配列に対する一致を見つける可能性を低減するコストをかけて起こり得る。
【0031】
図2の例に示すように、各セルグループ110は、リファレンス塩基を表す基準値(例えば、R1、R2、R3など)、及びサンプル塩基を表すサンプル値(S1、S2、S3など)を記憶する。例えば、DNA配列決定の場合に、4つの可能な塩基-アデニン(Adenine、A)、グアニン(Guanine、G)、シトシン(Cytosine、C)、及びチミン(Thymine、T)が存在するため、各リファレンス値及び各サンプル値は2ビットで表すことができる。各セルグループ110は、サンプル値S1~S20の同じサンプル配列を記憶しているが、各セルグループ110は、隣接するセルグループに記憶されたリファレンス配列から1つのリファレンス塩基だけシフトされる異なる部分的に重複するリファレンス配列を記憶する。例えば、セルグループ110
1は、リファレンス値R1~R20を有する第1のリファレンス配列を記憶し、セルグループ110
2は、リファレンス値R2~R21を有する第2のリファレンス配列を記憶する。他の実施形態において、シフトされたオフセット及び結果として生じる重複は、
図2の例に示されるよりもセルグループにわたって異なり得る。
【0032】
アレイ104における部分的に重なり合うリファレンス配列及びサブストリング配列を記憶する配置は、通常、リファレンスゲノム内のサンプルリードの確率的位置の効率的な位置特定を可能にする。加えて、リファレンス配列は、アレイ104内へのロード又は記憶を1回すればよい。次いで、サンプルリードからの異なるサブストリング配列のロード又は記憶を繰り返すことで、リファレンスゲノム内のサンプルリードの確率的位置を提供し得、これは、上述の参照によって組み込まれた同時係属の関連出願第16/821,849号及び同第16/822,010号において考察されているように、より効率的なデノボ又はリファレンスアライン配列決定のためにサンプルリードをリードのグループにインテリジェントにソートするためにホスト101によって使用され得る。これに関して、異なる実装形態は、ROM又はNANDフラッシュセルなどの第1のタイプのセル、及びリファレンス配列を記憶し、MRAMセルなどのより良好な書き込み耐久性を有する繰り返しの上書きにより適する第2のタイプのセルを使用して、サブストリング配列を記憶し得る。
【0033】
サンプル値S1~S20を含む
図2の例において、20のサブストリング配列の長さが使用される。
図3を参照して下記により詳細に考察されるように、セル又は列のグループにおけるセルの数に対応するサブストリング配列の長さは、セルの数に対するリファレンスゲノム内のサブストリング配列の望まれる一意性及び一致する配列を記憶するセル又は列のグループを識別するために必要とされる動作に基づいて選択することができる。
【0034】
図3は、ヒトリファレンスゲノムH38における異なる長さのサブストリング配列の一意性を描くグラフである。
図3の破線は、リファレンスゲノムH38における各塩基が、x軸に沿って示される異なるサブストリングの長さに対してランダムに均一に選択される場合、予想されるプロファイルを表す。
図3の実線は、x軸に沿って示される異なるサブストリングの長さに対して、リファレンスゲノムH38内のサブストリング配列の観察された一意性を表す。具体的には、1~44の塩基の長さを有する1,000個のサブストリング配列をランダムに選択し、各サブストリング配列について、H38における一致の数をカウントした。
図3の実線と破線との差は、リファレンスゲノムにおける塩基の分布が完全にランダムではないことを示している。結果として、わずかに長いサブストリングの長さを実際には均一なランダムなプロファイルよりも使用して、より一意の一致を取得することができる。
【0035】
図3の実線に示すように、17~25個の塩基の長さを有するサブストリング配列は、H38内のサブストリング配列を位置特定するために、ほとんどのサブストリング配列(すなわち、H38内の1つの位置で一致するのみ)に対して十分な数の一意の一致を提供することができる。17個の塩基よりも短いサブストリングの長さは、リファレンスゲノム内のサンプルリードの確率的位置を判定するために、サンプルリードからのより多くの数のサブストリング配列を必要とする。
図3に示すように、15個の塩基よりも短いサブストリングの長さは、試みられたほぼすべてのサブストリング配列に対してH38内の任意の一意の一致を識別しないことがある。
【0036】
一方、25個の塩基よりも大きいサブストリングの長さは、アレイ又は複数アレイ104内のセルに関して追加の記憶コスト、及び必要な動作の増加に起因してより大きい計算コストを招くが、一意の位置の数はほとんど改善されない。結果として、上で考察された
図2の例は、20個の塩基のサブストリングの長さを使用し、これは、
図2の各セルグループ110が所定の数、20個のセルを含むことを意味する。当業者は、リファレンスゲノムの特定の部分に関連する遺伝的状態の医学的診断の場合であり得るように、異なるリファレンスゲノム又はリファレンスゲノムの一部分を使用するときなど、異なるサブストリングの長さ又は各セルグループにおける異なる所定の数のセルが他の例に対して好ましくあり得ることを、本開示を参照して理解するであろう。更に、計算コスト、セルの数、及びより多くの数の一意の一致に関する精度の異なるトレードオフもまた、アレイ又は複数のアレイ104内の各セルグループに使用されるセルの数に影響を与え得る。
【0037】
図4Aは、1つ以上の実施形態による、記憶された現在のサブストリング配列がリファレンス配列と一致するセルグループを識別するための例示的なアレイを例解する。
図4Aに示すように、アレイ104は、上で考察された
図2の例と同様に、複数のセルグループを含む。
図4Aの例において、各セルグループは、1~L-(M-1)の列番号iによって表される。各セルグループ又は列内の各セルはまた、1~Mの行番号jによって表される。上で考察されたように、L-(M-1)は、リファレンスゲノムからの重複するリファレンス配列の数に対応することができ、Mは、
図2の例示的なアレイ104と同様に、20の塩基など、サブストリング配列における塩基の数に対応することができる。
【0038】
リファレンスゲノムに対するリファレンス配列は、セルグループにロード又は記憶することができ、各セルは、リファレンス配列からのリファレンス塩基を表すリファレンス値を記憶する。上で考察されたように、1列又はセルグループから次のグループ又は列へのリファレンス配列は、1つ、2つ、又は3つのリファレンス値又は塩基などによって、所定の数のリファレンス値又はリファレンス塩基によって重複し得る。グループ又は列内のセルの順序は、リファレンス配列におけるリファレンス塩基の順序に対応する。いくつかの実装形態において、リファレンス配列は、リファレンスガイドデバイスを顧客に出荷する前に、リファレンスガイドデバイスの製造業者によって、特定のリファレンスゲノムに対して最初にロード又は記憶され得る。他の実装形態において、リファレンス配列は、その分野の顧客によってロード又は記憶され得る。
【0039】
現在のサブストリング配列は、セルグループにロード又は記憶され、各セルは、現在のサブストリング配列からサンプル塩基を表すサンプル値を記憶する。セル又は列の各グループは、同じ現在のサブストリング配列を記憶することができる。加えて、グループ又は列におけるセルの順序は、現在のサブストリング配列におけるサンプル塩基の順序に対応する。いくつかの実装形態において、アレイ104は、現在のサブストリング配列が1つのセルグループ又は列から次のものに渡される収縮期アレイを含むことができる。
【0040】
図4B及び
図4Cを参照して下記でより詳細に考察されるように、セルi、jなどの各セルにおけるリファレンス値とサンプル値との間で比較が行われ、各セルは、すべてのリファレンス値がすべてのサブストリング値に一致するセル列又はセルグループを識別するためにセル出力値を回路106に提供する。次いで、一致するセル列又はセルグループの位置を使用して、
図1のインデックス10などのデータ構造を更新し得る。他の実装形態において、一致するセル列又はセルグループの位置は、代わりに、データ構造を更新することなく、
図1のホスト101などの別のデバイスに提供され得る。
【0041】
図4Bは、1つ以上の実施形態による、サブストリング塩基値をセルに記憶されたリファレンス塩基値と比較するための回路の例である。上述のように、各サブストリング塩基及びリファレンス塩基は、2ビットによって表すことができる。例えば、A塩基は、バイナリ値00によって表すことができ、C塩基は、バイナリ値01によって表すことができ、G塩基は、バイナリ値10によって表すことができ、T塩基は、バイナリ値11によって表すことができる。他の実装形態において、塩基は、
図7を参照して下記で考察される内積を使用する例のように、他の値によって表すことができ、塩基は、1又は-1を含む値を有することができる。
【0042】
図4Bの例に示すように、セルi、j内の回路は、ANDゲートに出力する2つのXNORゲートを含む。より詳細には、セルi、jに記憶されたサブストリング塩基値i、jの第1のビットは、セルi、jに記憶されたリファレンス塩基値i、jの第1のビットと共に第1のXNORゲートに入力される。サブストリング塩基値i、jの第2のビットは、リファレンス塩基値i、jの第2のビットと共に第2のXNORゲートに入力される。XNORゲートの2つの入力が一致する場合、高いバイナリ値1を有する。一方、XNORゲートの2つの入力が一致しない場合、出力は、低いバイナリ値0を有する。
【0043】
各XNORゲートからの出力値は、ANDゲートに入力される。2つの入力が両方とも1である場合、リファレンス塩基値及びサブストリング塩基値の第1及び第2のビットの各々に対する一致を示し、ANDゲートからのセル比較出力値は、高いバイナリ値1である。そうでなければ、ANDゲートからのセル比較出力値は、低いバイナリ値0である。この高いか、又は低いバイナリ値は、
図1の回路106などの回路にセルから出力され、すべてのリファレンス塩基値が、セルグループに記憶されたすべてのサブストリング塩基値に一致するセル列又はグセルループを識別する。
【0044】
図4Cは、1つ以上の実施形態による、セルグループにおけるセル出力値を比較するための回路の例である。
図4Cに示すように、セルグループにおける各セルからのセル比較出力値は、ANDゲートに入力されて、列iに対して列出力値を生成する。列iにおけるすべてのセル1~Mに対するセル比較出力値が、すべて高いバイナリ値1を有することによって一致を示す場合、列に対するANDゲートからの列出力値は、高いバイナリ値1である。この列出力値は、一致するサブストリング配列及びリファレンス配列を有するものとして、セル列又はセルグループを識別するために使用され得る。
図4Cに示す回路は、アレイ104の外部の回路の一部であり得、又はアレイ104の一部であり得る。
【0045】
いくつかの場合に、現在のサブストリング配列と一致するリファレンス配列を記憶するとして識別された複数のセルグループが存在し得る。そのような場合に、回路106は、他の一致位置と共に第1の一致位置を使用するのみであり得、又はリファレンスゲノム内の現在のサブストリング配列を位置特定するためのすべての一致する位置を使用し得る。他の場合に、現在のサブストリング配列は、一致がないことをもたらし得る。例えば、サブストリング配列が取られるサンプルリードにおける変異又は読み取りエラーは、一致を防止することがあるか、又は一致におけるエラーを引き起こすことがある。
【0046】
他の実装形態は、記憶されたリファレンス配列がセルグループに記憶されたサブストリング配列と一致するセルグループを識別する異なる回路又は異なるプロセスを使用し得る。例えば、
図7の一致識別サブプロセスを参照して下記でより詳細に考察されるように、論理ゲートの代わりに、一致する配列を記憶するセルグループを識別するために、内積又はドット積演算を代わりに使用し得る。別の例として、
図4CのNANDゲートは、セルグループに対するセル比較出力値を合計し、合計をセルグループにおけるセルの数と比較するための回路によって置き換えられ得る。そのような例において、グループにおけるセルからの合計がグループにおけるセルの数に等しい場合、セルグループに対するリファレンス配列はサブストリング配列と一致する。
例示的な識別プロセス
【0047】
図5は、1つ以上の実施形態による、サンプル読み取り位置特定プロセスのためのフローチャートである。
図5のプロセスは、例えば、
図1のデバイス102及び/又はホスト101によって実施され得る。
【0048】
ブロック502において、リファレンス配列が、リファレンスゲノムからのリファレンス塩基に対する複数のセルグループのそれぞれのセルグループに記憶される。
図2を参照して上述したように、リファレンス配列の記憶位置は、セルグループにおけるセルの順序に対応する。加えて、各リファレンス配列は、1つ以上の他のセルグループに記憶された1つ以上の他のリファレンス配列によって表されるリファレンスゲノムの少なくとも1つの他の部分と部分的に重複するか、又はシフトされるリファレンスゲノムの一部分を表す。
【0049】
いくつかの実装形態において、リファレンスガイドデバイス102は、ホスト101からリファレンス配列又はリファレンスゲノムを受信し得る。他の実装形態において、リファレンスガイドデバイス102は、ヒトゲノムH38などの特定のゲノムに対するセルグループにプログラム又は記憶されたリファレンス配列を用いて製造業者から事前に構成され得る。
【0050】
ブロック504において、現在のサブストリング配列が、サンプルリードからのサンプル塩基に対する複数のセルグループの各セルグループに記憶される。各セルグループ内の現在のサブストリング配列の記憶位置は、セルグループの順序に対応する。現在のサブストリング配列は、ホスト101から受信され得るか、又はホスト101によって提供されるサンプルリードからデバイス102によって選択され得る。いくつかの実装形態において、デバイス102又はホスト101の回路106は、サンプルリードからのサブストリング配列をランダムに選択し得る。他の実装形態において、回路106又はホスト101は、サンプルリード全体にわたって離間されたサブストリング配列を選択し得る。
【0051】
ブロック506において、回路106は、記憶されたリファレンス配列がセルグループに記憶された現在のサブストリング配列と一致する、複数のセルグループの中のセルグループを識別する。いくつかの実装形態において、
図4A~
図4Cに対して上で考察された例のように、セルグループの識別は、論理ゲートを使用して行われ得る。他の実装形態において、セルグループの識別は、下記で考察される
図7の例示的な一致識別サブプロセスと同様に、記憶されたリファレンス値及びサンプル値を使用して計算を実施することによって行われ得る。
【0052】
ブロック508において、回路106又はホスト101は、ブロック504に記憶されたサブストリング配列が、グループセルに記憶されるサンプルリードからの最後のサブストリング配列であるかどうかを判定する。いくつかの実装形態において、リファレンスゲノムからのリファレンス配列と比較するために、所定の数のサブストリング配列がデバイス102のセルに繰り返し記憶され得る。サンプルリードから取得される異なるサブストリング配列の数は、例えば、サブストリング配列の長さ(例えば、
図2では20塩基)、リファレンスゲノムの長さ、サンプルリードの長さ(例えば、250又は300塩基のイルミナデバイスからのショートリード対5000塩基のナノポアデバイスからのロングリード)、サンプルリードを作成するために使用されるプロセスの精度、及びリファレンスゲノム内のサンプルリードを位置特定するための望ましい精度に依存することができる。一例において、250又は300塩基のショートリードは、ほんの数個の一致するサブストリング配列を用いてリファレンスゲノムにおいて位置特定され得る。そのような例は、サンプルリードからの10個のサブストリング配列のみを使用して、リファレンスゲノム内のサンプルリードを位置特定するのに十分な一致を生成し得る。
【0053】
ブロック508において、現在のサブストリング配列がサンプルリードからの最後のサブストリング配列ではないと判定された場合、プロセスはブロック510に進み、現在のサブストリング配列をサンプルリードからの次のサブストリング配列で上書きして、複数のセルグループにおける次のサブストリング配列を記憶する。次いで、
図5のプロセスはブロック506に戻って、リファレンス配列が次のサブストリング配列と一致するセルグループを識別する。特に、同じリファレンス配列が次のサブストリング配列に再利用され得るため、ブロック502は繰り返されない。サンプルリードからのサブストリング配列の複数の繰り返しに対してリファレンス配列又はリファレンスゲノムをロード又は記憶を1回する必要があるだけであり、サンプルリード位置識別プロセスの効率を改善することができる。
【0054】
いくつかの実装形態において、回路106又はホスト101は、ブロック508において、以前に試験されたサブストリング配列の数に基づいてサンプルリードを位置特定するために別のサブストリング配列が必要とされるかどうかを判定し得る。例えば、4つの以前のサブストリング配列が一致をもたらした場合、第6のサブストリング配列が試験される必要がない場合がある。一方、4つの以前のサブストリング配列がいかなる一致ももたらさなかった場合、第5のサブストリング配列がロードされ得る。
【0055】
ブロック508において、現在のサブストリング配列がサンプルリードからの最後のサブストリング配列であると判定された場合、プロセスはブロック512に進んで、サンプルリードからの異なるサブストリング配列に対する識別されたセルグループに基づいてリファレンスゲノム内のサンプルリードの確率的位置を判定する。ブロック506について上述したように、第1の一致するセルグループが、各サブストリング配列についての位置として使用され得るか、又は代替的に、いくつかのサブストリング配列が複数の一致するセルグループをもたらすと仮定すると、複数の一致するセルグループが、サブストリング配列に対する可能な位置として使用され得る。他の場合に、サンプリング配列は、サンプルを読み取る際のエラー又はサンプル中の変異に起因して、一致する位置を有さないことがある。回路106又はホスト101によってブロック512において判定されたサンプルリードに対する位置は、サンプルリードからの異なるサブストリング配列に対して複数の可能な位置を識別することができ、一致する位置から導出されたコンセンサス又は統計を使用して、リファレンスゲノム内のサンプルリードを確率的に位置特定することができるという意味で確率的であり得る。
【0056】
一例において、すべてのサブストリング配列に対してすべての一致するセルグループのすべての位置の平均を使用して、リファレンスゲノム内のサンプルリードの最も可能性の高い位置を識別する。別の例において、一致するセルグループを有する各サブストリング配列に対して1つの位置のみが、平均で使用される。更に別の例において、サンプルリードの確率的位置は、サブストリング配列に対する一致するセルグループに対応するリファレンスゲノム内の最も遠い位置を識別することによって判定され得る。他の例において、一致する位置のグループに対する1つ以上の外れ値位置は、リファレンスゲノム内のサンプルリードの確率的位置を判定する際に廃棄され得る。
【0057】
図6は、1つ以上の実施形態による、論理演算を使用する一致識別サブプロセスのためのフローチャートである。
図6のサブプロセスは、記憶されたリファレンス配列がセルグループに記憶された現在のサブストリング配列と一致するセルグループを識別するために、上で考察された
図5のサンプルリード位置特定プロセスにおけるブロック506の一部として、アレイ104内のセル及び/又は回路106によって実施され得る。
【0058】
ブロック602において、複数のセルグループの各セルにおいて少なくとも1つのXNOR演算が実施されて、現在のサブストリング配列からのサンプル塩基をリファレンス配列からのリファレンス塩基と比較する。
図4Aを参照して上で考察されたように、2つのXNORゲート及びANDゲートをセル内で使用して、リファレンス塩基及びサンプル塩基に対してセルに記憶された値を比較し得る。
【0059】
ブロック604において、セルに対するサンプル塩基がセルに対するリファレンス塩基に一致するかどうかを示す比較値が、複数のセルグループの各セルから出力される。比較値は、リファレンス値及びセルに記憶されたサンプル値が一致するかどうかを示す、高いバイナリ値1又は低いバイナリ値0のいずれかであり得る。
【0060】
ブロック608において、回路106は、それぞれのセルグループにおけるセルから出力された比較値においてAND演算を実施することによって、記憶されたリファレンス配列が現在のサブストリング配列と一致するセルグループを識別する。比較値のいずれかが低いバイナリ値0を有する場合、AND演算の結果は、低いバイナリ値0を有し、セルグループが一致する配列を記憶しないことを示す。一方、比較値のすべてが高いバイナリ値1を有する場合、AND演算の結果は、高いバイナリ値1を有し、セルグループが一致する配列を記憶することを示す。他の実装形態において、回路106は、比較値を合計し、合計をセルグループにおける所定の数のセルと比較することによって、記憶されたリファレンス配列が現在のサブストリング配列と一致するセルグループを識別し得る。そのような実装形態において、セルからのすべての比較値が値1を有する場合、セルグループに対する比較値の合計は、すべてのセルが一致する値を有するときに、セルグループにおけるセルの総数に等しくなる。XNOR及びANDは例として言及されているが、当業者は、他の実施形態において他の論理の組み合わせを介して同じ結果が達成され得ることを認識するであろう。
【0061】
上記のように、他のプロセスを使用して、記憶されたリファレンス配列がセルグループに記憶されたサブストリング配列と一致するセルグループを識別し得る。これに関して、
図7は、1つ以上の実施形態による、リファレンスベクトル及びサブストリングベクトルの内積又はドット積を使用する一致識別サブプロセスのためのフローチャートである。
図7のサブプロセスは、記憶されたリファレンス配列がセルグループに記憶された現在のサブストリング配列と一致するセルグループを識別するために、上で考察された
図5のサンプルリード位置特定プロセスにおけるブロック506の一部として、アレイ104内のセル及び/又は回路106によって実施され得る。
【0062】
ブロック702において、各セルについて、サブストリング塩基を表す第1の記憶された値の各セル及びリファレンス塩基を表す第2の記憶された値の積が計算される。セルグループに記憶されたサブストリング値は、サブストリングベクトルを表すことができ、セルグループに記憶されたリファレンス値は、セルグループに対するリファレンスベクトルを表すことができる。例えば、各リファレンス値及び各サンプル値は、1及び/又は-1を含む2桁で表すことができる。そのような例において、塩基Cは1,1の値を有し得、塩基Gは-1,-1の値を有し得、塩基Tは1,-1の値を有し得、塩基Aは-1,1の値を有し得る。本開示を参照して当業者には理解されるように、1及び-1の異なる組み合わせを使用して、塩基を表し得る。
【0063】
ブロック704において、セルグループにおける各セルについて計算された積は、各セルから回路106に出力される。他の実装形態において、回路106は、セルに記憶された値の積を計算し得る。
【0064】
各セルグループについて、セルから出力された積がブロック706において合計される。次いで、各セルグループについての積の合計が、ブロック708においてセルグループのセルの数の2倍又はサブストリング配列の長さの2倍と比較される。他の実装形態において、各セルグループの積の合計は、グループ内のセルの数の異なる所定の倍数と比較され得る。例えば、セルが、一致することを示す値1を出力し、一致しないことを示す値0を出力する実装形態において、合計は、グループにおけるセルの数の2倍ではなく、1にセルの総数を乗算したものと比較される。同様に、セルが、一致することを示す値0を出力する実装形態において、合計は、0にセルの総数を乗算したものと比較される。
【0065】
ブロック710において、回路106又はホスト101は、積の合計がセルグループにおけるセルの数の2倍に等しいか、又はサブストリング配列の長さの2倍に等しいセルグループを識別する。そのようなグループに対するセルからの各積が1に等しく、したがってセルの数の2倍(又はサブストリング配列の長さの2倍)まで加算されるため、そのようなセルグループは一致する配列を有する。
【0066】
例えば、例解の目的で、上で考察された17~25の塩基の範囲よりも短い、サブストリング配列の長さに対して、4つの塩基のみを使用して、セルグループに対するリファレンス配列は、R=CCAGとして表すことができ、一致するサブストリング配列は、S1=CCAGとして表すことができ、一致しないサブストリング配列は、S2=GGAGとして表すことができる。符号化されたリファレンス配列又はリファレンスベクトルは、次いで、ブロック702に対して上で考察された塩基に割り当てられた値を使用して、[1,1,1,1,-1,1,-1,-1]である。符号化された一致するサブストリング配列又は一致するサブストリング配列ベクトルはまた、[1,1,1,1,-1,1,-1,-1]である。符号化された一致しないマッチングサブストリング配列又は一致しないマッチングサブストリング配列ベクトルは、[-1,-1,-1,-1,-1,1,-1,-1]である。
【0067】
リファレンスベクトル及び一致するサブストリング配列ベクトルのドット積又は内積を取ると8をもたらし、これは、セルグループにおけるセルの数の2倍又は4つの塩基のサブストリング配列の長さの2倍である。一方、リファレンスベクトル及び一致しないサブストリング配列ベクトルのドット積又は内積を取ると0をもたらし、これは、セルグループにおけるセルの数の2倍又はサブストリング配列の長さよりも小さい。したがって、グループにおけるセルの数の2倍又はサブストリング配列の長さの2倍よりも小さい数をもたらす内積又はドット積は、一致する配列を記憶するセルグループに対応しない。
【0068】
上で考察されたように、前述のリファレンスガイドデバイス及び方法は、通常、サンプルリードが、リファレンスゲノム内に確率的に位置特定されることを可能にすることができる。これは、更なる配列決定のためにリファレンスゲノム内のそれらの位置に基づいてサンプルリードをグループにプリプロセスすることによって、デノボ及びリファレンスアライン配列決定の効率を改善することができる。デノボ配列決定の場合に、これは、より大きくより高価なメモリを使用して限られた数の計算スレッドによってサンプルスレッドのすべてにアクセスする従来の方法と比較して、より多くの計算スレッドが、より小さい共有されたメモリにおいてサンプルリードの各局所化されたグループにアクセスすることを可能にすることによって、デノボ配列決定の拡張性及び効率を改善することができる。リファレンスアライン配列決定の場合に、単一の共有メモリを使用して、フルリファレンスゲノムを記憶し得る、従来のリファレンスアライン配列決定と比較して、各局所化されたグループについてより小さくより安価なメモリに記憶されるリファレンスゲノムのより小さい関連部分のみを可能にする一方で、拡張性を改善するために、より多くの計算スレッドが複数のより小さいメモリにアクセスすることを可能にすることができる。
他の実施形態
【0069】
当業者は、本明細書に開示される実施例に関連して説明される様々な例解的な論理ブロック、モジュール、及びプロセスが、電子ハードウェア、ソフトウェア、又はその両方の組み合わせとして実装され得ることを理解するであろう。更に、前述のプロセスは、プロセッサ、コントローラ、又は他の回路に特定の機能を実施又は実行させるコンピュータ可読媒体上で具体化することができる。
【0070】
ハードウェア及びソフトウェアのこの互換性を明確に例解するために、様々な例解的なコンポーネント、ブロック、及びモジュールが、概してそれらの機能性に関して説明されている。そのような機能性がハードウェア又はソフトウェアとして実装されるかどうかは、システム全体に課せられる特定のアプリケーション及び設計制約に依存する。当業者は、特定の用途ごとに様々な方式で説明された機能性を実装し得るが、そのような実装決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【0071】
本明細書に開示される例に関連して説明される様々な例解的な論理ブロック、ユニット、モジュール、及び回路は、本明細書で説明される機能を実施するように設計された汎用プロセッサ、GPU、DSP、ASIC、FPGA若しくは他のプログラマブル論理デバイス、個別のゲート若しくはトランジスタ論理、個別のハードウェアコンポーネント、又はそれらの任意の組み合わせで実装されるか、又は実施され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替的には、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であり得る。プロセッサ又はコントローラ回路はまた、コンピューティングデバイス、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、SoC、DSPコアと併せた1つ以上のマイクロプロセッサ、又は任意の他のそのような構成の組み合わせとして実装され得る。
【0072】
本明細書に開示される例に関連して説明される方法又はプロセスの活動は、ハードウェアによって直接具体化されるか、プロセッサ又はコントローラ回路によって実行されるソフトウェアモジュールにおいて具体化されるか、又はそれら2つの組み合わせで具体化され得る。方法又はアルゴリズムのステップはまた、例に提供されるものに対して代替的な順序で実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能な媒体、光学媒体、又は当該技術分野で知られている任意の他の形態の記憶媒体に存在し得る。例示的な記憶媒体は、プロセッサ又はコントローラ回路が、記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサ又はコントローラ回路に結合される。代替的に、記憶媒体は、プロセッサ又はコントローラ回路と一体であり得る。プロセッサ又はコントローラ回路及び記憶媒体は、ASIC又はSoCに存在し得る。
【0073】
開示された例示的な実施形態の前述の説明は、当業者が本開示の実施形態を作製又は使用することを可能にするために提供される。これらの例に対する様々な修正は、当業者には容易に明らかであり、本明細書に開示された原理は、本開示の範囲から逸脱することなく他の例に適用され得る。説明された実施形態は、あらゆる点で、例解的であり、かつ制限的でないものと考慮されるべきである。更に、以下の特許請求の範囲における「A及びBのうちの少なくとも1つ」の形態の言語の使用は、「Aのみ、Bのみ、又はA及びBの両方」を意味すると理解されるべきである。