(57)【要約】  検索配列を基準データに適合させるのに使用可能である階層的索引表を構築するためのシステム及び方法。索引表は、所与の長さの全ての副配列の網羅的なリストに関連付けられたエントリを含むように構築され得、各エントリは、基準データ内の各副配列の適合の数及び場所を含む。階層的索引表は、反復的な方法で構築され得、各延長された副配列に対するエントリは、それぞれの閾値のセットの各々より大きい適合の数に基づいて、選択的かつ反復的に構築される。階層的索引表を使用して、検索配列と基準データとの間の適合について検索し得、かつ各それぞれの候補適合に不適合識別及び特徴付けを実行し得る。【選択図】図４
2018535484.tif 000002
【特許請求の範囲】
【請求項１】
検索配列を基準データに適合させるための方法であって、
演算装置により、
ａ）基準データをメモリ内に保存することと、
ｂ）前記基準データに基づいて階層的索引表を作成することであって、前記作成することが、前記階層的索引表内の複数のレベルで複数のエントリを作成することを含み、ｎがゼロでない正の整数である各それぞれのレベルｎでのエントリに対して、前記作成することが、閾値より大きい前記それぞれのレベルｎのエントリの適合基準に応答して、前記階層的索引表内のそれぞれのレベルｎのエントリに対する追加のｎ＋１レベルのエントリを作成することを含む、作成することと、
ｃ）検索配列を特定する入力を受信することと、
ｄ）前記階層的索引表を使用して、前記検索配列の小区分の適合について前記基準データを検索することと、を実行することを含む、方法。
【請求項２】
前記階層的索引表内の第１のレベルのエントリを前記作成することが、第１の長さを有する前記基準データの各可能性のある副配列に対して実行され、
前記階層的索引表内のｎ＋１レベルのエントリを前記作成することが、前記それぞれのレベルｎのエントリの前記適合基準が閾値より大きい各ｎ番目レベルのエントリに対して、前記ｎ＋１レベルに対応するそれぞれの長さを有する前記基準データの各可能性のある副配列に対して実行される、請求項１に記載の方法。
【請求項３】
前記階層的索引表の任意のそれぞれのレベルでそれぞれのエントリを前記作成することが、
前記基準データ内の前記それぞれの長さの前記それぞれの副配列の適合について検索することと、
前記階層的索引表のそれぞれのレベル内の前記それぞれのエントリに情報を保存することであって、前記情報が、前記基準データ内のそれぞれの長さの前記それぞれの副配列の適合の数を特定し、前記情報が、前記適合の各々の場所をさらに特定する、保存することと、により実行される、請求項２に記載の方法。
【請求項４】
ｎ＋１レベルに対して、前記ｎ＋１レベルの前記それぞれの副配列の適合について前記検索することが、前記ｎレベルにおける前記対応するエントリに関連付けられた場所で実行される、請求項３に記載の方法。
【請求項５】
各エントリに関連付けられた前記適合の数を示す前記データが、第１のデータ構造内に保存され、各エントリに関連付けられた前記適合の各々の前記データ場所が、第２のデータ構造内に保存され、前記第１及び第２のデータ構造が、前記階層的索引表内に各々含まれる、請求項３に記載の方法。
【請求項６】
各それぞれのｎレベルのエントリに対して、前記それぞれのｎレベルのエントリに対応するｎ＋１レベルのエントリを参照するメモリ内にポインタを保存することをさらに含む、請求項１に記載の方法。
【請求項７】
前記基準データが、基準ゲノムを含み、前記基準データを検索することが、短い読み出し（ＳＲ）を前記基準ゲノムと整列させることを含む、請求項１に記載の方法。
【請求項８】
短い読み出しを基準ゲノムと整列させるためのプログラム命令を含むコンピュータ読み取り可能な記憶媒体であって、前記プログラム命令が、
ａ）前記基準ゲノムをメモリ内に保存することと、
ｂ）前記基準ゲノムに基づいて階層的検索表を作成することであって、前記作成することが、前記階層的索引表において複数のレベルで複数のエントリを作成することを含み、各それぞれのエントリが、前記それぞれのエントリに関連付けられた塩基対の配列の前記基準ゲノム内の場所に関連する情報を含み、各それぞれのレベルｎでのエントリについて、ゼロでない正の整数ｎに対して、前記作成することが、閾値より大きい前記それぞれのレベルｎのエントリの適合基準に応答して、前記階層的索引表内のそれぞれのレベルｎのエントリに対する追加のｎ＋１レベルのエントリを作成することを含む、作成することと、
ｃ）短い読み出しを特定する入力を受信することと、
ｄ）前記階層的索引表を使用して前記短い読み出しの小区分の適合に対して前記基準ゲノムを検索することと、を行うように実行可能である、コンピュータ読み取り可能な記憶媒体。
【請求項９】
前記階層的索引表内の第１のレベルのエントリを前記作成することが、第１の長さを有する前記基準ゲノムの各可能性のある副配列に対して実行され、
前記階層的索引表内のｎ＋１レベルのエントリを前記作成することが、前記それぞれのレベルｎのエントリの適合基準が閾値より大きい各第ｎレベルのエントリに対して、前記ｎ＋１レベルに対応するそれぞれの長さを有する前記基準ゲノムの各可能性のある副配列に対して実行される、請求項８に記載の記憶媒体。
【請求項１０】
前記階層的索引表の任意のそれぞれのレベル内のそれぞれのエントリを前記作成することが、
前記基準データ内の前記それぞれの長さの前記それぞれの副配列の適合について検索することと、
前記階層的索引表のそれぞれのレベルの前記それぞれのエントリ内の情報を保存することであって、前記情報が、前記基準ゲノム内のそれぞれの長さの前記それぞれの副配列の適合の数を特定し、前記情報が、前記適合の各々の前記場所をさらに特定する、保存することと、により実行される、請求項８に記載の記憶媒体。
【請求項１１】
ｎ＋１レベルに対して、前記ｎ＋１レベルの前記それぞれの副配列の適合について前記検索することが、前記ｎレベル内の前記対応するエントリに関連付けられた場所で実行される、請求項１０に記載の方法。
【請求項１２】
各エントリに関連付けられた前記適合の数を示す前記データが、第１のデータ構造内に保存され、各エントリに関連付けられた前記適合の各々の前記データ場所が、第２のデータ構造内に保存され、前記第１及び第２のデータ構造が、前記階層的索引表内に各々含まれる、請求項１０に記載の方法。
【請求項１３】
それぞれのｎレベルのエントリに対して、前記それぞれのｎレベルのエントリに対応するｎ＋１レベルのエントリを参照するメモリ内にポインタを保存することをさらに含む、請求項８に記載の方法。
【請求項１４】
検索配列を基準データに適合させるための方法であって、
演算装置により、
ａ）基準データをメモリ内に保存することと、
ｂ）前記基準データに基づいて階層的索引表を作成することであって、
第１の長さを有する前記基準データの各可能性のあるそれぞれの副配列に対して、
ｉ）前記基準データ内の前記第１の長さの前記それぞれの副配列の適合について検索すること、ならびに
前記階層的索引表の第１のレベルにおける前記それぞれのエントリ内の情報を保存することであって、前記情報が、前記基準データ内の前記第１の長さの前記それぞれの副配列の適合の数を特定し、前記情報が、前記適合の各々の前記場所をさらに特定する、保存すること、により、前記階層的索引表の第１のレベル内のそれぞれのエントリを作成すること、
ｉｉ）前記それぞれの第１のエントリ内の前記適合の数を第１の閾値と比較すること、ならびに
前記第１の閾値より大きい適合の数を有する前記第１のレベル内の各それぞれのエントリに対して、第２の長さを有する副配列の第２のセットに対する前記階層的索引表の第２のレベル内のそれぞれのエントリを前記作成することを実行することであって、前記第１のレベル内の各それぞれのエントリが、前記第２のレベル内のその対応するエントリに関連付けられ、副配列の前記第２のセットが、前記第２の長さを有する前記基準データの各可能性のある副配列を含み、前記第２の長さを有する前記それぞれの副配列の適合について前記検索することが、前記第１のレベル内の前記対応するエントリに関連付けられた場所で実行される、実行すること、を含む、作成することと、
ｃ）検索配列を特定する入力を受信することと、
ｄ）前記階層的索引表を使用して、前記検索配列の小区分の適合に対する前記基準データを検索することと、を実行することを含む、検索配列を基準データに適合させるための方法。
【請求項１５】
前記基準データ及び各副配列が、数字的にコード化される、請求項１４に記載の方法。
【請求項１６】
前記階層的索引表の第２のレベル内のそれぞれのエントリを前記比較すること及び前記作成することが、第２の反復を含み、前記方法が、
前記階層的索引表の１つ以上のそれぞれの追加の閾値、長さ、副配列のセット、及びレベルを使用して、１つ以上の追加の反復を実行することをさらに含む、請求項１４に記載の方法。
【請求項１７】
前記基準データが、基準ゲノムを含み、前記基準データを検索することが、短い読み出し（ＳＲ）を前記基準ゲノムと整列させることを含む、請求項１４に記載の方法。
【請求項１８】
各エントリに関連付けられた前記場所の数を示す前記データが、第１のデータ構造内に保存され、各エントリに関連付けられた前記基準データ内の前記場所を示す前記データが、第２のデータ構造内に保存され、前記第１及び第２のデータ構造が、前記階層的索引表内に各々含まれる、請求項１４に記載の方法。
【請求項１９】
前記第２のレベル内の前記対応するエントリの前記第１のレベル内の前記それぞれのエントリとの前記関連付けが、前記第１のレベル内の前記それぞれのエントリ内に含まれる情報を含み、前記情報が、
前記第２のレベル内の前記対応するエントリを指摘するリンク情報と、前記第２の長さとを含む、請求項１４に記載の方法。
【請求項２０】
前記第２のその後の反復の各々が、
前記それぞれの閾値より大きくない適合の数を有すると発見された各それぞれの副配列に対して、
前記それぞれの副配列に関連付けられた前記エントリ内のストップ命令を保存することであって、前記ストップ命令が、前記ストップ命令に関連付けられた前記副配列に基づいてさらなるエントリの前記作成を防止するために、前記方法により使用可能である、保存すること、をさらに含む、請求項１６に記載の方法。
【請求項２１】
前記検索配列に関連付けられた前記索引表内の第１のエントリが、前記索引表の端末エントリではないとの判定に基づいて、前記検索配列の前記小区部の前記長さを増加することと、
前記第１のエントリが、前記索引表の端末エントリではないとの判定に基づいて、増加された長さの前記検索配列の前記小区分に適合する前記索引表内の第２のエントリを調べることと、をさらに含む、請求項１４に記載の方法。
【請求項２２】
前記基準データを検索する間に発見された各適合を評価することであって、
各適合に対して、前記検索配列と前記基準データとの間の塩基誤差の特定に基づいて、検索配列と前記基準データとの間の不適合を判定すること、を含む、評価すること、をさらに含む、請求項１４に記載の方法。
【請求項２３】
前記評価することが、
前記検索配列内の少なくとも１つのインデルを判定することであって、
前記検索配列のＬｏ端及びＨｉ端不適合の数に基づいて、前記検索配列内のアンカ位置を判定することと、
前記アンカ位置を使用して、前記少なくとも１つのインデルの長さ及び種類を判定することと、
前記少なくとも１つのインデルの開始位置を判定することであって、
前記適合場所で前記検索配列と前記基準データとの間の第１の移動誤差合計を演算すること、
前記適合場所からのオフセットで前記検索配列と前記基準データとの間の第２の移動誤差合計を演算することであって、前記オフセットが、前記少なくとも１つのインデルの前記種類及び長さに基づいている、演算すること、ならびに
前記第１及び第２の移動誤差合計の最小値に基づいて、前記少なくとも１つのインデルの開始場所を判定すること、を含む、判定することと、をさらに含む、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、概して、データパターンの基準データセット上でのマッピングに関し、より具体的には、ＤＮＡシーケンシング及びＤＮＡアラインメント用途における、かかるデータアラインメントまたはパターン適合の実行に関する。
【背景技術】
【０００２】
現代の技術は、ますます大容量のデータの収集及び処理を包含している。いわゆる「ビッグデータ」の用途及び使用事例は、とりわけ、データマイニングから、広告、機械学習、及びＤＮＡシーケンシングまで多岐にわたる。多くの事例において、少量のデータサンプルとはるかに大きい基準データセットとの間の適合について検索する必要がある。基準データセットのサイズが増加するにつれ、この基準データセット（パターン適合）のサンプルデータのアラインメントは、指数関数的に、より演算的に集中的なタスクとなる。
【０００３】
データアラインメントの例示的な事例は、ＤＮＡアラインメントの分野において生じる。生命体は、細胞から構成されており、細胞の操作及び再生は、ある世代の細胞から次の世代の細胞へと受け継がれる遺伝情報により制御される。
【０００４】
種及び個々の生物の遺伝情報の詳細な知識は、改善された医療、農業、環境管理、及び犯罪捜査を支援する、より正確な生命科学において非常に有望である。
【０００５】
これらの利点の実現に対する障害の１つは、生物の遺伝情報の配列を決定するための費用である。これを実現するための技術は、過去数十年の間に劇的に改善しているため、費用を個々のヒト当たり１０００ＵＳドル未満に減少させるという目標は、達成可能であるように思われる。しかしながら、完全性、正確性、データの解釈、及び信頼性の高い疾患の診断といった問題が依然としてある。生体サンプルから遺伝情報を取得するための日数はまた、救急治療室の患者が使用するための感受性者に対する重い副作用を有すると知られている薬剤の適合性等、迅速な反応を必要とする使用に対する障害である。
【０００６】
したがって、データアラインメント、特に、ＤＮＡシーケンシングのための改善された技術及び工具が所望される。
【発明の概要】
【０００７】
有意に大きいデータセット上でデータパターンをマッピングするためのシステム及び方法の種々の実施形態が開示されている。いくつかの実施形態において、より大きいデータセットが、基準データセットであり得る。いくつかの実施形態において、より大きいデータセットが、デノボシーケンシングの結果であり得、複数のデータパターンを使用して、複数のデータパターンと自己一致しているより大きいデータセットを構築する。本明細書に提示されている実施形態の多くは、ＤＮＡアラインメントの特定の使用事例に関するものであり、基準データセットは、基準ゲノムであり、データパターンは、ＤＮＡ鎖の短い読み出し（ＳＲ）に由来する一連のＤＮＡ塩基である。しかしながら、本明細書に詳述されている方法は、概して、より大きいデータセット上で任意のデータパターンをマッピングするという問題に適用可能である。ＤＮＡアラインメントに関して本明細書に記載されている方法の説明は、解説を促進することを企図しており、いかなる方法でも本発明の範囲に対する限定であることを意味していない。当業者であれば、本明細書に記載されている方法が、ＤＮＡアラインメント以外のデータアラインメントまたはパターン適合プロセスに適用され得る方法を容易に理解するだろう。
【０００８】
一実施形態において、基準データに基づく階層的索引表が生成され得る。階層的索引表は、複数のデータセグメントの各々が配置される基準データ内の場所を含み得る。コンピュータサイエンスにおいて、この形態の索引表は、転置索引表と称され得る。階層的索引表を使用して、検索配列を基準データに適合させ得る。索引表は、所与の長さの全ての副配列の網羅的なリストに関連付けられたエントリを含むように構築され得、各エントリは、基準データ内の各副配列の適合の数及び場所を含む。階層的索引表は、反復的な方法で構築され得、各延長された副配列（より深いレベルの階層）に対するエントリは、それぞれの閾値のセットの各々より大きい適合の数に基づいて、選択的かつ反復的に構築される。いくつかの副配列に対して、適合の数は、本方法が表内の端末エントリを作成する現在の閾値以下であろう。基準データの有限長は、所与の正数の閾値未満の適合の数を有するであろう、十分に長い副配列を発見することができることを意味している。しかしながら、１０００ｂｐ超の長さがあり、かつ何千回も生じるゲノムの副配列があることが知られている。これらは、完全に索引に対する関心があり得るか、またはそうでない場合があり、後者の事例において、一定の配列は、階層的索引表内に含まれる代わりに、フィルタリングされ得る。
【０００９】
基準ゲノム内のＳＲに対する候補場所選択を実行する（適合パターンを特定する）ための方法は、反復的な方法で下記を実行することによる、対応する階層的索引表の検索を含み得る。「足跡」（一連のＤＮＡ塩基から構成される）は、ＳＲのセグメントに基づいて生成され得、基準ゲノムに関連付けられた索引表からＳＲの少なくとも１つの候補場所を選択するのに使用される。足跡の長さは、より深いレベルの階層的索引表に移動するために、延長され得る。いったん階層的索引表の端末エントリに到達すると、反復が停止し、候補場所が出力され得る。階層的索引表の使用は、候補選択が生じ得る速度を大きく増すように動作し得る。
【００１０】
いくつかの実施形態において、本方法は、ＳＲにおける各候補場所を評価することをさらに含み得る。例えば、いくつかの実施形態において、各候補場所に対して、ＳＲと基準ゲノムとの間の適合は、ＳＲと基準ゲノムとの間の塩基誤差の数に基づいて判定され得る。いくつかの実施形態において、評価することは、ＳＲにおける少なくとも１つの挿入または欠失（集合的にインデルと称される）を判定することをさらに含み得る。例えば、ＳＲにおけるアンカ位置は、ＳＲのＬｏ端及びＨｉ端不適合の数に基づいて判定され得る。少なくとも１つのインデルの長さ及び種類は、アンカ位置を使用して判定され得る。少なくとも１つのインデルの開始位置が判定され得る。一実施形態において、開始位置を判定することは、候補場所でのＳＲと基準ゲノムとの間の第１の移動誤差合計を演算することと、候補場所からのオフセットでＳＲと基準ゲノムとの間の第２の移動誤差合計を演算することとを含み得、オフセットは、少なくとも１つのインデルの種類及び長さに基づいている。次に、少なくとも１つのインデルの開始場所は、第１及び第２の移動誤差合計の最小値に基づいて判定され得る。
【図面の簡単な説明】
【００１１】
本発明のより良好な理解は、好ましい実施形態の下記の詳細な説明が下記の図と併せて考察されたときに得られ得る。
【００１２】
【図１】一実施形態による２つの鎖における塩基の補完及び逆順を特異的に示す２つの例示的なＤＮＡ配列を図示している。
【図２】一実施形態による例示的な塩基ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡを有する短い読み出し（ＳＲ）を図示している。
【図３】本発明の技術の実施形態を実施するように構成された例示的なシステムを図示している。
【図４】いくつかの実施形態における階層的索引表を構築するためのアルゴリズムを図示するフローチャート図である。
【図５】いくつかの実施形態における第１のレベルの階層的索引表を構築するための方法を図示するフローチャート図である。
【図６】いくつかの実施形態における第２のレベルの階層的索引表を構築するための方法を図示するフローチャート図である。
【図７】一実施形態による図２の配列に適用された本発明のアラインメント技術を図示している。
【図８】いくつかの実施形態における階層的索引表を使用した検索配列の小区分の適合のための基準データを検索するための方法を図示するフローチャート図である。
【図９】いくつかの実施形態におけるインデルを特徴付け及び配置する方法を図示するフローチャート図である。
【００１３】
本発明は、種々の変形例及び代替的な形態の影響を受けやすいが、それらの特定の実施形態は、図中に例示の方法により示されており、本明細書に詳細に記載されている。しかしながら、それらに対する図及び詳細な説明は、本発明を開示されている特定の形態に限定することを企図しておらず、それどころか、本発明は、添付の特許請求の範囲により規定されるような本発明の趣旨及び範囲内に該当する全ての変形例、等価物、及び代替物を含むべきであることを理解するべきである。
【発明を実施するための形態】
【００１４】
参照による引用
下記の特許／出願は、本明細書に十分かつ完全に記載されているかのようにそれらの全体が参照により本明細書に組み込まれる。
【００１５】
２００３年６月２４日に出願された、発明者がＭｉｃｈａｅｌ  Ｂ．Ｄｏｅｒｒ、Ｗｉｌｌｉａｍ  Ｈ．Ｈａｌｌｉｄｙ、Ｄａｖｉｄ  Ａ．Ｇｉｂｓｏｎ、及びＣｒａｉｇ  Ｍ．Ｃｈａｓｅである、米国特許第７，４１５，５９４号、発明の名称「Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ  ｗｉｔｈ  Ｉｎｔｅｒｓｐｅｒｓｅｄ  Ｓｔａｌｌ  Ｐｒｏｐａｇａｔｉｎｇ  Ｐｒｏｃｅｓｓｏｒｓ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｅｌｅｍｅｎｔｓ」。
【００１６】
２０１１年１０月１４日に出願された、発明者がＭｉｃｈａｅｌ  Ｂ．Ｄｏｅｒｒ、Ｃａｒｌ  Ｓ．Ｄｏｂｂｓ、Ｍｉｃｈａｅｌ  Ｂ．Ｓｏｌｋａ、Ｍｉｃｈａｅｌ  Ｒ  Ｔｒｏｃｉｎｏ、及びＤａｖｉｄ  Ａ．Ｇｉｂｓｏｎである、米国特許出願第１３／２７４，１３８号、発明の名称「Ｄｉｓａｂｌｉｎｇ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｉｎ  ａ  Ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ  Ｓｙｓｔｅｍ」。
【００１７】
用語
下記は、本願で使用されている用語の解説である。
【００１８】
記憶媒体−種々の種類の記憶装置または保存装置のいずれか。「記憶媒体」という用語は、インストール媒体、例えば、ＣＤ−ＲＯＭ、フロッピーディスク１０４、またはテープ装置、ＤＲＡＭ、ＤＤＲ  ＲＡＭ、ＳＲＡＭ、ＥＤＯ  ＲＡＭ、Ｒａｍｂｕｓ  ＲＡＭ等のコンピュータシステムメモリもしくはランダムアクセスメモリ、または磁気媒体、例えば、ハードドライブ、光記憶、もしくはＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ等の不揮発性メモリを含むことを企図している。記憶媒体は、同様に、他の種類のメモリ、またはそれらの組み合わせを含み得る。加えて、記憶媒体は、プログラムが実行される第１のコンピュータ内に配置され得、かつ／またはインターネットなどのネットワーク上で第１のコンピュータに接続する第２の異なるコンピュータ内に配置され得る。後者の例において、第２のコンピュータは、実行するためのプログラム命令を第１のコンピュータに提供し得る。「記憶媒体」という用語は、異なる場所、例えば、ネットワーク上で接続される異なるコンピュータ内に存在し得る２つ以上の記憶媒体を含み得る。
【００１９】
キャリア媒体−上に記載されているような記憶媒体、ならびにバス、ネットワーク等の物理的伝送媒体、及び／または電気信号もしくは光信号等の信号を搬送する他の物理的伝送媒体。
【００２０】
プログラム可能なハードウエア要素−プログラム可能または配線相互接続を介して接続された複数のプログラム可能な機能ブロックを含む種々のハードウエア装置を含む。実施例は、ＦＰＧＡ（現場プログラム可能ゲートアレイ）、ＰＬＤ（プログラム可能な論理装置）、ＦＰＯＡ（現場プログラム可能オブジェクトアレイ）、及びＣＰＬＤ（Ｃｏｍｐｌｅｘ  ＰＬＤ）を含む。プログラム可能な機能ブロックは、微粒子状（組み合わせ論理またはルックアップテーブル）から粗粒子状（算術論理ユニットまたはプロセッサコア）までの範囲であり得る。プログラム可能なハードウエア要素は、「再構成可能な論理」とも称され得る。
【００２１】
特定用途向け集積回路（ＡＳＩＣ）−この用語は、その元の意味の全容を有することを企図している。ＡＳＩＣという用語は、汎用プログラム可能装置よりもむしろ、特定用途向けにカスタマイズされた集積回路を含むことを企図しているが、ＡＳＩＣは、プログラム可能なプロセッサコアを構成要素として含み得る。セルフォンセル、ＭＰ３プレイヤチップ、及び多くの他の単一機能ＩＣは、ＡＳＩＣの例である。ＡＳＩＣは、通常、ＶｅｒｉｌｏｇまたはＶＨＤＬ等のハードウエア記述言語内に記載されている。
【００２２】
プログラム−「プログラム」という用語は、その元の意味の全容を有することを企図している。「プログラム」という用語は、１）メモリ内に保存され得、かつプロセッサにより実行可能であるソフトウエアプログラム、または２）プログラム可能なハードウエア要素もしくはＡＳＩＣを構成するのに使用可能であるハードウエア構成プログラムを含む。
【００２３】
ソフトウエアプログラム−「ソフトウエアプログラム」という用語は、その元の意味の全容を有することを企図しており、記憶媒体内に保存され得、かつプロセッサにより実行され得る任意の種類のプログラム命令、コード、スクリプト、及び／またはデータ、またはそれらの組み合わせを含む。例示的なソフトウエアプログラムは、テキストベースのプログラミング言語、例えば、Ｃ、Ｃ＋＋、ＰＡＳＣＡＬ、ＦＯＲＴＲＡＮ、ＣＯＢＯＬ、ＪＡＶＡ（登録商標）、アセンブリ言語等の命令型言語または手続き型言語で書かれたプログラム、図形式プログラム（図形式プログラミング言語で書かれたプログラム）、アセンブリ言語プログラム、機械言語にコンパイルされたプログラム、スクリプト、及び他の種類の実行可能なソフトウエアを含む。ソフトウエアプログラムは、ある方法で相互運用する２つ以上のソフトウエアプログラムを含み得る。
【００２４】
ハードウエア構成プログラム−プログラム可能なハードウエア要素もしくはＡＳＩＣをプログラミングまたは構成するのに使用され得るプログラム、例えば、ネットリストもしくはビットファイル。
【００２５】
コンピュータシステム−パーソナルコンピュータシステム（ＰＣ）、メインフレームコンピュータシステム、ワークステーション、ネットワーク機器、インターネット機器、携帯情報端末（ＰＤＡ）、グリッドコンピューティングシステム、または他の装置もしくは装置の組み合わせを含む種々の種類の演算システムもしくは処理システムのいずれか。概して、「コンピュータシステム」という用語は、記憶媒体からの命令を実行する少なくとも１つのプロセッサを有する任意の装置（または装置の組み合わせ）を包含するように、広く定義され得る。
【００２６】
自動的に−動作もしくは操作を直接特定するか、または実行するユーザ入力なしに、コンピュータシステム（例えば、コンピュータシステムにより実行されたソフトウエア）または装置（例えば、回路、プログラム可能なハードウエア要素、ＡＳＩＣ等）により実行される動作もしくは操作を指す。よって、「自動的に」という用語は、ユーザにより手動で実行されるか、または特定される操作とは対照的なものであり、ユーザは、操作を直接実行するための入力を提供する。自動的な手続きは、ユーザにより提供される入力により開始され得るが、「自動的に」実行されるその後の動作は、ユーザにより特定されず、すなわち、「手動で」実行されず、ユーザが実行する各動作を特定する。例えば、各フィールドを選択し、かつ情報を特定する入力を提供することにより（例えば、情報をタイピングし、チェックボックス、無線選択等を選択することにより）電子形態に記入するユーザは、コンピュータシステムがユーザ動作に応答して形態をアップデートしなければならない場合であっても、手動で形態に記入している。形態は、コンピュータシステムにより自動的に記入され得、コンピュータシステム（例えば、コンピュータシステム上で実行するソフトウエア）は、形態のフィールドを分析し、フィールドへの回答を特定する任意のユーザ入力なしに、形態に記入する。上で示されているように、ユーザは、形態の自動記入を起動し得るが、形態の実際の記入には関わらない（例えば、ユーザは、手動でフィールドへの回答を特定しないが、むしろ、自動的に完了されている）。本明細書は、ユーザが行う動作に応答して自動的に実行される操作の種々の例を提供している。
【００２７】
開発プロセス−方法論に基づいて開発するためのライフサイクルを指す。粗いレベルでは、それは、ユーザ要求を駆動し、設計、実行、検証、展開、及び保守を通して制約する方法を記載している。
【００２８】
概説：ＤＮＡシーケンシング
炭素系生物形態に対して、遺伝情報は、デオキシリボ核酸（ＤＮＡ）の長鎖分子内にコード化され、交互の糖類及びリン酸基の２つの平行なスパインは、塩基対のはしごにより共に保持される。２つのスパインは、塩基対を保護し、互いの周りで徐々にねじれて、二重らせん構造を形成する。ＤＮＡ形態のより長い鎖は、らせん状になり、コイルからなるコイル状になる。より大きい生物に対して、これらのコイルは、非常に高倍率での光学顕微鏡により視認可能である染色体へと組織化される。
【００２９】
各塩基は、セット｛アデニン、チミン、シトシン、グアニン｝のうちの１つである。各アデニン塩基は、チミンとのみ対合し、各シトシンは、グアニンとのみ対合する。これらの対合規則は、ＤＮＡの複製を支援する。ＤＮＡが溶液中の一定の酵素と組み合わされると、二重らせんは、各々が単一のスパイン及び付着した塩基から構成された一対の単一鎖へと解凍する。次に、塩基、糖類、リン酸、及び酵素の混合液中で、各鎖に対して、相補鎖は、元の鎖をテンプレートとして使用して組み立てられ得る。最終結果は、元の二重らせんの一対の二重らせんへの複製である。インビトロでの複製を繰り返して、シーケンシング機を供給するのに物理的に必要とされるだけの数のＤＮＡを生成することができるが、速度及び費用の理由から、シーケンシング機は、ますます少量のＤＮＡを使用するように進化している。
【００３０】
図１は、２つの鎖における塩基の補完及び塩基を特異的に示す、２つの例示的なＤＮＡ鎖を図示している。図１が示しているように、リン酸基（小さい円）及びデオキシリボース糖（五角形）の鎖は、対合された塩基間に連結する安定的で予測可能な水素結合に対する核塩基を分離する、単一のＤＮＡ鎖に対するスパインとして機能する。糖環の非平坦な形態及び塩基内の窒素原子の電子構造は、ＤＮＡ鎖の予測可能なアセンブリ、及び他の鎖内のその相補塩基との各塩基の連結を確保する。
【００３１】
シーケンシング機は、ＤＮＡの鎖内の塩基の配列を判定するために多くの方法を使用する。各方法は異なるが、業界では、未処理配列データを報告するためのいくつかの事実上の標準的な形式が決められている。単一鎖の読み出しに対して、これらの形式は、５’〜３’方向で塩基配列を報告する。この表記は、隣接するリン酸基に連結するデオキシリボース部分における炭素原子を指す。５’原子は、糖類における５−部材リングの一部ではないが、代わりに、先のリン酸まで延在する「肘」であり、「先の」の意味は、５’〜３’の従来様式の観点から定義される。図１は、この付番様式を図示しており、部位は、塩基内の利用可能な窒素軌道に対する結合を提供する。２’部位は、酸素原子がデオキシリボースを形成するようにリボースから除去されている場所である。
【００３２】
図１が示しているように、５’〜３’配列は、左上でＣＡＡＴＣＧＴＣＡであり、右上でＴＧＡＣＧＡＴＴＧであり、他の鎖における塩基の補完及び逆順を図示している。各ヌクレオチドに対する特異的結合が、右上に示されていることに留意されたい。
【００３３】
ＤＮＡの断片は、５’〜３’方向のスパインのうちの１つに沿った塩基の配列に対応する一連の文字、例えば、ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡにより表され得る。化学的性質から、元の方向での相補スパイン上の塩基の配列は、補完列、
【化１】
2018535484.tif 000003
であることが知られている。しかしながら、シーケンサ機は、二重らせんを読み出さないが、単一の鎖のみを読み出し、元の逆相補である、
【化２】
2018535484.tif 000004
としてその鎖に対する５’〜３’方向での相補鎖を報告する。図２は、その相補鎖を有するＤＮＡの例示的な鎖を示している。未処理データを処理するとき、同じ遺伝情報が両鎖でコード化されることを知っていることが重要である。短い読み出しを基準ゲノムと整列させるとき、元の短い読み出し及び短い読み出しの逆相補の両方に対するアラインメントを試みることが必要である。
【００３４】
先行技術において、単発で［Ｓａｎｇｅｒ法は、日常的に８００ｂｐ実行する］約２０００個の塩基対（ｂｐ）を超えてＤＮＡ鎖の配列を決定するように開発されている信頼性の高い機械的方法はない。しかしながら、より長い鎖は、基板に付着され得、両端からシーケンシングされ、塩基対の数において測定可能な標的分離により相関される一対の読み出しを生じる。全ての事例において、読み出し配列は、最大約２４９百万個の塩基対（染色体１）を有するＤＮＡ配列を含み得る単一のヒト染色体内の塩基対の数よりかなり短い。ヒトゲノム内の全２３個の染色体に対して、約３２億個の塩基対がある。
【００３５】
自動高速シーケンサ機を使用して、ＳＲ当たり１００ｂｐ（塩基対）の順で数十億個の比較的短い読み出し（ＳＲ）を生成する単一の個体からの生体サンプルを分析する。次に、高速コンピュータを使用して、数十億個の短い読み出しを互いに比較し、配列が適合する重複について検索する。
デノボシーケンシング
十分な重複があれば、非常に長い配列の画像を構築することができる。これは、デノボシーケンシングと称される。個体に対する全配列が構築された場合（ヒトの事例では２３個の染色体）、次に、その個体に対する遺伝情報を有する。種の多様性をカバーするのに十分な多くの個体からの遺伝子の組み合わせは、その主に対するゲノムと称される。多くの種に対して、細胞内のミトコンドリアはまた、ゲノムに対する追加の遺伝情報を有するＤＮＡを含む。
【００３６】
再シーケンシング
いったん基準ゲノムが構築されると、個体の遺伝子情報を取得し、かつ未処理読み出しを基準ゲノムに適合させるプロセスは、再シーケンシングと称される。読み出し配列が完全または略適合を有する基準ゲノム内の場所についての検索は、アラインメントまたはマッピングと称される。よって、完全な再シーケンシングは、何十億のアラインメントを必要とし得る。
【００３７】
再シーケンシングを使用して、遺伝的基板を有する疾患に対する感受性を特定し得、かつ薬剤の副作用等に対する感受性を特定し得る。個体間の遺伝子の比較を使用して、家族関係を示し得る。再シーケンシングに対して、基準ゲノムデータベースは、すでに存在しており、各アラインメントプロセスを加速させるために索引が付けられ得る。下に詳述されている実施形態は、基準ゲノムデータベースに基づいて階層的索引表を構築するための新規かつ有益な方法を提示している。
【００３８】
いったん索引表が構築されると、大セットの未処理データ読み出しを整列させるために、高速で膨大な回数検索され得る。各アラインメントは、他から独立して処理され得、大規模並列コンピュータ上での処理に導く。しかしながら、アラインメント間でいくつかの情報を共有する利点があり得る。例えば、読み出しが標的ゲノム内のいずれかに適合しないことが発見された場合、再度検索することなく、予め拒絶される読み出しのリスト内に置かれ得る。かかる非適合可能な読み出しは、元のサンプルの一部であった細菌ＤＮＡから生じ得る。
【００３９】
ＤＮＡシーケンサ機の設計における傾向は、より豊富により迅速に、より短い読み出しを生成することである。個々のヒトからの未処理データの典型的なセットは、何十億もの短い読み出し（ＳＲ）であり得、各１つは、平均約１００ｂｐの長さである。これらは、単一鎖読み出しまたは対合読み出しであり得る。対合読み出しは、数ｂｐ〜数百、おそらく数千ｂｐの標的分離を有し得る。各ＳＲは、一定量のノイズを有して実行され、ＳＲを実行する機械は、読み出しにおける各塩基に対する品質測定法を生成する。この塩基当たりの品質情報を使用して、各ＳＲのゲノムに対するアラインメントを改善し得る。未処理データセットは、ヒトゲノムに適合しない細菌からの追加のＤＮＡを含み得、これらの読み出しは、アラインメント処理前または中のいずれかにフィルタリングされるべきである。
【００４０】
図３：例示的なシステム
図３は、本発明の技術の実施形態を実施するように構成された例示的なシステムを図示している。示されているように、いくつかの実施形態において、本システムは、ワークステーション等の演算システム８２であり得、１つ以上のプロセッサ、及び本発明の技術の実施形態による１つ以上のコンピュータプログラムまたはソフトウエアコンポーネントが保存され得る少なくとも１つの記憶媒体を含み得る。例えば、記憶媒体は、本明細書に記載されている方法を実行するように１つ以上のプロセッサにより実行可能である１つ以上のプログラムを保存し得る。記憶媒体はまた、操作システムソフトウエア、ならびにコンピュータシステムの操作のための他のソフトウエアを保存し得る。
【００４１】
いくつかの実施形態において、本システムは、本明細書に開示されている技術を実施するように構成された多重プロセッサアレイ（ＭＰＡ）を含み得る。例えば、ＭＰＡは、散在されたプロセッサ及び通信要素により処理システムを実施し得、かつ／または上に参照により組み込まれた、米国特許第７，４１５，５９４号に記載されているような、ハイパーＸアーキテクチャを有し得る。
【００４２】
本発明の実施形態はまた、現場プログラム可能ゲートアレイ（ＦＰＧＡ）等の少なくとも１つのプログラム可能なハードウエア要素により、またはプログラム可能なハードウエア要素及び１つ以上のソフトウエアプログラム可能なプロセッサの組み合わせにより実施され得る。
【００４３】
しかしながら、図３に示されている演算システム８２は、例示のためだけであることを意味しており、任意の他の演算システムを必要に応じて使用し得ることに留意すべきである。
【００４４】
システム態様
本発明の技術は、データ入力及び出力、ならびにコアアラインメント機能による前処理及び後処理を重複させるデータフローシステムを含み得る。一実施形態は、これを達成するために、通信ソケット及びダブルバッファリング技術を使用する。
【００４５】
ＳＲの対の処置は、コアアラインメント段階中に実行され得る。これは、個々のＳＲのアラインメント中の潜在的な相手対及び可能性のあるアラインメント種類の階層を考察することにより達成され得る。
【００４６】
コアアラインメントタスクを加速させるために、アラインメントのために必要とされない補助情報は、ポストアラインメント段階に受け継がれ得、コアアライナにおける帯域幅及びメモリ要求を減少し得る。一実施形態は、これを達成するために、個別セットの通信ソケットを使用する。
【００４７】
例示的な実施形態及び実施
下記は、種々の例示的な実施形態及び本明細書に記載されている技術の実施を記載している。しかしながら、記載されている特定の実施形態及び技術は、本発明を任意の特定の形態、機能、または外観に限定するものではないことに留意すべきである。
【００４８】
ＤＮＡアラインメントは、所与のＤＮＡ断片（すなわち、短い読み出し、またはＳＲ）が基準ゲノム内に生じる場所（複数可）を発見するプロセスを指し得る。
【００４９】
ＳＲは、多くのＤＮＡ塩基を含み得、各塩基は、Ａ、Ｃ、Ｇ、またはＴとして短縮されたＤＮＡ（アデニン、シトシン、グアニン、及びチミン）内に見られる４つのうちの１つである。各ＳＲの長さは、典型的に、使用されるシーケンシング方法に応じて長い約１００個の塩基であり得る。より新規のシーケンシング方法に対する傾向は、より短いＳＲを生成するが、単位時間当たりのＳＲのうちのより多くを生成するようなものであった。前述のように、各ＳＲは、シーケンシング方法からのノイズに起因したいくつかの塩基誤差を有し得る。これらの誤差は、冗長性により、かつ各ＳＲに付いてくる塩基当たりの品質情報を使用することにより緩和され得る。個々のヒトを特徴付けるために、ＳＲによる全ゲノムの約５０Ｘの冗長なカバー率を有することが所望される。基準ヒトゲノムが３０億個超の塩基を含むと仮定すると、１つの個体からのＳＲデータの集合体は、１５００〜２０００億個の塩基をその中に有し得る。各ＳＲは、それが適合する場所を発見するために、ゲノムと比較され得る。個体からの大量のＳＲデータを処理するために、ゲノムの非常に効率的な検索を使用することが所望されることは明白である。
【００５０】
ＤＮＡアラインメントのために必要とされる時間は、基準ゲノムを階層的転置索引表内にコード化することにより有意に減少し得る。かかる転置索引表のための、より具体的には階層的転置索引表のための新規形態及び方法を下に記載する。
【００５１】
一実施形態において、所与のＳＲを索引表と整列させるための２段階アプローチを使用し得る。第１の段階は、候補選択と称され得、その後の第２の段階は、候補評価と称され得る。
【００５２】
候補選択は、その後、正確性のために評価され得る潜在的な場所のリストを生成し得る。候補評価段階は、潜在的に非常に時間がかかるため、候補選択段階は、候補場所の数を知的に減少させることが重要である。
【００５３】
これらの（段階）名前は、図示及び例示のみであることを意味しており、必要に応じて任意の他の名前を使用し得ることに留意すべきである。さらに、種々の実施形態において、これらの２つの段階の機能性は、異なる方法で組織化または配列され得、例えば、２つ超の段階で分割され、異なるように区切られる等し、本明細書に開示されている新規技術を依然実施し得る。
【００５４】
図４−階層的索引表の構築のためのアルゴリズム
図４は、基準ゲノムから階層的転置索引表を構築するための例示的なアルゴリズムを示している。「転置索引表」という用語は、コンピュータサイエンスにおける技術用語であり、データセットにおけるこのコンテンツの場所に対するデータ（例えば、数または単語）等のコンテンツからのマッピングを含むエントリを保存する索引データ構造を指す。「転置索引」の１つの日常の例は、各々が、このそれぞれの単語または語句を発見することができる書籍内の場所を受けて、書籍内に現れる単語または語句のリスト化を含む書籍の索引である。利便性のために、「索引表」という用語は、「転置索引表」としてのコンピュータ文書において知られているものを指すために本明細書で使用されている。「階層的転置索引表」という用語において使用されている「階層的」という用語は、下にさらに説明されるように、階層的方法で種々のレベルを有する索引表のエントリを指す。
【００５５】
本発明の技術のいくつかの実施形態において、階層的索引表は、候補場所のセットを効率的に判定するために、Ｋ−ｍｅｒ（一連のＫ塩基）のセットを使用して構築され得る。索引表は、基準ゲノムに対して一度生成され、次に、その基準ゲノムに対して整列されるＳＲの全セットにより使用され得る。本明細書に記載されている方法は、任意の基準データ上でより広く実行され得、その基準データに対して整列される任意のセットの副配列により使用され得ることが理解され得る。
【００５６】
階層的索引表を作成する際、演算装置は、基準データ（ゲノム）をメモリ内に保存するように構成され得る。次に、演算装置は、複数のエントリを複数のレベルで作製することによる基準データに基づいて階層的索引表を作成し得る。下にかなり詳細に説明されているように、索引表の構築は、所定の長さ（または所定のサイズのデータセットの一部分）の副配列のリストまたはセットについての情報を含む第１のレベルのエントリ（レベル１）の作成により始まる。情報は、基準ゲノム内の各それぞれの副配列の場所情報を含み得る。
【００５７】
ｎがゼロでない正の整数である各それぞれのレベルｎでの各エントリに対して、演算装置は、それぞれのレベルｎのエントリの適合基準が閾値より大きい場合に、階層的索引表内のそれぞれのレベルｎのエントリに対する追加のｎ＋１レベルのエントリを作成するように構成され得る。各ｎ＋１レベルのエントリは、追加の長さを先のレベルにおける副配列に加え得、よって、潜在的な適合に対するより長い副配列を作成し得る。第１のレベルのエントリと同様に、各ｎ＋１レベルのエントリは、基準ゲノム内の各それぞれのより長い副配列の場所情報を含んでいる。この追加レベルのより長い副配列の作成は、適合基準をもはや満たさなくなる−端末エントリ（階層的分岐における最後のエントリ）での適合の数が閾値未満になるまで継続する。より低い閾値の使用は、各端末エントリでの適合の数を減少させるように動作し得ることが留意される。対称的に、より高い閾値の使用は、索引表内のエントリの全体的な数を減少させる助けとなり得る。異なる閾値の値は、異なるレベルの階層で使用され得ることが留意される。よって、結果として生じる完成された階層的索引表において、異なるそれぞれのレベル１のエントリは、そのそれぞれのレベル１のエントリに由来する異なる数のその後のレベルの階層を有し得、その後のレベルの階層の数は、各その後のレベルでの適合の数に依存する。
【００５８】
よって、索引表は、階層的または多レベルとして特徴付けられ得る。階層的索引表の構築の完了時に、演算装置は、検索配列を特定する入力を受信するように構成され得、非常に優先的な速度で基準データ内の検索配列の小区分の適合について検索するために階層的索引表を使用し得る。
【００５９】
いくつかの例示的な実施形態において、アルゴリズムを使用して、下記のような階層的索引表を構築し得る。コード化方式は、バイナリー形式で４つの塩基対をコード化するように選択され得る。いくつかの実施形態において、各塩基対が特殊な２ビット識別子（例えば、Ａ＝００、Ｔ＝０１、Ｇ＝１０、及びＣ＝１１）に関連付けられる２ビットコード化方式が使用される場合がある。他の実施形態において、２つの塩基対が各特殊な１ビット識別子（例えば、他の可能性の中でとりわけ、Ａ及びＴは、０としてコード化され得、Ｃ及びＧは、１としてコード化され得る）に関連付けられる１ビットコード化方式が使用される場合がある。１ビットコード化方式は、例えば、迅速な近似候補選択プロセスを実行する際に有益であり得る。かかる方式においては、正確な候補選択が達成されないが、候補場所のおよそ半分が候補選択に対して除外され得、２ビットコード化方式を使用したその後の候補選択プロセスのために必要とされる演算時間を有意に加速させ得る。
【００６０】
いったんコード化方式が選択されると、基準ゲノムは、コード化方式に基づいて一連の連続するビットへと翻訳され得る。例えば、基準ゲノムが、Ｎ塩基対及び使用される２ビットコード化方式を含む場合、基準ゲノムは、長さ２Ｎの一連のビットへと翻訳されるだろう。コード化された基準ゲノムは、必要に応じて、染色体分離器マーカ、ヘッダフィールド等をさらに含み得る。
【００６１】
４０２で、塩基対の長さのセットＬ＝｛ｌ1、ｌ2、ｌ3、．．．、ｌLmax｝を選択し得る。ベクトルＬの要素は、順次レベルの索引表に関連付けられた長さを表す。例えば、ｌ1は、第１のレベルのエントリに関連付けられた配列の長さであり、ｌ2  は、第２のレベルのエントリに関連付けられた配列の長さである、等。例えば、ＤＮＡ鎖の順次増加されたセグメントを示す図２において、長さｌｉは、「初期」とラベルされた区分に対応し得る。「１stｅｘｔ」とラベルされた区分は、長さｌ2に対応し得、「２ndｅｘｔ」とラベルされた区分は、長さｌ3に対応し得る、等。
【００６２】
セットＬは、索引表構築プロセス及び／または短い読み出しアラインメントプロセスの演算時間及び／または正確性を改善するように選択され得る。いくつかの例示的な実施形態において、第１の長さｌ1は、４^（ｌ1）＜Ｎであるように選択され得る。これは、例えば、長さｌ1の塩基対配列の大部分が（統計的に）基準ゲノム内の少なくとも１つの場所で生じ、それゆえ、無駄な検索に専念する演算時間を減少させることを確保することにより、有利であることを証明し得る。いくつかの例示的な実施形態において、我々がＬtotalと称し得るＬの要素の合計は、４^（Ｌtotal）＞＞Ｎであるように選択され得る。この事例において、Ｌtotalに等しい長さを有する塩基の乱数列は、統計的に、無視できる可能性を有するＮ塩基の乱数列内に生じるだろう。例えば、最長のヒト染色体は、およそ２億５０００万個の塩基長さである。２０個の塩基対の４20≒１兆個の異なる列があり、その結果、設定値Ｌtotal＝２０は、２億５０００万個の塩基対列をランダムに生じる任意の特定の２０個の塩基対列の０．０２５％の可能性を生じるだろう。２５個まで緩やかに増加しているＬtotalは、４5＝１０２４〜０．００００２２％の因数によりこの可能性を減少させ、その結果、Ｎの任意の物理的に関連する値に対して、ランダムな統計的一致の可能性は、無視できる振幅まで容易に減少し得る。これは、例えば、ランダムな相関に起因して、ＳＲが基準ゲノム内の場所に適合される可能性を減少させ、それにより、ＳＲと基準ゲノム内の適合された場所との間の基本的な生物学的関係を示す適合の機会を増加させることにより、有利であり得る。他の例示的な実施形態において、セットＬは、演算パラメータ及び／または、表構築プロセスの及び／または短い読み出しアラインメントプロセスの正確性を改善する（または、可能であれば最適化する）ように経験的に判定され得る。
【００６３】
本発明の実施形態において、長さという用語は、塩基対の配列の線形範囲を指すために使用されている。しかしながら、他の実施形態において、「長さ」は、より一般的には、データの収集に関連するメートルでの任意のサイズを示し得ることが理解され得る。例えば、「長さ」は、多次元アレイの寸法、画素の数、例えば、画素のアレイ（４×４等）等を示すように一般化され得る。
【００６４】
４０４で、カウント閾値のセットＣth＝｛ｔｈ1、ｔｈ2、ｔｈ3、．．．、ｔｈLmax-i｝を選択し得る。ベクトルＣthの要素は、索引表のそれぞれのレベルに関連付けられる閾値を表す。換言すると、ベクトルＣthの要素は、索引表の各それぞれのレベルで適用された適合基準内で使用される閾値を表す。
【００６５】
セットＣthは、演算時間、及び／または索引表構築プロセス及び／または短い読み出しアラインメントプロセスの正確性を改善（または、可能であれば最適化）するように選択され得る。改善は、基準ゲノムの統計的特徴に基づいている場合があるか、または改善は、種々の実施形態において経験的に判定され得る。下に見られるように、表構築アルゴリズムは、適応的に分岐した木を反復的に構築することにより進み得る。いくつかの実施形態において、カウント閾値は、木の各分岐に対して適応的に判定され得る。例えば、初期のカウント閾値ｔｈ1が設定され得、初期のカウント閾値は、木が分岐する度に適応的に調節され得、適用的調節は、その反復中に形成された新規分岐の数に基づいている。
【００６６】
４０６で、第１の長さを有する可能性のある副配列の網羅的なリストを作成することが好ましい。より具体的には、長さｌ1の塩基対の各可能性のある列の順序付きリストＭ1が構築され、長さｌ1の塩基対の各可能列は、同様に、基準ゲノムに対して使用されている同じコード化方式を使用して、一連のビットへと翻訳される。リストは、バイナリー番号順で順序付けられ得る（すなわち、塩基対の各列は、バイナリー番号に変換され得、これらの番号は、上昇番号順でＭ1に順序付けられ得る）。この順序付きリスト内の各列に対して、アルゴリズムは、適合列に対する基準ゲノムを検索するように構成され得る。アルゴリズムは、基準ゲノム内の適合列の場所、及びデータ構造内のエントリとして発見された適合列の数を保存するようにさらに構成され得、第１の順序付きリスト内の列の各々に対するエントリは、第１の順序付きリスト内で生じるものと同じ順序で保存される。データ構造内のこれらのエントリは、第１のレベルの索引表を集合的に含み得る。
【００６７】
いくつかの実施形態において、アルゴリズムは、第２のレベルの索引表を構築するようにさらに構成され得る。４１６で、第２の順序付きリスト、Ｍ2は、長さｌ2の塩基対のあらゆる可能性のある列から構築され得、長さｌ2の塩基対のあらゆる可能性のある列は、同様に、基準ゲノムに対して使用されている同じコード化方式を使用して、一連のビットへと翻訳され、リストは、バイナリー番号順で順序付けられる。
【００６８】
４０８で、第１のレベルの索引表の各ｉ番目エントリに対して、アルゴリズムは、ｉ番目エントリ内に保存された適合場所の数を第１のカウント閾値ｔｈ1と比較し得る。
【００６９】
４１０で、ｉ番目エントリ内に保存された適合場所の数がｔｈ1を超えない場合、アルゴリズムは、ｉ番目エントリから第２のレベルのエントリを構築しない場合があり、データ構造内のｉ番目エントリに関連付けられたストップ命令を保存し得る。これにより、それぞれのエントリを索引表内の端末エントリにさせ得る。
【００７０】
４１６で、ｉ番目エントリ内に発見された適合場所の数がｔｈ1を超える場合、アルゴリズムは、Ｍ2内の各エントリＭ2（ｊ）に対して、ｉ番目エントリ内に保存された各それぞれの場所で基準ゲノムを検索し得、かつ各それぞれの場所を超えてｌ1の距離で始まるｌ2  塩基対がＭ2（ｊ）に適合するかどうかを確認し得る。この検索が実行される各エントリＭ2（ｊ）に対して、アルゴリズムは、Ｍ2（ｊ）に対する適合が発見された場所、ならびにデータ構造内のエントリとしてＭ2（ｊ）に対して発見された適合の数を保存し得、第２の順序付きリスト内の列の各々に対するエントリは、第２の順序付きリストで生じるものと同じ順序で保存される。これらのエントリは、第２のレベルの索引表を集合的に含み得る。
【００７１】
いくつかの実施形態において、第３及び全てのその後のレベルの索引表は、反復的な方法で構築され得る。第３のレベルは、下記の調節により、第２のレベルと同様に構築され得ることが理解され得る。サブスクリプトＴ及び先の段落における「第１の」という単語の全ての例は、それぞれ、「２」及び「第２の」により置き換えられ得る。サブスクリプト「２」及び先の段階における「第２の」という単語の全ての例は、それぞれ、「３」及び「第３の」により置き換えられ得る。比較可能な調節は、各その後のレベルの階層的索引表に対して最大Ｌｍａｘレベルまで実行され得る。さらに、第３のレベルの構築中に、Ｍ3の各エントリＭ3（ｊ）が、第２のレベルの索引の各１番目エントリ内に保存された各それぞれの場所で基準ゲノムに適合するかどうかを確認するとき、アルゴリズムは、各それぞれの場所を超えてｌ1＋ｌ2の距離で開始するべきである。その後のレベルｎの階層的索引表は、Ｍn（ｊ）が基準ゲノムに適合するかどうかを判定するときに、各それぞれの場所を超えて、ｌ1＋ｌ2＋．．．＋ｌn-1の距離で開始するだろう。
【００７２】
各反復において、４１８で、ｊ＞Ｌｍａｘかどうかが判定され得る。ｊがＬｍａｘより大きくない場合、アルゴリズムは、４０８に戻り得、その後のレベルの索引表を作成し得る。ｊがＬｍａｘより大きいと判定された場合、アルゴリズムは、４２０で終了し得る。
【００７３】
ｊ番目レベルの索引表の構築中に、（ｊ−１）番目レベルの各エントリで発見された適合場所の数が（ｊ−ｌ）番目閾値を超えない場合、（ｊ−ｌ）番目レベルの全てのエントリは、４１２でストップ命令に関連付けられ得、索引表の構築は、その後のレベルに進むことなく、４１４で完結し得ることが理解され得る。
【００７４】
本発明は、エントリが、基準ゲノム内で実際に生じる塩基対（ｂｐ）の配列に対してのみ構築されるように、索引表の階層的エントリを選択的に構築することを含むことがさらに理解され得る。一連の塩基対に対する可能性のある塩基対配列の数は、列の長さと指数関数的に成長し、その結果、全ての可能性のある列に対するエントリを有する網羅的な索引表は、２５個の塩基対（４25≒１０００兆個のエントリ）の適度な列長さに対してであっても極めて大きくなる。大部分のゲノムは、塩基対の全ての可能性のある配列のはるかにはるかに小さいサブセットを含み、ゲノムの長さより大きくなることはできない。階層的エントリを選択的に構築することは、各レベルでのエントリの数をヒトゲノムの事例に対する基準ゲノムの長さ、または３２億に限定する。
【００７５】
実際のゲノムは、第１のレベルの階層でのエントリの数を減少させる多くの繰り返しの配列を有する。ヒトゲノムに対して、最も一般的な繰り返しの配列は、「ＬＩＮＥ−Ｉ」と称され、１０００〜６０００ｂｐの長さであり、全ゲノム内の３２億ｂｐの最大１４．６％を占める１０００００個のその複製があり得る。
【００７６】
いくつかの実施形態において、エントリが階層的索引表のレベル内に保存されると、アルゴリズムは、先のレベルの索引表の対応するエントリ内に保存された場所を通過するように構成され得、その結果、これらの場所は、先のレベルの対応するエントリから削除される（場所の数は、依然先のレベルの対応するエントリ内に保存されるだろう）。これらの実施形態において、基準ゲノム内の場所は、索引の「木」の各「分岐」の端末エントリ内にのみ保存されるだろう。索引表は、非常に大きい数の分岐を有し得るため、これは、索引表のサイズを有意に減少させ得、演算オーバーヘッドを減少させ得る。
【００７７】
いくつかの実施形態において、索引表は、構築プロセス中、または後処理を介して、２つのデータ構造へと分離され得、各エントリに関連付けられた場所の数を示すデータ、及び各エントリに関連付けられた基準ゲノム内の場所を示すデータは、別個のデータ構造内に各々保存される。
【００７８】
各レベルの索引表のエントリは、その後のレベルの索引表で関連するエントリに対するリンクをさらに保存し得る。例えば、レベルｎでのそれぞれのエントリが端末エントリでない場合、それは、それぞれのエントリに由来するｎ＋１レベルでのエントリの場所を示すポインタを含み得る。それぞれのエントリは、その後のレベルの索引表に関連付けられる長さｌn+1をさらに保存し得る。ポインタ及び長さ情報は、例えば、任意の特定の検索配列に対応する索引表内のエントリに対して、索引表の検索を迅速に配向することを可能にし得る。
【００７９】
図５−第１のレベルの階層的索引表の構築
図５は、第１のレベルの階層的索引表が基準データから構築され得る例示的なプロセスを示すフローチャートである。
【００８０】
５０２で、第１の長さを有する第１の副配列を構築し得る。第１の長さは、第１の長さの任意のランダムな副配列が、統計的に、基準データ内で少なくとも一度生じる可能性があるように選択され得る。副配列は、例えば、バイナリー内で、数字的にコード化され得る。例示的な実施形態において、副配列は、１ビットまたは２ビットのバイナリー形式でコード化され得る一連のＤＮＡ塩基対を含み得る。第１の副配列は、数字的にコード化されるときに、最低の可能性のある数的振幅を有するように構築され得る。例えば、一連のＤＮＡ塩基対の２ビットのコード化の事例において、第１の副配列は、第１の長さの２倍の長さである一連の「０」であり得る。
【００８１】
５０４で、第１のレベルの階層的索引表内の第１のエントリを作成する。第１のエントリは、第１の副配列に関連付けられる。
【００８２】
５０６で、第１の副配列の適合に対して基準データ内で検索を実行する。検索は、網羅的であり得、それにより、適合に対する全基準データを検索する。検索は、基準データ内の適合の数及びそれらの場所の各々の両方を記録し得る。
【００８３】
５０８で、第１のレベルの階層的索引表の第１のエントリ内に、適合の数及びそれらの場所の各々を保存し得る。いくつかの実施形態において、適合の数は、第１のデータ構造内に保存され得、適合の場所は、第２のデータ構造内に保存され得、第１のデータ構造は、第２のデータ構造内のそれぞれのエントリに対するポインタをさらに含む。
【００８４】
５１０で、ステップ５０２〜５０８の各々を、第１の長さの各副配列に対して繰り返し得る。例えば、副配列が一連のＤＮＡ塩基対である場合、ステップ５０２〜５０８は、第１の長さの塩基対のあらゆる組み合わせに対して繰り返され得る。各順次の副配列は、数字的にコード化された副配列が上昇番号順に生じるように選択され得る。例えば、一連のＤＮＡ塩基対に対する２ビット（バイナリー）のコード化方式におけるステップ５１０２に対して上に与えられた例において、第２の副配列は、「０００．．．０００１０」であるように選択され得、省略記号は、バイナリー列の長さが第１の長さの２倍であるように、適正な数の「０」を含む。この事例において、第１のレベルの索引表内のエントリは、第１の長さの任意の所与の副配列に対応するエントリの索引表内の場所が、自明に確定され得るように、上昇番号順で作成され得る。
【００８５】
図６−第２のレベルの階層的索引表の構築
図６は、第２のレベルの階層的索引表を構築し得る例示的なプロセスのフローチャートである。
【００８６】
６０２で、第２の長さを有する第１の副配列を構築し得る。第２の長さは、演算パラメータ及び／またはデータパターンを基準データにマッピングするプロセスの正確性を改善するように、経験的に、または基準データの統計的パラメータに基づいて、判定され得る。第１の長さの第１の副配列と同様に、第２の長さを有する第１の副配列は、数字的にコード化され得、最小数的振幅を有するように選択され得る。
【００８７】
６０４で、第２のレベルの階層的索引表内の第１のエントリを作成し得る。第１のエントリは、第１の副配列に関連付けられ得る。
【００８８】
６０６で、第１のレベルの階層的索引表内の各エントリに対して、そのエントリ内の適合の数が第１の閾値より大きいと判定し得る。第１の閾値は、演算パラメータ及び／またはデータパターンを基準データにマッピングするプロセスの正確性を改善するように、経験的に、または基準データの統計的パラメータに基づいて、判定され得る。
【００８９】
６０８で、基準データ内の第１の副配列の適合についての検索を実行する。６０８で、検索は、全基準データの網羅的な検索ではない。むしろ、検索は、第１のレベルの索引表内のそれぞれのエントリに関連付けられた基準データ内の場所でのみ実行される。具体的には、６０６で参照される第１のレベルでのそれぞれのエントリに対する基準ゲノム内の各適合された場所に対して、検索は、その場所プラス第１の長さで実行される。換言すると、検索は、第１の長さの各適合がその後の第２の長さに対してさらに適合するかどうかに関わらず、実行される。
【００９０】
６１０で、６０８で発見された適合の数及び各適合の場所は、第２のレベル索引表の第１のエントリ内に保存される。いくつかの実施形態において、適合の数は、第１のデータ構造内に保存され得、適合の場所は、第２のデータ構造内に保存され得、第１のデータ構造は、第２のデータ構造内のそれぞれのエントリに対するポインタをさらに含む。
【００９１】
６１２で、第２の長さの各可能性のある副配列に対して、ステップ６０２〜６１０の各々を繰り返し得る。例えば、副配列が一連のＤＮＡ塩基対である場合、ステップ６０２〜６１０は、第２の長さの塩基対のあらゆる組み合わせに対して繰り返され得る。各順次の副配列は、数字的にコード化された副配列が上昇番号順に生じるように選択され得る。この事例において、第２のレベルでのエントリのセットは、第１の閾値が６０６で超えるように判定された第１のレベルでのエントリの各々に対応して作成され、これらのセットの各々は、第２の長さの任意の所与の副配列に対応し、かつ第１の長さの任意の所与の副配列に関連付けられたエントリの索引表内の場所が自明に確定され得るように、上昇番号順に内部で順序付けられるだろう。
【００９２】
例示的な候補選択プロセス
これより、我々は、階層的索引表を使用してＳＲに対する候補選択を実行するための例示的なアルゴリズムを詳述する。最初に、基準ゲノムとの比較のために、ＳＲの長さＫの足跡Ｆを選択し得る。いくつかの実施形態において、長さＫは、長さＫ内の不適合またはインデルの可能性が所定の閾値未満であるように選択され得る。いくつかの実施形態において、長さＫは、Ｌ、すなわち、ｌ1での第１のエントリであるように選択され得る。
【００９３】
いくつかの実施形態において、長さＫは、ＤＮＡアラインメントプロセスの演算要求を改善するように、反復的に適合され得る。例えば、初期の長さＫが選択され得、それぞれの足跡が、索引表内で調べられ得る。調べられたエントリでの候補場所の数が場所の所定の閾値数を上回っている場合、長さＫは、所定の長さで徐々に増加し得、延長された足跡は、索引表内で調べられ得る。新規に調べられたエントリは、場所の所定の閾値数より大きい数の場所を含み得、長さＫは、再び、所定の長さで徐々に増加し得、延長された足跡は、索引表内で調べられ得る、等。このプロセスは、候補場所の数が場所の所定の閾値数を超えないと分かるまで、反復的に繰り返され得る。候補評価は、演算的に集中的なタスクであり、候補場所の数を管理可能な量に減少させることは、ＤＮＡアラインメントプロセスの演算負荷を有意に減少させ得る。
【００９４】
いくつかの実施形態において、場所の所定の閾値数は、階層的索引表の構築において使用された閾値Ｃthのセットに含まれ得る。例えば、候補選択プロセスは、足跡に対応する索引表内のエントリが索引表内の端末エントリである場合のみ、すなわち、ストップ指令に関連付けられた場合に、基準ゲノム内の適合された場所に戻るように構成され得る。足跡に関連付けられたエントリが、ストップ指令に関連付けられていない場合、候補選択プロセスは、その後のレベルの索引表に関連付けられた長さで足跡の長さを増加させ、かついくつかの実施形態において、延長された足跡に対する索引表内の対応するエントリを調べるように構成され得る。
【００９５】
図７−階層的索引表により検索を実行する例示的な実施
徐々に増加するＫの例示的な実施形態は、図２のＳＲに適用された例示的な検索アルゴリズムを示す図７に図示されている。図７において、初期の長さＫは、「初期の」ものとして指定され、アルゴリズムは、索引表内のａｍｔ＿ｌｏｃ表０内の第１のエントリを対象としている。ａｍｔ＿ｌｏｃ表０内の「ｆ」フィールドは、ストップ指令が、そのエントリに関連付けられている（Ｓ）か、または関連付けられていない（／）かどうかを記載している。第１のエントリは、索引表内の端末エントリではなく、長さＫは、「１stｅｘｔ」の量で徐々に増加し、アルゴリズムは、ａｍｔ＿ｌｏｃ表１内の新規の対応するエントリを対象としていることが分かる。ここで、新規の対応するエントリが同様に端末エントリではなく、長さＫは、その後、「２ndｅｘｔ」の量で再び増加し、アルゴリズムは、ａｍｔ＿ｌｏｃ表２内の別の対応するエントリを対象としていることが、再び分かる。ここで、対応するエントリは、端末エントリであり、その結果、アルゴリズムは、ｂａｓ＿ｌｏｃ表２内の特定の行を対象としており、延長された列Ｆに適合するゲノム内の場所（図７のｐｐｐ）は、延長された列Ｆに対応するｂａｓ＿ｌｏｃ表２内の第１のエントリから始まり、読み出されることが分かる。
【００９６】
ａｍｔ＿ｌｏｃ表０、ａｍｔ＿ｌｏｃ表１、及びａｍｔ＿ｌｏｃ表２の表は、いくつかの実施形態による順次レベルの階層的索引表を含むことが理解され得る。「ａｍｔ＿ｌｏｃ」表と「ｂａｓ＿ｌｏｃ」表のセット間の区別は、いくつかの実施形態による、発見された適合の数及びこれらの適合の場所に関する情報の２つの区別可能なデータ構造への分離を図示していることがさらに理解され得る。
【００９７】
足跡は、種々の実施形態において、始めから、中間から、またはＳＲの端から、選択され得る。いくつかの実施形態において、長さＫの別個の足跡は、ＳＲの始め、中間、及び／または端から選択され得、各足跡から発見された適合は、候補選択プロセスにおいて集約され得る。
【００９８】
ＤＮＡアラインメントにおいて、一般に、基準ゲノムに関してＳＲの前方方向及び「逆相補」方向の両方を考察することが必要である。逆相補方向は、ＳＲであり、後方に読み出し、全てのＡ塩基をＴに、Ｔ塩基をＡに、Ｃ塩基をＧに、かつＧ塩基をＣに翻訳する。例えば、下記のＳＲセグメントは、下記の逆相補セグメントに関連付けられる：
【００９９】
ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ  元
【０１００】
ＴＧＣＡＴＣＡＧＴＴＴＧＴＣＡＡＴＣＡＧＡＣＧＴ  逆相補
【０１０１】
したがって、足跡は、候補場所を判定するために、両方向で選択され得る。いくつかの実施形態において、逆足跡（補完でない）及び／または相補足跡（逆でない）を使用して候補選択を実行することは、さらに有利であり得る。
【０１０２】
いくつかの実施形態において、有効性または品質スコアが、ＳＲ内の各塩基対に割り当てられ得、有効性または品質スコアは、ＳＲ内の塩基対の予測される信頼性に関する。例えば、高い信頼度または忠実度で読み出されたＳＲ内の塩基対には、より高い有効性または品質スコアが割り当てられ得る。これらの実施形態において、足跡Ｆは、Ｆ内に配置された塩基対の最高に集約された品質スコアを含むＳＲの一部分から優先的に選択され得る。他の実施形態において、低品質スコアを有する足跡における塩基対の存在は、検索をその塩基対で分割させ得る。例えば、足跡の５番目塩基対が低品質スコアを有するＣとして設計された場合、候補検索は、４つの独立した検索により進み得、５番目塩基対は、４つの独立した検索に対してＡ、Ｃ、Ｇ、及びＴの各々として置換される。次に、これらの４つの検索の各々に対して発見された適合は、検索プロセスの最終的な出力で共に集約され得る。本実施形態は、低品質スコアに関連付けられる複数の塩基対の事例まで拡張され得ることが理解され得る。
【０１０３】
Ｆと基準ゲノムとの間の正確な適合が求められる場合、アルゴリズムは、Ｆに対応する索引表内のエントリを調査するために、その後のレベルの索引表内のエントリに保存されたリンクを使用するように構成され得る。次に、Ｆに対応するエントリ内に含まれる場所が読み出され得、その後、候補評価のために使用され得る。多くの現在のＤＮＡアラインメントアルゴリズムは、Ｆに適合する基準索引表内のエントリを発見するために、バイナリーまたは他の演算的に集中的な検索を実行するのに必要とされる。索引表内に保存された情報の大半よりもむしろ、索引表の関連するエントリのポインタ情報のみが、索引表内のＦに対応するエントリを発見するために読み出され、かつ処理される必要があるため、本発明における索引表の系統的組織化は、演算量及び待ち時間を有意に減少させ得る。
【０１０４】
いくつかの実施形態において、およそＦに適合する基準ゲノム内の候補場所を発見することが望ましい場合がある。例えば、Ｘ個未満のＦとの不適合を有する基準ゲノム内の全ての場所を保存することが望ましい場合がある。これらの事例において、候補選択を実行するためのアルゴリズムは、下記のように構成され得る。
【０１０５】
アルゴリズムは、最初に、Ｆの第１のｌ1塩基対をＭ1内の各エントリと比較し得る。アルゴリズムは、Ｘ個未満のＦとの不適合を含むＭ1内の各エントリを保存し得る。長さｌ1の各保存されたエントリに対して、アルゴリズムは、第２のレベルの索引表内の長さｌ2  の各列を付加し得、結果として生じる列をＦの第１のｌ1＋ｌ2  塩基対と比較し得る。Ｘ個未満の不適合を生じる各かかる比較に対して、アルゴリズムは、第３のその後のレベルの索引表へとアナログ的に進み得る。このプロセスは、ストップ命令が特定のレベルの索引表内の特定のエントリに対して直面するまで、または、発見された不適合の数がＸ個を超えるまで、繰り返され得る。次に、直面したストップ命令に関連付けられた索引表内の各エントリに関連付けられた場所が読み出され得、候補評価のために使用され得る。
【０１０６】
いくつかの実施形態において、アルゴリズムは、基準ゲノムとＦとの間の不適合の数の累計を使用するように構成され得、候補選択に対する近似適合を判定し得る。この事例において、アルゴリズムは、先の段落と同様に実行するように構成され得るが、いくつかの変形例を有し得る。アルゴリズムは、最初に、Ｆの第１のｌ1塩基対をＭ1内の各エントリと比較し得る。アルゴリズムは、Ｘ個未満のＦとの不適合を含むＭ1内の各エントリを保存し得、保存された各エントリについて記録された不適合の数の累計を保存し得る。長さｌ1の各保存されたエントリに対して、アルゴリズムは、長さｌ2の各列をＦのその後のｌ2塩基対と比較し得、発見された不適合の数を累計に加え得る。Ｘ個未満である各累計に対して、アルゴリズムは、第３のその後のレベルの索引表へとアナログ的に進み得る。このプロセスは、ストップ命令が特定のレベルの索引表内の特定のエントリに対して直面するまで、またはＸ個を超えると発見されるまで（どちらかが最初に生じる）繰り返され得る。次に、直面したストップ命令に関連付けられた索引表内の各エントリに関連付けられた場所が読み出され得、候補評価のために使用され得る。
【０１０７】
いくつかの実施形態において、先行する候補選択アルゴリズムは、迅速な並列化に適していることが理解され得る。例えば、各ＳＲに対する候補選択プロセスは、プログラム上独立しており、一般的な索引表を使用しているため、多くのＳＲに対する候補選択アルゴリズムは、同時に実行され得、演算性能を有意に加速し得る。
【０１０８】
図８−検索配列の基準データへの適合
図８は、階層的索引表を使用して、検索配列を基準データに適合させる例示的なプロセスを示すフローチャートである。
【０１０９】
８０２で、階層的索引表内の検索配列の小区分を調べる。検索配列の小区分の長さは、適合プロセスの演算パラメータを改善するように、経験的に、または階層的索引表の統計的特徴付けに基づいて、選択され得る。索引表の順序付けられた数的構造に起因して、調査プロセスは、検索配列の小区分に対応する索引表内のエントリを迅速に対象とし得る。次に、このエントリは、エントリに含まれた情報を判定するために読み出され得る。
【０１１０】
８０４で、８０２で発見されたエントリが索引表の端末エントリであるかどうかを判定し得る。端末エントリは、ストップ指令に関連付けられたエントリであり得、すなわち、端末エントリは、より高いレベルの索引表内の任意のエントリには関連付けられない場合がある。
【０１１１】
８０６で、検索配列の小区分の長さは、エントリが端末エントリでないとの判定に基づいて、第１の長さで増加し得る。第１の長さは、その後のレベルの索引表に関連付けられた長さに等しいように選択され得る。
【０１１２】
８０８で、増加した長さの検索配列の小区分の適合に対する階層的索引表を使用して、基準データの検索を実行する。８０８は、８０２へとアナログ的に進み得るが、検索配列の延長された小区分を有し得る。
【０１１３】
８１０で、調べられたエントリが索引表の端末エントリであると判定されるまで、ステップ８０４〜８０８を反復的に繰り返し得る。ステップ８０４〜８０８の各反復は、必要に応じて、特殊な第１の長さで実行され得る。調べられたエントリが索引表の端末エントリであると発見された場合、適合プロセスは、階層的索引表から発見された適合の場所を読み出し得、候補評価へと進み得る。
【０１１４】
候補の評価
いったん候補場所のセットが特定のＳＲに対して選択されると、候補評価プロセスは、ＳＲの全体を基準ゲノムと比較するために実施され得る。候補評価プロセスにおいて、不適合（塩基が基準ゲノム内とは異なる）が許容され得、実際、生物学的に極めて興味深いものになる。一般に、有効なアラインメントとは、整列位置でのＳＲと基準ゲノムとの間の不適合の数が許容可能な限界内にあるもの、すなわち、不適合の数がゼロより大きいが、ある所定の閾値未満であり得るものである。この事例において、アラインメント内の不適合の特徴付け及び場所は、演算の重要な出力であり得る。
【０１１５】
不適合は、１つの塩基対が別の塩基対と置換される、置換の形態を取り得る。不適合はまた、ＳＲが整列位置での基準ゲノム内に生じない、挿入された１つ以上の塩基を有する、挿入であり得る。同様に、不適合は、１つ以上の塩基がＳＲから欠失しているが、基準ゲノム内に存在する、欠失であり得る。挿入及び欠失は、集合的に、「インデル」と称される。
【０１１６】
例えば、２４個の塩基  ＳＲ  ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡは、これらの種類のアラインメントを有し得るだろう：
【０１１７】
Ｒｅｆ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１１８】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１１９】
不適合：．．．．．．．．．．．．．．．．．．０個の不適合、「同一の」適合
【０１２０】
Ｒｅｆ：ＡＧＧＴＣＡＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１２１】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１２２】
不適合：．！．．．！．．．．．．．．．．．．．．．．．．「正確な」適合内の２つの不適合
【０１２３】
Ｒｅｆ：ＡＣＧＴＣ＿__ＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１２４】
ＳＲ：ＡＣＧＴＣＧＧＡＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１２５】
不適合：・・・．．！！！．．．．．．．．．．．．．．．．．．．挿入からの３つの不適合
【０１２６】
Ｒｅｆ：ＡＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１２７】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴ_＿__ＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１２８】
不適合：………．！！！！．．．．．．．．．．．．．．４欠失による不適合
【０１２９】
上の組み合わせは、同様に生じ得、例えば：
【０１３０】
Ｒｅｆ：ＡＣＧＴＡＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＣＧＧＣＡ
【０１３１】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴ____ＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１３２】
不適合：．．．．！．．．．．！！！！．．．．．．．．．！！．．．６つの合計不適合
【０１３３】
正確な適合内に不適合を配置することは、比較的容易である：塩基を１つずつ比較する必要があるだけである。挿入及び／または欠失（集合的に、インデル）を配置することは、より多くの処理を必要とするため、より複雑なアプローチを必要とする。
【０１３４】
可能性があるインデルを含むＳＲの特定
第１のステップとして、ＳＲが、候補選択を通して特定されたゲノム内の場所に関するインデルを含む可能性があるかどうかが判定され得る。このステップは、Ｆが、ＳＲの始め、中間、または端から選択されたかどうかに応じて異なるように進むだろう。ＦがＳＲの始めから選択された事例において、ＳＲの最後の位置から第１の位置までの、ＳＲと基準ゲノムとの間の不適合の数の累計を記録し得る。インデルがＳＲ内に存在する場合、インデルの場所よりＳＲの始めからさらに遠くに配置された塩基対は、平均時間の３／４の基準ゲノムとの不適合を含み得る（４つの塩基対があり、オフセットは、２５％の機会でランダムにそれらを適合させるため）。ＳＲの端から始まり、塩基対当たりの不適合の数の移動平均が記録され得る。移動平均が、所定の数のその後の塩基対に対する３／４の所定の閾値内にある場合、インデルが存在する可能性があると判定し得る。ＤＮＡ配列は、ランダムな配列の塩基対を含んでおらず、他の実施形態は、３／４以外の平均不適合の割合を使用し得ることが理解される。例えば、割合は、経験的に、またはＤＮＡ配列の統計的考察から、判定され得る。
【０１３５】
ＦがＳＲの端から選択された事例において、比較可能なプロセスを使用して、インデルの可能性のある存在を判定し得る。この事例において、ＳＲの始めから始まり、塩基対当たりの不適合の数の移動平均を記録し得る。移動平均が、所定の数のその後の塩基対に対して３／４の所定の閾値内にある場合、インデルが存在する可能性があると判定し得る。
【０１３６】
いくつかの実施形態において、その後の塩基対の所定の閾値及び所定の数は、必要に応じて、移動時間及びインデル識別プロセスの正確性を改善するように適合され得る。
【０１３７】
いくつかの実施形態において、インデルの可能性のある存在は、不適合の累計を使用して、不適合の頻度の勾配変化を算出することにより確定され得る。例えば、平均不適合頻度は、ＳＲの端からの不適合の累計を使用して算出され得る。平均不適合頻度がＳＲ内の特定の位置で変化することが発見された場合、変化は、所定の閾値振幅より大きいと分かり、変化は、所定の範囲の塩基対に対して持続するとさらに分かり、インデルがＳＲ内に存在する可能性があると判定し得る。可能性のある不適合は、ＳＲの長さにわたって不適合頻度の勾配を算出し、かつ勾配がＳＲの範囲内で所定の閾値を超えて急上昇する場合に存在する可能性があるとインデルを考察することにより、アナログ的に特定され得る。
【０１３８】
インデルの特徴付け及び配置
本発明の技術の一実施形態は、インデルの候補位置の評価に対する４つのステップアプローチを使用する。
【０１３９】
ステップ１：Ｌｏ端及びＨｉ端不適合
【０１４０】
ステップ２：長さ及び種類
【０１４１】
ステップ３：誤差合計
【０１４２】
ステップ４：インデル位置
【０１４３】
この方法論は、発見される４種類のインデル：Ｌｏ端アンカを使用した欠失、Ｌｏ端アンカを使用した挿入、Ｈｉ端アンカを使用した欠失、及びＨｉ端アンカを使用した挿入を生じ得る。これらの種類のうちの１つ、Ｈｉ端アンカを使用した欠失は、一例に関して下で考察されている。本明細書に記載されている他の例示的な事例も同様であることに留意されたい。
【０１４４】
「Ｌｏ端」及び「Ｈｉ端」という用語は、ＳＲのそれぞれの端を指す。例えば、Ｌｏ端塩基は、ＳＲのＬｏ端での塩基である。Ｌｏ端アンカ位置の使用は、Ｌｏ端を一定の位置に保持し、塩基が削除されたか、またはＳＲの中間内に挿入されたかのように、Ｈｉ端位置を変化させることを意味している。同様に、Ｈｉ端アンカ位置の使用は、Ｈｉ端を一定の位置に保持し、塩基が削除されたか、またはＳＲの中間内に挿入されたかのように、Ｌｏ端位置を変化させることを意味している。
【０１４５】
ステップ１：Ｌｏ端またはＨｉ端アンカの選択
このステップにおいて、Ｓ塩基の検出器のサイズを使用して、ＳＲのＬｏ端及びＨｉ端を確認し得る。ＳＲ候補アラインメント位置でのＳＲのＬｏ端Ｓ塩基と基準ゲノムのＬｏ端Ｓ塩基との間の不適合の数がカウントされ得、これらは、Ｌｏ端不適合である。同様に、ＳＲ候補アラインメント位置でのＳＲのＨｉ端Ｓ塩基と基準ゲノムのＨｉ端Ｓ塩基との間の不適合の数がカウントされ得、これらは、Ｈｉ端不適合である。Ｓは、可変型パラメータであり、一実施形態は、２４個の塩基を使用することに留意されたい。
【０１４６】
Ｌｏ端不適合の数が閾値Ｕより大きく、Ｈｉ端不適合が閾値Ｍ未満である場合、Ｈｉ端アンカ位置の使用が指摘（推奨）され得る。同様に、Ｈｉ端不適合が閾値Ｕより大きく、Ｌｏ端不適合が閾値Ｍ未満である場合、Ｌｏ端アンカ位置の使用が指摘（推奨）され得る。これらの状況のいずれにも当てはまらない場合、この候補位置について検索するインデルは停止し得る。Ｕ及びＭは、可変型パラメータであり、一実施形態は、それぞれ、４及び６を使用することに留意されたい。
【０１４７】
いくつかの実施形態において、候補場所が、Ｌｏ端足跡の基準ゲノムとの比較により選択された場合、Ｌｏ端が基準ゲノム内の候補場所と適切に並べられることはすでに知られているため、Ｌｏ端アンカは、自動的に選択され得る。同様に、Ｈｉ端足跡の基準ゲノムとの比較により候補場所が選択された場合、Ｈｉ端アンカは、自動的に選択され得る。ＳＲの中間から選択された足跡を使用して特定の候補場所を選択した事例において、上に記載されているアンカ選択プロセスを実行することは有利であり得る。これらの事例において、ＳＲの中間は、候補場所と整列され得るが、潜在的なインデルがＳＲのｌｏまたはｈｉ側上に存在するあどうかは分からない場合がある。
【０１４８】
ステップ２：長さ及び種類
インデルが疑われる場合、次に、ステップは、インデルの長さ及び種類（挿入または欠失）の両方を判定し得る。ユーザは、検索するための最小インデル長さ（ＩＤＩＳＴ）を提供し得る。一実施形態は、インデルが疑われる場所に応じて、ＳＲのＬｏ端部またはＨｉ端部（アンカ端に対向する）のいずれかを使用して、一連の不適合カウントを実行する。カウントは、Ｂ塩基を使用し得、かつＤ＝［−ＩＤＩＳＴ．．＋ＩＤＩＳＴ］により候補位置を変更し得る。Ｂは、可変型パラメータであり、一実施形態は、８の値を使用することに留意されたい。最小数の不適合を生じ得るオフセット値Ｄを記録し得る。一実施形態において：
【０１４９】
Ｄ＝０の場合、インデルがなく、この候補に対する検索は、停止する。
【０１５０】
Ｄ＜０の場合、可能性のある挿入は、長さ＝｜Ｄ｜により発見される。
【０１５１】
Ｄ＞０の場合、可能性のある欠失は、長さ＝Ｄにより発見される。
【０１５２】
インデルの長さ及び種類を所与として、開始位置を発見するべきである。これは、次の２つのステップ：誤差合計及びインデル位置で実行され得る。
【０１５３】
ステップ３：誤差合計
このステップにおいて、２つの移動誤差合計を演算し得る。第１の累計は、候補位置でのＳＲと基準ゲノムとの間にあり得、第２の累計は、（候補＋Ｄ）位置でのＳＲと基準ゲノムとの間にあり得、Ｄは、挿入事例に対して負数であり得ることに留意されたい。
【０１５４】
ステップ４：インデル位置
最終ステップは、インデルの開始を設置することである。これは、種類に基づいた調節を使用して、２つのカウントアレイの合計の最小値を発見することにより、実行され得る。
【０１５５】
挿入の事例において、下記を演算し得る（注意：索引は、１で開始し、０でない）：
【０１５６】
［１．．塩基長さ］内のｉに対して、合計［ｉ］＝（カウント２［塩基］−カウント２［長さ＋ｉ］）＋カウント１［ｉ］
【０１５７】
次に、［２．．塩基長さ］内にｉを有する、合計［ｉ］の最小値を見つける。挿入の開始位置は、ｉである。
【０１５８】
欠失の事例において、演算する：
【０１５９】
［１．．塩基］内のｉに対して、合計［ｉ］＝（カウント２［塩基］−カウント２［ｉ］）＋カウント１［ｉ］
【０１６０】
次に、［２．．塩基］内にｉを有する、合計［ｉ］最小値を見つける。欠失の開始位置は、ｉである。
【実施例】
【０１６１】
下記の例において、下記のＳＲ及びＳＲ候補位置を使用して、各ステップを実行する：
【０１６２】
Ｒｅｆ：ＡＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１６３】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１６４】
例示的なステップ１：Ｌｏ端及びＨｉ端不適合
より典型的な１００個の塩基ＳＲの代わりに、２４個の塩基ＳＲが使用されているため、検出器のサイズ及び閾値は、これらの例示のために、Ｓ＝６、Ｕ＝１、Ｍ＝２に調節されることに留意されたい：
【０１６５】
Ｒｅｆ：ＡＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１６６】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１６７】
Ｌｏ端不適合：・・・・・・−−−−−−−−−−−−−−−−−−Ｌｏ端不適合＝０
【０１６８】
Ｈｉ端不適合：−−−−−−−−−−−−−−−−−−！．！！！．Ｈｉ端不適合＝４
【０１６９】
Ｌｏ端不適合は、０であり（ＡＣＧＴＣＴ対ＡＣＧＴＣＴ）、Ｈｉ端不適合は、４である（ＧＡＴＧＣＡ対ＡＡＣＴＧＡ）。Ｈｉ端不適合＞Ｕ及びＬｏ端不適合＜Ｍ［（４＞１）＆＆（０＜２）］であるため、インデルは、Ｌｏ端アンカ位置を使用して検索されるだろう。
【０１７０】
例示的なステップ２：長さ及び種類
Ｌｏ端アンカが判定されたため、Ｈｉ端塩基を使用して、インデルの種類及び長さを判定し得る。この例に対して、Ｂ＝８及びＩＤＩＳＴ＝４であることに留意されたい：
【０１７１】
Ｄ＝−４  Ｒｅｆ：−−−−ＡＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡ
【０１７２】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１７３】
不適合：−−−−−−−−−−−−−−−−．！．．！！！．Ｈｉ端で４つの不適合
【０１７４】
Ｄ＝−３  Ｒｅｆ：−−−ＡＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣ
【０１７５】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１７６】
不適合：−−−−−−−−−−−−−−−−！！！！！！！！８つの不適合
【０１７７】
Ｄ＝−２  Ｒｅｆ：−−ＡＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴ
【０１７８】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１７９】
不適合：−−−−−−−−−−−−−−−−！！！．！！．！６つの不適合
【０１８０】
Ｄ＝−１  Ｒｅｆ：−ＡＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧ
【０１８１】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１８２】
不適合：−−−−−−−−−−−−−−−−！！！．！！！！７つの不適合
【０１８３】
Ｄ＝０  Ｒｅｆ：ＡＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡ
【０１８４】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１８５】
不適合：−−−−−−−−−−−−−−−−．！！．！！！．５つの不適合
【０１８６】
Ｄ＝＋１  Ｒｅｆ：ＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡＴ
【０１８７】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１８８】
不適合：−−−−−−−−−−−−−−−−！！！！．．！！６つの不適合
【０１８９】
Ｄ＝＋２  Ｒｅｆ  ＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡＴＧ
【０１９０】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１９１】
不適合：−−−−−−−−−−−−−−−−！！！！！！！８つの不適合
【０１９２】
Ｄ＝＋３  Ｒｅｆ  ＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡＴＧＣ
【０１９３】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１９４】
不適合：−−−−−−−−−−−−−−−−！！！！！！！！８つの不適合
【０１９５】
Ｄ＝＋４  Ｒｅｆ  ＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１９６】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０１９７】
不適合：−−−−−−−−−−−−−−−−・・・．・・・．．０個の不適合＜−−最小値
【０１９８】
Ｄが＞０であるため、可能性のある欠失は、長さ＝＋４の状態で発見されている。
【０１９９】
例示的なステップ３：誤差合計
上に述べられている欠失事例を使用して：
【０２００】
Ｒｅｆ：候補位置でのＡＣＧＴＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡ
【０２０１】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０２０２】
不適合・・・・・・・・・．！．．！！．．！！．！！！．
【０２０３】
カウント１：００００００００００１１１２３３３４５５６７８８＜−−不適合の累計
【０２０４】
Ｒｅｆ：候補＋４位置でのＣＴＧＡＴＴＴＡＣＧＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０２０５】
ＳＲ：ＡＣＧＴＣＴＧＡＴＴＧＡＣＡＡＡＣＴＧＡＴＧＣＡ
【０２０６】
不適合：！！．！！．！．！！．．．．．．．．．．．．．．
【０２０７】
カウント２：１２２３４４５５６７７７７７７７７７７７７７７７＜−−不適合の累計
【０２０８】
例示的なステップ４：インデル位置
上に記載されているように、欠失が検索されているため、本方法は、索引に対する合計［ｉ］［１．．塩基長さ］を演算し得る。
【０２０９】
７−カウント２［ｉ］：６５５４３３２２１０００００００００００
【０２１０】
カウント１［ｉ］：００００００００００１１１２３３３４５５
【０２１１】
合計［ｉ］：６５５４３３２２１０１１１２３３３４５５
【０２１２】
最小値は、索引ｉ＝１０で生じる。これは、インデル前の塩基の数が１０であり、その後、４つの塩基欠失（ステップ２から）、その後、インデル後の（塩基−１０）適合塩基を意味する。次に、Ｃｏｍｐａｃｔ  Ｉｄｉｏｓｙｎｃｒａｔｉｃ  Ｇａｐｐｅｄ  Ａｌｉｇｎｍｅｎｔ  Ｒｅｐｏｒｔ（ＣＩＧＡＲ）の値は、１０Ｍ４Ｄ１４Ｍであり得、ＣＩＧＡＲ列は、塩基長さ及び関連する操作の配列であり、どの塩基が、基準から削除され、かつ基準内にない挿入である基準と整列する（適合／不適合のいずれか）か等の項目を示すために使用される。
【０２１３】
図９−インデルを特徴付け及び配置するための方法
図９は、インデルを特徴付け及び配置するための例示的な方法を示すフローチャートである。図９の方法は、図８に示されている方法の結論で見られる各適合上で実行され得る。
【０２１４】
９０２で、検索配列のためのアンカ位置を判定する。アンカ位置は、検索配列のＨｉ端またはＬｏ端にあるように判定され得る。アンカ位置は、Ｈｉ端及びＬｏ端の各々からの位置の第１の長さを基準データと比較し、かつより少ない不適合を有する端でのアンカ位置を選択することにより、判定され得る。
【０２１５】
９０４で、アンカ位置を使用して、インデルの長さ及び種類を判定し得る。例えば、Ｌｏ端アンカが７０２で判定される場合、不適合は、所定位置に種々のオフセットを有する検索配列のＨｉ端からカウントされ得、不適合の最小値を生じるオフセットが選択され得る。
【０２１６】
９０６で、第１の移動誤差合計を演算し得る。第１の移動誤差合計は、アンカ位置から演算され得る。Ｌｏ端アンカに対して、移動誤差合計は、Ｌｏ端アンカ位置から前方に進み得る。Ｈｉ端アンカに対して、移動誤差合計は、Ｈｉ端アンカ位置から逆方向に進み得る。
【０２１７】
９０８で、オフセットでの第２の移動誤差合計を演算し得る。オフセットは、７０４で選択されたオフセットであるように判定され得る。第２の移動誤差合計は、同様に、アンカ位置から演算され得る。
【０２１８】
９１０で、インデルの開始場所を、第１及び第２の移動誤差合計の合計の最小値に基づいて判定し得る。例えば、第１及び第２の累計を共に追加し得る。第１の移動誤差合計は、アンカ位置とインデルの場所との間の検索配列の領域に対して不適合を生成する可能性がないように構築される。第２の移動誤差合計は、アンカ位置に対向する端とインデルの場所との間の検索配列の領域に対して不適合を生成する可能性がないように構築される。第１及び第２の累計を合計することにより、最低数の不適合を有する場所が、インデルの場所であるように判定され得る。
【０２１９】
本発明の他の実施形態は、下記の番号を付された段落中に表される：
【０２２０】
１．検索配列の小区分を基準データに適合させる方法であって、
【０２２１】
基準データに由来する階層的索引表を保存することであって、階層的索引表が、複数の階層的レベルで複数のエントリを含む、保存することと、
【０２２２】
検索配列に関連付けられた階層的索引表内の第１のエントリが、索引表の端末エントリでないとの判定に基づいて、検索配列の小区分の長さを増加させることと、
【０２２３】
第１のエントリが階層的索引表の端末エントリでないとの判定に基づいて、検索配列の増加された長さの小区分に適合する階層的索引表内の第２のエントリを調べることと、を含む、検索配列の小区分を基準データに適合させる方法。
【０２２４】
２．基準データに対する検索配列の適合を評価するための方法であって、
【０２２５】
検索配列と基準データとの間の塩基誤差の特定に基づいて、検索配列と基準データとの間の不適合を判定することと、
【０２２６】
検索配列内の少なくとも１つのインデルを判定することであって、
【０２２７】
検索配列のＬｏ端及びＨｉ端不適合の数に基づいて、検索配列内のアンカ位置を判定すること、
【０２２８】
アンカ位置を使用して、少なくとも１つのインデルの長さ及び種類を判定すること、
【０２２９】
少なくとも１つのインデルの開始位置を判定することであって、
【０２３０】
適合場所での検索配列と基準データとの間の第１の移動誤差合計を演算すること、
【０２３１】
適合場所からのオフセットで検索配列と基準データとの間の第２の移動誤差合計を演算することであって、オフセットが、少なくとも１つのインデルの種類及び長さに基づいている、演算すること、ならびに
【０２３２】
第１及び第２の移動誤差合計の最小値に基づいて、少なくとも１つのインデルの開始場所を判定することと、を含む、判定すること、を含む、判定することと、を含む、基準データに対する検索配列の適合を評価するための方法。
【０２３３】
上の実施形態は、かなり詳細に記載されているが、上の開示が完全に理解されれば、多数の変更例及び変形例が当業者に明らかであろう。下記の特許請求の範囲は、全てのかかる変更例及び変形例を包含するように解釈されることが企図されている。
【図１】
2018535484.tif 000005
【図２】
2018535484.tif 000006
【図３】
2018535484.tif 000007
【図４】
2018535484.tif 000008
【図５】
2018535484.tif 000009
【図６】
2018535484.tif 000010
【図７】
2018535484.tif 000011
【図８】
2018535484.tif 000012
【図９】
2018535484.tif 000013
【国際調査報告】
2018535484.tif 000014