(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-06
(45)【発行日】2023-10-17
(54)【発明の名称】ゲノムシーケンスデータをコード化する方法、コード化されたゲノムデータをデコード化する方法、ゲノムシーケンスデータをコード化するためのゲノムエンコーダ、ゲノムデータをデコードするためのゲノムデコーダ、及びコンピュータ読み取り可能な記録媒体
(51)【国際特許分類】
G16B 50/50 20190101AFI20231010BHJP
H03M 7/30 20060101ALI20231010BHJP
H03M 7/40 20060101ALI20231010BHJP
【FI】
G16B50/50
H03M7/30 Z
H03M7/40
(21)【出願番号】P 2019542715
(86)(22)【出願日】2018-02-14
(86)【国際出願番号】 US2018018092
(87)【国際公開番号】W WO2018152143
(87)【国際公開日】2018-08-23
【審査請求日】2021-02-09
(31)【優先権主張番号】PCT/US2017/017842
(32)【優先日】2017-02-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】PCT/US2017/041591
(32)【優先日】2017-07-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519129872
【氏名又は名称】ゲノムシス エスエー
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】バルチ,モハメド コソ
(72)【発明者】
【氏名】アルベルティ,クラウディオ
(72)【発明者】
【氏名】ゾイア、ジョルジョ
(72)【発明者】
【氏名】レンジ、ダニエル
【審査官】藤澤 美穂
(56)【参考文献】
【文献】米国特許出願公開第2015/0227686(US,A1)
【文献】"SAM",[online],2015年03月11日,[令和2年12月7日検索], インターネット, <URL : https://web.archive.org/web/20150311045750/http://davetang.org/wiki/tiki-index.php?page=SAM>
【文献】"CRAM format specification (version 3.0)",[online],2016年04月25日,[令和2年12月7日検索], インターネット, <URL : https://web.archive.org/web/20160425054143/http://samtools.github.io/hts-specs/CRAMv3.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G16B 5/00-99/00
H03M 7/30
H03M 7/40
(57)【特許請求の範囲】
【請求項1】
ゲノムシーケンスデータをコード化する方法であって、前記ゲノムシーケンスデータはヌクレオチドシーケンスのリードを含み、
前記方法は、
1つ以上のリファレンスシーケンスに前記リードをアライメントし、アライメントされたリードを作成し、
前記1つ以上のリファレンスシーケンスに対して指定されたマッチング規則に従って前記アライメントされたリードを分類し、前記アライメントされたリードのクラスを作成することを含み、
前記分類は、
マッピングに使用されたリファレンスシーケンスに対して前記アライメントされたリードにミスマッチが存在しないとき、前記マッピングに使用されたリファレンスシーケンスに対してミスマッチが存在しないアライメントされたリードを第1のクラス(クラスP)に分類し、
マッピングに使用されたリファレンスシーケンスに対して前記アライメントされたリードにミスマッチが存在
するとき、
前記存在するミスマッチが前記リードの生成に使用されるシーケンシング装置がどの塩基も呼び出すことが出来なかった位置に存在し、
前記存在するミスマッチの数が所定のしきい値を超えないとき、前記マッピングに使用されたリファレンスシーケンスに対してアライメントされたリードを第2のクラス(クラスN)に分類し
、
前記存在するミスマッチが、nタイプのミスマッチと呼ばれるシーケンシング装置がどの塩基も呼び出すことが出来なかった位置にミスマッチが存在し、及び/又は、sタイプのミスマッチと呼ばれるシーケンシング装置が前記リファレンスシーケンスにある塩基とは異なる塩基を呼び出したことによるミスマッチが存在し、前記nタイプのミスマッチ及び前記sタイプのミスマッチの数が所定のしきい値を超えず、特定の関数(f(n,s))によって得られるしきい値を超えないとき、前記マッピングに使用されたリファレンスシーケンスに対してアライメントされたリードを第3のクラス(クラスM)に分類し
、
前記存在するミスマッチが、前記第3のクラス(クラスM)と同じ種類のミスマッチが存在し、かつ、挿入(iタイプ)、欠損(dタイプ)、ソフトクリップ又はハードクリップ(cタイプ)の少なくとも1つのミスマッチが存在し、各種類のミスマッチの数が、所定のしきい値及び所定の関数(w(n,s,i,d,c))によって得られるしきい値を超えないとき、前記マッピングに使用されたリファレンスシーケンスに対してアライメントされたリードを第4のクラス(クラスI)に分類し、
前記分類されたアライメントされたリードを、前記第1乃至第4のクラスのそれぞれにおいて、特定かつ均質な記述子のマルチプルブロックとしてコード化し、
前記分類されたアライメントされたリードを前記記述子のマルチプルブロックとしてコード化することは、前記アライメントされたリードの前記クラスに従って前記記述子を選択し、
ヘッダ情報を用いて前記記述子のマルチプルブロックを構造化し、それにより連続したアクセスユニットを作成することを含み、
前記第1のクラス(クラスP)のアクセスユニットは、マッピング位置に関する情報を表す記述子のブロック、ストランド性(リードが解読されたDNA鎖)に関する情報を表す記述子のブロック、及び、前記ヌクレオチドシーケンスのリードの特定の特性を表すflags記述子によって構築され、ここで、前記第1のクラス(クラスP)のアクセスユニットにおいて、ペアエンドリードのペアリング情報は、記述子のブロックを用いてコード化され、
前記第2のクラス(クラスN)のアクセスユニットは、前記第1のクラス(クラスP)のアクセスユニットと同じ記述子のブロックに加えて、未知の塩基の位置に関する情報を表す記述子のブロックによって構築され、
前記第3のクラス(クラスM)のアクセスユニットは、前記第1のクラス(クラスP)のアクセスユニットと同じ記述子のブロックに加え、置換の位置と類型に関する情報を表す記述子のブロックによって構築され、
前記第4のクラス(クラスI)のアクセスユニットは、前記第1のクラス(クラスP)のアクセスユニットと同じ記述子のブロックに加え、置換、挿入、欠損、及び、クリッピングされた塩基の位置及び種類に関する情報を表す記述子のブロックによって構築され、
前記方法は、さらに、
前記第1乃至第4のクラス(クラスP、クラスN、クラスM、クラスI)に分類されないアライメントされたリードを第5のクラス(クラスU)に分類し、
前記第5のクラス(クラスU)のアライメントされたリードの少なくとも一部を用いて第2のリファレンスシーケンスのセットを構築し、
前記第5のクラス(クラスU)のアライメントされたリードを前記第2のリファレンスシーケンスのセットにアライメントし、
前記第2のリファレンスシーケンスに対して指定されたマッチング精度に基づく記述子として、前記第5のクラス(クラスU)のアライメントされたリードをコード化し、
前記記述子のそれぞれをヘッダ情報で構造化し、前記第5のクラス(クラスU)のアクセスユニットを構築する、
ことを含む。
【請求項2】
前記第5のクラス(クラスU)のアクセスユニットは、
前記マッピング位置の情報を表す記述子のブロック、
ストランド性(リードが解読されたDNA鎖)に関する情報を表す記述子のブロック、前記アライメントされたリードの特定の特性を表すflags記述子のブロック、ここで、ペアエンドリードのペアリング情報が記述子のブロックによってコード化され、
置換の位置と類型に関する情報を表す記述子のブロック、
前記リードが、前記第2のリファレンスシーケンスとマッチングしない部分に関する情報を表す記述子のブロック、
前記リードを、どのリファレンスシーケンスにもマッピングすることができないとき、該リードを逐語的にコード化する記述子のブロック、
の少なくとも1つを用いて構築される、
請求項1に記載の方法。
【請求項3】
コード化されるべきゲノムシーケンスのリードがペアになったリードペアであり、
前記分類は、前記リードペアの内、一方のリードが前記クラスP、前記クラスN、前記クラスM、又は、前記クラスIに属し、他方のリードが前記クラスUに属する
とき、前記アライメントされたリードを第6のクラス(クラスHM)として分類することをさらに含む、
請求項2に記載のコード化方法。
【請求項4】
前記リードペアを構成する2つのリードが、前記クラスP、前記クラスN、前記クラスM、前記クラスI、及び、前記クラスUの中の同じクラスに分類されているとき、前記リードペアを同じクラスに割り当て、
前記リードペアを構成する2つリードが前記クラスUに分類されていないとき、前記リードペアを優先準位;P<N<M<I(クラスPの優先準位が最も低く、前記クラスIの優先準位が最も高い)に従って、最も優先順位の高いクラスに割り当て、
前記リードペアを構成する2つのリードの内、一方のリードのみが前記クラスUに属すると分類されるとき、前記リードペアを前記クラスHMに割り当てることをさらに含む、請求項3に記載のコード化方法。
【請求項5】
前記クラスN、前記クラスM、前記クラスIの各クラスは、該各クラスに対してそれぞれ定義されたしきい値のベクトルに従って、前記nタイプのミスマッチの数、前記関数f(n,s)、及び、前記関数w(n,s,i,d,c)によって、2つ以上のサブクラスにさらに分割され、
前記リードペアを構成する2つのリードが同じサブクラスに分類されるとき、前記リードペアを同じサブクラスに割り当て、
前記リードペアを構成する2つのリードが異なるクラスのサブクラスに分類されるとき、前記リードペアを、優先準位:
N<M<I
(ここで、Nが最も優先度が低く、Iが最も優先度が高い)
に従って、最も優先準位の高いサブクラスに割り当て、
前記リードペアの2つのリードの双方が、前記クラスN、前記クラスM、及び、前記クラスIの中の1つのクラスに分類され、かつ、サブクラスが異なる場合、前記リードペアを、優先準位:
N1<N2<・・・<Nk
M1<M2<・・・Mj
I1<I2<・・・<Ih
(ここで、最も高いインデックスが最も高い優先度を持つ)
に従って、最も優先準位の高いサブクラスに割り当てる、
請求項4に記載のコード化方法。
【請求項6】
前記リードのマッピング位置に関する情報は、pos記述子のブロックによってコード化され、
前記リードのストランド性(リードが解読されたDNA鎖)に関する情報は、rcomp記述子のブロックによってコード化され、
前記ペアエンドリードのペアリング情報は、pair記述子のブロックによってコード化される、
請求項5に記載のコード化方法。
【請求項7】
前記リードが適切なペアでマッピングされているか否か、プラットフォーム/ベンダーの品質チェックに失敗しているか否か、PCR又は光学的複製であるか否か、又は、補助的なアライメントであるか否かという付加的なアライメント情報は、flags記述子のブロックによってコード化される、
請求項6に記載のコード化方法。
【請求項8】
未知の塩基に関する情報が、nmis記述子
ブロックによってコード化される、
請求項7に記載のコード化方法。
【請求項9】
置換の位置に関する情報が、snpp記述子のブロックによってコード化され、
置換の類型に関する情報が、snpt記述子のブロックによってコード化される、
請求項8に記載のコード化方法。
【請求項10】
ミスマッチの位置、置換、挿入又は削除に関する情報が、indp記述子のブロックによってコード化され、
置換、挿入、又は削除のミスマッチの類型に関する情報が、indt記述子のブロックによってコード化され、
マッピングされたリードのクリップされた塩基に関する情報が、indc記述子のブロックによってコード化される、
請求項9に記載のコード化方法。
【請求項11】
マッピングされていないリードに関する情報が、ureads記述子のブロックによってコード化され、
コード化に使用されるリファレンスシーケンスの種類に関する情報が、rtype記述子のブロックによってコード化され、
前記マッピングされたリードのマルチプルアライメントに関する情報が、mmap記述子のブロックによってコード化され、
同じリードのスプライス
されたアライメント及びマルチプルアライメントに関する情報が、msar記述子のブロック及びmm
ap記述子のブロックによってコード化され、
リードのアライメントスコアに関する情報が、mscore記述子ブロックによってコード化され、
リードが属するグループに関する情報が、rgroup記述子のブロックによってコード化される、
請求項10に記載のコード化方法。
【請求項12】
前記クラスHMのアクセスユニットは、前記マッピングされたリードに対する、pos、rcomp、flags、rlen、indp、indt、indc、rgroup記述子のブロックと、前記マッピングされていないリードに対するureads記述子のブロックを用いて構築される、
請求項11に記載のコード化方法。
【請求項13】
マルチプルアラインメントに関する情報が、mmap及びmsar記述子のブロックを用いて示される、
請求項12に記載のコード化方法。
【請求項14】
前記msar記述子は、
・ マッチング塩基の表示するための記号:=
・ 挿入の表示するための記号:+
・ 削除を表示するための記号:-
・ 順方向のストランドのスプライスを表示するための記号:/
・ 逆方向のストランドのスプライスを表示するための記号:%
・ 無方向のスプライスを表示するための記号:*
・ 置換を表示するための記号:C
・ n個のソフトクリップ塩基を表示するための記号:(n)(nは整数)
・ n個のハードクリップされた塩基を表示する記号:[n](nは整数)
を含む拡張シガーストリングで
表現される、
請求項13に記載のコード化方法。
【請求項15】
前記記述子のブロックは、アライメントされたリードの各クラス及びサブクラスごとに1つのセクションを含むマスターインデックステーブルを含み、前記セクションは、データの各クラス又はサブクラスの各アクセスユニットの第1のリードの前記1つ以上のリファレンスシーケンス上の前記マッピング位置を含み、
前記マスターインデックステーブル及び前記アクセスユニットのデータを共にコード化することを含む、
請求項14に記載のコード化方法。
【請求項16】
前記記述子のブロックが、使用されるリファレンスシーケンスの種類(既存のもの又は構築されたもの)、及び前記リファレンスシーケンスにマッピングされない前記リードのセグメントに関する情報をさらに含み、
前記リファレンスシーケンスを、置換、挿入、削除、及び、クリッピングを適用することにより異なるリファレンスシーケンスに変換し、前記変換されたリファレンスシーケンスを参照して、前記分類されたアライメントされたリードを複数の記述子のブロックとしてコード化する、
請求項15に記載のコード化方法。
【請求項17】
全てのクラスのデータに対して使用される前記リファレンスシーケンスに同じ変換が適用され、又は
各クラスのデータに対して使用される前記リファレンスシーケンスに異なる変換が適用され、
前記リファレンスシーケンスの変換を記述するデータが記述子のブロックとしてコード化され、ヘッダ情報と共に構造化され、連続するアクセスユニットを構成する、
請求項16に記載のコード化方法。
【請求項18】
前記分類されたアラメントされたリード及び関連するリファレンスシーケンスの変換を、複数の記述子のマルチプルブロックとしてコード化することは、各記述子のブロックに特定のソースモデル及び特定のエントロピーコーダを用いることを含み、
前記特定のエントロピーコーダは、コンテキスト適応算術コーダ、可変長コーダ又はゴロムコーダのうちいずれか1つである、
請求項17に記載のコード化方法。
【請求項19】
コード化されたゲノムデータをデコード化する方法であって、
前記方法は、
コード化されたゲノムデータを含むアクセスユニットを解析し、ヘッダ情報を用いて記述子のマルチプルブロックを抽出し、
前記記述子のマルチプルブロックをデコード化して、1つ以上のリファレンスシーケンスに対する分類を定義する特定のマッチング規則に従ってリードを抽出することを含み、
アクセスユニットが、第1のクラス、第2のクラス、第3のクラス、又は第4のクラスであるとき、前記記述子のブロックは、指定されたマッチング規則に従って、第1のリファレンスシーケンスに対する前記リードのマッチングが記述されたものであり、
マッピングに使用されたリファレンスシーケンスに対してミスマッチが存在しないアライメントされたリードを示すとき、前記アクセスユニットは前記第1のクラス(クラスP)であることを示し、
シーケンシング装置がどの塩基も呼び出すことができなかった位置にミスマッチが存在し、該ミスマッチの数が所定のしきい値を超えていないアライメントされたリードを示すとき、前記アクセスユニットは第2のクラス(クラスN)であることを示し、
シーケンシング装置
がどの塩基も呼び出すことができなかった位置にミスマッチが存在し、該ミスマッチがnタイプのミスマッチ、及び/又は、前記リファレンスシーケンスと異なる塩基を呼び出したsタイプのミスマッチを有するアライメントされたリードを示すとき、前記アクセスユニットは前記第3のクラス(クラスM)であり、ここで、前記nタイプのミスマッチ、前記sタイプのミスマッチの数は、所定の関数(f(n,s))から得られるしきい値を超えていないことが条件とされており、
前記第3のクラス(クラスM)と同じ種類のミスマッチを有
し、
かつ該ミスマッチ
が、挿入(iタイプ)、欠損(dタイプ)、ソフト又はハードクリップ(cタイプ)の少なくとも1つの種類のミスマッチ
を含むとき、前記アクセスユニットは前記第4のクラス(クラスI)であることを示し、ここで、前記各種類のミスマッチの数が、所定の関数(w(n,s,i,d,c))で与えられるしきい値を超えないことを条件とされており、
前記第1のクラス(クラスP)のアクセスユニットは、マッピング位置に関する情報を表す記述子のブロック、ストランド性(リードが解読されたDNA鎖)に関する情報を表す記述子のブロック、ヌクレオチドシーケンスのリードの特定の特性を表す「flags」記述子によって構築され、ここで、前記第1のクラス(クラスP)のアクセスユニットにおいて、ペアエンドリードのペアリング情報は、記述子のブロックを用いてコード化されており、
前記第2のクラス(クラスN)のアクセスユニットは、前記第1のクラス(クラスP)のアクセスユニットと同じ記述子ブロックに加えて、未知の塩基の位置に関する情報を表す記述子のブロックによって構築され、
前記第3のクラス(クラスM)のアクセスユニットは、前記第1のクラス(クラスP)のアクセスユニットと同じ記述子のブロックに加え、置換の位置と類型に関する情報を表す記述子のブロックによって構築され、
前記第4のクラス(クラスI)のアクセスユニットは、前記第1のクラス(クラスP)のアクセスユニットと同じ記述子のブロックに加え、置換、挿入、欠損及びクリッピングされた塩基の位置及び種類に関する情報を表す記述子のブロックによって構築され、
アクセスユニットが第5のクラス(クラスU)であるとき、記述子のブロックは、指定されたマッチング規則に従って、第2のリファレンスシーケンスに関する前記リードのマッチングを記述したものであること、
を含む、デコード化方法。
【請求項20】
前記第5のクラス(U)のアクセスユニットは、
前記マッピングの位置の情報を表す記述子のブロック、
ストランド性(リードが解読されたDNA鎖)に関する情報を表す記述子のブロック、及びヌクレオチドシーケンスリードの特定の特性を表す「flags」、ここで、ペアエンドリードのペアリング情報は、それぞれの記述子のブロックを使用してコード化され、
置換の位置と類型に関する情報を表す記述子のブロック、
前記第2のリファレンスシーケンスと一致しないリードの部分に関する情報を表す記述子のブロック、
どのリファレンスシーケンスにもマッピングできないリードを逐語的にコード化した記述子のブロック、
の1つ以上を用いて構築される、
請求項19に記載のデコード化方法。
【請求項21】
リードの各クラスに対する1つのセクションと、前記1つ以上のリファレンスシーケンスに対するマッピング位置と、を含むコード化されたマスターインデックステーブルをデコード化することをさらに含む、
請求項19に記載のデコード化方法。
【請求項22】
使用されるリファレンスの種類(既存のもの、変換されたもの、又は構築されたもの)に関連する情報をデコード化すること、及び
前記既存のリファレンスシーケンスに適用される1つ以上の変換に関連する情報をデコード化すること、をさらに含み、
前記記述子のブロックがエントロピーデコード化される、
請求項21に記載のデコード化方法。
【請求項23】
前記クラスPのリードは、pos記述子、rcomp記述子、flags記述子、及びrlen記述子の各記述子のブロックをデコード化することにより取得され、
前記クラスNのリードは、pos記述子、rcomp記述子、flags記述子、rlen記述子、nmis記述子の各記述子のブロックをデコード化することにより取得され、
前記クラスMのリードは、pos記述子、rcomp記述子、flags記述子、rlen記述子、snpp記述子、snpt記述子の各記述子のブロックをデコード化することにより取得され、
前記クラスIのリードは、pos記述子、rcomp記述子、flags記述子、rlen記述子、indp記述子、indt記述子、indc記述子の各記述子のブロックをデコードすることによって取得され、
前記クラスUのリードは、pos記述子、rcomp記述子、flags記述子、rlen記述子、snpp記述子、snpt記述子、indc記述子、ureads記述子、rtype記述子の各記述子のブロックをデコード化することによって取得される、
請求項22に記載のデコード化方法。
【請求項24】
前記クラスP、前記クラスN、前記クラスM、及び、前記クラスI
のリードペアが、pair記述子のブロックをデコード化することによっ
て取得され、
クラスHM
が、pos記述子、rcomp記述子、flags記述子、rlen記述子、indp記述子、indt記述子、indc記述子、ureads記述子の各記述子のブロックをデコード化することによって
取得
される、
請求項23に記載のデコード化方法。
【請求項25】
請求項1乃至18のいずれか一項に記載のコード化方法を実行するように構成された、ゲノムシーケンスデータをコードするためのゲノムエンコーダ。
【請求項26】
請求項19乃至24のいずれか一項に記載のデコード化方法を実行するように構成された、ゲノムデータをデコードするためのゲノムデコーダ。
【請求項27】
請求項1乃至18のいずれか一項に記載のコード化方法を少なくとも1つのプロセッサに実行させる命令を含むコンピュータ読み取り可能な記録媒体。
【請求項28】
請求項19乃至24のいずれか一項に記載のデコード化方法を少なくとも1つのプロセッサに実行させる命令を含むコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、既知の従来技術の表現方法では利用できない新しい機能を提供することにより、利用される記憶領域を削減し、アクセス性能を改善するゲノムシーケンシングデータの新しい表現方法を提供する。
[関連出願の相互参照]
【0002】
本出願は、2017年2月14日に提出されたPCT/US2017/017842及び2017年7月11日に提出されたPCT/US2017/041591の優先権及びその利益を主張する。
【背景技術】
【0003】
ゲノムシーケンシングデータの適切な表現は、ゲノムバリアント呼び出し等の効率的なゲノム解析アプリケーションや、シーケンスデータとメタデータを処理することでさまざまな目的で実行されるその他すべての分析を可能にするために不可欠である。
【0004】
ヒトゲノムのシーケンシングは、高スループット、低コストのシーケンシング技術の出現により、安価になって来ている。このような機会は、癌の診断及び治療から遺伝性疾患の同定に至るまで、抗体の同定のための病原体サーベイランスから、新しいワクチン、薬剤の作製、及び個別化された治療のカスタマイズに至るまで、いくつかの分野における新しい展望を開くものである。
【0005】
病院、ゲノミクスデータ分析プロバイダー、バイオインフォマティクス、及び大規模な生物データ保存センターは、ゲノム医療を世界規模にスケールアップすることを可能にする、安価で、迅速で、信頼性があり、相互接続されたゲノム情報処理ソリューションを探している。シーケンシングプロセスにおけるボトルネックの一つがデータの記憶になっており、圧縮形式でゲノムシーケンシングデータを表現する方法が益々研究されている。
【0006】
シーケンシングデータで最も使用されるゲノム情報の表示は、FASQ及びSAMフォーマットの圧縮に基づいている。その目的は、従来から使用されているファイル形式(アライメントされていないデータとアライメントされたデータについては、それぞれFASTQとSAMを使用)を圧縮することにある。このようなファイルは、プレーンテキスト文字で構成され、LZ(LempelとZiv、最初の版を出版した作成者)方式(よく知られたzip、gzip等)等の汎用アプローチを使用して、上述のように圧縮される。gzip等の汎用圧縮方式を使用する場合、圧縮の結果は通常、バイナリデータの単一のかたまりとなっている。このようなモノリシック形式の情報は、特に高スループットシーケンシングの場合のようにデータの量が非常に大きい場合、アーカイブ、転送、及び詳細化が非常に困難になる。BAMフォーマットは、SAMファイルによって伝達される実際のゲノム情報を抽出するよりもむしろ非効率的で、冗長なSAMフォーマットの圧縮に焦点を当て、そして各データソースの特定の性質を利用するよりもむしろgzipのような汎用テキストの圧縮アルゴリズムを採用するために、低い圧縮性能によって特徴付けられている(ゲノムデータ自体)。
【発明の開示】
【発明が解決しようとする課題】
【0007】
使用頻度は少ないが、BAMよりも効率的なゲノムデータ圧縮へのより洗練されたアプローチがCRAMである。CRAMは、リファレンスに関する微分コード化を採用することにより効率的な圧縮を提供する(データソースの冗長性を部分的に活用する)。ただし、増分更新、ストリーミングのサポート、特定クラスの圧縮データへの選択的アクセス等の機能はまだ備わっていない。
【0008】
これらのアプローチでは、圧縮率が低くなり、データ構造が圧縮されると、ナビゲート及び操作が困難になる。単純な操作を実行したり、ゲノムデータセットの選択した領域にアクセスしたりする場合でも、大規模で厳格なデータ構造を処理する必要があるため、ダウンストリーム解析は非常に遅くなる可能性がある。CRAMは、CRAMレコードの概念に依存している。各CRAMレコードは、再構成に必要なすべてのエレメントをコード化することにより、単一のマッピングされたリード又はマッピングされていないリードを表す。
【0009】
CRAMには、本明細書に記載されている発明によって解決及び克服される、次の欠点と制限がある:
1.CRAMは、特定の機能を共有するデータインデックスとデータサブセットへのランダムアクセスをサポートしていない。データのインデックスは仕様の範囲外であり(CRAMの仕様v.3.0のセクション12を参照)、別のファイルとして実装される。対照的に、本明細書に記載されている本発明のアプローチは、コード化プロセスと統合されたデータ索引方法を採用し、コード化された(すなわち圧縮された)ビットストリームに索引が埋め込まれている。
2.CRAMは、あらゆる種類のマッピングされたリード(完全に一致するリード、置換のみを伴うリード、挿入又は削除を伴うリード(「インデル(indels)」とも呼ばれる))を含むことができるコアデータブロックによって構築される。リファレンスシーケンスに関するマッピングの結果に従って、データの分類やクラス内のリードのグループ化の概念は無い。これは、特定の機能を持つリードのみが検索される場合でも、すべてのデータを検査する必要があることを意味する。このような制限は、コード化の前にクラスでデータを分類及び分割する、本発明により解決される。
3.CRAMは、各リードを「CRAMレコード」にカプセル化するという概念に基づいている。これは、特定の生物学的特徴(例えば:置換を伴うが「インデル(indels)」を伴わないリード、又は完全にマッピングされたリード)によって特徴づけられるリードを検索する場合、それぞれ完全な版の「記録」を検査する必要性を意味する。
対照的に、本発明では、別々の情報ブロックに別々にコード化されたデータクラスの概念があり、各リードをカプセル化するレコードの概念はない。これにより、各(ブロックの)リードをデコード化してその特徴を検査することなく、特定の生物学的特性(例えば:置換を伴うが「インデル(indels)」を伴わないリード、又は完全にマッピングされたリード)を有するリードのセットへのより効率的なアクセスが可能になる。
4.CRAMレコードでは、各レコードフィールドは特定のフラグに関連付けられ、各CRAMレコードには異なる種類のデータを含めることができるため、コンテキストの概念がなく、各フラグは常に同じ意味を持つ必要がある。このコード化メカニズムは冗長な情報を導入し、効率的なコンテキストベースのエントロピーコード化の使用を妨げる。
これに対し、本発明では、データを示すフラグは、データが属する情報を「ブロック」によって本質的に定義されるので、データを示すフラグの概念は存在しない。これは、使用されるべき記号の数が大幅に減少し、その結果、より効率的な圧縮に帰着する情報ソースのエントロピーが減少することを意味する。このような改善が可能なのは、異なる「ブロック」を使用することにより、エンコーダが、コンテキストに応じて異なる意味を有する各ブロックにわたって同じ記号を再利用することが可能になるためである。CRAMでは、コンテキストの概念がなく、各CRAMレコードに任意の種類のデータを含めることができるため、各フラグは常に同じ意味を持つ必要がある。
5.CRAMの置換では、挿入と削除は異なる記述子、情報ソースのアルファベットのサイズを増加させ、より高い情報ソースのエントロピーをもたらすオプションを用いて表現される。対照的に、開示された発明のアプローチは、単一のアルファベット及び置換、挿入及び欠損のためのコード化を使用する。これはコード化とデコード化プロセスをより単純にし、コード化が高圧縮性能で特徴付けられるビットストリームを生じ、エントロピーの低いソースモデルを生成する。
【0010】
本発明は、コード化されるべき冗長な情報が最小化され、選択的アクセス及び増分更新のためのサポートのような機能が圧縮ドメイン内で直接的に可能となるように、シーケンシングデータを分類及び分割することによってゲノムシーケンスを圧縮することを目的とする。
【課題を解決するための手段】
【0011】
請求項に係る以下の特徴は、その提供によって既存の従来技術の解決策の問題を解決する。
【0012】
ヌクレオチドシーケンスのリードを含むゲノムシーケンスデータをコード化する方法であって、
前記リードを1つ以上のリファレンスシーケンスにアライメントさせ、それによってアライメントリードを作成し、
指定されたマッチング規則に従って、前記1つ以上のリファレンスシーケンスを使用して前記アライメントリードを分類し、それによってアライメントリードのクラスを作成し、
前記分類されたアライメントリードを記述子の複数のブロックとしてコード化し、
前記分類されたアライメントリードを前記記述子の多数のブロックとしてコード化することは、前記アライメントリードの前記クラスに従って前記記述子を選択することを含み、
前記記述子のブロックをヘッダ情報で構造化し、それにより連続したアクセスユニットを作成する。
【0013】
別の態様において、コード化方法は、前記指定されたマッチング規則を満たさない前記リードをマッピングされていないリードのクラスに分類することをさらに含み、
少なくともいくつかの前記マッピングされていないリードを使用してリファレンスシーケンスのセットを構築し、
前記マッピングされていないリードのクラスを、構築された前記リファレンスシーケンスのセットにアライメントし、
前記分類されたアライメントリードを記述子の複数のブロックとしてコード化し、
前記構築されたリファレンスシーケンスのセットをコード化し、
前記記述子のブロック及び前記コード化されたリファレンスシーケンスをヘッダ情報で構築し、それにより連続するアクセスユニットを作成する。
【0014】
別の多様において、コード化方法は、前記リファレンスシーケンスにミスマッチのないゲノムリードを第1番目の「クラスP」として分類することさらに含む。
【0015】
別の態様において、前記コード化方法は、シーケンシング装置がいずれの「塩基」も呼び出すことができず、かつ各リードにおけるミスマッチの数が所定のしきい値を超えない位置においてのみミスマッチが見出される場合に、ゲノムリードを第2番目の「クラスN」として分類することをさらに含む。
【0016】
別の態様において、前記コード化方法は、前記シーケンシング装置がいかなる「塩基」も呼び出すことができなかった位置でミスマッチが見つかった場合、ゲノムリードを第3番目の「クラスM」として識別することをさらに含み、「nタイプ」のミスマッチと名付けられ、及び/又はリファレンスシーケンスとは異なる「塩基」と呼ばれ、「sタイプ」のミスマッチと名付けられ、及び前記ミスマッチの数は、前記「nタイプ」のミスマッチ、前記「sタイプ」のミスマッチの数に対して所定のしきい値を超えず、しきい値は、「nタイプ」及び「sタイプ」のミスマッチの数を計算する関数(f(n,s))で与えられる。
【0017】
別の態様において、前記コード化方法は、前記「クラスM」と同じ種類のミスマッチが発生する可能性がある場合、ゲノムリードを第4番目の「クラスI」と識別することをさらに含み、少なくとも1つのミスマッチの類型:「挿入」(「iタイプ」)、「削除」(「dタイプ」)、ソフトクリップ(「cタイプ」)が加えられ、ここで、各タイプの前記ミスマッチの数は、対応する所定のしきい値を超えず、しきい値は、「nタイプ」、「sタイプ」、「iタイプ」、「dタイプ」及び「cタイプ」のミスマッチの数を計算する関数(w(n,s,i,d,c))で与えられる。
【0018】
別の態様において、前記コード化方法は、クラスP、N、M、Iのいずれの分類も見出さない全てのリードを含むものとして、ゲノムリードを第5番目の「クラスU」として識別することをさらに含む。
【0019】
別の態様において、前記コード化方法は、コード化された前記ゲノムシーケンスのリードはペアになっていることをさらに含む。
【0020】
別の態様において、前記コード化方法は、前記分類することが、1つのリードがクラスP、N、M又はIに属し、他のリードが「クラスU」に属するすべてのリードペアを含むものとして、ゲノムリードを第6番目の「クラスHM」として識別することをさらに含む。
【0021】
別の態様において、前記コード化方法は、前記2つのメイトのリードが同じクラス(P、N、M、I、Uのそれぞれ)に分類されているかどうかを識別し、前記ペアを同じ識別されたクラスに割り当て、
前記2つのメイトのリードが異なるクラスに分類されているかどうかを識別し、それらがいずれも「クラスU」に属していない場合、前記ペアのリードを次式に従って最も優先度の高いクラスに割り当て:
P<N<M<I
ここで、「クラスP」の優先度が最も低く、「クラスI」の優先度が最も高く、
前記2つのメイトのリードのうち一方のみが「クラスU」に属すると分類されたかどうかを識別し、前記ペアのリードを「クラスHM」のシーケンスに属すると分類すること、をさらに含む。
【0022】
別の態様において、前記コード化方法は、リードN、M、Iの各クラスは、「nタイプ」のミスマッチの数(292)、関数f(n,s)(293)及び関数w(n,s,i,d,c)(294)によって、各クラスN、M、Iに対してそれぞれ定義されたしきい値のベクトル(292、293、294)に従って、2つ以上のサブクラス(296、297、298)にさらに分割される。
【0023】
前記2つのメイトのリードが同じサブクラスに分類されているかどうかを識別し、前記ペアを同じサブクラスに割り当て、
前記2つのメイトのリードが異なるクラスのサブクラスに分類されているかどうかを識別し、前記ペアを、次の式に従って、優先度の高い前記クラスに属する前記サブクラスに割り当て、
N<M<I
ここで、Nが最も優先度が低く、Iが最も優先度が高く、
前記2つのメイトのリードが同じクラスに分類されており、そのクラスがN、M、又はIであるが、サブクラスが異なるかどうかを識別し、前記ペアを、次の式に従って、最も優先度が高いサブクラスに割り当てる、
N1<N2<・・・<Nk
M1<M2<・・・Mj
I1<I2<・・・<Ih
ここで、最も高いインデックスが最も高い優先度を持つ、ことをさらに含む。
【0024】
別の態様において、各リードのマッピング位置に関する情報は、pos記述子ブロックによってコード化される。
【0025】
別の態様において、各リードのストランド性(すなわち、リードのシーケンスが由来するDNA鎖)に関する情報は、rcomp記述子ブロックによってコード化される。
【0026】
別の態様において、ペアエンドリードのペアリング情報は、pair記述子ブロックによってコード化される。
【0027】
別の態様において、前記リードが適切なペアでマッピングされているか否か、プラットフォーム/ベンダーの品質チェックの失敗、PCR又は光学複製であること、又は補助的なアライメントであること、のような付加的なアライメント情報は、フラグ記述子ブロックによってコード化される。
【0028】
別の態様において、未知の塩基に関する情報は、mmis記述子ブロックによってコード化される。
【0029】
別の態様において、置換の位置に関する情報は、snpp記述子ブロックによってコード化される。
【0030】
別の態様において、置換の類型に関する情報は、特定のsnpt記述子ブロックによってコード化される。
【0031】
別の態様において、ミスマッチの位置、置換、挿入又は削除に関する情報は、indp記述子ブロックによってコード化される。
【0032】
別の態様において、置換、挿入、又は削除のようなミスマッチの類型に関する情報は、indt記述子ブロックによってコード化される。
【0033】
別の態様において、マッピングされたリードのクリップされた塩基に関する情報は、indc記述子ブロックによってコード化される。
【0034】
別の態様において、マッピングされていないリードに関する情報は、ureads記述子ブロックによってコード化される。
【0035】
別の態様において、コード化に使用されるリファレンスシーケンスの種類に関する情報は、rtype記述子ブロックによってコード化される。
【0036】
別の態様において、前記マッピングされたリードのマルチプルアライメントに関する情報は、mmap記述子ブロックによってコード化される。
【0037】
別の態様において、前記同じリードのスプライスされたアライメント及びマルチプルアライメントに関する情報は、msar記述子ブロック及びmmp記述子ブロックによってコード化される。
【0038】
別の態様において、リードのアライメントスコアに関する情報は、mscore記述子ブロックによってコード化される。
【0039】
別の態様において、リードが属するグループに関する情報が、「rgroup」記述子ブロックによってコード化される。
【0040】
別の態様において、前記コード化方法は、前記記述子のブロックは、アライメントされたリードの各クラス及びサブクラスごとに1つのセクションを含むマスターインデックステーブルを含み、前記セクションは、マスターインデックステーブル及び前記アクセスユニットの両方でコード化しているデータの各クラス又はサブクラスの各アクセスユニットの第1のリードの前記1つ以上のリファレンスシーケンス上の前記マッピング位置をさらに含む。
【0041】
別の態様において、前記コード化方法は、前記記述子の前記ブロックが、使用される参照の種類(既存又は構築された)、及び前記リファレンスシーケンスにマッピングされない前記リードの前記セグメントに関する情報をさらに含む。
【0042】
別の態様において、前記コード化方法は、前記リファレンスシーケンスは、置換、挿入、削除、及びクリッピングを適用することにより異なるリファレンスシーケンスに第1の変換がされ、記述子の多数のブロックとしての前記分類されたアライメントリードのコード化は前記変換されたリファレンスシーケンスを参照することをさらに含む。
【0043】
別の態様において、前記コード化方法は、同じ変換が、全てのクラスのデータに対して使用される前記リファレンスシーケンスに適用されることをさらに含む。
【0044】
別の態様において、前記コード化方法は、異なる変換が、データの各クラスに対して使用される前記リファレンスシーケンスに適用されることをさらに含む。
【0045】
別の態様において、前記コード化方法は、前記リファレンスシーケンスの変換が記述子のブロックとしてコード化され、ヘッダ情報で構造化され、それにより連続するアクセスユニットを作成することをさらに含む。
【0046】
別の態様において、前記コード化方法は、前記分類されたアラメントリードの前記コード化及び記述子のブロックの多重化としての前記関連するリファレンスシーケンス変換は、特定の記述子ブロック及び特定のソースモデルに関連付けをするステップをさらに含む。
【0047】
別の態様において、前記コード化方法は、前記エントロピーコーダは、コンテキスト適応算術コーダ、可変長コーダ又はゴロムコーダのうちいずれか1つであることをさらに含む。
【0048】
本発明はさらに、コード化されたゲノムデータをデコード化する方法であって、
ヘッダ情報を用いて記述子の多重化されたブロックを抽出するために前記コード化されたゲノムデータを含むアクセスユニットを解析し、
1つ以上のリファレンスシーケンスに関する分類を定義する特定のマッチング規則に従ってリードを抽出するために、記述子の前記多重化されたブロックをデコード化することを含む、方法を提供する。
【0049】
別の態様において、デコード化方法は、マッピングされていないゲノムリードのデコード化をさらに含む。
【0050】
別の態様において、デコード化方法は、分類されたゲノムリードのデコード化をさらに含む。
【0051】
別の態様において、デコード化方法は、関連する関連マッピング位置及びリードの各クラスに対して1つのセクションを含むマスターインデックステーブルをデコード化することをさらに含む。
【0052】
別の態様において、デコード化方法は、使用されるリファレンスの種類:既存、変換、又は構築、に関連する情報をデコード化することをさらに含む。
【0053】
別の態様において、デコード化方法は、前記既存のリファレンスシーケンスに適用される1以上の変換に関連する情報をデコード化することをさらに含む。
【0054】
別の態様において、デコード化方法は、ペアになっているゲノムリードをさらに含む。
【0055】
別の態様において、デコード化方法は、前記ゲノムデータがエントロピーデコード化される場合をさらに含む。
【0056】
本発明は、ゲノムシーケンスデータ209、ヌクレオチドシーケンスのリードを含む前記ゲノムシーケンスデータ209を圧縮するためのゲノムエンコーダ(210)をさらに
提供し、前記ゲノムエンコーダ(210)は、
前記リードを1つ以上のリファレンスシーケンスにアライメントさせ、それによりアライメントリードを作成するように構成された、アライナユニット(201)と、
構築されたリファレンスシーケンスを生成するように構成された構築された、リファレンス生成ユニット(202)と、
1つ以上の既存のリファレンスシーケンス又は構築されたリファレンスシーケンスを使用して、特定のマッチング規則に従って前記アライメントリードを分類し、それによってアライメントリード(208)のクラスを作成するように構成された、データ分類ユニット(204)と、
前記分類されたアライメントリードに従って前記記述子を選択することにより記述子のブロックとして前記分類されたアライメントリードをコード化するように構成された、1つ以上のブロックコード化ユニット(205~207)と、
前記圧縮されたゲノムデータ及びメタデータを多重化するためのマルチプレクサ(2016)と、を含む。
【0057】
別の態様において、ゲノムエンコーダは、既存のリファレンス及びデータクラス(208)を変換済みデータクラス(2018)に変換するように構成された、リファレンスシーケンス変換ユニット(2019)をさらに含む。
【0058】
別の態様において、ゲノムエンコーダは、前記データ分類ユニット(204)が、データクラスN、M及びIのサブクラスを生成するしきい値のベクトルで構成されたデータクラスN、M及びIのエンコーダをさらに含む。
【0059】
別の態様において、ゲノムエンコーダは、前記リファレンス変換ユニット(2019)は、データの全てのクラス及びサブクラスに対して同じリファレンス変換(300)を適用することをさらに含む。
【0060】
別の態様において、ゲノムエンコーダは、前記リファレンス変換ユニット(2019)は、データの異なるクラス及びサブクラスに対して異なるリファレンス変換(301、302、303)を適用することをさらに含む。
【0061】
別の態様において、ゲノムエンコーダは、前述のコード化方法の全てを実行するのに適した機能をさらに含む。
【0062】
本発明は、圧縮されたゲノムストリーム(211)を復元するためのゲノムデコーダー(218)をさらに提供し、前記ゲノムデコーダ(218)は、
圧縮されたゲノムデータとメタデータを逆多重化するためのデマルチプレクサ(210)と、
前記圧縮されたゲノムストリームを記述子のゲノムブロック(215)に構文解析するように構成された解析手段(212-214)と、
記述子のゲノムブロックをヌクレオチド(211)のシーケンスの分類されたリードにデコードするように構成された1つ以上のブロックデコーダ(216-217)と、
ヌクレオチドのシーケンスの非圧縮リードを生成するために、1つ以上のリファレンスシーケンス上のヌクレオチドのシーケンスの前記分類されたリードを選択的にデコード化するように構成されたゲノムデータクラスデコーダー(219)と、を含む。
【0063】
別の態様において、ゲノムデコーダは、リファレンス変換記述子(2112)をデコード化し、ゲノムデータクラスデコーダ(219)によって使用される変換済みのリファレンス(2114)を生成するように構成されたリファレンス変換デコーダ(2113)をさらに含む。
【0064】
別の態様において、ゲノムデコーダは、前記1つ以上のリファレンスシーケンスが、圧縮されたゲノムストリーム(211)に記憶されることをさらに含む。
【0065】
別の態様において、ゲノムデコーダは、前記1以上のリファレンスシーケンスが、帯域外(out of band)メカニズムを介して前記デコーダに提供されることをさらに含む。
【0066】
別の態様において、ゲノムデコーダは、前記1つ以上のリファレンスシーケンスが、デコーダで構築されることをさらに含む。
【0067】
別の態様において、ゲノムデコーダは、1つ以上のリファレンスシーケンスが、リファレンス変換デコーダ(2113)によってデコーダで変換されることをさらに含む。
【0068】
本発明は、前述のコード化方法の全ての態様を実行するための少なくとも1のプロセッサを実行させる命令を含むコンピュータ可読媒体をさらに提供する。
【0069】
本発明は、前述のデコード化方法の全ての態様を実行するための少なくとも1のプロセッサを実行させる命令を含むコンピュータ可読媒体をさらに提供する。
【0070】
本発明に、前述のコード化方法の全ての態様に従ってコード化されたゲノムを記憶するサポートデータをさらに提供する。
【発明の効果】
【0071】
提案される手法の一態様は、異なるブロックで構造化され、別々にコード化されたデータとメタデータのクラスの定義である。既存の方法に関するこのような手法のより適切な改善は以下の通りである:
1.データ又はメタデータの種類ごとに効率的なソースモデルを提供することにより構成される情報ソースのエントロピーの減少による圧縮性能の向上;
2.圧縮されたデータ及びメタデータの一部に対して、圧縮されたドメイン内で直接、更なる処理目的のために選択的アクセスを行う可能性;
3.新しいシーケンシングデータ及び/又はメタデータ及び/又は特定のシーケンスリードのセットに関連する新しい解析結果を用いて、圧縮データ及びメタデータを増分的に(すなわち、デコード化と再コード化を必要としない)更新する可能性。
【図面の簡単な説明】
【0072】
【
図1】マッピングされたリードペアの位置が、第1のマッピングされたリードの絶対位置との差として「pos」ブロックでどのようにコード化されるかを示す。
【
図2】ペアである2つのリードがどのようにして2つのDNA鎖から生成されるのかを示す。
【
図3】ストランド1がリファレンスとして使用される場合、リード2の逆相補がどのようにコード化されるかを示す。
【
図4】リードペアを構成するリードの4つの可能な組み合わせと、「rcomp」ブロック内のそれぞれのコード化を示す。
【
図5】3つのリードペアのリード長が一定の場合におけるペアリング距離の計算方法を示す。
【
図6】「ペア」ブロックでコード化されたペアリングエラー(pairing errors)によって、どのようにデコーダがコード化された「MPPPD」を使用して正しいリードのペアリングを再構築する方法を示す。
【
図7】リードがそのメイトよりも異なるリファレンスにマッピングされる場合のペアリング距離のコード化を示す。この場合、付加的な記述子がペアリング距離に追加される。その1つはシグナリングフラグ、2つ目はリファレンス識別子、及びペアリング距離である。
【
図8】「nmis」ブロック内の「nタイプ」のミスマッチングのコード化を示す。
【
図9】リファレンスシーケンスに関する置換を示すマッピングされたリードペアを示す。
【
図10】置換の位置を絶対値又は微分値として計算する方法を示す。
【
図11】IUPACコードを使用しない場合の置換の種類をコード化する記号の計算方法を示す。記号は、リードに存在する分子とその位置のリファレンスに存在する分子との間の距離-環状置換(circular substitution)ベクトルを表す。
【
図12】置換を「snpt」ブロックにどのようにコード化する方法を示す。
【
図13】IUPAC曖昧性コードを使用した場合における置換コードの計算方法を示す。
【
図14】IUPACコードを使用した場合の「snpt」ブロックのコード化の方法を示す。
【
図15】クラスIのリードで使用される置換ベクトルがクラスMと同じであり、記号A、C、G、T、Nの挿入に特別なコードが追加されている態様を示す。
【
図16】IUPAC曖昧性コードの場合のミスマッチとインデル(indels)のコード化の例を示す。この場合、置換ベクトルは非常に長くなるため、従って、可能な計算された記号は5つの記号の場合より多くなる。
【
図17】各ブロックに単一型のミスマッチ又は挿入の位置が含まれる、ミスマッチ及びインデル(indels)の異なるソースモデルを示す。この場合、記号は、ミスマッチ又はインデル(indels)の類型に対してコード化されない。
【
図18】ミスマッチ及びインデル(indels)のコード化の例を示す。特定の種類のミスマッチ又はインデル(indels)がリードに存在しない場合、対応するブロックに0がコード化される。0は、各ブロックのセパレータ及びターミネータとして機能する。
【
図19】リファレンスシーケンスの変更がMリードをPリードに変換する方法を示す。この操作により、特に高カバレッジデータの場合、データ構造の情報エントロピーを削減できる。
【
図20】本発明の一実施形態によるゲノムエンコーダ2010を示す。
【
図21】本発明の一実施形態によるゲノムデコーダ218を示す。
【
図22】リードをクラスタリングし、各クラスタから取得したセグメントをアセンブリすることによって、「内部」リファレンスを構築する方法を示す。
【
図23】特定のソート(例えば、辞書編集の順序)がリードに適用された後で、最新のリードを格納することによってリファレンスを構築する方法を示す。
【
図24】「マッピングされていない」リードのクラス(クラスU)に属するリードを、対応するブロックに格納又は伝送される6つの記述子を使用してコード化する方法を示す。
【
図25】クラスUに属するリードの代替のコード化を示す。ここでは、コード付きpos記述子を使用して、構築されたリファレンスリードのマッピング位置をコード化する。
【
図26】リードからミスマッチを除去するためにリファレンスを適用する方法を示す。場合によっては、リファレンス変換によって新しいミスマッチが生成されるか、変換が適用される前にリファレンスを参照するときに見つかったミスマッチの類型が変更される場合がある。
【
図27】ミスマッチの全て又はサブセットが削除された場合(つまり、変換前のクラスMに属するリードは、リファレンスの変換が適用された後にクラスPに割り当てられる)に、リファレンス変換がどのようにしてクラスリードの所属先を変更できるかを示す。
【
図28】ハーフマッピングリードペア(クラスHM)を使用して、マッピングされていないリードで長いコンティグを構築することにより、リファレンスシーケンスの不明な領域を埋める方法を示す。
【
図29】クラスN、M、及びIのデータのエンコーダがしきい値のベクトルで構成され、N、M、及びIのデータクラスの個別のサブクラスを生成する方法を示す。
【
図30】全てのクラスのデータが、再コード化のために同じ変換されたリファレンスを使用することができるか、又は各クラスN、M及びI又はそれらの任意の組み合わせのために異なる変換を使用することができるかを示す。
【
図32】マスターインデックステーブルの一般的な構造を示す。各行には、データP、N、M、I、U、HMのいくつかのクラスのゲノム区間(genomic intervals)と、メタデータ及び注釈へのポインタが含まれる。列は、コード化されたゲノムデータに関連するリファレンスシーケンス上の特定の位置を示す。
【
図33】クラスPのリードに関連するゲノム区間(genomic intervals)を含むMITの1行の例を示す。異なるリファレンスシーケンスに関連するゲノム領域は、特別なフラグ(例では「S」)で区切られている。
【
図34】ローカルインデックステーブル(LIT)の一般的な構造と、保存又は送信されたデータに含まれるコード化されたゲノム情報の物理的な場所へのポインタを保存するために使用される方法を示す。
【
図35】ブロックペイロードのアクセスユニット番号7及び8にアクセスするために使用されるLITの例を示す。
【
図36】ゲノムブロックヘッダーに含まれるMITとLITの複数の行の間の機能的な関係を示しす。
【
図37】異なるクラスに属するデータを含む異なるゲノムストリームによって伝送されるゲノムデータのいくつかのブロックによって、アクセスユニットがどのように構成されるかを示す。各ブロックは、さらに、データ伝送単位として用いられるデータパケットによって構成される。
【
図38】ヘッダと同種データの1つ以上のブロックに属する多重化ブロックによってアクセスユニットがどのように構成されるかを示す。各ブロックは、ゲノム情報の実際の記述子を含む1つ以上のパケットで構成できる。
【
図39】スプライシングのないマルチプルアライメントを示す。左端のリードには、N個のアライメントを有する。Nはデコード化されるmmapの第1の値で、第1のリードのアライメントの数を通知する。mmap記述子の次のN値がデコード化され、第2のリードのアライメントの数であるPを計算するために使用される。
【
図40】位置、ペア、及びmmap記述子を使用して、スプライスなしでマルチプルアライメントをコード化する方法を示す。左端のリードは、N個のアライメントを有する。
【
図41】スプライスを使用したマルチプルアライメントを示す。
【
図42】pos、pair、mmap、及びmsar記述子を使用して、スプライスとのマルチプルアライメントを表す方法を示す。
【発明を実施するための形態】
【0073】
本発明に係るゲノム又はプロテオミックシーケンスには、例えば、限定ではなく、ヌクレオチドシーケンス、デオキシリボ核酸(DNA)シーケンス、リボ核酸(RNA)、及びアミノ酸シーケンスが含まれる。本明細書の説明は、ヌクレオチドシーケンスの形式のゲノム情報に関してかなり詳細であるが、当業者によって理解されるように、いくつかのバリエーションがあり、圧縮のための方法及びシステムは、他のゲノム又はプロテオームシーケンスについても同様に適用できることが理解されるであろう。
【0074】
ゲノムシーケンシング情報は、高スループットシーケンシング(HTS)装置によって、規定された語彙からの文字列によって表されるヌクレオチドのシーケンス(「塩基」とも呼ばれる)の形で生成される。最小の語彙は5つの記号で表され:{A、C、G、T、N}はDNAに存在する4種類のヌクレオチド、すなわちアデニン、シトシン、グアニン、チミンを表す。RNAにおいてチミンはウラシル(U)に置換される。Nは、シーケンシング装置がいずれの塩基も呼び出せなかったとき、その位置の実際の性質が決定されていないことを示す。IUPAC曖昧性コードがシーケンシング装置によって採用される場合、記号に使用されるアルファベットは(A、C、G、T、U、W、S、M、K、R、Y、N、D、H、V、N)である。
【0075】
シーケンシング装置によって生成されたヌクレオチドシーケンスは「リード」と呼ばれる。シーケンスリードは、数十から数千のヌクレオチドの長さを有する。一部の技術では、1つのリードは1つのDNA鎖から、第2のリードは他の鎖から得られた「ペア」のシーケンスリードを生成する。ゲノムシーケンシングでは、「カバレッジ」という用語を使用して、「リファレンスシーケンス」に関するシーケンスデータの冗長性のレベルを表す。例えば、ヒトゲノム(長さ332億塩基)で30倍のカバレッジを達成するには、シーケンシング装置が合計30×32億塩基を生成し、リファレンスの各位置が平均30回「カバー」されるようにする。
【0076】
本開示を通して、リファレンスシーケンスは、シーケンシング装置により生成されたヌクレオチドシーケンスがアライメント/マッピングされる任意のシーケンスである。シーケンスの一例は、実際には「リファレンスゲノム」であり、種の遺伝子セットの代表例として科学者によってアセンブリされたシーケンスである。例えば、GRCh37、ゲノム・リファレンス・コンソーシアムのヒトゲノム(build37)は、ニューヨーク州バッファローの匿名ボランティア13名から派生している。但し、リファレンスシーケンスは、リードの圧縮性をさらに処理することを考慮して単に改善するように考案及び構築された合成シーケンスで構成することもできる。これについては、「クラスUの記述子と、「クラスU」及び「クラスHM」のマッピングされていないリードの「内部」リファレンスの構築」で詳しく説明し、
図22及び23に示す。
【0077】
シーケンシング装置では、次のようなシーケンスリードエラーが発生する可能性がある。
1.特定の塩基を呼び出す信頼性がないため、塩基の呼び出しをスキップする決定。これは未知の塩基と呼ばれ、「N」とラベル付けされる(「nタイプ」のミスマッチとして示される)。
2.シーケンスされたサンプルに実際に存在する核酸を表すために、間違った記号(つまり、異なる核酸を表す)を使用する;これは通常、「置換エラー」と呼ばれる(「sタイプ」のミスマッチとして示される)。
3.実際に存在する核酸を参照しないで付加的な記号の1つのシーケンスリードに挿入;これは通常、「挿入エラー」と呼ばれる(「iタイプ」のミスマッチとして示される)。
4.シーケンスされたサンプルに実際に存在する核酸を表す記号の1つのシーケンスリードからの削除;これは通常「削除エラー」と呼ばれる(「dタイプ」のミスマッチとして示される)。
5.元のシーケンスの実在を反映しない単一のフラグメントへの1つ以上のフラグメントの組換え;これは通常、アライナが塩基をクリップすると決定する結果となる(「cタイプ」のミスマッチとして示される)。
【0078】
「カバレッジ」という用語は、リファレンスゲノム又はその一部が利用可能なシーケンスリードでカバーできる程度を定量化するために文献で使用されている。カバレッジは次のように言われている:
・ リファレンスゲノムのいくつかの部分がどんな解読可能な配列によってもマッピングされていない場合の部分的な(partial)(1×未満);
・ リファレンスゲノムの全てのヌクレオチドが、シーケンス中のただ一つの記号によってマッピングされる単一の(single)(1×);
・ リファレンスゲノムの各ヌクレオチドが複数回マッピングされる場合は、多数の(multiple)(2×、3×、N×)。
【0079】
本発明は、関連情報が効率的にアクセス可能かつ移動可能であり、冗長情報の重みが低減されたゲノム情報表示フォーマットを定義することを目的とする。
【0080】
開示された発明の主な革新的な態様は以下のとおりである。
1 シーケンスリードは、リファレンスシーケンスに関するアライメントの結果に従って、データクラスに分類及び区分される。このような分類及び区分化は、アラインメント結果及びマッチング精度に関連する基準に従って、コード化されたデータへの選択的アクセスを可能にする。
2 分類されたシーケンスリード及び関連するメタデータは、低い情報エントロピーによって特徴付けられる別個の情報ソースを取得するために、記述子の同種のブロックによって表される。
3 各クラスの統計的特性に適合した別個のソースモデルを用いて、各分離された情報ソースをモデル化する可能性、及び各リードのクラス内及び各別々にアクセス可能なデータユニット(アクセス単位)の各記述子ブロック内でソースモデルを変更する可能性。各ソースモデルの統計的性質に従って、適切なコンテキスト適応確率モデルと関連するエントロピーコーダの採用。
4 記述子ブロック間の対応と依存関係の定義により、全ての情報が必要ではない場合、全ての記述子ブロックをデコード化することなく、シーケンシングデータ及び関連するメタデータに選択的にアクセスできる。
5 「既存の」(「外部」とも呼ばれる)リファレンスシーケンス又は「変換された」リファレンスシーケンスに関する各シーケンスのデータクラス及び関連するメタデータブロックのコードは、記述子ブロックの情報ソースのエントロピーを減らすために、「既存の」リファレンスシーケンスに適切な変換を適用することによって取得される。前記記述子は、異なるデータクラスに分割されたリードを表す。「既存の」リファレンス又は「変換された」「既存の」リファレンスシーケンスを参照して、対応する記述子を使用したリードのコード化に続いて、さまざまなミスマッチの発生を使用して、低エントロピーの最終的なコード化表現を見つけ、より高い圧縮効率を達成するために、リファレンスシーケンスへの適切な変換を定義できる。
6 1つ以上のリファレンスシーケンスの構築(「内部の」リファレンスとも呼ばれ、本明細書では「外部の」リファレンスシーケンスとも呼ばれる「既存の」リファレンスシーケンスと区別する)は、制約のセットを満たさない既存のリファレンスシーケンスに関してある程度のマッチング精度を示すリードのクラスをコード化するために使用される。このような制約は、「内部の」リファレンスシーケンスに関してアライメントされたリードのクラスを圧縮形式で表現するためのコード化のコスト、及び「内部の」リファレンスシーケンス自体を表現するためのコストが、アライメントされていないリードのクラスを逐語的にコード化するよりも、又は変換を伴わずに、又は伴う「外部の」リファレンスシーケンスを使用するよりも低いという目的で設定される。
【0081】
以下、上記に各態様についてさらに詳細に説明する。
[マッチング規則に従ったシーケンスリードの分類]
【0082】
シーケンシング装置により生成されたシーケンスリードは、開示された発明により、1つ以上の「既存の」リファレンスシーケンスに関するアライメントのマッチング結果に従って6つの異なる「クラス」に分類される。
【0083】
ヌクレオチドのDNAシーケンスをリファレンスシーケンスに対してアライメントさせる場合、次のケースを特定できる:
1.リファレンスシーケンス内のある領域は、エラーを伴わないシーケンスリードと一致することが分かる(すなわち、完全なマッピング)そのようなヌクレオチドのシーケンスは、「完全にマッチングするリード」と呼ばれるか、「クラスP」と表示される。
2.リファレンスシーケンスのある領域は、リードを生成するシーケンシング装置が塩基(又はフクレオチド)を呼び出すことができなかった数と位置によってのみ決定されるミスマッチの数と類型を伴うシーケンスリードと一致することが分かる。そのような類型のミスマッチは、未定義のヌクレオチド塩基を示すために使用される文字「N」で示される。本明細書では、この類型のミスマッチを「nタイプ」ミスマッチと呼ぶ。このようなシーケンスは「クラスN」リードに属する。リードが「クラスN」に属すると分類されると、マッチングの不正確さの程度を特定の上限に制限し、有効なマッチングと見なされるものとそうでないものとの境界を設定すると便利である。したがって、クラスNに割り当てられたリードは、リードに含めることができる未定義の塩基(「N」と呼ばれる塩基)の最大数を定義するしきい値(MAXN)を設定することによっても制約される。このような分類は、クラスNに属する全てのリードが、対応するリファレンスシーケンスを参照するときに共有する必要な最小マッチング精度(又は最大マッチング度)を黙示的に定義し、これは、選択的なデータ検索を圧縮データに適用するための有用な基準を構成する。
3.リファレンスシーケンス中のある領域は、リードを生成するシーケンシング装置がいずれのヌクレオチド塩基も呼び出せなかった位置の数、もし存在するならば(すなわち「nタイプ」のミスマッチ)、それに加えて、リファレンス中に存在するものとは異なる塩基が呼ばれた不一致の数、によって決定されたミスマッチの数と類型を伴うシーケンスリードと一致することが分かる。「置換」として示されるこのようなミスマッチの類型は、一塩基変異(SNV)又は一塩基多型(SNP)とも呼ばれる。本明細書では、この類型のミスマッチを「sタイプ」ミスマッチと呼ぶ。シーケンスリードは「Mミスマッチリード」として参照され、「クラスM」に割り当てられる。「クラスN」の場合と同様に、「クラスM」に属するすべてのリードについても、マッチングの不正確さの程度を特定の上限に制限し、有効なマッチングと見なされるものとそうでないものとの境界を設定すると便利である。したがって、クラスMに割り当てられたリードは、しきい値のセットを定義することによって制約され、1つは「nタイプ」のミスマッチが存在する場合はその数「n」(MAXN)、もう1つは置換の数「s」(MAXS)である。第3の制約は、数値「n」と「s」との両方の関数f(n,s)によって定義されるしきい値である。このような第2の制約は、任意の意味のある選択的アクセス基準に従ってマッチングの不正確さの上限を持つクラスを生成することを可能にする。例えば、限定ではないが、f(n,s)は、(n+s)1/2、又は(n+s)、又は「クラスM」に属するリードに対して許容されるマッチングの最大不正確さレベルに境界を設定する任意の線形式又は非線形式であり得る。このような境界は、1つの類型又は他の類型に適用される単純なしきい値を超えて、「nタイプ」のミスマッチと「sタイプ」のミスマッチ(置換)の数の可能な組み合わせにさらなる境界を与えるため、様々な目的のためにシーケンスリードを分析する際に、所望の選択的なデータ検索を、圧縮データに適用するための非常に有用な基準を構成する。
4.第4の分類は、「挿入」、「削除」(インデル(indels)とも呼ばれる)、「クリップ」のいずれかの類型の少なくとも1つのミスマッチを示すシーケンシングリードで構成され、さらに、クラスN又はMに属するミスマッチの類型が存在する場合である。このようなシーケンスは「Iミスマッチリード」と呼ばれ、「クラスI」に割り当てられる。挿入は、リファレンスには存在しないがリードシーケンスには存在する1つ以上のヌクレオチドの追加の配列によって構成される。本明細書では、この類型のミスマッチを「iタイプ」ミスマッチと呼ぶ。挿入されたシーケンスがシーケンスの端にあるとき、文献では、それは「ソフトクリップ」とも呼ばれる(すなわち、ヌクレオチドはリファレンスにマッチングしていないが、廃棄される「ハードクリップ」ヌクレオチドとは対照的に、アライメントされたリードにおいて保持される)。本明細書では、この類型のミスマッチを「cタイプ」ミスマッチと呼ぶ。ヌクレオチドの保持又は破棄は、シーケンシング装置によって、又は以下のシーケンシング段階によって決定されるように、リードを受け取り処理する本発明に開示されるリードの分類器によってではなく、アライナ段階によって行われる決定である。シーケンシング装置によって、又は以下のシーケンシング段階によって決定されるように、リードを受信して処理する本発明に開示されるリードの分類器によってではなく、アライナ段階によって行われる決定である。削除は、リファレンスに対するリードにおける「ホール」(ヌクレオチド欠損)である。本書では、このタイプのミスマッチを「dタイプ」ミスマッチと呼ぶ。クラス「N」及び「M」の場合と同様に、マッチングの不正確さに対する制限を定義することは可能であり、かつ適切である。「クラスI」に対する一連の制約の定義は、「クラスM」に使用されたものと同じ原則に基づいており、表1の最後の行に示されている。クラスIのデータに対して許容される各類型のミスマッチに対するしきい値の他に、さらなる制約は、ミスマッチの数「n」、「s」、「d」、「i」及び「c」であり、関数w(n,s,d,i,c)によって決定されるしきい値によって定義される。このような付加的制約は、任意の意味のあるユーザ定義の選択的なアクセス基準に従ってマッチングの不正確さの上限を持つクラスを生成することを可能にする。例えば、これに限定されるものではないが、w(n,s,d,i,c)は、(n+s+d+i+c)1/5又は(n+s+d+i+c)、又は「クラスI」に属するリードに対して許容されるマッチングの最大不正確レベルに境界を設定する任意の線形式又は非線形式であり得る。このような境界は、この境界は、許容可能なミスマッチの各タイプに適用される単純な閾値を超えて、「クラスI」のリードにおいて許容可能なミスマッチの数の任意の可能な組み合わせに対して、さらなる境界を設定することを可能にするため、様々な目的でシーケンスリードを解析するときに、所望の選択的なデータ検索を圧縮データに適用するための非常に有用な基準を構成する。
5.第5の分類は、リファレンスシーケンスを参照するときに、各データクラスに対して有効であると見なされるマッピング(すなわち、表1で指定されたマッチングの最大精度の上限を定義するマッチング規則のセットを満たしていない)を見つけないすべてのリードを含む。このようなシーケンスは、リファレンスシーケンスを参照するときに「マッピングされていない(Unmapped)」と呼ばれ、「クラスU」に属するものとして分類される。
[マッチング規則によるリードペアの分類]
【0084】
前のセクションで指定された分類は、単一のシーケンスリードに関するものである。
2つのリードが可変長の未知のシーケンスで分離されていることがわかっているペアでリードを生成するシーケンス技術(イルミナ社(Illumina Inc.))の場合、ペア全体を単一のデータクラスに分類することを検討するのが適切である。別のリードと結合されたリードは、その「メイト(mate)」と呼ばれる。
【0085】
ペアの両方のリードが同じクラスに属している場合、ペア全体のクラスへの割り当ては明らかである:ペア全体が任意のクラスの同じクラスに割り当てられる(つまり、P、N、M、I、U)。2つのリードが異なるクラスに属しているが、いずれも「クラスU」に属していない場合、ペア全体が次の式に従って定義された最高の優先度を持つクラスに割り当てられる:
P<N<M<I
ここで、「クラスP」の優先度が最も低く、「クラスI」の優先度が最も高くなる。
【0086】
リードの1つだけが「クラスU」に属し、そのメイトがクラスP、N、Mのいずれかに属する場合、第6のクラスは「ハーフマッピング」を表す「クラスHM」として定義される。
【0087】
このような特定のクラスのリードの定義は、リファレンスゲノムに存在するギャップ又は未知の領域(ほとんど知られていない未知の領域とも呼ばれる)を決定しようとするために使用されるという事実に基づいている。このような領域は、既知の領域にマッピングすることができるペアリードを使用してエッジでペアをマッピングすることによって再構成される。マッピングされていないメイトは、
図28に示すように、未知の領域のいわゆる「コンティグ」を作るのに使われる。したがって、このような類型のリードペアのみに選択的アクセスを提供すると、関連する計算の負担が大幅に軽減され、最新のソリューションを使用すると完全に検査する必要がある大量のデータセットに起因するデータの非常に効率的な処理が可能になる。
【0088】
次の表に、各リードが属するデータのクラスを定義するためにリードに適用されるマッチング規則を示す。この規則は、ミスマッチの類型(n、s、d、i、c型ミスマッチ)の有無に関して、表の最初の5列で定義される。第6の列は、それぞれのミスマッチの類型に対する最大しきい値、及び起こり得るミスマッチの類型の任意の関数f(n,s)及びw(n,s,d,i、c)に関する規則を提供する。
【0089】
表1.各シーケンスリードが本発明の開示において定義されるデータのクラスに分類されるために満たさなければならないミスマッチの類型及び制限のセット。
【0090】
表1.各シーケンスリードが、本発明の開示において定義されるデータクラスに分類されるために満足しなければならないミスマッチの類型及び制約のセット
【表1】
[マッチング精度の異なるサブクラスへのクラスN、M及びIのシーケンスリードのマッチング規則のパーティション]
【0091】
前のセクションで定義されたタイプN、M及びIのデータクラスは、さらに、マッチング精度の程度が異なる任意の数の別個のサブクラスに分解することができる。このようなオプションは、より細かい粒度を提供する上で重要な技術的利点であり、その結果、各データクラスへのより効率的な選択的アクセスを提供する。限定ではなく一例として、クラスNをサブクラス数k(サブクラスN
1、・・・、サブクラスN
k)に分解するには、対応する成分MAXN
1、MAXN
2、・・・、MAXN
(k-1)、MAXN
(k)を持つベクトルを定義する必要があり、条件MAXN
1<MAXN
2<・・・<MAXN
(k-1)<MAXNで、各リードを、ベクトルの各エレメントが評価されたときに表1で指定された制限を満たす最下位にランク付けされたサブクラスに割り当てる。これは、
図29に示されており、データ分類ユニット291は、クラスP、N、M、I、U、HMエンコーダ、及び注釈及びメタデータ用のエンコーダを含む。クラスNのエンコーダは、N個のデータ(296)のk個のサブクラスを生成するMAXN
1からMAXN
k292までのしきい値のベクトルで構成される。
【0092】
タイプMとタイプIのクラスの場合、MAXMとMAXTOTにそれぞれ同じ特性を持つベクトルを定義することによって同じ原理が適用され、関数f(n,s)と関数w(n,s,d,I,c)が制限を満たすか否かをチェックするためのしきい値として各ベクトル成分が使用される。タイプNのサブクラスの場合と同様に、割り当ては、制限が満たされている最下位のサブクラスに与えられる。各クラスの類型に対するサブクラスの数は独立しており、サブ区分の任意の組み合わせが許容される。これは
図29に示されており、クラスMエンコーダ293及びクラスIエンコーダ294は、それぞれ、しきい値MAXM
1からMAXM
j、及びMAXTOT
1からMAXTOT
hのベクトルで構成されている。2つのエンコーダはそれぞれM個のデータ(297)のj個のサブクラスとI個のデータ(298)のh個のサブクラスを生成する。
【0093】
ペアの2つのリードが同じサブクラスに分類される場合、ペアは同じサブクラスに属する。
【0094】
ペアの2つのリードが異なるクラスのサブクラスに分類される場合、ペアは次の式に従って優先度の高いクラスのサブクラスに属する。
N<M<I
ここで、Nの優先度が最も低く、Iの優先度が最も高くなる。
【0095】
2つのリードがクラスN、M、又はIのいずれかの異なるサブクラスに属する場合、ペアは次の式に従って最も高い優先度を持つサブクラスに属する。
N1<N2<・・・<Nk
M1<M2<・・・Mj
I1<I2<・・・<Ih
ここで、最も高いインデックスが最も高い優先順位を持つ。
[「外部の」リファレンスシーケンスの変換]
【0096】
クラスN、M、Iに分類されたリードで見つかったミスマッチを使用して、リードの表現をより効率的に圧縮するために使用される「変形」のリファレンスを作成できる。
【0097】
クラスN、M又はI(RS0として示される「既存の」(すなわち「外部の」)リファレンスシーケンスに関して)に属すると分類されたリードは、「変換」のリファレンスとの実際のミスマッチの発生に従って、「変換」リファレンスシーケンスRS1に関してコード化することができる。例えば、リファレンスシーケンスRSnに関してミスマッチを含むクラスM(クラスMの第i番目のリードとして示される)に属するreadM
inの場合、「変換」後のreadM
in=readP
i(n+1)は、A(Refn)=Refn+1として得ることができる。ここで、AはリファレンスシーケンスRSnからリファレンスシーケンスRSn+1への変換である。
【0098】
図19は、リファレンスシーケンス1(RS
1)に対するミスマッチ(クラスMに属する)を含むリードを、ミスマッチ位置に対応する塩基を修正することによって、RS
1から得られるリファレンスシーケンス2(RS
2)に対する完全にマッチングするリードに変換する方法の例を示す。これらは分類されたままであり、同じデータクラスアクセスユニット内の他のリードと一緒にコード化されるが、コード化はクラスPリードに必要な記述子と記述子値のみを使用して行われる。この変換は、次のように表すことができる。
【0099】
RS1に適用されたときにRS2を生成する変換Aの表現に、リードペアRS2の表現を加えたものが、クラスM対TS1のリードの表現よりも低いエントロピーに対応する場合、
データ表現のより高い圧縮が達成されるので、変換Aの表現及びリード対RS2の対応する表現を送信することが有利である。
【0100】
圧縮ビットストリームにおける送信のための変換Aのコード化は、以下の表に定義されるように、2つの付加的な記述子の定義を必要とする。
【表2】
【0101】
図26は、マッピングされたリードでコード化されるミスマッチの数を減らすために、リファレンス変換がどのように適用されるかの例を示す。
【0102】
場合によっては、リファレンスに変換が適用されることに注意する必要がある。
・ 変換を適用する前にリファレンスを参照するときに存在しなかったリードの表現にミスマッチが生じる場合がある。
・ ミスマッチの類型を変更することができ、リードにはGの代わりにAが含まれ、他のすべてのリードにはGの代わりにCが含まれるが、ミスマッチが同じ位置に残る。
・ 異なるデータクラス及び各データクラスのデータのサブセットは、同じ「変換された」リファレンスシーケンス、又は同じ既存のリファレンスシーケンスに異なる変換を適用することによって得られたリファレンスシーケンスを参照することがある。
【0103】
図27はさらに、リファレンス変換が適用され、リードが「変換された」リファレンスを使用して表された後に、リードが適切な記述子セット(例えば、クラスPの記述子を使用してクラスMからのリードをコード化する)によってあるデータクラスから別のクラスにコード化の類型を変更する方法の例を示す。これは、例えば、変換により、実際にリードに存在する塩基のリードのミスマッチに対応するすべての塩基が変更されると、それによって、クラスMに属するリード(もとの非「変換」リファレンスシーケンスを参照する場合)を、クラスPの仮想リード(「変換された」リファレンスを参照するとき)の仮想的なリードに仮想的に変換する場合に発生する。データの各クラスに使用される記述子のセットの定義は、以下のセクションで提供される。
【0104】
図30は、異なるクラスのデータが同じ「変換された」リファレンスR
1=A
0(R
0)(300)を使用してリードを再コード化する方法、又は異なる変換A
N(301)、A
M(302)、A
I(303)を各クラスのデータに別々に適用できることを示す。
[記述子のブロックへのシーケンスリードを表現するために必要な情報の定義]
【0105】
リードの分類がクラスの定義で完了すると、さらなる処理は、特定のリファレンスシーケンスにマッピングされているとして表されたときに、リードシーケンスの再構築を可能にする残りの情報を表す個別の記述子のセットを定義することにある。これらの記述子のデータ構造は、デコーディングエンジンによって使用されるグローバルパラメータ及びメタデータの記憶を必要とする。これらのデータは、以下の表に示すゲノムデータセットヘッダ(Genomic Dataset Header)で構成されている。データセットは、単一のゲノムシーケンシングの実行及び以下の全ての分析に関連するゲノム情報を再構築するのに必要なコードのエレメントの集合として定義される。同一のゲノム試料を2回の個別の実行で2回シーケンシングする場合、得られたデータは2つの個別のデータセットとしてコード化される。
【0106】
【0107】
所定のリファレンスシーケンスを参照するシーケンスリード(すなわち、DNAセグメント)は、次式で十分に表すことができる:
・ リファレンスシーケンス上の開始位置(pos)
・ リードが、リファレンス(rcomp)に対する逆補完と見なされなければならない場合にシグナルを送るフラグ。
・ ペアリードにおける場合の、メイトとなるペアまでの距離(pair)。
・ 可変読み出し長を生成するシーケンシング技術の場合のリード長(len)。リード長が一定の場合、各リードに関連するリード長は明らかに省略でき、メインファイルのヘッダに格納できる。
・ 各ミスマッチについて:
・ 位置のミスマッチ(クラスNはnmis、クラスMはsnpp、クラスIはindp)
・ ミスマッチの類型(クラスNに存在せず、クラスMにsnpt、クラスIにindt)
・ 次のようなシーケンスリードの特別な特性を表すフラグ
・ シーケンシングにおいて複数のセグメントを有するテンプレート
・ 各セグメントがアライナに従って正しく位置合わせされていること
・ マッピングされていないセグメント
・ マッピングされていないテンプレートの次のセグメント
・ 最初又は最後のセグメントの信号化
・ 品質管理不良
・ PCR又は光学的複製
・ 二次的なアライメント
・ 補助的なアライメント
・ ソフトクリップされたヌクレオチドシーケンスが存在する場合(クラスIのindc)
・ アライメントと圧縮に使用されるリファレンスを示すフラグ(例:クラスUの「内部の」リファレンス)、該当する場合において(記述子rtype)。
・ クラスUの場合、記述子indcは、「内部」のリファレンスを使用して、指定されたマッチング精度の制限のセットを使用し、リードのマッチングしない部分(通常はエッジ)を識別する。
・ ureads記述子は、既存の(すなわち、「外部」のリファレンスゲノム)又は「内部の」リファレンスシーケンスであるため、使用可能なリファレンスにマッピングできないリードをそのままコード化するために使用される。
【0108】
この分類は、ゲノムシーケンスリードを一義的に表現するために用いることができる記述子のグループ(記述子)を生成する。次の表は、「外部の」(すなわち「既存の」)リファレンス又は「内部の」(すなわち「構築された」)リファレンスでアライメントされたリードの各クラスに必要な記述子をまとめたものである。
【0109】
表2.データのクラスごとに定義された記述子のブロック
【表4】
【0110】
クラスPに属するリードは、特徴づけられ、位置、逆相補情報、及び、メイトペア、いくつかのフラグ、及びリード長を生成するシーケンシング技術によって取得されたメイトとの間のオフセットのみによって完全に再構成される。
【0111】
次のセクションでは、これらの記述子がクラスP、N、M、Iに対してどのように定義されるかを詳細に説明し、クラスUについては、以下のセクションで説明する。
【0112】
クラスHMはリードペアにのみ適用され、一方のリードがクラスP、N、M、又はIに属し、もう一方のリードがクラスUに属する特殊なケースである。
[位置記述子]
【0113】
位置(pos)ブロックでは、コード化された第1のリードのマッピング位置のみがリファレンスシーケンス上の絶対値として格納される。他の全ての位置記述子は、前の位置に対する差を表す値を仮定する。リード位置記述子のシーケンスによって定義される情報ソースのこのようなモデリングは、一般に、特に高カバレッジ結果を生成するシーケンシングプロセスのために、低減されたエントロピーによって特徴付けられる。
【0114】
例えば、
図1は、リファレンスシーケンス上の位置「10000」として第1のアライメントの開始位置を記述した後、位置10180で開始する第2のリードの位置を「1080」として記述する方法を示す。高カバレッジ(>50×)では、位置ベクトルの記述子の大部分は、0や1等の低い値や他の小さな整数の高い出現率を示す。
図1は、3つのリードペアの位置がどのようにposブロックに記述されるかを示す。
[逆相補記述子]
【0115】
シーケンシング技術によって生じたリードペアの各リードは、シーケンシングされた有機試料のいずれのゲノムストランド(genome strands)からも生じ得る。しかし、2本のストランドのうち1本だけがリファレンスシーケンスとして用いられる。
図2は、リードペアにおいて、一方のリード(リード1)が、一方のストランドから、もう一方のリード(リード2)がもう一方のストランドから開始される様子を示す。
【0116】
ストランド1をリファレンスシーケンスとして用いた場合、リード2はストランド1上の対応する断片の逆相補ストランドとしてコード化される。これを
図3に示す。
【0117】
結合されたリードの場合には、直接相補ペアと逆相補ペアの組み合わせは4通りある。これを
図4に示す。rcompブロックは、可能な4つの組み合わせをコード化する。
【0118】
同じコード化は、クラスN、M、P、Iに属するリードの逆補完情報に使用される。異なるデータクラスへの選択的アクセスを可能にするために、4つのクラスに属するリードの逆補完情報は、表2に示すように異なるブロックにコード化される。
[ペアリング情報記述子]
【0119】
ペア記述子はペアブロックに記憶される。このようなブロックは、適用されたシーケンシング技術がペアごとのリードを生成するときに、元のリードペアを再構築するために必要な情報をコード化する記述子を記憶する。本発明の開示の時点で、シーケンシングデータの大部分は、ペアを形成するリードを生成する技術を使用して生成されるが、それは全ての技術の場合ではない。これは、考慮されるゲノムデータのシーケンシング技術が、ペアを形成するリード情報を生成しない場合、このブロックの存在が全てのシーケンシングデータ情報を再構築するために必要でない理由である。
[定義]
【0120】
・ メイトペア(mate pair):リードペアの他のリードに関連付けられたリード(例えば、前述の例では、リード2はリード1のメイトペアである)。
・ ペアリング距離(pairing distance):第1のリード(ペアリングアンカー、例えば、第1のリードの最後のヌクレオチド)のある位置から第2のリード(例えば、第2のリードの最初のヌクレオチド)のある位置を分離するリファレンスシーケンス上に配置されるヌクレオチドの数。
・ 最も可能性のあるペアリング距離(MPPD):これは、ヌクレオチドの数で表される最も可能性の高いペアリング距離。
・ペアリング距離の位置(PDD):PDDは、特定の位置記述子ブロックに存在するそれぞれのメイトから、リードを分離するリードの数によってペアリング距離を表す方法である。
・ 最も可能性の高いペアリング距離の位置(MPPD):特定の位置記述子ブロックに存在するメイトペアからリードを分離する、最も可能性の高いリード数である。
・ ペアリングエラーの位置(PPE):MPPD又はMPPDとメイトの実際の位置との差として定義される。
・ ペアリングアンカー:ペアの中の第1のリードの最後のヌクレオチドの位置で、リード位置の数又はヌクレオチドの位置の数に関してメイトペアの距離を計算するためのリファレンスとして用いられる。
【0121】
図5は、リードペア間のペアリング距離の計算方法を示す。
【0122】
ペア(pair)記述子ブロックは、定義されたデコード化されたペアリング距離に関して、ペアの第1のリードのメイトペアに達するためにスキップされるリードの数として計算されるペアリングエラー(pairing errors)のベクトルである。
【0123】
図6は、ペアリングエラーが、絶対値と微分ベクトル(高カバレッジのためのより低いエントロピーによって特徴づけられる)の両方によってどのように計算されるかの一例を示す。
【0124】
クラスN、M、P及びIに属するリードのペアリング情報には、同じ記述子が使用される。異なるデータクラスへの選択的アクセスを可能にするために、
図8(クラスN)、
図10、12及び14(クラスM)、及び
図15及び
図16(クラスI)に示すように、4つのクラスに属するリードのペアリング情報が異なるブロックにコード化される。
[異なるリファレンスシーケンス上にマッピングされたリードの場合のペアリング情報]
【0125】
シーケンスリードをリファレンスシーケンスにマッピングする過程で第1のリードをあるリファレンスシーケンス(例えば、第1の染色体)にマッピングし、第2のリードを別のリファレンスシーケンス(例えば、第4染色体)にマッピングすることも珍しくない。この場合、上述のペアリング情報は、リードの1つをマッピングするために使用されるリファレンスシーケンスに関連する追加情報によって統合する必要がある。これは、コード化によって達成される:
1.2つの異なるシーケンス(リード1又はリード2が現在コード化されていないシーケンス上にマッピングされているとしたならば、異なる値を示す)にマッピングされていることを示す予め定められた値(フラグ)。
2.表1に示されるように、メインヘッダ構造においてコード化されたリファレンス識別子を参照するユニークなリファレンス識別子。
3.第3のエレメントは、ポイント2で識別され、最後にコード化された位置に対するオフセットとして表されるリファレンスに関するマッピング情報を含む。
【0126】
【0127】
図7では、リード4は、現在コード化されているリファレンスシーケンス上にマッピングされていないので、ゲノムエンコーダは、ペアブロック中に付加的な記述子を作ることによってこの情報をシグナリングする。次の例では、ペア2のリード4がリファレンスNo.4にマッピングされているが、現在コード化されているリファレンスはNo.1である。この情報は、次の3つのコンポーネントを使用してコード化される。
1) 一つの特別な予め定められた値はペアリング距離(この場合は、0xfffff)としてコード化される。
2) 第2の記述子は、メインヘッダ(この場合は4)に記載されたリファレンスIDを提供する。
3) 第3のエレメントは、関連するリファレンス(170)のマッピング情報が含まれる。
[クラスNリードのミスマッチ記述子]
【0128】
クラスNには、「nタイプ」のミスマッチのみが存在するすべてのリードが含まれ、
A、C、G又はT塩基の場所で、呼び出された塩基がNとして見出される。リードの他のすべての塩基は、リファレンスシーケンスと完全にマッチングする。
【0129】
図8に、その方法を示し:
リード1における「N」の位置は、
・ リード1の絶対位置、又は、
・ 同じリードにおける前の「N」に対する微分位置、
としてコード化され、
リード2の「N」の位置は、
・ リード1+リード2の長さの絶対位置、又は、
・ 前の「N」に対する微分位置
としてコード化される。nmisブロックでは、各リードペアのコード化は、特殊な「セパレータ」記号で終了する。
[置換(ミスマッチ又はSNPs)、挿入、削除をコード化する記述子]
【0130】
置換は、マッピングされたリードにおいて、リファレンスシーケンス中の同じ位置に存在するものに対して異なるヌクレオチド塩基の存在として定義される。
【0131】
図9は、マッピングされたリードペアにおける置換の例を示す。各置換は、「位置」(snppブロック)及び「類型」(snptブロック)としてコード化される。置換、挿入又は削除の統計的な発生に応じて、関連する記述子の異なるソースモデルを定義し、関連するブロック内に生成された記号をコード化することができる。
[ソースモデル1:位置と類型としての置換]
[置換位置識別子]
【0132】
置換位置は、mmisブロックの値と同様に計算される。すなわち、
リード1において置換は、
・ リード1の絶対的な位置として、又は
・ 同じリードの前の置換に対する微分位置として、
コード化される。
リード2において置換は、
・ リード2+リード1の長さの絶対位置として、又は
・ 前の置換に対する微分位置として、
コード化される。
【0133】
図10は、置換(指定されたマッピング位置で、リードの記号がリファレンスシーケンスの記号と異なる場合)がどのようにコード化されるかを示す。
1.ミスマッチの位置
・ リードの開始位置に関して、又は
・ 以前のミスマッチに関して(微分のコード化)
2.
図10に示されるように計算されたコードとして表されるミスマッチの類型
【0134】
snppブロックにおいて、各リードペアのコーディングが特殊な「セパレータ」記号で終了する。
[置換形記述子]
【0135】
クラスM(及びI、次のセクションで説明するように)の場合、ミスマッチは、リファレンスに存在する実際の記号から、リード{A、C、G、T、N、Z}に存在する対応する置換記号に、インデックスによってコード化される(右から左に移動する)。例えば、アライメントされたリードが、リファレンス内の同じ位置に存在するTの代わりにCを提示する場合、ミスマッチの指標は「4」と示される。デコード化プロセスはコード化された記述子を読み取り、リファレンス上の指定された位置にあるヌクレオチドを左から右に移動して、デコードされた記号を取得する。例えば、リファレンスにGが存在する位置に対して受信された「2」は、「N」としてデコードされる。
図11は、すべての可能な置換及びそれぞれのコード化の記号を示す。明らかに異なるコンテキスト適応確率モデルを、記述子のエントロピーを最小化するために、各データクラスの各置換の種類の統計プロパティに従って、各置換インデックスに割り当てることができる。
【0136】
IUPAC曖昧性コードを採用する場合、置換メカニズムは正確に同じ結果となるが、置換ベクトルはS={A、C、G、T、N、Z、M、R、W、S、Y、K、V、H、D、B}として拡張される。
【0137】
図12は、snptブロック内の置換のコード化の例を示す。
【0138】
IUPAC曖昧性コードが採用された場合の置換形のコード化のいくつかの例を、
図13に、置換インデックスの別の例を
図14に示す。
[挿入と欠損のコード化]
【0139】
クラスIの場合、ミスマッチ及び削除は、リファレンスに存在する実際の記号から、リードに存在する対応する置換記号:{A、C、G、T、N、Z}へ、インデックスによってコード化される(右から左に移動する)。例えば、アライメントされたリードが、リファレンス内の同じ位置に存在するTの代わりにCを示す場合、ミスマッチの指標は「4」となる。リファレンスに「A」が存在することで、リードが削除を提示する場合、コード化された記号は「5」になる。デコード化プロセスは、コード化された記述子、すなわちリファレンス上の所定の位置にあるヌクレオチドを読み取り、左から右に移動してデコード化された記号を検索する。例えば、リファレンスにGが存在する位置に対して受信された「3」は、「Z」としてデコード化される。
【0140】
挿入は、挿入されたA、C、G、T、Nに対してそれぞれ6、7、8、9、10としてコード化される。
【0141】
図15は、クラスIのリードペアにおける置換、挿入及び欠損をコード化する方法の例を示す。IUPAC曖昧性コードの全体集合をサポートするために、置換ベクトルS={A、C、G、T、N、Z}は、ミスマッチのために前段落で記述されたように、S={A、C、G、T、N、Z、M、R、W、S、Y、K、V、H、D、B}によって置き換えられる。この場合、置換ベクトルが16個のエレメントを持つ場合、挿入コードは異なる値、すなわち16、17、18、19、20を持つ必要がある。このメカニズムを
図16に示す。
[ソースモデル2:1つのブロック当たりの置換の類型とインデル(indels)]
【0142】
一部のデータ統計については、前のセクションで説明したものとは異なるコード化モデルによって、エントロピーの低いソースを生成する置換及びインデルの開発をすることができる。このようなコード化モデルは、ミスマッチのみ、及びミスマッチ及びインデルについて上述した技術の代替となる。
【0143】
この場合、1つのデータブロックが、置換可能記号(5を除くIUPACコード、16を伴うIUPACコード)ごとに定義され、さらに、削除用に1ブロック、挿入用に4ブロックが定義される。説明を簡単にするためにIUPACコードがサポートされていない場合に焦点を当てて説明する。
【0144】
図17は、各ブロックが,どのように単一型挿入又はミスマッチの位置を含むかを示す。コード化されたリードペアにその類型のミスマッチ又は挿入が存在しない場合、対応するブロックに0がコード化される。各アクセスユニットのヘッダには、デコーダがこのセクションで説明したブロックのデコード処理を開始できるように、デコード化される第1のブロックを通知するフラグが含まれてる。
図18の例では、デコード化される第1のエレメントは、Cブロックの位置2である。特定の類型のミスマッチ又はインデルがリードペアに存在しない場合、対応するブロックに0が追加される。デコード化の側では、各ブロックのデコード化ポインタが0の値を指している場合、デコード化プロセスは次のリードペアに移る。
[付加的なシグナリングフラグのコード化]
【0145】
上記で導入された各データクラス(P、M、N、I)は、コード化されたリードの性質に関する追加情報のコード化を必要とする場合がある。この情報は、例えば、シーケンシングの実験に関連していてもよく(例えば、1つのリードが重複する可能性を示す)、又はリードマッピングの何らかの特性を表してもよい(例えば、ペアの第1番目又は第2番目)。本発明のコンテキストでは、この情報は、各データクラスに対して別々のブロックにコード化される。このようなアプローチの主な利点は、必要な場合にのみ、必要なリファレンスシーケンス領域においてのみ、この情報に選択的にアクセスできることである。このようなフラグの他の使用例を次に示す。
・ リードペア
・ 適切なペアとしてマッピングされたリード
・ マッピングされていないリード又はメイト
・ 逆ストランドからのリード又はメイト
・ ペアの第1番目/第2番目
・ プライマリアライメントではない
・ リードに失敗したプラットフォーム/ベンダーの品質チェック
・ リードはPCR又は光学的複製
・ 補助的なアライメント
[クラスUの記述子と、「クラスU」及び「クラスHM」のマッピングされていないリードの「内部」リファレンスの構築]
【0146】
クラスUに属するリード又はマッピングされていない「HMクラス」のペアリードの場合、それらは、クラスP、N、M、又はIのいずれかに属するためのマッチング精度の制約の指定されたセットを満たす「外部の」リファレンスシーケンスにマッピングできないので、一つ以上の「内部の」リファレンスシーケンスが「構築」され、これらのデータクラスに属するリードの圧縮表現のために使用される。
【0147】
例えば、次のような制限ではなく、適切な「内部の」リファレンスを構築する方法がいくつかある。
・ 少なくとも最小サイズ(シグネチャ)の共通の連続したゲノムシーケンスを共有するリードを含むクラスタへのマッピングされていないリードの分割。各クラスタは、
図22に示すように、そのシグネチャによってユニークに識別することができる。
・ 意味のある順序(例えば辞書順)でのリードのソートと、最後のNリードをN+1のコード化に対する「内部の」リファレンスとして使用する方法。この方法を
図23に示す。
・ 指定されたマッチング精度の制約、又は新しい制約セットに従って、そのクラスに属するリードの全て又は関連するサブセットをアライメントし、コード化することができるように、クラスUのリードのサブセット上で、いわゆる「デノボアセンブリ(de-novo assembly)」を実行すること。
【0148】
コード化されているリードを、指定されたマッチング精度の制約のセットを満たす「内部」リファレンスにマッピングできる場合、圧縮後にリードを再構築するために必要な情報は、次の種類の記述子を使用してコーディングされる。
1.内部リファレンス(posブロック)のリード番号の観点から、内部リファレンスのマッチング部分の開始位置。この位置は、以前にコード化されたリードに対して絶対値又は微分値としてコード化できる。
2.内部リファレンス(pairブロック)の対応するリードの開始点からの開始位置のオフセット。例えば、リード長が一定の場合、実際の位置はpos*length+pairである。
3.ミスマッチの位置(snppブロック)及び類型(snptブロック)としてコード化されたミスマッチが存在する可能性がある。
4.内部リファレンスとマッチングしない(又はマッチングするが、定義されたしきい値を超える数のマッチングがある)リードの部分(一般には、ペアで識別されるエッジ)は、indcブロックでコード化される。
図24に示すように、indcブロックでコード化されたミスマッチのエントロピーを低減するために、使用される内部リファレンスの一部のエッジに対してパディング操作を実行することができる。エンコーダは、処理中のゲノムデータの統計的特性に応じて、最適なパディングの方策を選択できる。選択可能なパディングの方策は次のとおりである。
a.パディングをしない
b.現在コード化されているデータの頻度に応じて選択された一定のパディングパターン
c.最新のN個のコード化されたリードに関して定義された、現在のコンテキストの統計的特性に従った可変パディングパターン
特定の種類のパディングの方策は、indcブロックヘッダの特別な値によって通知され得る。
5.リードが内部の自己生成、外部又はリファレンス無しでコード化されているか否かを示すフラグ(rtypeブロック)。
6.逐語的にコード化されたリード(ureads)。
【0149】
【0150】
図25は、pos+pair記述子がコード付きposに置き換えられた、内部リファレンス上のマッピングされていないリードの代替的なコード化を示す。この場合、posは、-リファレンスシーケンス上の位置に関して-、リードn-1の左端のヌクレオチドの位置に対するリードnの左端のヌクレオチド位置の距離を表す。
【0151】
クラスUのリードが可変長の場合、各リードの長さを記憶するために付加的な記述子rlenが使用される。
【0152】
このコーディングアプローチは、リードを2つ以上のリファレンス位置に分割できるように、リードごとにN個の開始位置をサポートするように拡張できる。これは、シーケンシング方法論のループによって生成される繰り返しパターンを通常表示する非常に長いリード(50K+塩基)を生成するシーケンシングテクノロジー(パシフィックバイオサイエンス(Pacific Bioscience)等)によって生成されたリードをコード化するのに特に役立つ。同じアプローチを使用して、ゲノムの2つの異なる部分に重なりがほとんど又は全く無いリードとして定義されるキメラシーケンスリードをコード化することもできる。
【0153】
上記のアプローチは、単純なクラスUを超えて明確に適用でき、リード位置(posブロック)に関連する記述子を含む任意のブロックに適用できる。
[アライメントスコア記述子]
【0154】
mscore記述子は、アライメントごとにスコアを提供する。本発明のコンテキストにおいて、ゲノムシーケンスリードアライナーにより生成されるリードごとのマッピング/アライメントスコアを表すために使用される。
【0155】
スコアは、指数部と仮数部を使用して表される。指数部及び仮数部を表すために使用されるビット数は、構成パラメータとして転送される。一例として、しかし限定としてではなく、表2は、11ビットの指数部及び52ビットの仮数部に関して、これがどのようにIEEE RFC754に規定されているかを示す。
【0156】
各アライメントのスコアは、次のように表すことができる:
・ 1ビットの符号(S)
・ 11ビット指数部(E)
・ 53ビットの仮数部(M)
【0157】
表2.アライメントスコアは、64ビットの倍精度浮動小数点値として表現できる
【表5】
【0158】
スコアの計算に使用される塩基(基数)は10であるため、次のようになる。
スコア=-1s×10E×M
[リードのグループ]
【0159】
シーケンシングプロセス中に、さまざまな類型のシーケンスリードを生成できる。例として、しかし限定ではなく、類型は異なるシーケンスされたサンプル、異なる実験、シーケンシング装置の異なる構成に関連付けることができる。開示された発明によれば、rgroupと名付けられた専用の記述子により、シーケンシング及びアライメントの後、この情報が保存される。rgroupは、それぞれコード化されたリードに関連付けられたラベルであり、デコード化装置がデコード後にデコードされたリードをグループに分割することを可能にする。
[マルチプルアライメントの記述子]
【0160】
マルチプルアラインメントをサポートするために、次の記述子が指定されている。スプライスされたリードが存在する場合、本発明は、1に設定されるグローバルフラグとしてspline_reads_flagを定義する。
[mmap記述子]
【0161】
mmap記述子は、リード又はペアのリードの左端の位置が何個アライメントアラインされたかを通知するために使用される。マルチプルアライメントを含むゲノムレコードは、1つのマルチバイトのmmap記述子に関連付けられる。mmap記述子の最初の2バイトは、単一のセグメント(コード化されたデータセットにスプライスが存在しない場合)又は、その代わりにリードがいくつかの可能なアライメントのためにスプライスされた全てのセグメント(データセットにスプライスが存在する場合)としてのリードを参照する符号無しの整数Nを表す。Nの値は、このレコードのテンプレートに対してpos記述子の値がいくつコード化されているかを示す。以下に説明するように、Nの後に1つ以上の符号なし整数Miが続く。
[マルチプルアライメントのストランド性]
【0162】
本発明で説明されるrcomp記述子は、本発明で指定される構文を使用して各リードアライメントのストランド性(strandedness)を指定するために使用される。
[マルチプルアラインメントのスコア]
【0163】
マルチプルアラインメントの場合、本発明で指定される1つのmscoreが各アラインメントに割り当てられる。
[スプライスのないマルチプルアライメント]
【0164】
アクセスユニットにスプライスがない場合、spline_reads_flagは設定が解除される。
【0165】
ペアエンドシーケンシングでは、mmap記述子は、iを1から、完全に最初(ここでは左端)のリードアライメントアライメントの数までの値をとると仮定して、16ビットの符号無しの整数Nとそれに続く1つ以上の8ビットの符号無しの整数Miで構成される。第1のリードアライメントに対して、スプライスされているか否かにかかわらず、Miは、第2のリードのアライメントに使用されるセグメントの数(この場合、スプライスが無い場合、これはアライメントの数に等しくなる)、そして、第1のリードのアライメントのためにペア記述子の値が何個コード化されているかを通知するために使用される。
【0166】
M
iの値は、第2のリードのアライメントの数を表すために、次式
【数1】
が使用される。
【0167】
Mi(=0)の特別な値は、左端のリードの第i番目のアライメントが、k<i(上式と一致する新しいアラインメントは検出されないとき)を有する左端のリードの第k番目のアライメントとすでに対になっている右端のリードのアライメントとペアになっていることを示す。
【0168】
例えば、最も単純な場合は次のようになる。
1 左端のリードに対してシングルアライメントと、右端の2つの代替的なアライメントがある場合、Nは1となり、M1は2となる。
2 2つの代替的アライメントが左端のリードで検出され、右端のリードで1つしか検出されない場合、Nは2となり、M2は0となる。
【0169】
Miが0であるとき、ペアの関連する値は、既存の第2のリードアライメントにリンクしなければならず;そうしないと構文エラーが発生し、アラインメントが壊れたとみなされる。
【0170】
例:先に述べたように、第1のリードが2つのマッピング位置を有し、第2のリードが1つのマッピング位置を有する場合、Nは2であり、M1は1であり、及びM2は0である。これに続いて、テンプレート全体に対する別の代替的なセカンダリマッピングが行われる場合、Nは3であり、M3は1である。
【0171】
39は、スプライス及びエラーの無いマルチプルアラインメントの場合のN、P、Miの意味付けを示し、リファレンスソースは見つからず、pos、pair、及びmmap記述子を使用してマルチプルアラインメント情報をコード化する方法を示す。
【0172】
40に関しては、以下のとおりである:
・ 右端のリードは
【数2】
のアライメントを有し、
・ 左端のリードの第i番目のアライメントが、左端のリードの第k番目(k<i)のアライメントと既にペアになっている右端のリードのアライメントと、ペアになっている場合のM
iのいくつかの値は=0になることがあり、
・ ペア記述子の1つの予め定められた値は、他のAUの範囲に属するアライメントの信号に存在することができる。それが存在する場合は、常に、現在のレコードに対する第1のpair記述子になる。
[スプライスを使用したマルチプルアライメント]
【0173】
データセットがスプライスされたリードでコード化されている場合、msar記述子を使用すると、スプライスの長さとストランド性(strandedness)を表現できる。
【0174】
mmap及びmsar記述子をデコードした後、デコーダは、マルチプルマッピングを表すためにコード化されたリード又はリードペアの数、及び各リード又はリードペアのマッピングを構成しているセグメントの数を知っている。これを
図41及び
図42に示す。
【0175】
図41を参照すると、以下が適用される:
・ 左端のリードには、N個のスプライス(N
1≦N)を伴うN
1アライメントを有する。
・ Nは、左端のリードの全てのアライメントに存在するスプライスの数を表し、mmap記述子の最初の値としてコード化される。
・ 右端のリードは、
【数3】
のスプライスを有し、ここでM
iは、左端のリードの第i番目のアライメント(1≦i≦N
1)とペアで関連付けられた右端のリードのスプライスの数である。つまり、Pは右端のリードのスプライスの数を表し、mmap記述子の最初の値に続くN値を使用して計算される。
・ N
1及びN
2は、第1及び第2のリードのアラインメントの数を表し、msar記述子のN+P値を使用して計算される。
【0176】
図42を参照すると、以下が適用される:
・ 左端にはN個のスプライス(N
1≦N)を伴うN
1アライメントを有する。N
1=N AND N
2=Pの場合スプライスは存在しない。
・ 右端のリードは、
【数4】
スプライス、t
j 1≦j≦P、及びN
2(N
2≦P)アライメントを有する。
・ pair記述子の数は、NP=Max(N1,P)+M
0として計算され、ここで
・ M0は値が0のMiの数であり、
・ NPは、1つの特別なpair記述子が他のAUにアラインメントが存在することを示す場合に1だけ増加する必要がある。
[アライメントスコア]
【0177】
mscore記述子は、アライメントのマッピングスコアの通知を許容する。シングル・エンドシーケンシングでは、テンプレートごとにN1値を有し;ペアエンドシーケンシングにおいて、テンプレート全体の各アラインメントに対して値を有する(第1のリードの異なるアライメントの数+第2のリードのさらなるアライメントの数、すなわち、Mi-1>0の場合)
スコアの数=MAX(N1,N2)+M0
ここで、M0はMi=0の総数を示す。
【0178】
本発明では、複数のスコアの値を、各アライメントに関連付けることができる。アライメントの数は、構成設定パラメータのas_depthによって通知される。
[スプライスのないマルチプルアライメントに対する記述子]
【0179】
表3.スプライスのないマルチプルアライメントの場合に、1つのゲノムレコード内の複数のアライメントを表すために必要な記述子の数の決定
【表6】
[スプライスを使用したマルチプルアライメントの記述子]
【0180】
表4は、スプライスを有するマルチプルアラインメントの場合に、1つのゲノム記録においてマルチプルアラインメントを表すのに必要な記述子の数の決定を示す。
【0181】
表4.スプライスを有するマルチプルアラインメントにおける、1つのゲノムレコードにおいてマルチプルアラインメントを表すのに必要な記述子の数の決定
【表7】
[異なるシーケンス上のマルチプルアラインメント]
【0182】
アライメントプロセスは、プライマリマッピングが配置されているリファレンスシーケンスとは別のリファレンスシーケンスへの代替マッピングを見つけることがある。
【0183】
ユニークにアライメントされたリードペアの場合、例えば、別の染色体上のメイトとのキメラシーケンスがある場合、絶対リード位置を表すためにpair記述子を使用しなければならない。pair記述子は、リファレンスと、同じテンプレートに対する更なるアラインメントを含む次のレコードの位置とを通知するために使用されなければならない。最後のレコード(例えば、代替マッピングが3つの異なるAUでコード化されている場合、第3番目)は、リファレンスと最初のレコードの位置を含む。
【0184】
ペアの左端のリードの1つ以上のアラインメントが、現在コード化されているAUに関連するリファレンスシーケンスとは異なるリファレンスシーケンス上に存在する場合、予め定められた値がペア記述子に使用される。予め定められた値の後には、リファレンスシーケンス識別子と、次のAU(つまり、そのレコードのpos記述子の第1のデコード値)に含まれるすべての中で左端のアラインメントの位置が続く。
[挿入、削除、マッピングされていない部分を含むマルチプルアラインメント]
【0185】
代替的なセカンダリマッピングが、シーケンスがアライメントされるリファレンス領域の連続性を保持しない場合、実際のシーケンス(及び、置換又はインデル(indels)のようなミスマッチングに関連する記述子)は、プライマリアライメントに対してのみコード化されるので、アライナによって生成された正確なマッピングを再構築することは不可能かもしれない。msar記述子は、インデル(indels)及び/又はソフトクリップが含まれている場合に、セカンダリアライメントがリファレンスシーケンスにどのようにマッピングされるかを表すために使用される。msarがセカンダリアライメントの特殊な記号「*」によって表されている場合、デコーダは、プライマリアライメント及びセカンダリアライメントのマッピング位置からセカンダリアライメントを再構築する。
[msar記述子]
【0186】
msar(Multiple Segments Alignment Record)記述子は、スプライスされたリードと、インデル(indels)又はソフトクリップを含む代替的なセカンダリアライメントをサポートする。
【0187】
msarは、次の情報を通知することを目的としている:
・ マッピングされたセグメント長
・ セカンダリアライメント及び/又はスプライスされたリードの異なるマッピングの連続製(すなわち、挿入、欠損又はクリップされた塩基の存在)
【0188】
msarは、以下で説明する拡張CIGAR文字列の構文と、表5で説明する付加的な記号を使用する。
【0189】
表5.表6で説明されている構文に加えて、msar記述子に使用される特別な記号
【表8】
[拡張シガー構文]
【0190】
本セクションでは、シークエンス及び関連するミスマッチ、インデル(indels)、クリップされた塩基、マルチプルアラインメント、及びスプライスされたリードに関する情報に文字列を関連付けるための拡張CIGAR(E-CIGAR)構文を指定する。
【0191】
本発明で説明する編集操作を表6に掲載する。
【0192】
表6.MPEG-G E-CIGARストリングの構文
【表9】
[ソースモデル、エントロピーコード化及びコード化モード]
【0193】
本発明で開示されるゲノムデータ構造の各データクラス、サブクラス及び関連する記述子ブロックについて、異なるコード化アルゴリズムは、各ブロック及びその統計的特性によって得られるデータ又はメタデータの特定の特徴に従って採用されるかもしれない。「コード化アルゴリズム」は、記述子ブロックの特定の「ソースモデル」と特定の「エントロピーコーダ」の関連付けとして意図されている必要がある。特定の「ソースモデル」を、ソースエントロピーの最小化に関してデータの最も効率的なコーディングを取得するために指定及び選択できる。エントロピーコーダの選択はコード化効率の考慮及び/又は確率分布の特徴及び関連する実装問題によって推進できる。「コード化モード」とも呼ばれる特定の「コード化アルゴリズム」の各選択は、データセット全体のデータクラス又はサブクラスに関連付けられた「記述子ブロック」の全体に適用でき、又は、アクセスユニットに、分割された記述子の各部分に異なる「コード化モード」を適用できる。
【0194】
コード化モードに関連付けられた各「ソースモデル」は、次のように特徴付けられる:
・ 各ソースから発生する記述子の定義(すなわち、表2に定義されるように、リード位置、リードペアリング情報、リファレンスシーケンスに対するミスマッチ等のデータのクラスを表すために使用される記述子のセット)。
・ 関連する確率モデルの定義。
・ 関連するエントロピーコード化の定義。
[更なる利点]
【0195】
定義されたデータクラス及びサブクラスへのシーケンスデータの分類は、単一の個別のデータソース(例えば、距離、位置等)によって記述子のシーケンスをモデル化することによって特徴付けられる、より低い情報ソースエントロピーを利用する効率的なコーディングモードの実装を可能にする。
【0196】
本発明の別の利点は、関心のある種類のデータのサブセットのみにアクセスすることができることである。たとえば、ゲノミクスにおける最も重要なアプリケーションの1つは、リファレンス(SNV)又は母集団(SNP)に対するゲノムサンプルの差異を見出すことである。今日、そのような分析は、完全なシーケンスリードの処理を必要とするが、本発明によって開示されるデータ表現を採用することによって、ミスマッチは、既に、1つから3つのデータクラスのみに分離されている(「nタイプ」と「iタイプ」のミスマッチも考慮することへの関心によって異なる)。
【0197】
さらなる利点は、新たなリファレンスシーケンスが公開されるとき、又は新たなアラインメントを得るために既にマッピングされたデータ(例えば、異なるマッピングアルゴリズムの使用)に対して再マッピングが実行されるときに、特定の「外部の」リファレンスシーケンスを参照して圧縮されたデータ及びメタデータから別の異なる「外部の」リファレンスシーケンスへの効率的なトランスコーディングを実行する可能性である。
【0198】
図20は、本発明の原理に基づくコード化装置207を示す。コード化装置207は、例えば、ゲノムシーケンシング装置200によって生成された生のシーケンスデータ209を入力として受け取る。ゲノムシーケンシング装置200は、イルミナ社のHiSeq2500(Illumina HiSeq 2500)又はサーモ-フィッシャーイオントレント(Thermo-Fisher Ion Torrent)装置のように本技術分野で公知のものである。生のシーケンスデータ209はアライナユニット201に供給され、リードをリファレンスシーケンス2020にアライメントすることによってコード化するシーケンスを準備する。あるいは、専用モジュール202を使用して、本明細書のセクション「クラスUのマッピングされていないリードのための内部リファレンスの構築」及び「HMクラス」に記載されているような異なる方策を使用して、利用可能なリードからリファレンスシーケンスを生成することができる。リファレンスジェネレータ202によって処理された後、リードは、得られたより長いシーケンス上にマッピングされ得る。次いで、アライメントされたシーケンスは、データ分類モジュール204によって分類される。次に、データ分類ユニット204によって生成されたデータのエントロピーを減少させるために、リファレンス変換のさらなるステップがリファレンスに適用される。これは、外部リファレンス2020を、変換されたデータクラス2018及びリファレンス変換記述子2021を生成するリファレンス変換ユニット2019で処理することを意味する。次に、変換されたデータクラス2018は、リファレンス変換記述子2021と共にブロックエンコーダ205~207に供給される。
次いで、ゲノムブロック2011は、ブロックによって運ばれるデータ又はメタデータの統計的特性に従ってブロックをコード化する算術エンコーダ2012~2014に供給される。その結果は、ゲノムストリーム2015である。
【0199】
図21は、本開示の原理に基づくデコード化装置218を示す。デコード化装置218は、ネットワーク又は記憶素子から多重化されたゲノムビットストリーム2011を受信する。多重化されたゲノムビットストリーム2110は、デマルチプレクサ210に供給され、個別のストリーム211を生成し、次に、これらのストリームは、エントロピーデコーダ212~214に供給され、ゲノムブロック215及びリファレンス変換記述子2112を生成する。抽出されたゲノムブロックは、ブロックデコーダ216~217に供給され、さらにブロックがデータのクラスにデコードされ、リファレンス変換ディスクリプタがリファレンス変換ユニット2113に供給される。クラスデコーダ219は、さらにゲノム記述子2111及び変換されたリファレンス2114を処理し、その結果をマージして、シーケンスの非圧縮リードを生成し、これをさらに本技術分野で公知のフォーマット、例えばテキストファイル又はzip圧縮ファイル、あるいはFASTQ又はSAM/BAMファイルに記憶することができる。
【0200】
クラスデコーダ219は、一つ以上のゲノムストリームによって担持される元のリファレンスシーケンスに関する情報、及びコード化されたビットストリーム中に担持されるリファレンス変換記述子2112を利用することによって、元のゲノムシーケンスを再構築することができる。リファレンスシーケンスがゲノムストリームによって転送されない場合、それらはデコード側で利用可能であり、クラスデコーダによってアクセス可能でなければならない。
【0201】
本明細書に開示された本発明の技術は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実施することができる。ソフトウェアで実現される場合、これらは、コンピュータ媒体に記憶され、ハードウェア処理ユニットによって実行されてもよい。ハードウェア処理ユニットは、1つ以上のプロセッサ、デジタルシグナルプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路又は他の個別論理回路を含むことができる。
【0202】
本開示の技術は、携帯電話、デスクトップコンピュータ、サーバ、タブレット及び同様のデバイスを含む様々なデバイス又は装置で実施することができる。
[ファイルフォーマット:マスターインデックステーブルを用いたゲノムデータ領域への選択的アクセス]
【0203】
アライメントされたデータの特定の領域への選択的なアクセスをサポートするために、本明細書で説明するデータ構造には、マスターインデックステーブル(MIT)と呼ばれるインデックス作成ツールが実装されている。これは、特定のリードが関連するリファレンスシーケンスにマップされる位置を含む多次元配列である。
MITに含まれる値は、各アクセスユニットへの非シーケンシャルアクセスがサポートされるように、各posブロック内の第1のリードのマッピング位置である。MITには、データの各クラス(P、N、M、I、U、及びHM)及びリファレンスシーケンス毎にセクションが含まれている。MITは、コード化されたデータのゲノムデータセットヘッダ(Genomic Dataset Header)に含まれている。
図21はゲノムデータセットヘッダ(Genomic Dataset Header)の構造を示し、
図32はMITの一般的な視覚的表現を示し、
図33はコード化されたリードのクラスPに対するMITの例を示す。
【0204】
図33に示すMITに含まれる値は、圧縮ドメイン内の関心領域(及び対応するAU)に直接アクセスするために使用される。
【0205】
例えば、
図33を参照すると、リファレンス2上の位置150,000と250,000との間に含まれる領域にアクセスする必要がある場合、デコード化アプリケーションはMITの第2のリファレンスにスキップし、k1<150,000及びk2>250,000となるように2つの値k1とk2を探す。ここで、k1とk2はMITから読み込まれた2つのインデックスである。
図33の例では、これは、MITの第2番目のベクトルの第2と第3の位置になる。これらの戻り値は、デコード化アプリケーションによって使用され、次のセクションで説明するように、posブロックのローカルインデックステーブルから適切なデータの位置を取得する。
【0206】
上述の4つのクラスのゲノムデータに属するデータを含むブロックへのポインタと共に、MITは、そのライフサイクルの間にゲノムデータに追加される付加的なメタデータ及び/又は注釈のインデックスとして使用することができる。
[ローカルインデックステーブル]
【0207】
各ゲノムデータブロックの先頭には、ローカルヘッダと呼ばれるデータ構造が付く。ローカルヘッダには、ブロックの特有の識別子、リファレンスシーケンス毎のアクセスユニットカウンタのベクトル、ローカルインデックステーブル(LIT)、及びオプションでブロック固有のメタデータが含まれる。LITは、ブロックペイロード内の各アクセスユニットに属するデータの物理的位置へのポインタのベクトルである。
図34は、コード化されたデータの特定の領域に、非シーケンシャルな方法でアクセスするためにLITが使用される、一般的なブロックヘッダ及びペイロードを示す。
【0208】
前の例では、リファレンスシーケンスNo.2にアライメントされたリードの領域150,000から250,000にアクセスするために、デコード化化アプリケーションはMITから位置3と4を検索した。これらの値は、デコード化プロセスが、LITの対応するセクションの第3と第4のエレメントにアクセスするために使用される。
図35に示す例では、ブロックヘッダに含まれるトータルアクセスユニット(Total Access Units)カウンタを使用して、リファレンス1(例では5)に関連するAUに関連するLITインデックスをスキップする。したがって、コード化されたストリーム内の要求されたAUの物理的位置を含むインデックスは、次のように計算される:
要求されたAUに属するデータブロックの位置=スキップされるリファレンス1のAUに属するデータブロック+MITを使用して検索される位置
最初のブロック位置:5+3=8
最後のブロック位置:5+4=9
【0209】
ローカルインデックステーブルと呼ばれるインデックス作成メカニズムを使用して取得されたデータのブロックは、要求されたアクセスユニットの一部である。
【0210】
図26は、MITテーブルに含まれるブロックが、データの各クラス又はサブクラス毎のLITのブロックにどのように対応するかを示す。
【0211】
図37は、MIT及びLITを使用して検索されたデータブロックが、次のセクションで定義されるように、1つ以上のアクセスユニットを構成する方法を示す。
【0212】
本発明の一実施形態では、LITをMITのサブ構造として統合することができる。このようなアプローチの利点は、圧縮ファイルの逐次的な構文解析の場合のインデックス付きデータへのアクセス速度にある。LITがファイルヘッダのMITに統合されている場合、デコード化装置は、選択的アクセスの場合、要求された圧縮情報を検索するために、データのごく一部を解析するだけでよい。別の利点は、ネットワーク上でストリーミングする場合、MIT及びLITに含まれるインデックス情報が、第1のデータブロックの中で配信され、したがって、全データ転送が完了する前に、受信装置がソート及び選択的アクセス等の動作を実行することを可能にすることは、当業者にとって明らかである
[アクセスユニット]
【0213】
データクラスで分類され、圧縮又は非圧縮ブロックで構造化されたゲノムデータは、異なるアクセスユニットに編成される。
【0214】
ゲノムアクセスユニット(AU)は、ヌクレオチド配列及び/又は関連するメタデータを再構築するゲノムデータ(圧縮された、又は圧縮されていない状態で)、及び/又はDNA/RNAのシーケンス(たとえば、仮想リファレンス)及び/又はゲノムシーケンシング装置及び/又はゲノム処理装置又は分析アプリケーションによって生成された注釈データのセクションとして定義される。アクセスユニットの例を
図37に示す。
【0215】
アクセスユニットは、グローバルに利用可能なデータ(例えばデコーダ構成)のみを使用するか、他のアクセスユニットに含まれる情報を使用することによって、他のアクセスユニットから独立してデコードできるデータのブロックである。
【0216】
アクセスユニットは次のように区別される:
・ タイプ(type)、ゲノムデータの性質とそれらが保有するデータセット、及びそれらにアクセスする方法を特徴づけ、
・ オーダー(order)、同じタイプに属するアクセスユニットに固有の順序を提供する。
【0217】
あらゆるタイプのアクセスユニットは、さらに異なる「カテゴリ」に分類することができる。
【0218】
以下に、様々な類型のゲノムアクセスユニットの定義の非網羅的リストを示す:
1)タイプ0のアクセスユニットは、アクセス又はデコードされアクセスされる他のアクセスユニットからの情報を参照する必要はない。それらが含むデータ又はデータセットによって伝送される全情報は、デコード化装置又はプロセッシングアプリケーションによって独立に読み取られ、処理される。
2)タイプ1のアクセスユニットは、タイプ0のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ1のアクセスユニットに含まれるデータの処理は、タイプ0の1つ以上のアクセスユニットへアクセスする必要がある。タイプ1のアクセスユニットは、「クラスP」のシーケンスリードに関連するゲノムデータをコード化する。
3)タイプ2のアクセスユニットは、タイプ0のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ2のアクセスユニットに含まれるデータの処理は、タイプ0の1つ以上のアクセスユニットへアクセスする必要がある。タイプ2のアクセスユニットは、「クラスN」のシーケンスリードに関連するゲノムデータをコード化する。
4)タイプ3のアクセスユニットは、タイプ0のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ3のアクセスユニットに含まれるデータの処理は、タイプ0の1つ以上のアクセスユニットへアクセスする必要がある。タイプ3のアクセスユニットは、「クラスM」のシーケンスリードに関連するゲノムデータをコード化する。
5)タイプ4のアクセスユニットは、タイプ0のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ4のアクセスユニットに含まれるデータの処理は、タイプ0の1つ以上のアクセスユニットへアクセスする必要がある。タイプ4のアクセスユニットは、「クラスI」のシーケンスリードに関連するゲノムデータをコード化する。
6)タイプ5のアクセスユニットは、利用可能なリファレンスシーケンス(「クラスU」)等にマッピングできず、内部で構築されたリファレンスシーケンスを使用してコード化されるリードを含む。タイプ5のアクセスユニットは、タイプ0のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ5のアクセスユニットに含まれるデータの処理は、タイプ0の1つ以上のアクセスユニットへアクセスする必要がある。
7)タイプ6のアクセスユニットにはリードペアが含まれており、一方のリードはP、N、M、Iのいずれかのクラスに属し、もう一方のリードは使用可能なリファレンスシーケンス(「HMクラス」)にマッピングできない。タイプ6のアクセスユニットは、タイプ0のアクセスユニットによって伝送されるデータを参照するデータを含む。読み取り又はデコード化、及びタイプ6のアクセスユニットに含まれるデータの処理は、タイプ0の1つ以上のアクセスユニットへアクセスする必要がある。
8)タイプ7のアクセスユニットには、タイプ1のアクセスユニットに含まれるデータ又はデータセットに関連するメタデータ(例えば品質スコア)及び/又は注釈データを含む。タイプ7のアクセスユニットは、異なるブロックに分類及びラベル付けされてもよい。
9)タイプ8のアクセスユニットには、注釈データとして分類されるデータ又はデータセットが含まれる。タイプ8のアクセスユニットは、ブロック単位で分類及びラベル付けされてもよい。
10)追加型のアクセスユニットは、ここで説明する構造とメカニズムを拡張できる。一例として、しかし限定としてではなく、ゲノムバリアント呼び出し、構造及び機能分析の結果は、新しい種類のアクセスユニットにコード化されることができる。本明細書で説明するアクセスユニットにおけるデータ編成は、コード化データの性質に関して完全に透過的なメカニズムであるアクセスユニットにカプセル化されるいかなる種類のデータも妨げるものではない。
【0219】
タイプ0のアクセスユニットは順序付けされ(例えば番号付け)、順序付けられた方法で記憶及び/又は伝送される必要はない(技術的な利点:並列処理/並列ストリーミング、多重化)。
【0220】
タイプ1、2、3、4、5及び6のアクセスユニットは、順序付けする必要はなく、順序付けされた方法で格納及び/又は送信する必要もない(技術的な利点:並列処理/並列ストリーミング)。
【0221】
図37は、アクセスユニットがヘッダと同種データの1つ以上のブロックでどのように構成されているかを示す。各ブロックは、1つ以上のブロックで構成できる。各ブロックは、いくつかのパケットを含み、パケットは、例えば、リード位置、ペアリング情報、逆補完情報、ミスマッチ位置及び類型等を表すために上記で導入された記述子の構造化されたシーケンスである。
【0222】
各アクセスユニットは、ブロックごとに異なる数のパケットを持つことができるが、アクセスユニット内では、すべてのブロックが同じ数のパケットを持つ。
【0223】
各データパケットは、3つの識別子XYZの組み合わせによって識別できる:
・ Xは、属するアクセスユニットを示し、
・ Yは、属するブロックを示す(すなわち、カプセル化されるデータの種類)、
・ Zは、同一ブロック内の他のパケットに対するパケット順序を表す識別子である。
【0224】
図38はアクセスユニットとパケットラベルの例を示す。ここでAU_T_Nは識別子Nを持つタイプTのアクセスユニットで、アクセスユニットの種類による順序の概念を暗示している場合もあれば、暗示していない場合もある。識別子は、ある種類のアクセスユニットを、転送されたゲノムデータを完全に解読するのに必要な他の種類のアクセスユニットに特有に関連付けるために使用される。
【0225】
あらゆる種類のアクセスユニットは、異なるシーケンシングプロセスに従って、さらに異なる「カテゴリ」に分類され、表示される。例えば、限定ではないが、分類及び表示は以下の場合に行うことができる。
1.同一生物を異なる時刻でシーケンシングすること(アクセスユニットは「一時的な」意味を持つゲノム情報を含む)
2.同一の生物の異なる性質の有機試料をシーケンシングすること(ヒトの皮膚、血液、毛髪等の試料)これらは、「生物学的」を意味するアクセスユニットである。