(57)【要約】  ゲノムシーケンシング装置によって生成されたゲノムシーケンスデータの圧縮のための方法及び装置である。シーケンスリードは、既存のリファレンスシーケンス又は構築されたリファレンスシーケンスに対してアライメントすることによりコード化され、コード化のプロセスは、データクラスへのリードの分類と、それに続く多重化された記述子ブロックによる各クラスのコード化から構成される。特定のソースモデルとエントロピーコーダは、データが分割される各データクラス、及び関連する各記述子ブロックに使用される。【選択図】図２１
2020509473.tif 000002
【特許請求の範囲】
【請求項１】
ヌクレオチドシーケンスのリードを含むゲノムシーケンスデータをコード化する方法であって、前記方法は、
前記リードを１つ又以上のリファレンスシーケンスにアライメントさせ、それによってアライメントリードを作成し、
指定されたマッチング規則に従って、前記１つ以上のリファレンスシーケンスを使用して前記アライメントリードを分類し、それによってアライメントリードのクラスを作成し、
前記分類されたアライメントリードを記述子の複数のブロックとしてコード化し、
前記分類されたアライメントリードを前記記述子の多数のブロックとしてコード化することは、前記アライメントリードの前記クラスに従って前記記述子を選択することを含み、
前記記述子のブロックをヘッダ情報で構造化し、それにより連続したアクセスユニットを作成することを含む。
【請求項２】
前記指定されたマッチング規則を満たさない前記リードをマッピングされていないリードのクラスに分類することをさらに含み、
少なくともいくつかの前記マッピングされていないリードを使用してリファレンスシーケンスのセットを構築し、
前記マッピングされていないリードのクラスを、構築された前記リファレンスシーケンスのセットにアライメントし、
前記分類されたアライメントリードを記述子の複数のブロックとしてコード化し、
前記構築されたリファレンスシーケンスのセットをコード化し、
前記記述子のブロック及び前記コード化されたリファレンスシーケンスをヘッダ情報で構築し、それにより連続するアクセスユニットを作成する、
請求項１に記載のコード化方法。
【請求項３】
前記分類は、マッピングに使用される前記リファレンスシーケンスに関して前記マッピングされたリードにミスマッチが存在しない場合、前記リファレンスシーケンスにミスマッチのないゲノムリードを第１番目の「クラスＰ」として分類することを含む、
請求項２に記載の方法。
【請求項４】
前記分類することは、シーケンシング装置がいずれの「塩基」も呼び出すことができず、かつ各リードにおけるミスマッチの数が所定のしきい値を超えない位置においてのみミスマッチが見出される場合に、ゲノムリードを第２番目の「クラスＮ」として分類することをさらに含む、
請求項３に記載の方法。
【請求項５】
前記分類は、前記シーケンシング装置がいかなる「塩基」も呼び出すことができなかった位置でミスマッチが見つかった場合、ゲノムリードを第３番目の「クラスＭ」として識別することをさらに含み、「ｎタイプ」のミスマッチと名付けら、及び／又はリファレンスシーケンスとは異なる「塩基」と呼ばれ、「ｓタイプ」のミスマッチと名付けられ、及び前記ミスマッチの数は、前記「ｎタイプ」のミスマッチ、前記「ｓタイプ」のミスマッチの数に対して所定のしきい値を超えず、前記しきい値は関数（ｆ（ｎ，ｓ））で与えられる、
請求項４に記載の方法。
【請求項６】
前記分類は、前記「クラスＭ」と同じ種類のミスマッチが発生する可能性がある場合、ゲノムリードを第４番目の「クラスＩ」と識別することをさらに含み、少なくとも１つのミスマッチの類型：「挿入」（「ｉタイプ」）、「削除」（「ｄタイプ」）、ソフトクリップ（「ｃタイプ」）が加えられ、ここで、各タイプの前記ミスマッチの数は、対応する所定のしきい値を超えず、しきい値は関数（ｗ（ｎ，ｓ，ｉ，ｄ，ｃ））で与えられる、
請求項５に記載の方法。
【請求項７】
前記分類することは、クラスＰ、Ｎ、Ｍ、Ｉのいずれの分類も見出さない全てのリードを含むものとして、ゲノムリードを第５番目の「クラスＵ」として識別することをさらに含む、
請求項６に記載の方法。
【請求項８】
コード化されたゲノムシーケンスのリードはペアになっている、
請求項７に記載の方法。
【請求項９】
前記分類は、前記分類することが、１つのリードがクラスＰ、Ｎ、Ｍ又はＩに属し、他のリードが「クラスＵ」に属するすべてのリードペアを含むものとして、ゲノムリードを第６番目の「クラスＨＭ」として識別することをさらに含む、
請求項８に記載の方法。
【請求項１０】
前記２つのメイトのリードが同じクラス（Ｐ、Ｎ、Ｍ、Ｉ、Ｕのそれぞれ）に分類されているかどうかを識別し、前記ペアを同じ識別されたクラスに割り当て、
前記２つのメイトのリードが異なるクラスに分類されているかどうかを識別し、それらがいずれも「クラスＵ」に属していない場合、前記ペアのリードを次式に従って最も優先度の高いクラスに割り当て：
Ｐ＜Ｎ＜Ｍ＜Ｉ
ここで、「クラスＰ」の優先度が最も低く、「クラスＩ」の優先度が最も高く、
前記２つのメイトのリードのうち一方のみが「クラスＵ」に属すると分類されたかどうかを識別し、前記ペアのリードを「クラスＨＭ」のシーケンスに属すると分類すること、をさらに含む、
請求項９に記載のコード化方法。
【請求項１１】
リードＮ、Ｍ、Ｉの各クラスは、「ｎタイプ」のミスマッチの数（２９２）、関数ｆ（ｎ，ｓ）（２９３）及び関数ｗ（ｎ，ｓ，ｉ，ｄ，ｃ）（２９４）によって、各クラスＮ、Ｍ、Ｉに対してそれぞれ定義されたしきい値のベクトル（２９２、２９３、２９４）に従って、２つ以上のサブクラス（２９６、２９７、２９８）にさらに分割される、
請求項１１に記載の方法。
【請求項１２】
前記２つのメイトのリードが同じサブクラスに分類されているかどうかを識別し、前記ペアを同じサブクラスに割り当て、
前記２つのメイトのリードが異なるクラスのサブクラスに分類されているかどうかを識別し、前記ペアを、次の式に従って、優先度の高い前記クラスに属する前記サブクラスに割り当て、
Ｎ＜Ｍ＜Ｉ
ここで、Ｎが最も優先度が低く、Ｉが最も優先度が高く、
前記２つのメイトのリードが同じクラスに分類されており、そのクラスがＮ、Ｍ、又はＩであるが、サブクラスが異なるかどうかを識別し、前記ペアを、次の式に従って、最も優先度が高いサブクラスに割り当てる、
Ｎ１＜Ｎ２＜・・・＜Ｎｋ
Ｍ１＜Ｍ２＜・・・Ｍｊ
Ｉ１＜Ｉ２＜・・・＜Ｉｈ
ここで、最も高いインデックスが最も高い優先度を持つ、
請求項１１に記載の方法。
【請求項１３】
各リードのマッピング位置に関する情報は、「ｐｏｓ」記述子ブロックによってコード化される、
請求項１２に記載の方法。
【請求項１４】
各リードのストランド性（すなわち、ＤＮＡ鎖のリードが由来するシーケンス）に関する情報は、ｒｃｏｍｐ記述子ブロックによってコード化される、
請求項１３に記載の方法。
【請求項１５】
ペアエンドリードのペアリング情報は、「ｐａｉｒ」記述子ブロックによってコード化される、
請求項１４に記載の方法。
【請求項１６】
前記リードが適切なペアでマッピングされているか否か、プラットフォーム／ベンダーの品質チェックの失敗、ＰＣＲ又は光学複製であること、又は補助的なアライメントである付加的なアライメント情報は、「ｆｌａｇｓ」記述子ブロックによってコード化される、
請求項１５に記載の方法。
【請求項１７】
未知の塩基に関する情報が、「ｍｍｉｓ」記述子ブロックによってコード化される、
請求項１６に記載の方法。
【請求項１８】
置換の位置に関する情報が、「ｓｎｐｐ」記述子ブロックによってコード化される、
請求項１７に記載の方法。
【請求項１９】
置換の類型に関する情報が、特定の「ｓｎｐｔ」記述子ブロックによってコード化される、
請求項１８に記載の方法。
【請求項２０】
ミスマッチの位置、置換、挿入又は削除に関する情報が、「ｉｎｄｐ」記述子ブロックによってコード化される、
請求項１９に記載の方法。
【請求項２１】
置換、挿入、又は削除のミスマッチの類型に関する情報が、「ｉｎｄｔ」記述子ブロックによってコード化される、
請求項２０に記載の方法。
【請求項２２】
マッピングされたリードのクリップされた塩基に関する情報が、「ｉｎｄｃ」記述子ブロックによってコード化される、
請求項２１に記載の方法。
【請求項２３】
マッピングされていないリードに関する情報が、「ｕｒｅａｄｓ」記述子ブロックによってコード化される、
請求項２２に記載の方法。
【請求項２４】
コード化に使用されるリファレンスシーケンスの種類に関する情報が、「ｒｔｙｐｅ」記述子ブロックによってコード化される、
請求項２３に記載の方法。
【請求項２５】
前記マッピングされたリードのマルチプルアライメントに関する情報が、「ｍｍａｐ」記述子ブロックによってコード化される、
請求項２４に記載の方法。
【請求項２６】
前記同じリードのスプライスされたアライメント及びマルチプルアライメントに関する情報が、「ｍｓａｒ」記述子ブロック及び「ｍｍｐ」記述子ブロックによってコード化される、
請求項２５に記載の方法。
【請求項２７】
リードのアライメントスコアに関する情報が、「ｍｓｃｏｒｅ」記述子ブロックによってコード化される、
請求項２６に記載の方法。
【請求項２８】
リードが属するグループに関する情報が、「ｒｇｒｏｕｐ」記述子ブロックによってコード化される、
請求項２７に記載の方法。
【請求項２９】
クラスＰのアクセスユニットが、タイプ「ｐｏｓ」、「ｒｃｏｍｐ」、及び「ｆｌａｇｓ」の記述子のブロックを使用して構築される、
請求項２８に記載の方法。
【請求項３０】
クラスＰの前記アクセスユニットは、「ｐａｉｒ」記述子のブロックを使用して、ペアエンドのペアリング情報をコード化する、
請求項２９に記載の方法。
【請求項３１】
クラスＮのアクセスユニットが、未知の塩基の位置に関する情報のための「ｎｍｉｓ」記述子ブロックを使用することに加え、クラスＰのアクセスユニットの記述子の同じブロックを使用して構築される、
請求項３０に記載の方法。
【請求項３２】
クラスＭのアクセスユニットが、置換の位置及びタイプに関する情報のための「ｓｎｐｐ」及び「ｓｎｐｔ」記述子のブロックに加え、クラスＰのアクセスユニットの記述子の同じブロックを使用して構築される、
請求項３０に記載の方法。
【請求項３３】
クラスＩのアクセスユニットが、置換、挿入、欠損及びクリップ塩基の位置及び類型に関する情報に関する「ｉｎｄｐ」、「ｉｎｄｔ」及び「ｉｎｄｃ」記述子のブロックに加え、クラスＰのアクセスユニットの記述子の同じブロックを使用して構築される、
請求項３０に記載の方法。
【請求項３４】
クラスＨＭのアクセスユニットが、前記マッピングされたリードに対する前記クラスＩのアクセスユニットの記述子の同じブロック、及び前記マッピングされていないリードに対する前記「ｕｒｅａｄｓ」記述子のブロックを使用して構築される、
請求項３３に記載の方法。
【請求項３５】
マルチプルアラインメントに関する情報が、「ｍｍａｐ」及び「ｍｓａｒ」記述子のブロックを使用して伝達される、
請求項３３に記載の方法。
【請求項３６】
スプライスされたアラインメントに関する情報が、
・  マッチング塩基の表示するための記号＝
・  挿入の表示するための記号＋
・  削除を表示するための記号
・  順方向のストランドのスプライスを表示するための記号／
・  逆方向のストランドのスプライスを表示するための記号％
・  無方向のスプライスを表示するための記号＊
・  置換を表示すためのＤＮＡに対するＩＵＰＡＣコードからのテキスト文字
・  ｎ個のソフトクリップ塩基を表示するための記号（ｎ）、ここでｎは整数
・  ｎ個のハードクリップされた塩基を表示する記号［ｎ］、ここでｎは整数
を含む以下を含む拡張シガーストリングで伝送される、
請求項３５に記載の方法。
【請求項３７】
前記記述子のブロックは、アライメントされたリードの各クラス及びサブクラスごとに１つのセクションを含む「マスターインデックステーブル」を含み、前記セクションは、「マスターインデックステーブル」及び前記アクセスユニットの両方でコード化しているデータの各クラス又はサブクラスの各アクセスユニットの第１のリードの前記１つ以上のリファレンスシーケンス上の前記マッピング位置を含む、
請求項３６に記載の方法。
【請求項３８】
前記記述子の前記ブロックが、使用される参照の種類（既存又は構築された）、及び前記リファレンスシーケンスにマッピングされない前記リードの前記セグメントに関する情報をさらに含む、
請求項３７に記載の方法。
【請求項３９】
前記リファレンスシーケンスは、置換、挿入、削除、及びクリッピングを適用することにより異なるリファレンスシーケンスに第１の変換がされ、記述子の多数のブロックとしての前記分類されたアライメントリードのコード化は前記変換されたリファレンスシーケンスを参照する、
請求項３８に記載の方法。
【請求項４０】
同じ変換が、全てのクラスのデータに対して使用される前記リファレンスシーケンスに適用される、
請求項３９に記載の方法。
【請求項４１】
異なる変換が、データの各クラスに対して使用される前記リファレンスシーケンスに適用される、
請求項４０に記載の方法。
【請求項４２】
前記リファレンスシーケンスの変換が記述子のブロックとしてコード化され、ヘッダ情報で構造化され、それにより連続するアクセスユニットを作成する、
請求項４１に記載の方法。
【請求項４３】
前記分類されたアラメントリードの前記コード化及び記述子のブロックの多重化としての前記関連するリファレンスシーケンス変換は、特定の記述子ブロック及び特定のソースモデルに関連付けをするステップを含む、
請求項４２に記載の方法。
【請求項４４】
前記エントロピーコーダは、コンテキスト適応算術コーダ、可変長コーダ又はゴロムコーダのうちいずれか１つである、
請求項４３に記載の方法。
【請求項４５】
コード化されたゲノムデータをデコード化する方法であって、前記方法は、
ヘッダ情報を用いて記述子の多重化されたブロックを抽出するために前記コード化されたゲノムデータを含むアクセスユニットを解析し、
１つ以上のリファレンスシーケンスに関する分類を定義する特定のマッチング規則に従ってリードを抽出するために、記述子の前記多重化されたブロックをデコード化することを含む。
【請求項４６】
関連する関連マッピング位置及びリードの各クラスに対して１つのセクションを含むマスターインデックステーブルをデコード化することをさらに含む、
請求項４５に記載のデコード化方法。
【請求項４７】
使用されるリファレンスの種類：既存、変換、又は構築、に関連する情報をデコード化することをさらに含む、
請求項４６に記載のデコード化方法。
【請求項４８】
前記既存のリファレンスシーケンスに適用される１以上の変換に関連する情報をデコード化することをさらに含む、
請求項４７に記載の復号方法。
【請求項４９】
前記記述子のブロックがエントロピーデコード化される、
請求項４８に記載の復号化方法。
【請求項５０】
クラスＰのリードは、「ｐｏｓ」、「ｒｃｏｍｐ」、「ｆｌａｇｓ」、及び「ｒｌｅｎ」の各種類の記述子のブロックをデコード化することにより取得され、
クラスＮのリードは、「ｐｏｓ」、「ｒｃｏｍｐ」、「ｆｌａｇｓ」、「ｒｌｅｎ」、「ｎｍｉｓ」の各種類の記述子のブロックをデコード化することにより取得され、
クラスＭのリードは、「ｐｏｓ」、「ｒｃｏｍｐ」、「ｆｌａｇｓ」、「ｒｌｅｎ」、「ｓｎｐｐ」、及び「ｓｎｐｔ」の各種類の記述子のブロックをデコード化することにより取得され、
クラスＩのリードは、「ｐｏｓ」、「ｒｃｏｍｐ」、「ｆｌａｇｓ」、「ｒｌｅｎ」、「ｉｎｄｐ」、「ｉｎｄｔ」、及び「ｉｎｄｃ」各種類の記述子のブロックをデコードすることによって取得され、
クラスＵのリードは、「ｐｏｓ」、「ｒｃｏｍｐ」、「ｆｌａｇｓ」、「ｒｌｅｎ」、「ｓｎｐｐ」、「ｓｎｐｔ」、「ｉｎｄｃ」、「ｕｒｅａｄｓ」、及び「ｒｔｙｐｅ」の各種類の記述子のブロックをデコード化することによって取得される、
請求項４９に記載の方法。
【請求項５１】
クラスＰ、Ｎ、Ｍ、及びＩは、「ｐａｉｒ」の記述子のブロックをデコード化することによっても取得され、
クラスＨＭは、「ｐｏｓ」、「ｒｃｏｍｐ」、「ｆｌａｇｓ」、「ｒｌｅｎ」、「ｉｎｄｐ」、「indt」、「ｉｎｄｃ」、及び「ｕｒｅａｄｓ」の記述子のブロックをデコード化することによっても取得される、
請求項５０に記載の復号化方法。
【請求項５２】
ゲノムシーケンスデータ２０９、ヌクレオチドシーケンスのリードを含む前記ゲノムシーケンスデータ２０９を圧縮するためのゲノムエンコーダ（２１０）であって、前記方法は、
前記ゲノムエンコーダ（２１０）は、
前記リードを１つ以上のリファレンスシーケンスにアライメントさせ、それによりアライメントリードを作成するように構成された、アライナユニット（２０１）と、
構築されたリファレンスシーケンスを生成するように構成された構築された、リファレンス生成ユニット（２０２）と、
１つ以上の既存のリファレンスシーケンス又は構築されたリファレンスシーケンスを使用して、特定のマッチング規則に従って前記アライメントリードを分類し、それによってアライメントリード（２０８）のクラスを作成するように構成された、データ分類ユニット（２０４）と、
前記分類されたアライメントリードに従って前記記述子を選択することにより記述子のブロックとして前記分類されたアライメントリードをコード化するように構成された、１つ以上のブロックコード化ユニット（２０５−２０７）と、
前記圧縮されたゲノムデータ及びメタデータを多重化するためのマルチプレクサ（２０１６）と、を含む。
【請求項５３】
既存のリファレンス及びデータクラス（２０８）を変換済みデータクラス（２０１８）に変換するように構成された、リファレンスシーケンス変換ユニット（２０１９）をさらに含む、
請求項５２に記載のゲノムエンコーダ。
【請求項５４】
前記データ分類ユニット（２０４）が、データクラスＮ、Ｍ及びＩのサブクラスを生成するしきい値のベクトルで構成されたデータクラスＮ、Ｍ及びＩのエンコーダを含む、
請求項５３に記載のゲノムエンコーダ。
【請求項５５】
前記リファレンス変換ユニット（２０１９）は、データの全てのクラス及びサブクラスに対して同じリファレンス変換（３００）を適用する、
請求項５４に記載のゲノムエンコーダ。
【請求項５６】
前記リファレンス変換ユニット（２０１９）は、データの異なるクラス及びサブクラスに対して異なるリファレンス変換（３０１、３０２、３０３）を適用する、
請求項５４に記載のゲノムエンコーダ。
【請求項５７】
請求項１２に記載のコード化方法を実行するのに適したコード化手段をさらに含む、
請求項５４に記載のゲノムエンコーダ。
【請求項５８】
圧縮されたゲノムストリーム（２１１）を復元するためのゲノムデコーダー（２１８）であって、前記ゲノムデコーダ（２１８）は、
圧縮されたゲノムデータとメタデータを逆多重化するためのデマルチプレクサ（２１０）と、
前記圧縮されたゲノムストリームを記述子のゲノムブロック（２１５）に構文解析するように構成された解析手段（２１２−２１４）と、
記述子のゲノムブロックをヌクレオチド（２１１）のシーケンスの分類されたリードにデコードするように構成された１つ以上のブロックデコーダ（２１６−２１７）と、
ヌクレオチドのシーケンスの非圧縮リードを生成するために、１つ以上のリファレンスシーケンス上のヌクレオチドのシーケンスの前記分類されたリードを選択的にデコード化するように構成されたゲノムデータクラスデコーダー（２１９）と、を含む。
【請求項５９】
リファレンス変換記述子（２１１２）をデコード化し、ゲノムデータクラスデコーダ（２１９）によって使用される変換済みのリファレンス（２１１４）を生成するように構成されたリファレンス変換デコーダ（２１１３）をさらに含む、
請求項５８に記載のゲノムデコーダ。
【請求項６０】
前記１つ以上のリファレンスシーケンスが、圧縮されたゲノムストリーム（２１１）に記憶される、
請求項５９に記載のゲノムデコーダ。
【請求項６１】
前記１以上のリファレンスシーケンスが、帯域外（out of band）メカニズムを介して前記デコーダに提供される、
請求項５９に記載のゲノムデコーダ。
【請求項６２】
前記１つ以上のリファレンスシーケンスが、デコーダで構築される、
請求項５９に記載のゲノムデコーダ。
【請求項６３】
１つ以上のリファレンスシーケンスが、リファレンス変換デコーダ（２１１３）によってデコーダで変換される、
請求項５９に記載のゲノムデコーダ。
【請求項６４】
請求項１２のコード化方法を実行するための少なくとも１つのプロセッサを実行させる命令を含むコンピュータ可読媒体。
【請求項６５】
請求項５９のデコード化方法を実行するための少なくとも１つのプロセッサを実行させる命令を含むコンピュータ可読媒体。
【請求項６６】
請求項１２の方法に従ってコード化されたゲノムを保存するサポートデータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、既知の従来技術の表現方法では利用できない新しい機能を提供することにより、利用される記憶領域を削減し、アクセス性能を改善するゲノムシーケンシングデータの新しい表現方法を提供する。
[関連出願の相互参照]
【０００２】
本出願は、２０１７年２月１４日に提出されたＰＣＴ／ＵＳ２０１７／０１７８４２及び２０１７年７月１１日に提出されたＰＣＴ／ＵＳ２０１７／０４１５９１の優先権及びその利益を主張する。
【背景技術】
【０００３】
ゲノムシーケンシングデータの適切な表現は、ゲノムバリアント呼び出し等の効率的なゲノム解析アプリケーションや、シーケンスデータとメタデータを処理することでさまざまな目的で実行されるその他すべての分析を可能にするために不可欠である。
【０００４】
ヒトゲノムのシーケンシングは、高スループット、低コストのシーケンシング技術の出現により、安価になって来ている。このような機会は、癌の診断及び治療から遺伝性疾患の同定に至るまで、抗体の同定のための病原体サーベイランスから、新しいワクチン、薬剤の作製、及び個別化された治療のカスタマイズに至るまで、いくつかの分野における新しい展望を開くものである。
【０００５】
病院、ゲノミクスデータ分析プロバイダー、バイオインフォマティクス、及び大規模な生物データ保存センターは、ゲノム医療を世界規模にスケールアップすることを可能にする、安価で、迅速で、信頼性があり、相互接続されたゲノム情報処理ソリューションを探している。シーケンシングプロセスにおけるボトルネックの一つがデータの記憶になっており、圧縮形式でゲノムシーケンシングデータを表現する方法が益々研究されている。
【０００６】
シーケンシングデータで最も使用されるゲノム情報の表示は、ＦＡＳＱ及びＳＡＭフォーマットの圧縮に基づいている。その目的は、従来から使用されているファイル形式（アライメントされていないデータとアライメントされたデータについては、それぞれＦＡＳＴＱとＳＡＭを使用）を圧縮することにある。このようなファイルは、プレーンテキスト文字で構成され、ＬＺ（LempelとZiv、最初の版を出版した作成者）方式（よく知られたｚｉｐ、ｇｚｉｐ等）等の汎用アプローチを使用して、上述のように圧縮される。ｇｚｉｐ等の汎用圧縮方式を使用する場合、圧縮の結果は通常、バイナリデータの単一のかたまりとなっている。このようなモノリシック形式の情報は、特に高スループットシーケンシングの場合のようにデータの量が非常に大きい場合、アーカイブ、転送、及び詳細化が非常に困難になる。ＢＡＭフォーマットは、ＳＡＭファイルによって伝達される実際のゲノム情報を抽出するよりもむしろ非効率的で、冗長なＳＡＭフォーマットの圧縮に焦点を当て、そして各データソースの特定の性質を利用するよりもむしろｇｚｉｐのような汎用テキストの圧縮アルゴリズムを採用するために、低い圧縮性能によって特徴付けられている（ゲノムデータ自体）。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
使用頻度は少ないが、ＢＡＭよりも効率的なゲノムデータ圧縮へのより洗練されたアプローチがＣＲＡＭである。ＣＲＡＭは、リファレンスに関する微分コード化を採用することにより効率的な圧縮を提供する（データソースの冗長性を部分的に活用する）。ただし、増分更新、ストリーミングのサポート、特定クラスの圧縮データへの選択的アクセス等の機能はまだ備わっていない。
【０００８】
これらのアプローチでは、圧縮率が低くなり、データ構造が圧縮されると、ナビゲート及び操作が困難になる。単純な操作を実行したり、ゲノムデータセットの選択した領域にアクセスしたりする場合でも、大規模で厳格なデータ構造を処理する必要があるため、ダウンストリーム解析は非常に遅くなる可能性がある。ＣＲＡＭは、ＣＲＡＭレコードの概念に依存している。各ＣＲＡＭレコードは、再構成に必要なすべてのエレメントをコード化することにより、単一のマッピングされたリード又はマッピングされていないリードを表す。
【０００９】
ＣＲＡＭには、本明細書に記載されている発明によって解決及び克服される、次の欠点と制限がある：
１．ＣＲＡＭは、特定の機能を共有するデータインデックスとデータサブセットへのランダムアクセスをサポートしていない。データのインデックスは仕様の範囲外であり（ＣＲＡＭの仕様ｖ．３．０のセクション１２を参照）、別のファイルとして実装される。対照的に、本明細書に記載されている本発明のアプローチは、コード化プロセスと統合されたデータ索引方法を採用し、コード化された（すなわち圧縮された）ビットストリームに索引が埋め込まれている。
２．ＣＲＡＭは、あらゆる種類のマッピングされたリード（完全に一致するリード、置換のみを伴うリード、挿入又は削除を伴うリード（「インデル（indels）」とも呼ばれる））を含むことができるコアデータブロックによって構築される。リファレンスシーケンスに関するマッピングの結果に従って、データの分類やクラス内のリードのグループ化の概念は無い。これは、特定の機能を持つリードのみが検索される場合でも、すべてのデータを検査する必要があることを意味する。このような制限は、コード化の前にクラスでデータを分類及び分割する、本発明により解決される。
３．ＣＲＡＭは、各リードを「ＣＲＡＭレコード」にカプセル化するという概念に基づいている。これは、特定の生物学的特徴（例えば：置換を伴うが「インデル（indels）」を伴わないリード、又は完全にマッピングされたリード）によって特徴づけられるリードを検索する場合、それぞれ完全な版の「記録」を検査する必要性を意味する。
対照的に、本発明では、別々の情報ブロックに別々にコード化されたデータクラスの概念があり、各リードをカプセル化するレコードの概念はない。これにより、各（ブロックの）リードをデコード化してその特徴を検査することなく、特定の生物学的特性（例えば：置換を伴うが「インデル（indels）」を伴わないリード、又は完全にマッピングされたリード）を有するリードのセットへのより効率的なアクセスが可能になる。
４．ＣＲＡＭレコードでは、各レコードフィールドは特定のフラグに関連付けられ、各ＣＲＡＭレコードには異なる種類のデータを含めることができるため、コンテキストの概念がなく、各フラグは常に同じ意味を持つ必要がある。このコード化メカニズムは冗長な情報を導入し、効率的なコンテキストベースのエントロピーコード化の使用を妨げる。
これに対し、本発明では、データを示すフラグは、データが属する情報を「ブロック」によって本質的に定義されるので、データを示すフラグの概念は存在しない。これは、使用されるべき記号の数が大幅に減少し、その結果、より効率的な圧縮に帰着する情報ソースのエントロピーが減少することを意味する。このような改善が可能なのは、異なる「ブロック」を使用することにより、エンコーダが、コンテキストに応じて異なる意味を有する各ブロックにわたって同じ記号を再利用することが可能になるためである。ＣＲＡＭでは、コンテキストの概念がなく、各ＣＲＡＭレコードに任意の種類のデータを含めることができるため、各フラグは常に同じ意味を持つ必要がある。
５．ＣＲＡＭの置換では、挿入と削除は異なる記述子、情報ソースのアルファベットのサイズを増加させ、より高い情報ソースのエントロピーをもたらすオプションを用いて表現される。対照的に、開示された発明のアプローチは、単一のアルファベット及び置換、挿入及び欠損のためのコード化を使用する。これはコード化とデコード化プロセスをより単純にし、コード化が高圧縮性能で特徴付けられるビットストリームを生じ、エントロピーの低いソースモデルを生成する。
【００１０】
本発明は、コード化されるべき冗長な情報が最小化され、選択的アクセス及び増分更新のためのサポートのような機能が圧縮ドメイン内で直接的に可能となるように、シーケンシングデータを分類及び分割することによってゲノムシーケンスを圧縮することを目的とする。
【課題を解決するための手段】
【００１１】
請求項に係る以下の特徴は、その提供によって既存の従来技術の解決策の問題を解決する。
【００１２】
ヌクレオチドシーケンスのリードを含むゲノムシーケンスデータをコード化する方法であって、
前記リードを１つ以上のリファレンスシーケンスにアライメントさせ、それによってアライメントリードを作成し、
指定されたマッチング規則に従って、前記１つ以上のリファレンスシーケンスを使用して前記アライメントリードを分類し、それによってアライメントリードのクラスを作成し、
前記分類されたアライメントリードを記述子の複数のブロックとしてコード化し、
前記分類されたアライメントリードを前記記述子の多数のブロックとしてコード化することは、前記アライメントリードの前記クラスに従って前記記述子を選択することを含み、
前記記述子のブロックをヘッダ情報で構造化し、それにより連続したアクセスユニットを作成する。
【００１３】
別の態様において、コード化方法は、前記指定されたマッチング規則を満たさない前記リードをマッピングされていないリードのクラスに分類することをさらに含み、
少なくともいくつかの前記マッピングされていないリードを使用してリファレンスシーケンスのセットを構築し、
前記マッピングされていないリードのクラスを、構築された前記リファレンスシーケンスのセットにアライメントし、
前記分類されたアライメントリードを記述子の複数のブロックとしてコード化し、
前記構築されたリファレンスシーケンスのセットをコード化し、
前記記述子のブロック及び前記コード化されたリファレンスシーケンスをヘッダ情報で構築し、それにより連続するアクセスユニットを作成する。
【００１４】
別の多様において、コード化方法は、前記リファレンスシーケンスにミスマッチのないゲノムリードを第１番目の「クラスＰ」として分類することさらに含む。
【００１５】
別の態様において、前記コード化方法は、シーケンシング装置がいずれの「塩基」も呼び出すことができず、かつ各リードにおけるミスマッチの数が所定のしきい値を超えない位置においてのみミスマッチが見出される場合に、ゲノムリードを第２番目の「クラスＮ」として分類することをさらに含む。
【００１６】
別の態様において、前記コード化方法は、前記シーケンシング装置がいかなる「塩基」も呼び出すことができなかった位置でミスマッチが見つかった場合、ゲノムリードを第３番目の「クラスＭ」として識別することをさらに含み、「ｎタイプ」のミスマッチと名付けられ、及び／又はリファレンスシーケンスとは異なる「塩基」と呼ばれ、「ｓタイプ」のミスマッチと名付けられ、及び前記ミスマッチの数は、前記「ｎタイプ」のミスマッチ、前記「ｓタイプ」のミスマッチの数に対して所定のしきい値を超えず、しきい値は、「ｎタイプ」及び「ｓタイプ」のミスマッチの数を計算する関数（ｆ（ｎ，ｓ））で与えられる。
【００１７】
別の態様において、前記コード化方法は、前記「クラスＭ」と同じ種類のミスマッチが発生する可能性がある場合、ゲノムリードを第４番目の「クラスＩ」と識別することをさらに含み、少なくとも１つのミスマッチの類型：「挿入」（「ｉタイプ」）、「削除」（「ｄタイプ」）、ソフトクリップ（「ｃタイプ」）が加えられ、ここで、各タイプの前記ミスマッチの数は、対応する所定のしきい値を超えず、しきい値は、「ｎタイプ」、「ｓタイプ」、「ｉタイプ」、「ｄタイプ」及び「ｃタイプ」のミスマッチの数を計算する関数（ｗ（ｎ，ｓ，ｉ，ｄ，ｃ））で与えられる。
【００１８】
別の態様において、前記コード化方法は、クラスＰ、Ｎ、Ｍ、Ｉのいずれの分類も見出さない全てのリードを含むものとして、ゲノムリードを第５番目の「クラスＵ」として識別することをさらに含む。
【００１９】
別の態様において、前記コード化方法は、コード化された前記ゲノムシーケンスのリードはペアになっていることをさらに含む。
【００２０】
別の態様において、前記コード化方法は、前記分類することが、１つのリードがクラスＰ、Ｎ、Ｍ又はＩに属し、他のリードが「クラスＵ」に属するすべてのリードペアを含むものとして、ゲノムリードを第６番目の「クラスＨＭ」として識別することをさらに含む。
【００２１】
別の態様において、前記コード化方法は、前記２つのメイトのリードが同じクラス（Ｐ、Ｎ、Ｍ、Ｉ、Ｕのそれぞれ）に分類されているかどうかを識別し、前記ペアを同じ識別されたクラスに割り当て、
前記２つのメイトのリードが異なるクラスに分類されているかどうかを識別し、それらがいずれも「クラスＵ」に属していない場合、前記ペアのリードを次式に従って最も優先度の高いクラスに割り当て：
Ｐ＜Ｎ＜Ｍ＜Ｉ
ここで、「クラスＰ」の優先度が最も低く、「クラスＩ」の優先度が最も高く、
前記２つのメイトのリードのうち一方のみが「クラスＵ」に属すると分類されたかどうかを識別し、前記ペアのリードを「クラスＨＭ」のシーケンスに属すると分類すること、をさらに含む。
【００２２】
別の態様において、前記コード化方法は、リードＮ、Ｍ、Ｉの各クラスは、「ｎタイプ」のミスマッチの数（２９２）、関数ｆ（ｎ，ｓ）（２９３）及び関数ｗ（ｎ，ｓ，ｉ，ｄ，ｃ）（２９４）によって、各クラスＮ、Ｍ、Ｉに対してそれぞれ定義されたしきい値のベクトル（２９２、２９３、２９４）に従って、２つ以上のサブクラス（２９６、２９７、２９８）にさらに分割される。
【００２３】
前記２つのメイトのリードが同じサブクラスに分類されているかどうかを識別し、前記ペアを同じサブクラスに割り当て、
前記２つのメイトのリードが異なるクラスのサブクラスに分類されているかどうかを識別し、前記ペアを、次の式に従って、優先度の高い前記クラスに属する前記サブクラスに割り当て、
Ｎ＜Ｍ＜Ｉ
ここで、Ｎが最も優先度が低く、Ｉが最も優先度が高く、
前記２つのメイトのリードが同じクラスに分類されており、そのクラスがＮ、Ｍ、又はＩであるが、サブクラスが異なるかどうかを識別し、前記ペアを、次の式に従って、最も優先度が高いサブクラスに割り当てる、
Ｎ１＜Ｎ２＜・・・＜Ｎｋ
Ｍ１＜Ｍ２＜・・・Ｍｊ
Ｉ１＜Ｉ２＜・・・＜Ｉｈ
ここで、最も高いインデックスが最も高い優先度を持つ、ことをさらに含む。
【００２４】
別の態様において、各リードのマッピング位置に関する情報は、ｐｏｓ記述子ブロックによってコード化される。
【００２５】
別の態様において、各リードのストランド性（すなわち、リードのシーケンスが由来するＤＮＡ鎖）に関する情報は、ｒｃｏｍｐ記述子ブロックによってコード化される。
【００２６】
別の態様において、ペアエンドリードのペアリング情報は、ｐａｉｒ記述子ブロックによってコード化される。
【００２７】
別の態様において、前記リードが適切なペアでマッピングされているか否か、プラットフォーム／ベンダーの品質チェックの失敗、ＰＣＲ又は光学複製であること、又は補助的なアライメントであること、のような付加的なアライメント情報は、フラグ記述子ブロックによってコード化される。
【００２８】
別の態様において、未知の塩基に関する情報は、ｍｍｉｓ記述子ブロックによってコード化される。
【００２９】
別の態様において、置換の位置に関する情報は、ｓｎｐｐ記述子ブロックによってコード化される。
【００３０】
別の態様において、置換の類型に関する情報は、特定のｓｎｐｔ記述子ブロックによってコード化される。
【００３１】
別の態様において、ミスマッチの位置、置換、挿入又は削除に関する情報は、ｉｎｄｐ記述子ブロックによってコード化される。
【００３２】
別の態様において、置換、挿入、又は削除のようなミスマッチの類型に関する情報は、ｉｎｄｔ記述子ブロックによってコード化される。
【００３３】
別の態様において、マッピングされたリードのクリップされた塩基に関する情報は、ｉｎｄｃ記述子ブロックによってコード化される。
【００３４】
別の態様において、マッピングされていないリードに関する情報は、ｕｒｅａｄｓ記述子ブロックによってコード化される。
【００３５】
別の態様において、コード化に使用されるリファレンスシーケンスの種類に関する情報は、ｒｔｙｐｅ記述子ブロックによってコード化される。
【００３６】
別の態様において、前記マッピングされたリードのマルチプルアライメントに関する情報は、ｍｍａｐ記述子ブロックによってコード化される。
【００３７】
別の態様において、前記同じリードのスプライスされたアライメント及びマルチプルアライメントに関する情報は、ｍｓａｒ記述子ブロック及びｍｍｐ記述子ブロックによってコード化される。
【００３８】
別の態様において、リードのアライメントスコアに関する情報は、ｍｓｃｏｒｅ記述子ブロックによってコード化される。
【００３９】
別の態様において、リードが属するグループに関する情報が、「ｒｇｒｏｕｐ」記述子ブロックによってコード化される。
【００４０】
別の態様において、前記コード化方法は、前記記述子のブロックは、アライメントされたリードの各クラス及びサブクラスごとに１つのセクションを含むマスターインデックステーブルを含み、前記セクションは、マスターインデックステーブル及び前記アクセスユニットの両方でコード化しているデータの各クラス又はサブクラスの各アクセスユニットの第１のリードの前記１つ以上のリファレンスシーケンス上の前記マッピング位置をさらに含む。
【００４１】
別の態様において、前記コード化方法は、前記記述子の前記ブロックが、使用される参照の種類（既存又は構築された）、及び前記リファレンスシーケンスにマッピングされない前記リードの前記セグメントに関する情報をさらに含む。
【００４２】
別の態様において、前記コード化方法は、前記リファレンスシーケンスは、置換、挿入、削除、及びクリッピングを適用することにより異なるリファレンスシーケンスに第１の変換がされ、記述子の多数のブロックとしての前記分類されたアライメントリードのコード化は前記変換されたリファレンスシーケンスを参照することをさらに含む。
【００４３】
別の態様において、前記コード化方法は、同じ変換が、全てのクラスのデータに対して使用される前記リファレンスシーケンスに適用されることをさらに含む。
【００４４】
別の態様において、前記コード化方法は、異なる変換が、データの各クラスに対して使用される前記リファレンスシーケンスに適用されることをさらに含む。
【００４５】
別の態様において、前記コード化方法は、前記リファレンスシーケンスの変換が記述子のブロックとしてコード化され、ヘッダ情報で構造化され、それにより連続するアクセスユニットを作成することをさらに含む。
【００４６】
別の態様において、前記コード化方法は、前記分類されたアラメントリードの前記コード化及び記述子のブロックの多重化としての前記関連するリファレンスシーケンス変換は、特定の記述子ブロック及び特定のソースモデルに関連付けをするステップをさらに含む。
【００４７】
別の態様において、前記コード化方法は、前記エントロピーコーダは、コンテキスト適応算術コーダ、可変長コーダ又はゴロムコーダのうちいずれか１つであることをさらに含む。
【００４８】
本発明はさらに、コード化されたゲノムデータをデコード化する方法であって、
ヘッダ情報を用いて記述子の多重化されたブロックを抽出するために前記コード化されたゲノムデータを含むアクセスユニットを解析し、
１つ以上のリファレンスシーケンスに関する分類を定義する特定のマッチング規則に従ってリードを抽出するために、記述子の前記多重化されたブロックをデコード化することを含む、方法を提供する。
【００４９】
別の態様において、デコード化方法は、マッピングされていないゲノムリードのデコード化をさらに含む。
【００５０】
別の態様において、デコード化方法は、分類されたゲノムリードのデコード化をさらに含む。
【００５１】
別の態様において、デコード化方法は、関連する関連マッピング位置及びリードの各クラスに対して１つのセクションを含むマスターインデックステーブルをデコード化することをさらに含む。
【００５２】
別の態様において、デコード化方法は、使用されるリファレンスの種類：既存、変換、又は構築、に関連する情報をデコード化することをさらに含む。
【００５３】
別の態様において、デコード化方法は、前記既存のリファレンスシーケンスに適用される１以上の変換に関連する情報をデコード化することをさらに含む。
【００５４】
別の態様において、デコード化方法は、ペアになっているゲノムリードをさらに含む。
【００５５】
別の態様において、デコード化方法は、前記ゲノムデータがエントロピーデコード化される場合をさらに含む。
【００５６】
本発明は、ゲノムシーケンスデータ２０９、ヌクレオチドシーケンスのリードを含む前記ゲノムシーケンスデータ２０９を圧縮するためのゲノムエンコーダ（２１０）をさらに
提供し、前記ゲノムエンコーダ（２１０）は、
前記リードを１つ以上のリファレンスシーケンスにアライメントさせ、それによりアライメントリードを作成するように構成された、アライナユニット（２０１）と、
構築されたリファレンスシーケンスを生成するように構成された構築された、リファレンス生成ユニット（２０２）と、
１つ以上の既存のリファレンスシーケンス又は構築されたリファレンスシーケンスを使用して、特定のマッチング規則に従って前記アライメントリードを分類し、それによってアライメントリード（２０８）のクラスを作成するように構成された、データ分類ユニット（２０４）と、
前記分類されたアライメントリードに従って前記記述子を選択することにより記述子のブロックとして前記分類されたアライメントリードをコード化するように構成された、１つ以上のブロックコード化ユニット（２０５〜２０７）と、
前記圧縮されたゲノムデータ及びメタデータを多重化するためのマルチプレクサ（２０１６）と、を含む。
【００５７】
別の態様において、ゲノムエンコーダは、既存のリファレンス及びデータクラス（２０８）を変換済みデータクラス（２０１８）に変換するように構成された、リファレンスシーケンス変換ユニット（２０１９）をさらに含む。
【００５８】
別の態様において、ゲノムエンコーダは、前記データ分類ユニット（２０４）が、データクラスＮ、Ｍ及びＩのサブクラスを生成するしきい値のベクトルで構成されたデータクラスＮ、Ｍ及びＩのエンコーダをさらに含む。
【００５９】
別の態様において、ゲノムエンコーダは、前記リファレンス変換ユニット（２０１９）は、データの全てのクラス及びサブクラスに対して同じリファレンス変換（３００）を適用することをさらに含む。
【００６０】
別の態様において、ゲノムエンコーダは、前記リファレンス変換ユニット（２０１９）は、データの異なるクラス及びサブクラスに対して異なるリファレンス変換（３０１、３０２、３０３）を適用することをさらに含む。
【００６１】
別の態様において、ゲノムエンコーダは、前述のコード化方法の全てを実行するのに適した機能をさらに含む。
【００６２】
本発明は、圧縮されたゲノムストリーム（２１１）を復元するためのゲノムデコーダー（２１８）をさらに提供し、前記ゲノムデコーダ（２１８）は、
圧縮されたゲノムデータとメタデータを逆多重化するためのデマルチプレクサ（２１０）と、
前記圧縮されたゲノムストリームを記述子のゲノムブロック（２１５）に構文解析するように構成された解析手段（２１２−２１４）と、
記述子のゲノムブロックをヌクレオチド（２１１）のシーケンスの分類されたリードにデコードするように構成された１つ以上のブロックデコーダ（２１６−２１７）と、
ヌクレオチドのシーケンスの非圧縮リードを生成するために、１つ以上のリファレンスシーケンス上のヌクレオチドのシーケンスの前記分類されたリードを選択的にデコード化するように構成されたゲノムデータクラスデコーダー（２１９）と、を含む。
【００６３】
別の態様において、ゲノムデコーダは、リファレンス変換記述子（２１１２）をデコード化し、ゲノムデータクラスデコーダ（２１９）によって使用される変換済みのリファレンス（２１１４）を生成するように構成されたリファレンス変換デコーダ（２１１３）をさらに含む。
【００６４】
別の態様において、ゲノムデコーダは、前記１つ以上のリファレンスシーケンスが、圧縮されたゲノムストリーム（２１１）に記憶されることをさらに含む。
【００６５】
別の態様において、ゲノムデコーダは、前記１以上のリファレンスシーケンスが、帯域外（out of band）メカニズムを介して前記デコーダに提供されることをさらに含む。
【００６６】
別の態様において、ゲノムデコーダは、前記１つ以上のリファレンスシーケンスが、デコーダで構築されることをさらに含む。
【００６７】
別の態様において、ゲノムデコーダは、１つ以上のリファレンスシーケンスが、リファレンス変換デコーダ（２１１３）によってデコーダで変換されることをさらに含む。
【００６８】
本発明は、前述のコード化方法の全ての態様を実行するための少なくとも１のプロセッサを実行させる命令を含むコンピュータ可読媒体をさらに提供する。
【００６９】
本発明は、前述のデコード化方法の全ての態様を実行するための少なくとも１のプロセッサを実行させる命令を含むコンピュータ可読媒体をさらに提供する。
【００７０】
本発明に、前述のコード化方法の全ての態様に従ってコード化されたゲノムを記憶するサポートデータをさらに提供する。
【発明の効果】
【００７１】
提案される手法の一態様は、異なるブロックで構造化され、別々にコード化されたデータとメタデータのクラスの定義である。既存の方法に関するこのような手法のより適切な改善は以下の通りである：
１．データ又はメタデータの種類ごとに効率的なソースモデルを提供することにより構成される情報ソースのエントロピーの減少による圧縮性能の向上；
２．圧縮されたデータ及びメタデータの一部に対して、圧縮されたドメイン内で直接、更なる処理目的のために選択的アクセスを行う可能性；
３．新しいシーケンシングデータ及び／又はメタデータ及び／又は特定のシーケンスリードのセットに関連する新しい解析結果を用いて、圧縮データ及びメタデータを増分的に（すなわち、デコード化と再コード化を必要としない）更新する可能性。
【図面の簡単な説明】
【００７２】
【図１】マッピングされたリードペアの位置が、第１のマッピングされたリードの絶対位置との差として「ｐｏｓ」ブロックでどのようにコード化されるかを示す。
【図２】ペアである２つのリードがどのようにして２つのＤＮＡ鎖から生成されるのかを示す。
【図３】ストランド１がリファレンスとして使用される場合、リード２の逆相補がどのようにコード化されるかを示す。
【図４】リードペアを構成するリードの４つの可能な組み合わせと、「ｒｃｏｍｐ」ブロック内のそれぞれのコード化を示す。
【図５】３つのリードペアのリード長が一定の場合におけるペアリング距離の計算方法を示す。
【図６】「ペア」ブロックでコード化されたペアリングエラー（pairing errors）によって、どのようにデコーダがコード化された「ＭＰＰＰＤ」を使用して正しいリードのペアリングを再構築する方法を示す。
【図７】リードがそのメイトよりも異なるリファレンスにマッピングされる場合のペアリング距離のコード化を示す。この場合、付加的な記述子がペアリング距離に追加される。その１つはシグナリングフラグ、２つ目はリファレンス識別子、及びペアリング距離である。
【図８】「ｎｍｉｓ」ブロック内の「ｎタイプ」のミスマッチングのコード化を示す。
【図９】リファレンスシーケンスに関する置換を示すマッピングされたリードペアを示す。
【図１０】置換の位置を絶対値又は微分値として計算する方法を示す。
【図１１】ＩＵＰＡＣコードを使用しない場合の置換の種類をコード化する記号の計算方法を示す。記号は、リードに存在する分子とその位置のリファレンスに存在する分子との間の距離−環状置換（circular substitution）ベクトルを表す。
【図１２】置換を「ｓｎｐｔ」ブロックにどのようにコード化する方法を示す。
【図１３】ＩＵＰＡＣ曖昧性コードを使用した場合における置換コードの計算方法を示す。
【図１４】ＩＵＰＡＣコードを使用した場合の「ｓｎｐｔ」ブロックのコード化の方法を示す。
【図１５】クラスＩのリードで使用される置換ベクトルがクラスＭと同じであり、記号Ａ、Ｃ、Ｇ、Ｔ、Ｎの挿入に特別なコードが追加されている態様を示す。
【図１６】ＩＵＰＡＣ曖昧性コードの場合のミスマッチとインデル（indels）のコード化の例を示す。この場合、置換ベクトルは非常に長くなるため、従って、可能な計算された記号は５つの記号の場合より多くなる。
【図１７】各ブロックに単一型のミスマッチ又は挿入の位置が含まれる、ミスマッチ及びインデル（indels）の異なるソースモデルを示す。この場合、記号は、ミスマッチ又はインデル（indels）の類型に対してコード化されない。
【図１８】ミスマッチ及びインデル（indels）のコード化の例を示す。特定の種類のミスマッチ又はインデル（indels）がリードに存在しない場合、対応するブロックに０がコード化される。０は、各ブロックのセパレータ及びターミネータとして機能する。
【図１９】リファレンスシーケンスの変更がＭリードをＰリードに変換する方法を示す。この操作により、特に高カバレッジデータの場合、データ構造の情報エントロピーを削減できる。
【図２０】本発明の一実施形態によるゲノムエンコーダ２０１０を示す。
【図２１】本発明の一実施形態によるゲノムデコーダ２１８を示す。
【図２２】リードをクラスタリングし、各クラスタから取得したセグメントをアセンブリすることによって、「内部」リファレンスを構築する方法を示す。
【図２３】特定のソート（例えば、辞書編集の順序）がリードに適用された後で、最新のリードを格納することによってリファレンスを構築する方法を示す。
【図２４】「マッピングされていない」リードのクラス（クラスＵ）に属するリードを、対応するブロックに格納又は伝送される６つの記述子を使用してコード化する方法を示す。
【図２５】クラスＵに属するリードの代替のコード化を示す。ここでは、コード付きｐｏｓ記述子を使用して、構築されたリファレンスリードのマッピング位置をコード化する。
【図２６】リードからミスマッチを除去するためにリファレンスを適用する方法を示す。場合によっては、リファレンス変換によって新しいミスマッチが生成されるか、変換が適用される前にリファレンスを参照するときに見つかったミスマッチの類型が変更される場合がある。
【図２７】ミスマッチの全て又はサブセットが削除された場合（つまり、変換前のクラスＭに属するリードは、リファレンスの変換が適用された後にクラスＰに割り当てられる）に、リファレンス変換がどのようにしてクラスリードの所属先を変更できるかを示す。
【図２８】ハーフマッピングリードペア（クラスＨＭ）を使用して、マッピングされていないリードで長いコンティグを構築することにより、リファレンスシーケンスの不明な領域を埋める方法を示す。
【図２９】クラスＮ、Ｍ、及びＩのデータのエンコーダがしきい値のベクトルで構成され、Ｎ、Ｍ、及びＩのデータクラスの個別のサブクラスを生成する方法を示す。
【図３０】全てのクラスのデータが、再コード化のために同じ変換されたリファレンスを使用することができるか、又は各クラスＮ、Ｍ及びＩ又はそれらの任意の組み合わせのために異なる変換を使用することができるかを示す。
【図３１】ゲノムデータセットヘッダの構造を示す。
【図３２】マスターインデックステーブルの一般的な構造を示す。各行には、データＰ、Ｎ、Ｍ、Ｉ、Ｕ、ＨＭのいくつかのクラスのゲノム区間（genomic intervals）と、メタデータ及び注釈へのポインタが含まれる。列は、コード化されたゲノムデータに関連するリファレンスシーケンス上の特定の位置を示す。
【図３３】クラスＰのリードに関連するゲノム区間（genomic intervals）を含むＭＩＴの１行の例を示す。異なるリファレンスシーケンスに関連するゲノム領域は、特別なフラグ（例では「Ｓ」）で区切られている。
【図３４】ローカルインデックステーブル（ＬＩＴ）の一般的な構造と、保存又は送信されたデータに含まれるコード化されたゲノム情報の物理的な場所へのポインタを保存するために使用される方法を示す。
【図３５】ブロックペイロードのアクセスユニット番号７及び８にアクセスするために使用されるＬＩＴの例を示す。
【図３６】ゲノムブロックヘッダーに含まれるＭＩＴとＬＩＴの複数の行の間の機能的な関係を示しす。
【図３７】異なるクラスに属するデータを含む異なるゲノムストリームによって伝送されるゲノムデータのいくつかのブロックによって、アクセスユニットがどのように構成されるかを示す。各ブロックは、さらに、データ伝送単位として用いられるデータパケットによって構成される。
【図３８】ヘッダと同種データの１つ以上のブロックに属する多重化ブロックによってアクセスユニットがどのように構成されるかを示す。各ブロックは、ゲノム情報の実際の記述子を含む１つ以上のパケットで構成できる。
【図３９】スプライシングのないマルチプルアライメントを示す。左端のリードには、Ｎ個のアライメントを有する。Ｎはデコード化されるｍｍａｐの第１の値で、第１のリードのアライメントの数を通知する。ｍｍａｐ記述子の次のＮ値がデコード化され、第２のリードのアライメントの数であるＰを計算するために使用される。
【図４０】位置、ペア、及びｍｍａｐ記述子を使用して、スプライスなしでマルチプルアライメントをコード化する方法を示す。左端のリードは、Ｎ個のアライメントを有する。
【図４１】スプライスを使用したマルチプルアライメントを示す。
【図４２】ｐｏｓ、ｐａｉｒ、ｍｍａｐ、及びｍｓａｒ記述子を使用して、スプライスとのマルチプルアライメントを表す方法を示す。
【発明を実施するための形態】
【００７３】
本発明に係るゲノム又はプロテオミックシーケンスには、例えば、限定ではなく、ヌクレオチドシーケンス、デオキシリボ核酸（ＤＮＡ）シーケンス、リボ核酸（ＲＮＡ）、及びアミノ酸シーケンスが含まれる。本明細書の説明は、ヌクレオチドシーケンスの形式のゲノム情報に関してかなり詳細であるが、当業者によって理解されるように、いくつかのバリエーションがあり、圧縮のための方法及びシステムは、他のゲノム又はプロテオームシーケンスについても同様に適用できることが理解されるであろう。
【００７４】
ゲノムシーケンシング情報は、高スループットシーケンシング（ＨＴＳ）装置によって、規定された語彙からの文字列によって表されるヌクレオチドのシーケンス（「塩基」とも呼ばれる）の形で生成される。最小の語彙は５つの記号で表され：｛Ａ、Ｃ、Ｇ、Ｔ、Ｎ｝はＤＮＡに存在する４種類のヌクレオチド、すなわちアデニン、シトシン、グアニン、チミンを表す。ＲＮＡにおいてチミンはウラシル（Ｕ）に置換される。Ｎは、シーケンシング装置がいずれの塩基も呼び出せなかったとき、その位置の実際の性質が決定されていないことを示す。ＩＵＰＡＣ曖昧性コードがシーケンシング装置によって採用される場合、記号に使用されるアルファベットは（Ａ、Ｃ、Ｇ、Ｔ、Ｕ、Ｗ、Ｓ、Ｍ、Ｋ、Ｒ、Ｙ、Ｎ、Ｄ、Ｈ、Ｖ、Ｎ）である。
【００７５】
シーケンシング装置によって生成されたヌクレオチドシーケンスは「リード」と呼ばれる。シーケンスリードは、数十から数千のヌクレオチドの長さを有する。一部の技術では、１つのリードは１つのＤＮＡ鎖から、第２のリードは他の鎖から得られた「ペア」のシーケンスリードを生成する。ゲノムシーケンシングでは、「カバレッジ」という用語を使用して、「リファレンスシーケンス」に関するシーケンスデータの冗長性のレベルを表す。例えば、ヒトゲノム（長さ3３２億塩基）で３０倍のカバレッジを達成するには、シーケンシング装置が合計３０×３２億塩基を生成し、リファレンスの各位置が平均３０回「カバー」されるようにする。
【００７６】
本開示を通して、リファレンスシーケンスは、シーケンシング装置により生成されたヌクレオチドシーケンスがアライメント／マッピングされる任意のシーケンスである。シーケンスの一例は、実際には「リファレンスゲノム」であり、種の遺伝子セットの代表例として科学者によってアセンブリされたシーケンスである。例えば、ＧＲＣｈ３７、ゲノム・リファレンス・コンソーシアムのヒトゲノム（ｂｕｉｌｄ３７）は、ニューヨーク州バッファローの匿名ボランティア１３名から派生している。但し、リファレンスシーケンスは、リードの圧縮性をさらに処理することを考慮して単に改善するように考案及び構築された合成シーケンスで構成することもできる。これについては、「クラスＵの記述子と、「クラスＵ」及び「クラスＨＭ」のマッピングされていないリードの「内部」リファレンスの構築」で詳しく説明し、図２２及び２３に示す。
【００７７】
シーケンシング装置では、次のようなシーケンスリードエラーが発生する可能性がある。
１．特定の塩基を呼び出す信頼性がないため、塩基の呼び出しをスキップする決定。これは未知の塩基と呼ばれ、「Ｎ」とラベル付けされる（「ｎタイプ」のミスマッチとして示される）。
２．シーケンスされたサンプルに実際に存在する核酸を表すために、間違った記号（つまり、異なる核酸を表す）を使用する；これは通常、「置換エラー」と呼ばれる（「ｓタイプ」のミスマッチとして示される）。
３．実際に存在する核酸を参照しないで付加的な記号の１つのシーケンスリードに挿入；これは通常、「挿入エラー」と呼ばれる（「ｉタイプ」のミスマッチとして示される）。
４．シーケンスされたサンプルに実際に存在する核酸を表す記号の１つのシーケンスリードからの削除；これは通常「削除エラー」と呼ばれる（「ｄタイプ」のミスマッチとして示される）。
５．元のシーケンスの実在を反映しない単一のフラグメントへの１つ以上のフラグメントの組換え；これは通常、アライナが塩基をクリップすると決定する結果となる（「ｃタイプ」のミスマッチとして示される）。
【００７８】
「カバレッジ」という用語は、リファレンスゲノム又はその一部が利用可能なシーケンスリードでカバーできる程度を定量化するために文献で使用されている。カバレッジは次のように言われている：
・  リファレンスゲノムのいくつかの部分がどんな解読可能な配列によってもマッピングされていない場合の部分的な（partial）（１×未満）；
・  リファレンスゲノムの全てのヌクレオチドが、シーケンス中のただ一つの記号によってマッピングされる単一の（single）（１×）；
・  リファレンスゲノムの各ヌクレオチドが複数回マッピングされる場合は、多数の（multiple）（２×、３×、Ｎ×）。
【００７９】
本発明は、関連情報が効率的にアクセス可能かつ移動可能であり、冗長情報の重みが低減されたゲノム情報表示フォーマットを定義することを目的とする。
【００８０】
開示された発明の主な革新的な態様は以下のとおりである。
１  シーケンスリードは、リファレンスシーケンスに関するアライメントの結果に従って、データクラスに分類及び区分される。このような分類及び区分化は、アラインメント結果及びマッチング精度に関連する基準に従って、コード化されたデータへの選択的アクセスを可能にする。
２  分類されたシーケンスリード及び関連するメタデータは、低い情報エントロピーによって特徴付けられる別個の情報ソースを取得するために、記述子の同種のブロックによって表される。
３  各クラスの統計的特性に適合した別個のソースモデルを用いて、各分離された情報ソースをモデル化する可能性、及び各リードのクラス内及び各別々にアクセス可能なデータユニット（アクセス単位）の各記述子ブロック内でソースモデルを変更する可能性。各ソースモデルの統計的性質に従って、適切なコンテキスト適応確率モデルと関連するエントロピーコーダの採用。
４  記述子ブロック間の対応と依存関係の定義により、全ての情報が必要ではない場合、全ての記述子ブロックをデコード化することなく、シーケンシングデータ及び関連するメタデータに選択的にアクセスできる。
５  「既存の」（「外部」とも呼ばれる）リファレンスシーケンス又は「変換された」リファレンスシーケンスに関する各シーケンスのデータクラス及び関連するメタデータブロックのコードは、記述子ブロックの情報ソースのエントロピーを減らすために、「既存の」リファレンスシーケンスに適切な変換を適用することによって取得される。前記記述子は、異なるデータクラスに分割されたリードを表す。「既存の」リファレンス又は「変換された」「既存の」リファレンスシーケンスを参照して、対応する記述子を使用したリードのコード化に続いて、さまざまなミスマッチの発生を使用して、低エントロピーの最終的なコード化表現を見つけ、より高い圧縮効率を達成するために、リファレンスシーケンスへの適切な変換を定義できる。
６  １つ以上のリファレンスシーケンスの構築（「内部の」リファレンスとも呼ばれ、本明細書では「外部の」リファレンスシーケンスとも呼ばれる「既存の」リファレンスシーケンスと区別する）は、制約のセットを満たさない既存のリファレンスシーケンスに関してある程度のマッチング精度を示すリードのクラスをコード化するために使用される。このような制約は、「内部の」リファレンスシーケンスに関してアライメントされたリードのクラスを圧縮形式で表現するためのコード化のコスト、及び「内部の」リファレンスシーケンス自体を表現するためのコストが、アライメントされていないリードのクラスを逐語的にコード化するよりも、又は変換を伴わずに、又は伴う「外部の」リファレンスシーケンスを使用するよりも低いという目的で設定される。
【００８１】
以下、上記に各態様についてさらに詳細に説明する。
［マッチング規則に従ったシーケンスリードの分類］
【００８２】
シーケンシング装置により生成されたシーケンスリードは、開示された発明により、１つ以上の「既存の」リファレンスシーケンスに関するアライメントのマッチング結果に従って６つの異なる「クラス」に分類される。
【００８３】
ヌクレオチドのＤＮＡシーケンスをリファレンスシーケンスに対してアライメントさせる場合、次のケースを特定できる：
１．リファレンスシーケンス内のある領域は、エラーを伴わないシーケンスリードと一致することが分かる（すなわち、完全なマッピング）そのようなヌクレオチドのシーケンスは、「完全にマッチングするリード」と呼ばれるか、「クラスＰ」と表示される。
２．リファレンスシーケンスのある領域は、リードを生成するシーケンシング装置が塩基（又はフクレオチド）を呼び出すことができなかった数と位置によってのみ決定されるミスマッチの数と類型を伴うシーケンスリードと一致することが分かる。そのような類型のミスマッチは、未定義のヌクレオチド塩基を示すために使用される文字「Ｎ」で示される。本明細書では、この類型のミスマッチを「ｎタイプ」ミスマッチと呼ぶ。このようなシーケンスは「クラスＮ」リードに属する。リードが「クラスＮ」に属すると分類されると、マッチングの不正確さの程度を特定の上限に制限し、有効なマッチングと見なされるものとそうでないものとの境界を設定すると便利である。したがって、クラスＮに割り当てられたリードは、リードに含めることができる未定義の塩基（「Ｎ」と呼ばれる塩基）の最大数を定義するしきい値（ＭＡＸＮ）を設定することによっても制約される。このような分類は、クラスＮに属する全てのリードが、対応するリファレンスシーケンスを参照するときに共有する必要な最小マッチング精度(又は最大マッチング度)を黙示的に定義し、これは、選択的なデータ検索を圧縮データに適用するための有用な基準を構成する。
３．リファレンスシーケンス中のある領域は、リードを生成するシーケンシング装置がいずれのヌクレオチド塩基も呼び出せなかった位置の数、もし存在するならば（すなわち「ｎタイプ」のミスマッチ）、それに加えて、リファレンス中に存在するものとは異なる塩基が呼ばれた不一致の数、によって決定されたミスマッチの数と類型を伴うシーケンスリードと一致することが分かる。「置換」として示されるこのようなミスマッチの類型は、一塩基変異（ＳＮＶ）又は一塩基多型（ＳＮＰ）とも呼ばれる。本明細書では、この類型のミスマッチを「ｓタイプ」ミスマッチと呼ぶ。シーケンスリードは「Ｍミスマッチリード」として参照され、「クラスＭ」に割り当てられる。「クラスＮ」の場合と同様に、「クラスＭ」に属するすべてのリードについても、マッチングの不正確さの程度を特定の上限に制限し、有効なマッチングと見なされるものとそうでないものとの境界を設定すると便利である。したがって、クラスＭに割り当てられたリードは、しきい値のセットを定義することによって制約され、１つは「ｎタイプ」のミスマッチが存在する場合はその数「ｎ」（ＭＡＸＮ）、もう１つは置換の数「ｓ」（ＭＡＸＳ）である。第３の制約は、数値「ｎ」と「ｓ」との両方の関数ｆ（ｎ，ｓ）によって定義されるしきい値である。このような第２の制約は、任意の意味のある選択的アクセス基準に従ってマッチングの不正確さの上限を持つクラスを生成することを可能にする。例えば、限定ではないが、ｆ（ｎ，ｓ）は、（ｎ＋ｓ）１／２、又は（ｎ＋ｓ）、又は「クラスＭ」に属するリードに対して許容されるマッチングの最大不正確さレベルに境界を設定する任意の線形式又は非線形式であり得る。このような境界は、１つの類型又は他の類型に適用される単純なしきい値を超えて、「ｎタイプ」のミスマッチと「ｓタイプ」のミスマッチ（置換）の数の可能な組み合わせにさらなる境界を与えるため、様々な目的のためにシーケンスリードを分析する際に、所望の選択的なデータ検索を、圧縮データに適用するための非常に有用な基準を構成する。
４．第４の分類は、「挿入」、「削除」（インデル（indels）とも呼ばれる）、「クリップ」のいずれかの類型の少なくとも１つのミスマッチを示すシーケンシングリードで構成され、さらに、クラスＮ又はＭに属するミスマッチの類型が存在する場合である。このようなシーケンスは「Ｉミスマッチリード」と呼ばれ、「クラスＩ」に割り当てられる。挿入は、リファレンスには存在しないがリードシーケンスには存在する１つ以上のヌクレオチドの追加の配列によって構成される。本明細書では、この類型のミスマッチを「ｉタイプ」ミスマッチと呼ぶ。挿入されたシーケンスがシーケンスの端にあるとき、文献では、それは「ソフトクリップ」とも呼ばれる（すなわち、ヌクレオチドはリファレンスにマッチングしていないが、廃棄される「ハードクリップ」ヌクレオチドとは対照的に、アライメントされたリードにおいて保持される）。本明細書では、この類型のミスマッチを「ｃタイプ」ミスマッチと呼ぶ。ヌクレオチドの保持又は破棄は、シーケンシング装置によって、又は以下のシーケンシング段階によって決定されるように、リードを受け取り処理する本発明に開示されるリードの分類器によってではなく、アライナ段階によって行われる決定である。シーケンシング装置によって、又は以下のシーケンシング段階によって決定されるように、リードを受信して処理する本発明に開示されるリードの分類器によってではなく、アライナ段階によって行われる決定である。削除は、リファレンスに対するリードにおける「ホール」（ヌクレオチド欠損）である。本書では、このタイプのミスマッチを「ｄタイプ」ミスマッチと呼ぶ。クラス「Ｎ」及び「Ｍ」の場合と同様に、マッチングの不正確さに対する制限を定義することは可能であり、かつ適切である。「クラスＩ」に対する一連の制約の定義は、「クラスＭ」に使用されたものと同じ原則に基づいており、表１の最後の行に示されている。クラスＩのデータに対して許容される各類型のミスマッチに対するしきい値の他に、さらなる制約は、ミスマッチの数「ｎ」、「ｓ」、「ｄ」、「ｉ」及び「ｃ」であり、関数ｗ（ｎ，ｓ，ｄ，ｉ，ｃ）によって決定されるしきい値によって定義される。このような付加的制約は、任意の意味のあるユーザ定義の選択的なアクセス基準に従ってマッチングの不正確さの上限を持つクラスを生成することを可能にする。例えば、これに限定されるものではないが、ｗ（ｎ，ｓ，ｄ，ｉ，ｃ）は、（ｎ＋ｓ＋ｄ＋ｉ＋ｃ）１／５又は（ｎ＋ｓ＋ｄ＋ｉ＋ｃ）、又は「クラスＩ」に属するリードに対して許容されるマッチングの最大不正確レベルに境界を設定する任意の線形式又は非線形式であり得る。このような境界は、この境界は、許容可能なミスマッチの各タイプに適用される単純な閾値を超えて、「クラスＩ」のリードにおいて許容可能なミスマッチの数の任意の可能な組み合わせに対して、さらなる境界を設定することを可能にするため、様々な目的でシーケンスリードを解析するときに、所望の選択的なデータ検索を圧縮データに適用するための非常に有用な基準を構成する。
５．第５の分類は、リファレンスシーケンスを参照するときに、各データクラスに対して有効であると見なされるマッピング（すなわち、表１で指定されたマッチングの最大精度の上限を定義するマッチング規則のセットを満たしていない）を見つけないすべてのリードを含む。このようなシーケンスは、リファレンスシーケンスを参照するときに「マッピングされていない（Unmapped）」と呼ばれ、「クラスＵ」に属するものとして分類される。
［マッチング規則によるリードペアの分類］
【００８４】
前のセクションで指定された分類は、単一のシーケンスリードに関するものである。
２つのリードが可変長の未知のシーケンスで分離されていることがわかっているペアでリードを生成するシーケンス技術（イルミナ社（Illumina Inc.））の場合、ペア全体を単一のデータクラスに分類することを検討するのが適切である。別のリードと結合されたリードは、その「メイト（mate）」と呼ばれる。
【００８５】
ペアの両方のリードが同じクラスに属している場合、ペア全体のクラスへの割り当ては明らかである：ペア全体が任意のクラスの同じクラスに割り当てられる（つまり、Ｐ、Ｎ、Ｍ、Ｉ、Ｕ）。２つのリードが異なるクラスに属しているが、いずれも「クラスＵ」に属していない場合、ペア全体が次の式に従って定義された最高の優先度を持つクラスに割り当てられる：
Ｐ＜Ｎ＜Ｍ＜Ｉ
ここで、「クラスＰ」の優先度が最も低く、「クラスＩ」の優先度が最も高くなる。
【００８６】
リードの１つだけが「クラスＵ」に属し、そのメイトがクラスＰ、Ｎ、Ｍのいずれかに属する場合、第６のクラスは「ハーフマッピング」を表す「クラスＨＭ」として定義される。
【００８７】
このような特定のクラスのリードの定義は、リファレンスゲノムに存在するギャップ又は未知の領域（ほとんど知られていない未知の領域とも呼ばれる）を決定しようとするために使用されるという事実に基づいている。このような領域は、既知の領域にマッピングすることができるペアリードを使用してエッジでペアをマッピングすることによって再構成される。マッピングされていないメイトは、図２８に示すように、未知の領域のいわゆる「コンティグ」を作るのに使われる。したがって、このような類型のリードペアのみに選択的アクセスを提供すると、関連する計算の負担が大幅に軽減され、最新のソリューションを使用すると完全に検査する必要がある大量のデータセットに起因するデータの非常に効率的な処理が可能になる。
【００８８】
次の表に、各リードが属するデータのクラスを定義するためにリードに適用されるマッチング規則を示す。この規則は、ミスマッチの類型（ｎ、ｓ、ｄ、ｉ、ｃ型ミスマッチ）の有無に関して、表の最初の５列で定義される。第６の列は、それぞれのミスマッチの類型に対する最大しきい値、及び起こり得るミスマッチの類型の任意の関数ｆ（ｎ，ｓ）及びｗ（ｎ，ｓ，ｄ，ｉ、ｃ）に関する規則を提供する。
【００８９】
表１．各シーケンスリードが本発明の開示において定義されるデータのクラスに分類されるために満たさなければならないミスマッチの類型及び制限のセット。
【００９０】
表１．各シーケンスリードが、本発明の開示において定義されるデータクラスに分類されるために満足しなければならないミスマッチの類型及び制約のセット
【表１】
2020509473.tif 000003
［マッチング精度の異なるサブクラスへのクラスＮ、Ｍ及びＩのシーケンスリードのマッチング規則のパーティション］
【００９１】
前のセクションで定義されたタイプＮ、Ｍ及びＩのデータクラスは、さらに、マッチング精度の程度が異なる任意の数の別個のサブクラスに分解することができる。このようなオプションは、より細かい粒度を提供する上で重要な技術的利点であり、その結果、各データクラスへのより効率的な選択的アクセスを提供する。限定ではなく一例として、クラスＮをサブクラス数ｋ（サブクラスＮ１、・・・、サブクラスＮｋ）に分解するには、対応する成分ＭＡＸＮ１、ＭＡＸＮ２、・・・、ＭＡＸＮ（ｋ−１）、ＭＡＸＮ（ｋ）を持つベクトルを定義する必要があり、条件ＭＡＸＮ１＜ＭＡＸＮ２＜・・・＜ＭＡＸＮ（ｋ−１）＜ＭＡＸＮで、各リードを、ベクトルの各エレメントが評価されたときに表１で指定された制限を満たす最下位にランク付けされたサブクラスに割り当てる。これは、図２９に示されており、データ分類ユニット２９１は、クラスＰ、Ｎ、Ｍ、Ｉ、Ｕ、ＨＭエンコーダ、及び注釈及びメタデータ用のエンコーダを含む。クラスＮのエンコーダは、Ｎ個のデータ（２９６）のｋ個のサブクラスを生成するＭＡＸＮ１からＭＡＸＮｋ２９２までのしきい値のベクトルで構成される。
【００９２】
タイプＭとタイプＩのクラスの場合、ＭＡＸＭとＭＡＸＴＯＴにそれぞれ同じ特性を持つベクトルを定義することによって同じ原理が適用され、関数ｆ（ｎ，ｓ）と関数ｗ（ｎ，ｓ，ｄ，Ｉ，ｃ）が制限を満たすか否かをチェックするためのしきい値として各ベクトル成分が使用される。タイプＮのサブクラスの場合と同様に、割り当ては、制限が満たされている最下位のサブクラスに与えられる。各クラスの類型に対するサブクラスの数は独立しており、サブ区分の任意の組み合わせが許容される。これは図２９に示されており、クラスＭエンコーダ２９３及びクラスＩエンコーダ２９４は、それぞれ、しきい値ＭＡＸＭ１からＭＡＸＭｊ、及びＭＡＸＴＯＴ１からＭＡＸＴＯＴｈのベクトルで構成されている。２つのエンコーダはそれぞれＭ個のデータ（２９７）のｊ個のサブクラスとＩ個のデータ（２９８）のｈ個のサブクラスを生成する。
【００９３】
ペアの２つのリードが同じサブクラスに分類される場合、ペアは同じサブクラスに属する。
【００９４】
ペアの２つのリードが異なるクラスのサブクラスに分類される場合、ペアは次の式に従って優先度の高いクラスのサブクラスに属する。
Ｎ＜Ｍ＜Ｉ
ここで、Ｎの優先度が最も低く、Ｉの優先度が最も高くなる。
【００９５】
２つのリードがクラスＮ、Ｍ、又はＩのいずれかの異なるサブクラスに属する場合、ペアは次の式に従って最も高い優先度を持つサブクラスに属する。
Ｎ１＜Ｎ２＜・・・＜Ｎｋ
Ｍ１＜Ｍ２＜・・・Ｍｊ
Ｉ１＜Ｉ２＜・・・＜Ｉｈ
ここで、最も高いインデックスが最も高い優先順位を持つ。
［「外部の」リファレンスシーケンスの変換］
【００９６】
クラスＮ、Ｍ、Ｉに分類されたリードで見つかったミスマッチを使用して、リードの表現をより効率的に圧縮するために使用される「変形」のリファレンスを作成できる。
【００９７】
クラスＮ、Ｍ又はＩ（ＲＳ０として示される「既存の」（すなわち「外部の」）リファレンスシーケンスに関して）に属すると分類されたリードは、「変換」のリファレンスとの実際のミスマッチの発生に従って、「変換」リファレンスシーケンスＲＳ１に関してコード化することができる。例えば、リファレンスシーケンスＲＳｎに関してミスマッチを含むクラスＭ（クラスＭの第ｉ番目のリードとして示される）に属するｒｅａｄＭｉｎの場合、「変換」後のｒｅａｄＭｉｎ＝ｒｅａｄＰｉ（ｎ＋１）は、Ａ（Ｒｅｆｎ）＝Ｒｅｆｎ＋１として得ることができる。ここで、ＡはリファレンスシーケンスＲＳｎからリファレンスシーケンスＲＳｎ＋１への変換である。
【００９８】
図１９は、リファレンスシーケンス１（ＲＳ１）に対するミスマッチ（クラスＭに属する）を含むリードを、ミスマッチ位置に対応する塩基を修正することによって、ＲＳ１から得られるリファレンスシーケンス２（ＲＳ２）に対する完全にマッチングするリードに変換する方法の例を示す。これらは分類されたままであり、同じデータクラスアクセスユニット内の他のリードと一緒にコード化されるが、コード化はクラスＰリードに必要な記述子と記述子値のみを使用して行われる。この変換は、次のように表すことができる。
【００９９】
ＲＳ１に適用されたときにＲＳ２を生成する変換Ａの表現に、リードペアＲＳ２の表現を加えたものが、クラスＭ対ＴＳ１のリードの表現よりも低いエントロピーに対応する場合、
データ表現のより高い圧縮が達成されるので、変換Ａの表現及びリード対ＲＳ２の対応する表現を送信することが有利である。
【０１００】
圧縮ビットストリームにおける送信のための変換Ａのコード化は、以下の表に定義されるように、２つの付加的な記述子の定義を必要とする。
【表２】
2020509473.tif 000004
【０１０１】
図２６は、マッピングされたリードでコード化されるミスマッチの数を減らすために、リファレンス変換がどのように適用されるかの例を示す。
【０１０２】
場合によっては、リファレンスに変換が適用されることに注意する必要がある。
・  変換を適用する前にリファレンスを参照するときに存在しなかったリードの表現にミスマッチが生じる場合がある。
・  ミスマッチの類型を変更することができ、リードにはＧの代わりにＡが含まれ、他のすべてのリードにはＧの代わりにＣが含まれるが、ミスマッチが同じ位置に残る。
・  異なるデータクラス及び各データクラスのデータのサブセットは、同じ「変換された」リファレンスシーケンス、又は同じ既存のリファレンスシーケンスに異なる変換を適用することによって得られたリファレンスシーケンスを参照することがある。
【０１０３】
図２７はさらに、リファレンス変換が適用され、リードが「変換された」リファレンスを使用して表された後に、リードが適切な記述子セット（例えば、クラスＰの記述子を使用してクラスＭからのリードをコード化する）によってあるデータクラスから別のクラスにコード化の類型を変更する方法の例を示す。これは、例えば、変換により、実際にリードに存在する塩基のリードのミスマッチに対応するすべての塩基が変更されると、それによって、クラスＭに属するリード（もとの非「変換」リファレンスシーケンスを参照する場合）を、クラスＰの仮想リード（「変換された」リファレンスを参照するとき）の仮想的なリードに仮想的に変換する場合に発生する。データの各クラスに使用される記述子のセットの定義は、以下のセクションで提供される。
【０１０４】
図３０は、異なるクラスのデータが同じ「変換された」リファレンスＲ１＝Ａ０（Ｒ０）（３００）を使用してリードを再コード化する方法、又は異なる変換ＡＮ（３０１）、ＡＭ（３０２）、ＡＩ（３０３）を各クラスのデータに別々に適用できることを示す。
［記述子のブロックへのシーケンスリードを表現するために必要な情報の定義］
【０１０５】
リードの分類がクラスの定義で完了すると、さらなる処理は、特定のリファレンスシーケンスにマッピングされているとして表されたときに、リードシーケンスの再構築を可能にする残りの情報を表す個別の記述子のセットを定義することにある。これらの記述子のデータ構造は、デコーディングエンジンによって使用されるグローバルパラメータ及びメタデータの記憶を必要とする。これらのデータは、以下の表に示すゲノムデータセットヘッダ（Genomic Dataset Header）で構成されている。データセットは、単一のゲノムシーケンシングの実行及び以下の全ての分析に関連するゲノム情報を再構築するのに必要なコードのエレメントの集合として定義される。同一のゲノム試料を２回の個別の実行で２回シーケンシングする場合、得られたデータは２つの個別のデータセットとしてコード化される。
【０１０６】
表１．ゲノムデータセットヘッダの構造
【表３】
2020509473.tif 000005
2020509473.tif 000006
【０１０７】
所定のリファレンスシーケンスを参照するシーケンスリード（すなわち、ＤＮＡセグメント）は、次式で十分に表すことができる：
・  リファレンスシーケンス上の開始位置（ｐｏｓ）
・  リードが、リファレンス（ｒｃｏｍｐ）に対する逆補完と見なされなければならない場合にシグナルを送るフラグ。
・  ペアリードにおける場合の、メイトとなるペアまでの距離（ｐａｉｒ）。
・  可変読み出し長を生成するシーケンシング技術の場合のリード長（ｌｅｎ）。リード長が一定の場合、各リードに関連するリード長は明らかに省略でき、メインファイルのヘッダに格納できる。
・  各ミスマッチについて：
・  位置のミスマッチ（クラスＮはｎｍｉｓ、クラスＭはｓｎｐｐ、クラスＩはｉｎｄｐ）
・  ミスマッチの類型（クラスＮに存在せず、クラスＭにｓｎｐｔ、クラスＩにｉｎｄｔ）
・  次のようなシーケンスリードの特別な特性を表すフラグ
・  シーケンシングにおいて複数のセグメントを有するテンプレート
・  各セグメントがアライナに従って正しく位置合わせされていること
・  マッピングされていないセグメント
・  マッピングされていないテンプレートの次のセグメント
・  最初又は最後のセグメントの信号化
・  品質管理不良
・  ＰＣＲ又は光学的複製
・  二次的なアライメント
・  補助的なアライメント
・  ソフトクリップされたヌクレオチドシーケンスが存在する場合（クラスＩのindc）
・  アライメントと圧縮に使用されるリファレンスを示すフラグ（例：クラスＵの「内部の」リファレンス）、該当する場合において（記述子ｒｔｙｐｅ）。
・  クラスＵの場合、記述子ｉｎｄｃは、「内部」のリファレンスを使用して、指定されたマッチング精度の制限のセットを使用し、リードのマッチングしない部分（通常はエッジ）を識別する。
・  ｕｒｅａｄｓ記述子は、既存の（すなわち、「外部」のリファレンスゲノム）又は「内部の」リファレンスシーケンスであるため、使用可能なリファレンスにマッピングできないリードをそのままコード化するために使用される。
【０１０８】
この分類は、ゲノムシーケンスリードを一義的に表現するために用いることができる記述子のグループ（記述子）を生成する。次の表は、「外部の」（すなわち「既存の」）リファレンス又は「内部の」（すなわち「構築された」）リファレンスでアライメントされたリードの各クラスに必要な記述子をまとめたものである。
【０１０９】
表２．データのクラスごとに定義された記述子のブロック
【表４】
2020509473.tif 000007
【０１１０】
クラスＰに属するリードは、特徴づけられ、位置、逆相補情報、及び、メイトペア、いくつかのフラグ、及びリード長を生成するシーケンシング技術によって取得されたメイトとの間のオフセットのみによって完全に再構成される。
【０１１１】
次のセクションでは、これらの記述子がクラスＰ、Ｎ、Ｍ、Ｉに対してどのように定義されるかを詳細に説明し、クラスＵについては、以下のセクションで説明する。
【０１１２】
クラスＨＭはリードペアにのみ適用され、一方のリードがクラスＰ、Ｎ、Ｍ、又はＩに属し、もう一方のリードがクラスＵに属する特殊なケースである。
［位置記述子］
【０１１３】
位置（ｐｏｓ）ブロックでは、コード化された第１のリードのマッピング位置のみがリファレンスシーケンス上の絶対値として格納される。他の全ての位置記述子は、前の位置に対する差を表す値を仮定する。リード位置記述子のシーケンスによって定義される情報ソースのこのようなモデリングは、一般に、特に高カバレッジ結果を生成するシーケンシングプロセスのために、低減されたエントロピーによって特徴付けられる。
【０１１４】
例えば、図１は、リファレンスシーケンス上の位置「１００００」として第１のアライメントの開始位置を記述した後、位置１０１８０で開始する第２のリードの位置を「１０８０」として記述する方法を示す。高カバレッジ（＞５０×）では、位置ベクトルの記述子の大部分は、０や１等の低い値や他の小さな整数の高い出現率を示す。図１は、３つのリードペアの位置がどのようにｐｏｓブロックに記述されるかを示す。
［逆相補記述子］
【０１１５】
シーケンシング技術によって生じたリードペアの各リードは、シーケンシングされた有機試料のいずれのゲノムストランド（genome strands）からも生じ得る。しかし、２本のストランドのうち１本だけがリファレンスシーケンスとして用いられる。図２は、リードペアにおいて、一方のリード（リード１）が、一方のストランドから、もう一方のリード（リード２）がもう一方のストランドから開始される様子を示す。
【０１１６】
ストランド１をリファレンスシーケンスとして用いた場合、リード２はストランド１上の対応する断片の逆相補ストランドとしてコード化される。これを図３に示す。
【０１１７】
結合されたリードの場合には、直接相補ペアと逆相補ペアの組み合わせは４通りある。これを図４に示す。ｒｃｏｍｐブロックは、可能な４つの組み合わせをコード化する。
【０１１８】
同じコード化は、クラスＮ、Ｍ、Ｐ、Ｉに属するリードの逆補完情報に使用される。異なるデータクラスへの選択的アクセスを可能にするために、４つのクラスに属するリードの逆補完情報は、表２に示すように異なるブロックにコード化される。
［ペアリング情報記述子］
【０１１９】
ペア記述子はペアブロックに記憶される。このようなブロックは、適用されたシーケンシング技術がペアごとのリードを生成するときに、元のリードペアを再構築するために必要な情報をコード化する記述子を記憶する。本発明の開示の時点で、シーケンシングデータの大部分は、ペアを形成するリードを生成する技術を使用して生成されるが、それは全ての技術の場合ではない。これは、考慮されるゲノムデータのシーケンシング技術が、ペアを形成するリード情報を生成しない場合、このブロックの存在が全てのシーケンシングデータ情報を再構築するために必要でない理由である。
［定義］
【０１２０】
・  メイトペア（mate pair）：リードペアの他のリードに関連付けられたリード（例えば、前述の例では、リード２はリード１のメイトペアである）。
・  ペアリング距離（pairing distance）：第１のリード（ペアリングアンカー、例えば、第１のリードの最後のヌクレオチド）のある位置から第２のリード（例えば、第２のリードの最初のヌクレオチド）のある位置を分離するリファレンスシーケンス上に配置されるヌクレオチドの数。
・  最も可能性のあるペアリング距離（ＭＰＰＤ）：これは、ヌクレオチドの数で表される最も可能性の高いペアリング距離。
・ペアリング距離の位置（ＰＤＤ）：ＰＤＤは、特定の位置記述子ブロックに存在するそれぞれのメイトから、リードを分離するリードの数によってペアリング距離を表す方法である。
・  最も可能性の高いペアリング距離の位置（ＭＰＰＤ）：特定の位置記述子ブロックに存在するメイトペアからリードを分離する、最も可能性の高いリード数である。
・  ペアリングエラーの位置（ＰＰＥ）：ＭＰＰＤ又はＭＰＰＤとメイトの実際の位置との差として定義される。
・  ペアリングアンカー：ペアの中の第１のリードの最後のヌクレオチドの位置で、リード位置の数又はヌクレオチドの位置の数に関してメイトペアの距離を計算するためのリファレンスとして用いられる。
【０１２１】
図５は、リードペア間のペアリング距離の計算方法を示す。
【０１２２】
ペア（ｐａｉｒ）記述子ブロックは、定義されたデコード化されたペアリング距離に関して、ペアの第１のリードのメイトペアに達するためにスキップされるリードの数として計算されるペアリングエラー（pairing errors）のベクトルである。
【０１２３】
図６は、ペアリングエラーが、絶対値と微分ベクトル（高カバレッジのためのより低いエントロピーによって特徴づけられる）の両方によってどのように計算されるかの一例を示す。
【０１２４】
クラスＮ、Ｍ、Ｐ及びＩに属するリードのペアリング情報には、同じ記述子が使用される。異なるデータクラスへの選択的アクセスを可能にするために、図８（クラスＮ）、図１０、１２及び１４（クラスＭ）、及び図１５及び図１６（クラスＩ）に示すように、４つのクラスに属するリードのペアリング情報が異なるブロックにコード化される。
［異なるリファレンスシーケンス上にマッピングされたリードの場合のペアリング情報］
【０１２５】
シーケンスリードをリファレンスシーケンスにマッピングする過程で第１のリードをあるリファレンスシーケンス（例えば、第１の染色体）にマッピングし、第２のリードを別のリファレンスシーケンス（例えば、第４染色体）にマッピングすることも珍しくない。この場合、上述のペアリング情報は、リードの１つをマッピングするために使用されるリファレンスシーケンスに関連する追加情報によって統合する必要がある。これは、コード化によって達成される：
１．２つの異なるシーケンス（リード１又はリード２が現在コード化されていないシーケンス上にマッピングされているとしたならば、異なる値を示す）にマッピングされていることを示す予め定められた値（フラグ）。
２．表１に示されるように、メインヘッダ構造においてコード化されたリファレンス識別子を参照するユニークなリファレンス識別子。
３．第３のエレメントは、ポイント２で識別され、最後にコード化された位置に対するオフセットとして表されるリファレンスに関するマッピング情報を含む。
【０１２６】
図７に、このシナリオの例を示す。
【０１２７】
図７では、リード４は、現在コード化されているリファレンスシーケンス上にマッピングされていないので、ゲノムエンコーダは、ペアブロック中に付加的な記述子を作ることによってこの情報をシグナリングする。次の例では、ペア２のリード４がリファレンスＮｏ．４にマッピングされているが、現在コード化されているリファレンスはＮｏ．１である。この情報は、次の３つのコンポーネントを使用してコード化される。
１）  一つの特別な予め定められた値はペアリング距離（この場合は、０ｘｆｆｆｆｆ）としてコード化される。
２）  第２の記述子は、メインヘッダ（この場合は４）に記載されたリファレンスＩＤを提供する。
３）  第３のエレメントは、関連するリファレンス（１７０）のマッピング情報が含まれる。
［クラスＮリードのミスマッチ記述子］
【０１２８】
クラスＮには、「ｎタイプ」のミスマッチのみが存在するすべてのリードが含まれ、
Ａ、Ｃ、Ｇ又はＴ塩基の場所で、呼び出された塩基がＮとして見出される。リードの他のすべての塩基は、リファレンスシーケンスと完全にマッチングする。
【０１２９】
図８に、その方法を示し：
リード１における「Ｎ」の位置は、
・  リード１の絶対位置、又は、
・  同じリードにおける前の「Ｎ」に対する微分位置、
としてコード化され、
リード２の「Ｎ」の位置は、
・  リード１＋リード２の長さの絶対位置、又は、
・  前の「Ｎ」に対する微分位置
としてコード化される。ｎｍｉｓブロックでは、各リードペアのコード化は、特殊な「セパレータ」記号で終了する。
［置換（ミスマッチ又はＳＮＰｓ）、挿入、削除をコード化する記述子］
【０１３０】
置換は、マッピングされたリードにおいて、リファレンスシーケンス中の同じ位置に存在するものに対して異なるヌクレオチド塩基の存在として定義される。
【０１３１】
図９は、マッピングされたリードペアにおける置換の例を示す。各置換は、「位置」（ｓｎｐｐブロック）及び「類型」（ｓｎｐｔブロック）としてコード化される。置換、挿入又は削除の統計的な発生に応じて、関連する記述子の異なるソースモデルを定義し、関連するブロック内に生成された記号をコード化することができる。
［ソースモデル１：位置と類型としての置換］
［置換位置識別子］
【０１３２】
置換位置は、ｍｍｉｓブロックの値と同様に計算される。すなわち、
リード１において置換は、
・  リード１の絶対的な位置として、又は
・  同じリードの前の置換に対する微分位置として、
コード化される。
リード２において置換は、
・  リード２＋リード１の長さの絶対位置として、又は
・  前の置換に対する微分位置として、
コード化される。
【０１３３】
図１０は、置換（指定されたマッピング位置で、リードの記号がリファレンスシーケンスの記号と異なる場合）がどのようにコード化されるかを示す。
１．ミスマッチの位置
・  リードの開始位置に関して、又は
・  以前のミスマッチに関して（微分のコード化）
２．図１０に示されるように計算されたコードとして表されるミスマッチの類型
【０１３４】
ｓｎｐｐブロックにおいて、各リードペアのコーディングが特殊な「セパレータ」記号で終了する。
［置換形記述子］
【０１３５】
クラスＭ（及びＩ、次のセクションで説明するように）の場合、ミスマッチは、リファレンスに存在する実際の記号から、リード｛Ａ、Ｃ、Ｇ、Ｔ、Ｎ、Ｚ｝に存在する対応する置換記号に、インデックスによってコード化される（右から左に移動する）。例えば、アライメントされたリードが、リファレンス内の同じ位置に存在するＴの代わりにＣを提示する場合、ミスマッチの指標は「４」と示される。デコード化プロセスはコード化された記述子を読み取り、リファレンス上の指定された位置にあるヌクレオチドを左から右に移動して、デコードされた記号を取得する。例えば、リファレンスにＧが存在する位置に対して受信された「２」は、「Ｎ」としてデコードされる。図１１は、すべての可能な置換及びそれぞれのコード化の記号を示す。明らかに異なるコンテキスト適応確率モデルを、記述子のエントロピーを最小化するために、各データクラスの各置換の種類の統計プロパティに従って、各置換インデックスに割り当てることができる。
【０１３６】
ＩＵＰＡＣ曖昧性コードを採用する場合、置換メカニズムは正確に同じ結果となるが、置換ベクトルはＳ＝｛Ａ、Ｃ、Ｇ、Ｔ、Ｎ、Ｚ、Ｍ、Ｒ、Ｗ、Ｓ、Ｙ、Ｋ、Ｖ、Ｈ、Ｄ、Ｂ｝として拡張される。
【０１３７】
図１２は、ｓｎｐｔブロック内の置換のコード化の例を示す。
【０１３８】
ＩＵＰＡＣ曖昧性コードが採用された場合の置換形のコード化のいくつかの例を、図１３に、置換インデックスの別の例を図１４に示す。
［挿入と欠損のコード化］
【０１３９】
クラスＩの場合、ミスマッチ及び削除は、リファレンスに存在する実際の記号から、リードに存在する対応する置換記号：｛Ａ、Ｃ、Ｇ、Ｔ、Ｎ、Ｚ｝へ、インデックスによってコード化される（右から左に移動する）。例えば、アライメントされたリードが、リファレンス内の同じ位置に存在するＴの代わりにＣを示す場合、ミスマッチの指標は「４」となる。リファレンスに「Ａ」が存在することで、リードが削除を提示する場合、コード化された記号は「５」になる。デコード化プロセスは、コード化された記述子、すなわちリファレンス上の所定の位置にあるヌクレオチドを読み取り、左から右に移動してデコード化された記号を検索する。例えば、リファレンスにＧが存在する位置に対して受信された「３」は、「Ｚ」としてデコード化される。
【０１４０】
挿入は、挿入されたＡ、Ｃ、Ｇ、Ｔ、Ｎに対してそれぞれ６、７、８、９、１０としてコード化される。
【０１４１】
図１５は、クラスＩのリードペアにおける置換、挿入及び欠損をコード化する方法の例を示す。ＩＵＰＡＣ曖昧性コードの全体集合をサポートするために、置換ベクトルＳ＝｛Ａ、Ｃ、Ｇ、Ｔ、Ｎ、Ｚ｝は、ミスマッチのために前段落で記述されたように、Ｓ＝｛Ａ、Ｃ、Ｇ、Ｔ、Ｎ、Ｚ、Ｍ、Ｒ、Ｗ、Ｓ、Ｙ、Ｋ、Ｖ、Ｈ、Ｄ、Ｂ｝によって置き換えられる。この場合、置換ベクトルが１６個のエレメントを持つ場合、挿入コードは異なる値、すなわち１６、１７、１８、１９、２０を持つ必要がある。このメカニズムを図１６に示す。
［ソースモデル２：１つのブロック当たりの置換の類型とインデル（indels）］
【０１４２】
一部のデータ統計については、前のセクションで説明したものとは異なるコード化モデルによって、エントロピーの低いソースを生成する置換及びインデルの開発をすることができる。このようなコード化モデルは、ミスマッチのみ、及びミスマッチ及びインデルについて上述した技術の代替となる。
【０１４３】
この場合、１つのデータブロックが、置換可能記号（５を除くＩＵＰＡＣコード、１６を伴うＩＵＰＡＣコード）ごとに定義され、さらに、削除用に１ブロック、挿入用に４ブロックが定義される。説明を簡単にするためにＩＵＰＡＣコードがサポートされていない場合に焦点を当てて説明する。
【０１４４】
図１７は、各ブロックが，どのように単一型挿入又はミスマッチの位置を含むかを示す。コード化されたリードペアにその類型のミスマッチ又は挿入が存在しない場合、対応するブロックに０がコード化される。各アクセスユニットのヘッダには、デコーダがこのセクションで説明したブロックのデコード処理を開始できるように、デコード化される第１のブロックを通知するフラグが含まれてる。図１８の例では、デコード化される第１のエレメントは、Ｃブロックの位置２である。特定の類型のミスマッチ又はインデルがリードペアに存在しない場合、対応するブロックに０が追加される。デコード化の側では、各ブロックのデコード化ポインタが０の値を指している場合、デコード化プロセスは次のリードペアに移る。
［付加的なシグナリングフラグのコード化］
【０１４５】
上記で導入された各データクラス（Ｐ、Ｍ、Ｎ、Ｉ）は、コード化されたリードの性質に関する追加情報のコード化を必要とする場合がある。この情報は、例えば、シーケンシングの実験に関連していてもよく（例えば、１つのリードが重複する可能性を示す）、又はリードマッピングの何らかの特性を表してもよい（例えば、ペアの第１番目又は第２番目）。本発明のコンテキストでは、この情報は、各データクラスに対して別々のブロックにコード化される。このようなアプローチの主な利点は、必要な場合にのみ、必要なリファレンスシーケンス領域においてのみ、この情報に選択的にアクセスできることである。このようなフラグの他の使用例を次に示す。
・  リードペア
・  適切なペアとしてマッピングされたリード
・  マッピングされていないリード又はメイト
・  逆ストランドからのリード又はメイト
・  ペアの第１番目／第２番目
・  プライマリアライメントではない
・  リードに失敗したプラットフォーム／ベンダーの品質チェック
・  リードはＰＣＲ又は光学的複製
・  補助的なアライメント
［クラスＵの記述子と、「クラスＵ」及び「クラスＨＭ」のマッピングされていないリードの「内部」リファレンスの構築］
【０１４６】
クラスＵに属するリード又はマッピングされていない「ＨＭクラス」のペアリードの場合、それらは、クラスＰ、Ｎ、Ｍ、又はＩのいずれかに属するためのマッチング精度の制約の指定されたセットを満たす「外部の」リファレンスシーケンスにマッピングできないので、一つ以上の「内部の」リファレンスシーケンスが「構築」され、これらのデータクラスに属するリードの圧縮表現のために使用される。
【０１４７】
例えば、次のような制限ではなく、適切な「内部の」リファレンスを構築する方法がいくつかある。
・  少なくとも最小サイズ（シグネチャ）の共通の連続したゲノムシーケンスを共有するリードを含むクラスタへのマッピングされていないリードの分割。各クラスタは、図２２に示すように、そのシグネチャによってユニークに識別することができる。
・  意味のある順序（例えば辞書順）でのリードのソートと、最後のＮリードをＮ＋１のコード化に対する「内部の」リファレンスとして使用する方法。この方法を図２３に示す。
・  指定されたマッチング精度の制約、又は新しい制約セットに従って、そのクラスに属するリードの全て又は関連するサブセットをアライメントし、コード化することができるように、クラスＵのリードのサブセット上で、いわゆる「デノボアセンブリ（de-novo assembly）」を実行すること。
【０１４８】
コード化されているリードを、指定されたマッチング精度の制約のセットを満たす「内部」リファレンスにマッピングできる場合、圧縮後にリードを再構築するために必要な情報は、次の種類の記述子を使用してコーディングされる。
１．内部リファレンス（ｐｏｓブロック）のリード番号の観点から、内部リファレンスのマッチング部分の開始位置。この位置は、以前にコード化されたリードに対して絶対値又は微分値としてコード化できる。
２．内部リファレンス（ｐａｉｒブロック）の対応するリードの開始点からの開始位置のオフセット。例えば、リード長が一定の場合、実際の位置はｐｏｓ＊ｌｅｎｇｔｈ＋ｐａｉｒである。
３．ミスマッチの位置（ｓｎｐｐブロック）及び類型（ｓｎｐｔブロック）としてコード化されたミスマッチが存在する可能性がある。
４．内部リファレンスとマッチングしない（又はマッチングするが、定義されたしきい値を超える数のマッチングがある）リードの部分（一般には、ペアで識別されるエッジ）は、ｉｎｄｃブロックでコード化される。図２４に示すように、ｉｎｄｃブロックでコード化されたミスマッチのエントロピーを低減するために、使用される内部リファレンスの一部のエッジに対してパディング操作を実行することができる。エンコーダは、処理中のゲノムデータの統計的特性に応じて、最適なパディングの方策を選択できる。選択可能なパディングの方策は次のとおりである。
ａ．パディングをしない
ｂ．現在コード化されているデータの頻度に応じて選択された一定のパディングパターン
ｃ．最新のＮ個のコード化されたリードに関して定義された、現在のコンテキストの統計的特性に従った可変パディングパターン
特定の種類のパディングの方策は、ｉｎｄｃブロックヘッダの特別な値によって通知され得る。
５．リードが内部の自己生成、外部又はリファレンス無しでコード化されているか否かを示すフラグ（ｒｔｙｐｅブロック）。
６．逐語的にコード化されたリード（ｕｒｅａｄｓ）。
【０１４９】
図２４に、このようなコード化手順の例を示す。
【０１５０】
図２５は、ｐｏｓ＋ｐａｉｒ記述子がコード付きｐｏｓに置き換えられた、内部リファレンス上のマッピングされていないリードの代替的なコード化を示す。この場合、ｐｏｓは、−リファレンスシーケンス上の位置に関して−、リードｎ−１の左端のヌクレオチドの位置に対するリードｎの左端のヌクレオチド位置の距離を表す。
【０１５１】
クラスＵのリードが可変長の場合、各リードの長さを記憶するために付加的な記述子ｒｌｅｎが使用される。
【０１５２】
このコーディングアプローチは、リードを２つ以上のリファレンス位置に分割できるように、リードごとにＮ個の開始位置をサポートするように拡張できる。これは、シーケンシング方法論のループによって生成される繰り返しパターンを通常表示する非常に長いリード（５０Ｋ＋塩基）を生成するシーケンシングテクノロジー（パシフィックバイオサイエンス（Pacific Bioscience）等）によって生成されたリードをコード化するのに特に役立つ。同じアプローチを使用して、ゲノムの２つの異なる部分に重なりがほとんど又は全く無いリードとして定義されるキメラシーケンスリードをコード化することもできる。
【０１５３】
上記のアプローチは、単純なクラスＵを超えて明確に適用でき、リード位置（ｐｏｓブロック）に関連する記述子を含む任意のブロックに適用できる。
［アライメントスコア記述子］
【０１５４】
ｍｓｃｏｒｅ記述子は、アライメントごとにスコアを提供する。本発明のコンテキストにおいて、ゲノムシーケンスリードアライナーにより生成されるリードごとのマッピング／アライメントスコアを表すために使用される。
【０１５５】
スコアは、指数部と仮数部を使用して表される。指数部及び仮数部を表すために使用されるビット数は、構成パラメータとして転送される。一例として、しかし限定としてではなく、表２は、１１ビットの指数部及び５２ビットの仮数部に関して、これがどのようにＩＥＥＥ  ＲＦＣ７５４に規定されているかを示す。
【０１５６】
各アライメントのスコアは、次のように表すことができる：
・  １ビットの符号（Ｓ）
・  １１ビット指数部（Ｅ）
・  ５３ビットの仮数部（Ｍ）
【０１５７】
表２．アライメントスコアは、６４ビットの倍精度浮動小数点値として表現できる
【表５】
2020509473.tif 000008
【０１５８】
スコアの計算に使用される塩基（基数）は１０であるため、次のようになる。
スコア＝−１ｓ×１０Ｅ×Ｍ
［リードのグループ］
【０１５９】
シーケンシングプロセス中に、さまざまな類型のシーケンスリードを生成できる。例として、しかし限定ではなく、類型は異なるシーケンスされたサンプル、異なる実験、シーケンシング装置の異なる構成に関連付けることができる。開示された発明によれば、ｒｇｒｏｕｐと名付けられた専用の記述子により、シーケンシング及びアライメントの後、この情報が保存される。ｒｇｒｏｕｐは、それぞれコード化されたリードに関連付けられたラベルであり、デコード化装置がデコード後にデコードされたリードをグループに分割することを可能にする。
［マルチプルアライメントの記述子］
【０１６０】
マルチプルアラインメントをサポートするために、次の記述子が指定されている。スプライスされたリードが存在する場合、本発明は、１に設定されるグローバルフラグとしてｓｐｌｉｎｅ＿ｒｅａｄｓ＿ｆｌａｇを定義する。
［ｍｍａｐ記述子］
【０１６１】
ｍｍａｐ記述子は、リード又はペアのリードの左端の位置が何個アライメントアラインされたかを通知するために使用される。マルチプルアライメントを含むゲノムレコードは、１つのマルチバイトのｍｍａｐ記述子に関連付けられる。ｍｍａｐ記述子の最初の２バイトは、単一のセグメント（コード化されたデータセットにスプライスが存在しない場合）又は、その代わりにリードがいくつかの可能なアライメントのためにスプライスされた全てのセグメント（データセットにスプライスが存在する場合）としてのリードを参照する符号無しの整数Ｎを表す。Ｎの値は、このレコードのテンプレートに対してｐｏｓ記述子の値がいくつコード化されているかを示す。以下に説明するように、Ｎの後に１つ以上の符号なし整数Ｍｉが続く。
［マルチプルアライメントのストランド性］
【０１６２】
本発明で説明されるｒｃｏｍｐ記述子は、本発明で指定される構文を使用して各リードアライメントのストランド性（strandedness）を指定するために使用される。
［マルチプルアラインメントのスコア］
【０１６３】
マルチプルアラインメントの場合、本発明で指定される１つのｍｓｃｏｒｅが各アラインメントに割り当てられる。
［スプライスのないマルチプルアライメント］
【０１６４】
アクセスユニットにスプライスがない場合、ｓｐｌｉｎｅ＿ｒｅａｄｓ＿ｆｌａｇは設定が解除される。
【０１６５】
ペアエンドシーケンシングでは、ｍｍａｐ記述子は、ｉを１から、完全に最初（ここでは左端）のリードアライメントアライメントの数までの値をとると仮定して、１６ビットの符号無しの整数Ｎとそれに続く１つ以上の８ビットの符号無しの整数Ｍｉで構成される。第１のリードアライメントに対して、スプライスされているか否かにかかわらず、Ｍｉは、第２のリードのアライメントに使用されるセグメントの数（この場合、スプライスが無い場合、これはアライメントの数に等しくなる）、そして、第１のリードのアライメントのためにペア記述子の値が何個コード化されているかを通知するために使用される。
【０１６６】
Ｍｉの値は、第２のリードのアライメントの数を表すために、次式
【数１】
2020509473.tif 000009
が使用される。
【０１６７】
Ｍｉ（＝０）の特別な値は、左端のリードの第ｉ番目のアライメントが、ｋ＜ｉ（上式と一致する新しいアラインメントは検出されないとき）を有する左端のリードの第ｋ番目のアライメントとすでに対になっている右端のリードのアライメントとペアになっていることを示す。
【０１６８】
例えば、最も単純な場合は次のようになる。
１  左端のリードに対してシングルアライメントと、右端の２つの代替的なアライメントがある場合、Ｎは１となり、Ｍ１は２となる。
２  ２つの代替的アライメントが左端のリードで検出され、右端のリードで１つしか検出されない場合、Ｎは２となり、Ｍ２は０となる。
【０１６９】
Ｍｉが０であるとき、ペアの関連する値は、既存の第２のリードアライメントにリンクしなければならず；そうしないと構文エラーが発生し、アラインメントが壊れたとみなされる。
【０１７０】
例：先に述べたように、第１のリードが２つのマッピング位置を有し、第２のリードが１つのマッピング位置を有する場合、Ｎは２であり、Ｍ１は１であり、及びＭ２は０である。これに続いて、テンプレート全体に対する別の代替的なセカンダリマッピングが行われる場合、Ｎは３であり、Ｍ３は１である。
【０１７１】
３９は、スプライス及びエラーの無いマルチプルアラインメントの場合のＮ、Ｐ、Ｍｉの意味付けを示し、リファレンスソースは見つからず、ｐｏｓ、ｐａｉｒ、及びｍｍａｐ記述子を使用してマルチプルアラインメント情報をコード化する方法を示す。
【０１７２】
４０に関しては、以下のとおりである：
・  右端のリードは
【数２】
2020509473.tif 000010
のアライメントを有し、
・  左端のリードの第ｉ番目のアライメントが、左端のリードの第ｋ番目（ｋ＜ｉ）のアライメントと既にペアになっている右端のリードのアライメントと、ペアになっている場合のＭｉのいくつかの値は＝０になることがあり、
・  ペア記述子の１つの予め定められた値は、他のＡＵの範囲に属するアライメントの信号に存在することができる。それが存在する場合は、常に、現在のレコードに対する第１のｐａｉｒ記述子になる。
［スプライスを使用したマルチプルアライメント］
【０１７３】
データセットがスプライスされたリードでコード化されている場合、ｍｓａｒ記述子を使用すると、スプライスの長さとストランド性（strandedness）を表現できる。
【０１７４】
ｍｍａｐ及びｍｓａｒ記述子をデコードした後、デコーダは、マルチプルマッピングを表すためにコード化されたリード又はリードペアの数、及び各リード又はリードペアのマッピングを構成しているセグメントの数を知っている。これを図４１及び図４２に示す。
【０１７５】
図４１を参照すると、以下が適用される：
・  左端のリードには、Ｎ個のスプライス（Ｎ１≦Ｎ）を伴うＮ１アライメントを有する。
・  Ｎは、左端のリードの全てのアライメントに存在するスプライスの数を表し、ｍｍａｐ記述子の最初の値としてコード化される。
・  右端のリードは、
【数３】
2020509473.tif 000011
のスプライスを有し、ここでＭｉは、左端のリードの第ｉ番目のアライメント（１≦ｉ≦Ｎ１）とペアで関連付けられた右端のリードのスプライスの数である。つまり、Ｐは右端のリードのスプライスの数を表し、ｍｍａｐ記述子の最初の値に続くＮ値を使用して計算される。
・  Ｎ１及びＮ２は、第１及び第２のリードのアラインメントの数を表し、ｍｓａｒ記述子のＮ＋Ｐ値を使用して計算される。
【０１７６】
図４２を参照すると、以下が適用される：
・  左端にはＮ個のスプライス（Ｎ１≦Ｎ）を伴うＮ１アライメントを有する。Ｎ１＝Ｎ  ＡＮＤ  Ｎ２＝Ｐの場合スプライスは存在しない。
・  右端のリードは、
【数４】
2020509473.tif 000012
スプライス、ｔｊ  １≦ｊ≦Ｐ、及びＮ２（Ｎ２≦Ｐ）アライメントを有する。
・  ｐａｉｒ記述子の数は、ＮＰ＝Ｍａｘ（Ｎ１，Ｐ）＋Ｍ０として計算され、ここで
・  Ｍ０は値が０のＭｉの数であり、
・  ＮＰは、1つの特別なｐａｉｒ記述子が他のＡＵにアラインメントが存在することを示す場合に１だけ増加する必要がある。
［アライメントスコア］
【０１７７】
ｍｓｃｏｒｅ記述子は、アライメントのマッピングスコアの通知を許容する。シングル・エンドシーケンシングでは、テンプレートごとにＮ１値を有し；ペアエンドシーケンシングにおいて、テンプレート全体の各アラインメントに対して値を有する（第１のリードの異なるアライメントの数＋第２のリードのさらなるアライメントの数、すなわち、Ｍｉ−１＞０の場合）
スコアの数＝ＭＡＸ（Ｎ１，Ｎ２）＋Ｍ０
ここで、Ｍ０はＭｉ＝０の総数を示す。
【０１７８】
本発明では、複数のスコアの値を、各アライメントに関連付けることができる。アライメントの数は、構成設定パラメータのａｓ＿ｄｅｐｔｈによって通知される。
［スプライスのないマルチプルアライメントに対する記述子］
【０１７９】
表３．スプライスのないマルチプルアライメントの場合に、１つのゲノムレコード内の複数のアライメントを表すために必要な記述子の数の決定
【表６】
2020509473.tif 000013
［スプライスを使用したマルチプルアライメントの記述子］
【０１８０】
表４は、スプライスを有するマルチプルアラインメントの場合に、１つのゲノム記録においてマルチプルアラインメントを表すのに必要な記述子の数の決定を示す。
【０１８１】
表４．スプライスを有するマルチプルアラインメントにおける、１つのゲノムレコードにおいてマルチプルアラインメントを表すのに必要な記述子の数の決定
【表７】
2020509473.tif 000014
［異なるシーケンス上のマルチプルアラインメント］
【０１８２】
アライメントプロセスは、プライマリマッピングが配置されているリファレンスシーケンスとは別のリファレンスシーケンスへの代替マッピングを見つけることがある。
【０１８３】
ユニークにアライメントされたリードペアの場合、例えば、別の染色体上のメイトとのキメラシーケンスがある場合、絶対リード位置を表すためにｐａｉｒ記述子を使用しなければならない。ｐａｉｒ記述子は、リファレンスと、同じテンプレートに対する更なるアラインメントを含む次のレコードの位置とを通知するために使用されなければならない。最後のレコード（例えば、代替マッピングが３つの異なるＡＵでコード化されている場合、第３番目）は、リファレンスと最初のレコードの位置を含む。
【０１８４】
ペアの左端のリードの１つ以上のアラインメントが、現在コード化されているＡＵに関連するリファレンスシーケンスとは異なるリファレンスシーケンス上に存在する場合、予め定められた値がペア記述子に使用される。予め定められた値の後には、リファレンスシーケンス識別子と、次のＡＵ（つまり、そのレコードのｐｏｓ記述子の第１のデコード値）に含まれるすべての中で左端のアラインメントの位置が続く。
［挿入、削除、マッピングされていない部分を含むマルチプルアラインメント］
【０１８５】
代替的なセカンダリマッピングが、シーケンスがアライメントされるリファレンス領域の連続性を保持しない場合、実際のシーケンス（及び、置換又はインデル（indels）のようなミスマッチングに関連する記述子）は、プライマリアライメントに対してのみコード化されるので、アライナによって生成された正確なマッピングを再構築することは不可能かもしれない。ｍｓａｒ記述子は、インデル（indels）及び／又はソフトクリップが含まれている場合に、セカンダリアライメントがリファレンスシーケンスにどのようにマッピングされるかを表すために使用される。ｍｓａｒがセカンダリアライメントの特殊な記号「＊」によって表されている場合、デコーダは、プライマリアライメント及びセカンダリアライメントのマッピング位置からセカンダリアライメントを再構築する。
［ｍｓａｒ記述子］
【０１８６】
ｍｓａｒ（Multiple Segments Alignment Record）記述子は、スプライスされたリードと、インデル（indels）又はソフトクリップを含む代替的なセカンダリアライメントをサポートする。
【０１８７】
ｍｓａｒは、次の情報を通知することを目的としている：
・  マッピングされたセグメント長
・  セカンダリアライメント及び／又はスプライスされたリードの異なるマッピングの連続製（すなわち、挿入、欠損又はクリップされた塩基の存在）
【０１８８】
ｍｓａｒは、以下で説明する拡張ＣＩＧＡＲ文字列の構文と、表５で説明する付加的な記号を使用する。
【０１８９】
表５．表６で説明されている構文に加えて、ｍｓａｒ記述子に使用される特別な記号
【表８】
2020509473.tif 000015
［拡張シガー構文］
【０１９０】
本セクションでは、シークエンス及び関連するミスマッチ、インデル（indels）、クリップされた塩基、マルチプルアラインメント、及びスプライスされたリードに関する情報に文字列を関連付けるための拡張ＣＩＧＡＲ（Ｅ−ＣＩＧＡＲ）構文を指定する。
【０１９１】
本発明で説明する編集操作を表６に掲載する。
【０１９２】
表６．ＭＰＥＧ−Ｇ  Ｅ−ＣＩＧＡＲストリングの構文
【表９】
2020509473.tif 000016
2020509473.tif 000017
［ソースモデル、エントロピーコード化及びコード化モード］
【０１９３】
本発明で開示されるゲノムデータ構造の各データクラス、サブクラス及び関連する記述子ブロックについて、異なるコード化アルゴリズムは、各ブロック及びその統計的特性によって得られるデータ又はメタデータの特定の特徴に従って採用されるかもしれない。「コード化アルゴリズム」は、記述子ブロックの特定の「ソースモデル」と特定の「エントロピーコーダ」の関連付けとして意図されている必要がある。特定の「ソースモデル」を、ソースエントロピーの最小化に関してデータの最も効率的なコーディングを取得するために指定及び選択できる。エントロピーコーダの選択はコード化効率の考慮及び／又は確率分布の特徴及び関連する実装問題によって推進できる。「コード化モード」とも呼ばれる特定の「コード化アルゴリズム」の各選択は、データセット全体のデータクラス又はサブクラスに関連付けられた「記述子ブロック」の全体に適用でき、又は、アクセスユニットに、分割された記述子の各部分に異なる「コード化モード」を適用できる。
【０１９４】
コード化モードに関連付けられた各「ソースモデル」は、次のように特徴付けられる：
・  各ソースから発生する記述子の定義（すなわち、表２に定義されるように、リード位置、リードペアリング情報、リファレンスシーケンスに対するミスマッチ等のデータのクラスを表すために使用される記述子のセット）。
・  関連する確率モデルの定義。
・  関連するエントロピーコード化の定義。
［更なる利点］
【０１９５】
定義されたデータクラス及びサブクラスへのシーケンスデータの分類は、単一の個別のデータソース（例えば、距離、位置等）によって記述子のシーケンスをモデル化することによって特徴付けられる、より低い情報ソースエントロピーを利用する効率的なコーディングモードの実装を可能にする。
【０１９６】
本発明の別の利点は、関心のある種類のデータのサブセットのみにアクセスすることができることである。たとえば、ゲノミクスにおける最も重要なアプリケーションの１つは、リファレンス（ＳＮＶ）又は母集団（ＳＮＰ）に対するゲノムサンプルの差異を見出すことである。今日、そのような分析は、完全なシーケンスリードの処理を必要とするが、本発明によって開示されるデータ表現を採用することによって、ミスマッチは、既に、１つから３つのデータクラスのみに分離されている（「ｎタイプ」と「ｉタイプ」のミスマッチも考慮することへの関心によって異なる）。
【０１９７】
さらなる利点は、新たなリファレンスシーケンスが公開されるとき、又は新たなアラインメントを得るために既にマッピングされたデータ（例えば、異なるマッピングアルゴリズムの使用）に対して再マッピングが実行されるときに、特定の「外部の」リファレンスシーケンスを参照して圧縮されたデータ及びメタデータから別の異なる「外部の」リファレンスシーケンスへの効率的なトランスコーディングを実行する可能性である。
【０１９８】
図２０は、本発明の原理に基づくコード化装置２０７を示す。コード化装置２０７は、例えば、ゲノムシーケンシング装置２００によって生成された生のシーケンスデータ２０９を入力として受け取る。ゲノムシーケンシング装置２００は、イルミナ社のＨｉＳｅｑ２５００（Illumina HiSeq 2500）又はサーモ−フィッシャーイオントレント（Thermo-Fisher Ion Torrent）装置のように本技術分野で公知のものである。生のシーケンスデータ２０９はアライナユニット２０１に供給され、リードをリファレンスシーケンス２０２０にアライメントすることによってコード化するシーケンスを準備する。あるいは、専用モジュール２０２を使用して、本明細書のセクション「クラスＵのマッピングされていないリードのための内部リファレンスの構築」及び「ＨＭクラス」に記載されているような異なる方策を使用して、利用可能なリードからリファレンスシーケンスを生成することができる。リファレンスジェネレータ２０２によって処理された後、リードは、得られたより長いシーケンス上にマッピングされ得る。次いで、アライメントされたシーケンスは、データ分類モジュール２０４によって分類される。次に、データ分類ユニット２０４によって生成されたデータのエントロピーを減少させるために、リファレンス変換のさらなるステップがリファレンスに適用される。これは、外部リファレンス２０２０を、変換されたデータクラス２０１８及びリファレンス変換記述子２０２１を生成するリファレンス変換ユニット２０１９で処理することを意味する。次に、変換されたデータクラス２０１８は、リファレンス変換記述子２０２１と共にブロックエンコーダ２０５〜２０７に供給される。
次いで、ゲノムブロック２０１１は、ブロックによって運ばれるデータ又はメタデータの統計的特性に従ってブロックをコード化する算術エンコーダ２０１２〜２０１４に供給される。その結果は、ゲノムストリーム２０１５である。
【０１９９】
図２１は、本開示の原理に基づくデコード化装置２１８を示す。デコード化装置２１８は、ネットワーク又は記憶素子から多重化されたゲノムビットストリーム２０１１を受信する。多重化されたゲノムビットストリーム２１１０は、デマルチプレクサ２１０に供給され、個別のストリーム２１１を生成し、次に、これらのストリームは、エントロピーデコーダ２１２〜２１４に供給され、ゲノムブロック２１５及びリファレンス変換記述子２１１２を生成する。抽出されたゲノムブロックは、ブロックデコーダ２１６〜２１７に供給され、さらにブロックがデータのクラスにデコードされ、リファレンス変換ディスクリプタがリファレンス変換ユニット２１１３に供給される。クラスデコーダ２１９は、さらにゲノム記述子２１１１及び変換されたリファレンス２１１４を処理し、その結果をマージして、シーケンスの非圧縮リードを生成し、これをさらに本技術分野で公知のフォーマット、例えばテキストファイル又はｚｉｐ圧縮ファイル、あるいはＦＡＳＴＱ又はＳＡＭ／ＢＡＭファイルに記憶することができる。
【０２００】
クラスデコーダ２１９は、一つ以上のゲノムストリームによって担持される元のリファレンスシーケンスに関する情報、及びコード化されたビットストリーム中に担持されるリファレンス変換記述子２１１２を利用することによって、元のゲノムシーケンスを再構築することができる。リファレンスシーケンスがゲノムストリームによって転送されない場合、それらはデコード側で利用可能であり、クラスデコーダによってアクセス可能でなければならない。
【０２０１】
本明細書に開示された本発明の技術は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実施することができる。ソフトウェアで実現される場合、これらは、コンピュータ媒体に記憶され、ハードウェア処理ユニットによって実行されてもよい。ハードウェア処理ユニットは、１つ以上のプロセッサ、デジタルシグナルプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路又は他の個別論理回路を含むことができる。
【０２０２】
本開示の技術は、携帯電話、デスクトップコンピュータ、サーバ、タブレット及び同様のデバイスを含む様々なデバイス又は装置で実施することができる。
［ファイルフォーマット：マスターインデックステーブルを用いたゲノムデータ領域への選択的アクセス］
【０２０３】
アライメントされたデータの特定の領域への選択的なアクセスをサポートするために、本明細書で説明するデータ構造には、マスターインデックステーブル（ＭＩＴ）と呼ばれるインデックス作成ツールが実装されている。これは、特定のリードが関連するリファレンスシーケンスにマップされる位置を含む多次元配列である。
ＭＩＴに含まれる値は、各アクセスユニットへの非シーケンシャルアクセスがサポートされるように、各ｐｏｓブロック内の第１のリードのマッピング位置である。ＭＩＴには、データの各クラス（Ｐ、Ｎ、Ｍ、Ｉ、Ｕ、及びＨＭ）及びリファレンスシーケンス毎にセクションが含まれている。ＭＩＴは、コード化されたデータのゲノムデータセットヘッダ（Genomic Dataset Header）に含まれている。図２１はゲノムデータセットヘッダ（Genomic Dataset Header）の構造を示し、図３２はＭＩＴの一般的な視覚的表現を示し、図３３はコード化されたリードのクラスＰに対するＭＩＴの例を示す。
【０２０４】
図３３に示すＭＩＴに含まれる値は、圧縮ドメイン内の関心領域（及び対応するＡＵ）に直接アクセスするために使用される。
【０２０５】
例えば、図３３を参照すると、リファレンス２上の位置１５０，０００と２５０，０００との間に含まれる領域にアクセスする必要がある場合、デコード化アプリケーションはＭＩＴの第２のリファレンスにスキップし、ｋ１＜１５０，０００及びｋ２＞２５０，０００となるように２つの値ｋ１とｋ２を探す。ここで、ｋ１とｋ２はＭＩＴから読み込まれた２つのインデックスである。図３３の例では、これは、ＭＩＴの第２番目のベクトルの第２と第３の位置になる。これらの戻り値は、デコード化アプリケーションによって使用され、次のセクションで説明するように、ｐｏｓブロックのローカルインデックステーブルから適切なデータの位置を取得する。
【０２０６】
上述の４つのクラスのゲノムデータに属するデータを含むブロックへのポインタと共に、ＭＩＴは、そのライフサイクルの間にゲノムデータに追加される付加的なメタデータ及び／又は注釈のインデックスとして使用することができる。
［ローカルインデックステーブル］
【０２０７】
各ゲノムデータブロックの先頭には、ローカルヘッダと呼ばれるデータ構造が付く。ローカルヘッダには、ブロックの特有の識別子、リファレンスシーケンス毎のアクセスユニットカウンタのベクトル、ローカルインデックステーブル（ＬＩＴ）、及びオプションでブロック固有のメタデータが含まれる。ＬＩＴは、ブロックペイロード内の各アクセスユニットに属するデータの物理的位置へのポインタのベクトルである。図３４は、コード化されたデータの特定の領域に、非シーケンシャルな方法でアクセスするためにＬＩＴが使用される、一般的なブロックヘッダ及びペイロードを示す。
【０２０８】
前の例では、リファレンスシーケンスＮｏ．２にアライメントされたリードの領域１５０，０００から２５０，０００にアクセスするために、デコード化化アプリケーションはＭＩＴから位置３と４を検索した。これらの値は、デコード化プロセスが、ＬＩＴの対応するセクションの第３と第４のエレメントにアクセスするために使用される。図３５に示す例では、ブロックヘッダに含まれるトータルアクセスユニット（Total Access Units）カウンタを使用して、リファレンス１（例では５）に関連するＡＵに関連するＬＩＴインデックスをスキップする。したがって、コード化されたストリーム内の要求されたＡＵの物理的位置を含むインデックスは、次のように計算される：
要求されたＡＵに属するデータブロックの位置＝スキップされるリファレンス１のＡＵに属するデータブロック＋ＭＩＴを使用して検索される位置
最初のブロック位置：５＋３＝８
最後のブロック位置：５＋４＝９
【０２０９】
ローカルインデックステーブルと呼ばれるインデックス作成メカニズムを使用して取得されたデータのブロックは、要求されたアクセスユニットの一部である。
【０２１０】
図２６は、ＭＩＴテーブルに含まれるブロックが、データの各クラス又はサブクラス毎のＬＩＴのブロックにどのように対応するかを示す。
【０２１１】
図３７は、ＭＩＴ及びＬＩＴを使用して検索されたデータブロックが、次のセクションで定義されるように、１つ以上のアクセスユニットを構成する方法を示す。
【０２１２】
本発明の一実施形態では、ＬＩＴをＭＩＴのサブ構造として統合することができる。このようなアプローチの利点は、圧縮ファイルの逐次的な構文解析の場合のインデックス付きデータへのアクセス速度にある。ＬＩＴがファイルヘッダのＭＩＴに統合されている場合、デコード化装置は、選択的アクセスの場合、要求された圧縮情報を検索するために、データのごく一部を解析するだけでよい。別の利点は、ネットワーク上でストリーミングする場合、ＭＩＴ及びＬＩＴに含まれるインデックス情報が、第１のデータブロックの中で配信され、したがって、全データ転送が完了する前に、受信装置がソート及び選択的アクセス等の動作を実行することを可能にすることは、当業者にとって明らかである
［アクセスユニット］
【０２１３】
データクラスで分類され、圧縮又は非圧縮ブロックで構造化されたゲノムデータは、異なるアクセスユニットに編成される。
【０２１４】
ゲノムアクセスユニット（ＡＵ）は、ヌクレオチド配列及び／又は関連するメタデータを再構築するゲノムデータ（圧縮された、又は圧縮されていない状態で）、及び／又はＤＮＡ／ＲＮＡのシーケンス（たとえば、仮想リファレンス）及び／又はゲノムシーケンシング装置及び／又はゲノム処理装置又は分析アプリケーションによって生成された注釈データのセクションとして定義される。アクセスユニットの例を図３７に示す。
【０２１５】
アクセスユニットは、グローバルに利用可能なデータ（例えばデコーダ構成）のみを使用するか、他のアクセスユニットに含まれる情報を使用することによって、他のアクセスユニットから独立してデコードできるデータのブロックである。
【０２１６】
アクセスユニットは次のように区別される：
・  タイプ（type）、ゲノムデータの性質とそれらが保有するデータセット、及びそれらにアクセスする方法を特徴づけ、
・  オーダー（order）、同じタイプに属するアクセスユニットに固有の順序を提供する。
【０２１７】
あらゆるタイプのアクセスユニットは、さらに異なる「カテゴリ」に分類することができる。
【０２１８】
以下に、様々な類型のゲノムアクセスユニットの定義の非網羅的リストを示す：
１）タイプ０のアクセスユニットは、アクセス又はデコードされアクセスされる他のアクセスユニットからの情報を参照する必要はない。それらが含むデータ又はデータセットによって伝送される全情報は、デコード化装置又はプロセッシングアプリケーションによって独立に読み取られ、処理される。
２）タイプ１のアクセスユニットは、タイプ０のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ１のアクセスユニットに含まれるデータの処理は、タイプ０の１つ以上のアクセスユニットへアクセスする必要がある。タイプ１のアクセスユニットは、「クラスＰ」のシーケンスリードに関連するゲノムデータをコード化する。
３）タイプ２のアクセスユニットは、タイプ０のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ２のアクセスユニットに含まれるデータの処理は、タイプ０の１つ以上のアクセスユニットへアクセスする必要がある。タイプ２のアクセスユニットは、「クラスＮ」のシーケンスリードに関連するゲノムデータをコード化する。
４）タイプ３のアクセスユニットは、タイプ０のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ３のアクセスユニットに含まれるデータの処理は、タイプ０の１つ以上のアクセスユニットへアクセスする必要がある。タイプ３のアクセスユニットは、「クラスＭ」のシーケンスリードに関連するゲノムデータをコード化する。
５）タイプ４のアクセスユニットは、タイプ０のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ４のアクセスユニットに含まれるデータの処理は、タイプ０の１つ以上のアクセスユニットへアクセスする必要がある。タイプ４のアクセスユニットは、「クラスＩ」のシーケンスリードに関連するゲノムデータをコード化する。
６）タイプ５のアクセスユニットは、利用可能なリファレンスシーケンス（「クラスＵ」）等にマッピングできず、内部で構築されたリファレンスシーケンスを使用してコード化されるリードを含む。タイプ５のアクセスユニットは、タイプ０のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ５のアクセスユニットに含まれるデータの処理は、タイプ０の１つ以上のアクセスユニットへアクセスする必要がある。
７）タイプ６のアクセスユニットにはリードペアが含まれており、一方のリードはＰ、Ｎ、Ｍ、Ｉのいずれかのクラスに属し、もう一方のリードは使用可能なリファレンスシーケンス（「ＨＭクラス」）にマッピングできない。タイプ６のアクセスユニットは、タイプ０のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ６のアクセスユニットに含まれるデータの処理は、タイプ０の１つ以上のアクセスユニットへアクセスする必要がある。
８）タイプ７のアクセスユニットには、タイプ１のアクセスユニットに含まれるデータ又はデータセットに関連するメタデータ（例えば品質スコア）及び／又は注釈データを含む。タイプ７のアクセスユニットは、異なるブロックに分類及びラベル付けされてもよい。
９）タイプ８のアクセスユニットには、注釈データとして分類されるデータ又はデータセットが含まれる。タイプ８のアクセスユニットは、ブロック単位で分類及びラベル付けされてもよい。
１０）追加型のアクセスユニットは、ここで説明する構造とメカニズムを拡張できる。一例として、しかし限定としてではなく、ゲノムバリアント呼び出し、構造及び機能分析の結果は、新しい種類のアクセスユニットにコード化されることができる。本明細書で説明するアクセスユニットにおけるデータ編成は、コード化データの性質に関して完全に透過的なメカニズムであるアクセスユニットにカプセル化されるいかなる種類のデータも妨げるものではない。
【０２１９】
タイプ０のアクセスユニットは順序付けされ（例えば番号付け）、順序付けられた方法で記憶及び／又は伝送される必要はない（技術的な利点：並列処理／並列ストリーミング、多重化）。
【０２２０】
タイプ１、２、３、４、５及び６のアクセスユニットは、順序付けする必要はなく、順序付けされた方法で格納及び／又は送信する必要もない（技術的な利点：並列処理／並列ストリーミング）。
【０２２１】
図３７は、アクセスユニットがヘッダと同種データの１つ以上のブロックでどのように構成されているかを示す。各ブロックは、１つ以上のブロックで構成できる。各ブロックは、いくつかのパケットを含み、パケットは、例えば、リード位置、ペアリング情報、逆補完情報、ミスマッチ位置及び類型等を表すために上記で導入された記述子の構造化されたシーケンスである。
【０２２２】
各アクセスユニットは、ブロックごとに異なる数のパケットを持つことができるが、アクセスユニット内では、すべてのブロックが同じ数のパケットを持つ。
【０２２３】
各データパケットは、３つの識別子ＸＹＺの組み合わせによって識別できる：
・  Ｘは、属するアクセスユニットを示し、
・  Ｙは、属するブロックを示す（すなわち、カプセル化されるデータの種類）、
・  Ｚは、同一ブロック内の他のパケットに対するパケット順序を表す識別子である。
【０２２４】
図３８はアクセスユニットとパケットラベルの例を示す。ここでＡＵ＿Ｔ＿Ｎは識別子Ｎを持つタイプＴのアクセスユニットで、アクセスユニットの種類による順序の概念を暗示している場合もあれば、暗示していない場合もある。識別子は、ある種類のアクセスユニットを、転送されたゲノムデータを完全に解読するのに必要な他の種類のアクセスユニットに特有に関連付けるために使用される。
【０２２５】
あらゆる種類のアクセスユニットは、異なるシーケンシングプロセスに従って、さらに異なる「カテゴリ」に分類され、表示される。例えば、限定ではないが、分類及び表示は以下の場合に行うことができる。
１．同一生物を異なる時刻でシーケンシングすること（アクセスユニットは「一時的な」意味を持つゲノム情報を含む）
２．同一の生物の異なる性質の有機試料をシーケンシングすること（ヒトの皮膚、血液、毛髪等の試料）これらは、「生物学的」を意味するアクセスユニットである。
【図１】
2020509473.tif 000018
【図２】
2020509473.tif 000019
【図３】
2020509473.tif 000020
【図４】
2020509473.tif 000021
【図５】
2020509473.tif 000022
【図６】
2020509473.tif 000023
【図７】
2020509473.tif 000024
【図８】
2020509473.tif 000025
【図９】
2020509473.tif 000026
【図１０】
2020509473.tif 000027
【図１１】
2020509473.tif 000028
【図１２】
2020509473.tif 000029
【図１３】
2020509473.tif 000030
【図１４】
2020509473.tif 000031
【図１５】
2020509473.tif 000032
【図１６】
2020509473.tif 000033
【図１７】
2020509473.tif 000034
【図１８】
2020509473.tif 000035
【図１９】
2020509473.tif 000036
【図２０】
2020509473.tif 000037
【図２１】
2020509473.tif 000038
【図２２】
2020509473.tif 000039
【図２３】
2020509473.tif 000040
【図２４】
2020509473.tif 000041
【図２５】
2020509473.tif 000042
【図２６】
2020509473.tif 000043
【図２７】
2020509473.tif 000044
【図２８】
2020509473.tif 000045
【図２９】
2020509473.tif 000046
【図３０】
2020509473.tif 000047
【図３１】
2020509473.tif 000048
【図３２】
2020509473.tif 000049
【図３３】
2020509473.tif 000050
【図３４】
2020509473.tif 000051
【図３５】
2020509473.tif 000052
【図３６】
2020509473.tif 000053
【図３７】
2020509473.tif 000054
【図３８】
2020509473.tif 000055
【図３９】
2020509473.tif 000056
【図４０】
2020509473.tif 000057
【図４１】
2020509473.tif 000058
【図４２】
2020509473.tif 000059
【国際調査報告】
2020509473.tif 000060
2020509473.tif 000061