(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-03
(54)【発明の名称】反復的かつスケーラブルな集団規模のバリアント解析のためのシステム及び方法
(51)【国際特許分類】
G16B 30/00 20190101AFI20241126BHJP
G16B 20/00 20190101ALI20241126BHJP
【FI】
G16B30/00
G16B20/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023579813
(86)(22)【出願日】2022-12-15
(85)【翻訳文提出日】2023-12-26
(86)【国際出願番号】 US2022053036
(87)【国際公開番号】W WO2023114415
(87)【国際公開日】2023-06-22
(32)【優先日】2021-12-15
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-03-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】500358711
【氏名又は名称】イルミナ インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジュオイ・フアン
(72)【発明者】
【氏名】ジェイコブス・デ・ビール
(72)【発明者】
【氏名】オーレ・ベンジャミン・シュルツ-トリーグラフ
(72)【発明者】
【氏名】アダム・バーンバウム
(72)【発明者】
【氏名】ベルナルド・オチョア・モンターニョ
(57)【要約】
反復プロセスは、以前に利用可能であったバッチでサンプルデータの利用可能なバッチを漸増的に集約して、配列決定解析を実行するために実装され得る。1つ以上のサンプルに関連付けられたゲノムバリアントコールファイルは、配列決定デバイスからバッチ内に受信され、配列決定解析を実施するために集約され得る。集約されたゲノムバリアントコールファイルを使用して、各バッチ内のゲノムバリアントコールファイルに関連する要約情報を含むコホートファイル及びセンサスファイルを生成することができる。センサスファイル内のセンサスデータは、要約ゲノムバリアントデータを含むグローバルセンサスファイルに集約され得る。マルチサンプルバリアントコールファイルは、グローバルセンサスファイル、コホートファイル、及びセンサスファイルに基づいて生成され得る。ゲノムバリアントコールファイルは、複数の計算ノードにおける並列処理を使用して処理され得る。ファイルを更に圧縮することができ、重複するデータをバッファ位置に効率的に記憶することができる。
【特許請求の範囲】
【請求項1】
反復gVCF遺伝子型決定のコンピュータ実装方法であって、
配列決定データの第1のバッチに関連付けられた第1の複数個のゲノムバリアントコールファイルを受信することと、
前記第1の複数個のゲノムバリアントコールファイルの各々におけるフィールドのサブセットからのデータを集約することによって、前記第1のバッチについての第1のコホートファイルを生成することと、
前記第1のバッチのバリアント要約統計量及びhom-refブロックを含む第1のセンサスファイルを生成することと、
配列決定データの第2のバッチに関連付けられた第2の複数個のゲノムバリアントコールファイルを受信することと、
前記第2の複数個のゲノムバリアントコールファイルの各々における前記フィールドのサブセットからのデータを集約することによって、前記第2のバッチについての第2のコホートファイルを生成することと、
前記第2のバッチのバリアント要約統計量及びhom-refブロックを含む第2のセンサスファイルを生成することと、
前記第1のセンサスファイル及び前記第2のセンサスファイルを集約することによってグローバルセンサスファイルを生成することであって、前記グローバルセンサスファイルが、異なるサイトにある配列決定デバイスから受信したサンプルのバッチからのセンサスデータを含む、生成することと、
前記第1のコホートファイル、前記第1のセンサスファイル、及び前記グローバルセンサスファイルを使用して、前記第1のバッチについての第1のマルチサンプルバリアントコールファイルを生成することと、
前記第2のコホートファイル、前記第2のセンサスファイル、及び前記グローバルセンサスファイルを使用して、前記第2のバッチについての第2のマルチサンプルバリアントコールファイルを生成することと、を含む、コンピュータ実装方法。
【請求項2】
前記第1のマルチサンプルバリアントコールファイル又は前記第2のマルチサンプルバリアントコールファイルのうちの1つ以上を使用して、ゲノムワイド配列決定解析を実施すること、
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第1のバッチに関連付けられた前記第1の複数個のゲノムバリアントコールファイルが、等しいサイズのシャードに分割され、各シャードが、複数個のコンピューテーションノードのうちの1つを使用して処理される、請求項1に記載のコンピュータ実装方法。
【請求項4】
配列決定データの第3のバッチに関連付けられた第3の複数個のゲノムバリアントコールファイルを受信することと、
前記第3の複数個のゲノムバリアントコールファイルの各々におけるフィールドの前記サブセットからのデータを集約することによって、前記第3のバッチについての第3のコホートファイルを生成することと、
前記第3のバッチのバリアント要約統計量及びhom-refブロックを含む第3のセンサスファイルを生成することと、
前記第3のセンサスファイルを前記グローバルセンサスファイルとともに集約することによって、前記グローバルセンサスファイルを更新することと、
前記第3のコホートファイル、前記第3のセンサスファイル、及び前記更新されたグローバルセンサスファイルを使用して、前記第3のバッチについての第3のマルチサンプルバリアントコールファイルを生成することと、
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記コンピュータ実装方法が、ローカルコンピューティングシステム上で実施されるか、又はクラウドコンピューティングシステムにわたって分散される、請求項1に記載のコンピュータ実装方法。
【請求項6】
システムであって、
少なくとも1つのプロセッサと、
命令を含むコンピュータ可読媒体と、を備え、
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
1つ以上のサンプルに関連付けられた1つ以上のゲノムバリアントコールファイルを受信することと、
前記1つ以上のゲノムバリアントコールファイルから、1つ以上のコホートファイル及び1つ以上のセンサスファイルを生成することと、
前記1つ以上のセンサスファイルをグローバルセンサスファイルに集約することであって、前記グローバルセンサスファイルが、異なるサイトにある配列決定デバイスから受信したサンプルのバッチからのセンサスデータを含む、集約することと、
前記グローバルセンサスファイル、前記1つ以上のコホートファイル、及び前記1つ以上のセンサスファイルに基づいて、少なくとも1つのマルチサンプルバリアントコールファイルを生成することと、
前記マルチサンプルバリアントコールファイルをメモリに記憶することと、を行わせる、システム。
【請求項7】
前記サンプルが、配列決定ラン、配列決定サイクル、又は複数の配列決定ランからのサンプルを含む、請求項6に記載のシステム。
【請求項8】
前記命令が、前記少なくとも1つのプロセッサに、複数の計算ノードを使用して並列処理を実施させる、請求項6に記載のシステム。
【請求項9】
前記命令が、前記少なくとも1つのプロセッサに、配列データの領域による並列化及びマルチスレッド化を更に実施させる、請求項8に記載のシステム。
【請求項10】
少なくとも2つの計算ノードが、前記配列データの対応する領域についてのデータを処理、集約、又は生成するために少なくとも2つのレベルの並列化を実施し、各計算ノードが、特定の領域を処理する、請求項9に記載のシステム。
【請求項11】
領域内の前記コホートファイル及び前記センサスファイルが、ビット圧縮及びシリアル化される、請求項6に記載のシステム。
【請求項12】
システムであって、
少なくとも1つのプロセッサと、
命令を含むコンピュータ可読媒体と、を備え、
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
複数個のゲノムバリアントコールファイルを受信することであって、前記ゲノムバリアントコールファイルの各々が、複数個のサンプルのそれぞれのサンプルに関連付けられている、受信することと、
前記複数個のゲノムバリアントコールファイル内の参照代替遺伝子型(RAGT)統計量を使用して、前記複数個のサンプルに関連付けられた複数個の参照対立遺伝子及び複数個の代替対立遺伝子を識別することと、
前記複数個の参照対立遺伝子の各々及び前記複数個の代替対立遺伝子の各々のインスタンスをカウントすることと、
前記複数個の参照対立遺伝子から正規化された参照対立遺伝子を選択することであって、最も長い参照対立遺伝子が、前記正規化された参照対立遺伝子として選択される、選択することと、
前記正規化された参照対立遺伝子に対応するように他の参照対立遺伝子を伸長させることによって、前記複数個の参照対立遺伝子の前記他の参照対立遺伝子を正規化することと、
各代替対立遺伝子を、それぞれの対応する参照対立遺伝子が伸長されたのと同じ量伸長させることによって、前記複数個の代替対立遺伝子を正規化することと、
前記正規化された参照対立遺伝子及び前記正規化された代替対立遺伝子を使用して、マルチサンプルバリアントコールファイルを生成することと、を行わせる、システム。
【請求項13】
前記命令が、前記少なくとも1つのプロセッサに、前記複数個の代替対立遺伝子の各々が前記正規化された参照対立遺伝子を使用してインデックス付けされるように、前記正規化された参照対立遺伝子を使用して各サンプルの正規化された表現を更に生成させる、請求項12に記載のシステム。
【請求項14】
前記他の参照対立遺伝子が、前記正規化された参照対立遺伝子に対応するそれぞれの数の塩基を付加することによって伸長される、請求項12に記載のシステム。
【請求項15】
前記命令が、前記少なくとも1つのプロセッサに、
追加のサンプルに関連付けられた追加のゲノムバリアントコールファイルを受信することと、
前記追加のサンプルに関連付けられた参照対立遺伝子及び1つ以上の代替対立遺伝子を識別することと、
前記追加のサンプルに関連付けられた前記参照対立遺伝子及び前記1つ以上の代替対立遺伝子を含むように、前記正規化された表現を更新することと、を更に行わせる、請求項12に記載のシステム。
【請求項16】
前記少なくとも1つのプロセッサに前記正規化された表現を更新させるように構成されている前記命令が、前記少なくとも1つのプロセッサに、
前記参照対立遺伝子の長さが、前記正規化された参照対立遺伝子よりも短いことを決定することと、
前記参照対立遺伝子及び前記1つ以上の代替対立遺伝子を、前記正規化された参照対立遺伝子に対応するように伸長させることと、
前記複数個の参照対立遺伝子及び前記複数個の代替対立遺伝子を、前記伸長させた参照対立遺伝子及び前記1つ以上の伸長させた代替対立遺伝子を含むように再順序付けすることと、を行わせるように構成されている前記命令を更に含む、請求項15に記載のシステム。
【請求項17】
前記少なくとも1つのプロセッサに前記正規化された表現を更新させるように構成されている前記命令が、前記少なくとも1つのプロセッサに、
前記参照対立遺伝子の長さが、前記正規化された参照対立遺伝子よりも長いことを決定することと、
前記参照対立遺伝子を、更新された正規化された参照対立遺伝子として選択することと、
前記更新された正規化された参照対立遺伝子の長さに対応するように伸長させることによって、前記複数個の参照対立遺伝子及び前記複数個の代替対立遺伝子を正規化することと、
前記複数個の参照対立遺伝子及び前記複数個の代替対立遺伝子を、前記更新された正規化された参照対立遺伝子及び前記1つ以上の伸長させた代替対立遺伝子を含むように再順序付けすることと、を行わせるように構成されている命令を更に含む、請求項15に記載のシステム。
【請求項18】
前記命令が、前記少なくとも1つのプロセッサに、前記正規化された参照対立遺伝子及び前記正規化された表現に基づいて、各サンプルの前記遺伝子型を更に再順序付けさせる、請求項12に記載のシステム。
【請求項19】
前記命令が、前記少なくとも1つのプロセッサに、前記正規化された参照対立遺伝子に基づいて、前記複数個の代替対立遺伝子の各々についてのマッピングを更に生成させる、請求項18に記載のシステム。
【請求項20】
前記複数個の代替対立遺伝子の各々についての前記マッピングが、センサスファイル内のサイト情報に記憶される、請求項19に記載のシステム。
【請求項21】
前記命令が、前記少なくとも1つのプロセッサに、前記複数個のゲノムバリアントコールファイルから、1つ以上のコホートファイル、及び1つ以上のセンサスファイルを更に生成させる、請求項19に記載のシステム。
【請求項22】
前記命令が、前記少なくとも1つのプロセッサに、前記1つ以上のセンサスファイルをグローバルセンサスファイルに更に集約させ、前記グローバルセンサスファイルが、異なるサイトにある配列決定デバイスから受信したサンプルのバッチからのセンサスデータを含む、請求項21に記載のシステム。
【請求項23】
前記命令が、前記少なくとも1つのプロセッサに、前記グローバルセンサスファイル、前記1つ以上のコホートファイル、及び前記1つ以上のセンサスファイルに基づいて、少なくとも1つのマルチサンプルバリアントコールファイルを更に生成させる、請求項22に記載のシステム。
【請求項24】
システムであって、
少なくとも1つのプロセッサと、
命令を含むコンピュータ可読媒体と、を備え、
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
前記複数個のゲノムバリアントコールファイル内の参照代替遺伝子型(RAGT)統計量を使用して、前記複数個のサンプルに関連付けられた複数個の参照対立遺伝子及び複数個の代替対立遺伝子を識別することと、
前記複数個のサンプルのうちのどれが共通の参照対立遺伝子及び代替対立遺伝子を有するかを決定することと、
前記サンプルを対立遺伝子群に分散させることであって、各対立遺伝子群が、共通の参照対立遺伝子及び代替対立遺伝子を有する1つ以上のサンプルを含む、分散させることと、
対立遺伝子群の数に基づいて、バイナリ値長さを選択することと、
前記決定されたバイナリ値長さを使用して、前記対立遺伝子群の各々に一意のバイナリ値を割り当てることと、
一意の割り当てられた一意のバイナリ値を集約することによって、前記複数個のゲノムバリアントコールファイルについてのビットアレイを生成することと、
前記ビットアレイを記憶することと、を行わせる、システム。
【請求項25】
前記バイナリ値長さが、前記対立遺伝子群の各々を一意に識別するために使用することができる最短の長さとして選択される、請求項24に記載のシステム。
【請求項26】
前記対立遺伝子群の各々が、参照対立遺伝子及び1つ以上の代替対立遺伝子を含む、請求項24に記載のシステム。
【請求項27】
前記ビットアレイが、コホートファイル又はセンサスファイルのうちの1つ以上に記憶される、請求項24に記載のシステム。
【請求項28】
命令が、前記少なくとも1つのプロセッサに、前記センサスファイルを使用して、前記複数個のサンプルについてのグローバルセンサスファイルを更に生成させる、請求項27に記載のシステム。
【請求項29】
前記命令が、前記少なくとも1つのプロセッサに、前記コホートファイル、前記センサスファイル、及び前記グローバルセンサスファイルを使用して、前記複数個のサンプルのバッチについてのマルチサンプルバリアントコールファイルを更に生成させる、請求項28に記載のシステム。
【請求項30】
命令が、前記少なくとも1つのプロセッサに、前記一意のバイナリ値を割り当てる前に、同一の参照対立遺伝子及び代替対立遺伝子を有するサンプルを前記複数個の対立遺伝子群に更にグループ化させる、請求項24に記載のシステム。
【請求項31】
システムであって、
少なくとも1つのプロセッサと、
命令を含むコンピュータ可読媒体と、を備え、
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
ゲノム領域を表すゲノムバリアントデータの第1のレコードを含むゲノムバリアントコールファイルを受信することと、
前記第1のレコード内の前記ゲノムバリアントデータの第1の部分が、一定数のバッファ位置を含む出力バッファに以前に記憶された第2のレコードのゲノムバリアントデータと重複することを決定することと、
前記第2のレコード内の前記ゲノムバリアントデータを含む前記出力バッファの第1のバッファ位置を、前記第1のレコード内の前記ゲノムバリアントデータの前記第1の部分で更新することと、
前記第1のレコード内の前記ゲノムバリアントデータの第2の部分を前記出力バッファに追加することであって、前記第1のレコード内の前記ゲノムバリアントデータの前記第2の部分が、前記第2のレコードとの非重複データを含み、前記第1のレコード内の前記ゲノムバリアントデータの前記第2の部分が、前記第1のレコード内の前記ゲノムバリアントデータの前記第1の部分を含む前記第1のバッファ位置に隣接する前記出力バッファの第2のバッファ位置に追加される、追加することと、を行わせる、システム。
【請求項32】
前記命令が、前記少なくとも1つのプロセッサに、前記第2のレコードが前記第1のバッファ位置に割り当てられていることを更に決定させる、請求項31に記載のシステム。
【請求項33】
前記出力バッファが、隣接するレコード間に空のバッファ位置を含む、請求項31に記載のシステム。
【請求項34】
前記ゲノムバリアントコールファイルが、第1のゲノムバリアントコールファイルであり、前記ゲノム領域が、第1のゲノム領域であり、
前記命令が、前記少なくとも1つのプロセッサに、
第2のゲノム領域を表すゲノムバリアントデータを含む第3のレコードを含む第2のゲノムバリアントコールファイルを受信することと、
前記第3のレコード内の前記ゲノムバリアントデータが第4のレコード内のゲノムバリアントデータと完全に重複することを決定することと、
前記第4のレコード内の前記ゲノムバリアントデータを含む前記出力バッファの第3のバッファ位置を、前記第3のレコード内の前記ゲノムバリアントデータで更新することと、を行わせるように更に構成されている、請求項31に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年12月15日に出願された米国特許仮出願第63/361,386号及び2022年3月31日に出願された米国特許仮出願第63/326,227号に対する優先権を主張するものであり、これらは、それら全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
集団規模のゲノム実験は、数多くの(例えば、数十万)のサンプルからのバリアントに関連するデータを集約及び/又はマージすることを含むことができる。既存の配列決定解析は、サンプル当たりの解析に焦点を当て得る。配列決定スループットが増加し続けるにつれて、集団規模のバリアント解析結果のタイムリーな送達がますます望まれるようになっている。更に、既存の配列決定解析では、サンプルの配列決定は、いくつかのデータが任意の所与の時点で利用不可能であり得るように実施され得る。
【0003】
既存の配列決定解析は、ゲノムバリアントコールフォーマット(genome variant call format、gVCF)ファイルを使用し得る。gVCFファイルは、バリアント位置及び非バリアント位置の両方についての配列決定情報を記憶する。gVCFファイルは、ゲノム内の全てのサイトにわたる遺伝子型、アノテーション、及び他の情報の表現を可能にし得る。gVCFジェノタイパは、非血縁個体からのバリアントを、合わせて解析する集団ベースの解析ツールであり得る。
【発明の概要】
【課題を解決するための手段】
【0004】
サンプルデータの利用可能なバッチを、以前に利用可能であったバッチと漸増的に集約する反復プロセスを可能にするためのシステム、方法、及び装置が、本明細書に記載される。1つ以上のコンピューティングデバイスは、1つ以上のサンプルに関連付けられた1つ以上のゲノムバリアントコールファイルを受信するように構成され得る。ゲノムバリアントコールファイルの例は、ゲノムバリアントコールフォーマット(gVCF)ファイルであり得る。ゲノムバリアントコールファイル内のデータは、バリアント及びゲノムブロックのリストを含むことができる。ゲノムバリアントコールファイルは、異なるサイトにある配列決定デバイスによって導かれたサンプルのバッチに受信され得る。
【0005】
コホートファイル及びセンサスファイルは、サンプルのバッチごとに生成され得る。コホートファイル及びセンサスファイルは、ゲノムバリアントコールファイル内のフィールドのサブセットを含むことができ、フィールドのサブセットについてのサンプルのバッチの要約情報を含むことができる。サンプルの異なるバッチから生成された複数のセンサスファイル内のセンサスデータは、グローバルセンサスファイルに集約され得る。
【0006】
マルチサンプルバリアントコールファイルは、グローバルセンサスファイル、1つ以上のコホートファイル、及び1つ以上のセンサスファイルに基づいて生成され得る。マルチサンプルバリアントコールファイルは、ファイル内のデータに対して配列決定解析を実施するためにメモリに記憶され得る。例えば、1つ以上のコンピューティングデバイスは、1つ以上のマルチサンプルバリアントコールファイルを使用してゲノムワイド配列決定解析を実施するために実装され得る。
【0007】
ゲノムバリアントコールファイルは、本明細書に記載されるように、複数の計算ノードにおける並列処理を使用して処理され得る。ゲノムバリアントコールファイルの各バッチは、ゲノムバリアントコールファイルの並列処理を可能にするために、等しいサイズのシャードに分割され得る。各シャードは、複数個のコンピューテーションノードのうちの1つを使用して処理され得る。並列処理は、配列データの領域によるマルチスレッド化を使用して実装され得る。少なくとも2つの計算ノードは、配列データの対応する領域についてのデータを処理、集約、及び/又は生成するために、少なくとも2つのレベルの並列化を実施するように構成され得る。各計算ノードは、特定の領域を処理するように構成され得る。各コアは、特定のスレッド化を有し得る。可変数のソフトウェアスレッドが実装されてもよい。CPUコアごとに1つ以上のスレッドが実装されてもよい。例えば、各CPUコアによって単一のスレッドが実装されてもよい。各CPUコアによって実装されるスレッドの数は、ユーザ入力に応答して変更することができる。
【0008】
本明細書に記載されるように1つ以上のコンピューティングデバイスを実装して、対立遺伝子順序付け及び遺伝子型再インデックス付けを実施することができる。各ゲノムバリアントコールファイルは、参照代替遺伝子型(reference alternate genotype、RAGT)統計量を含む複数個のサンプルのそれぞれのサンプルと関連付けられ得る。RAGT統計量を使用して、ゲノムバリアントコールファイル内のサンプルに関連付けられる複数個の参照対立遺伝子及び複数個の代替対立遺伝子を識別することができる。複数個の参照対立遺伝子の各々及び複数個の代替対立遺伝子の各々のインスタンスを正規化のために合計して、固有の対立遺伝子の数を決定することができる。正規化された参照対立遺伝子は、複数個の参照対立遺伝子から選択され得る。最も長い参照対立遺伝子は、正規化された参照対立遺伝子として選択され得る。複数個の参照対立遺伝子のうちの他の参照対立遺伝子は、正規化された参照対立遺伝子に対応するように伸長することによって正規化され得る。複数個の代替対立遺伝子は、各代替対立遺伝子を、それぞれの対応する参照対立遺伝子が伸長されたのと同じ量伸長させることによって正規化され得る。正規化された参照対立遺伝子及び正規化された代替対立遺伝子を使用して、マルチサンプルバリアントコールファイルを生成することができる。
【0009】
1つ以上のコンピューティングデバイスを実装して、コホートファイル及び/又はセンサスファイルに記憶されたデータに対して圧縮を実施することができる。圧縮されるコホートファイル又はセンサスファイルのフィールドが識別され得る。一例では、複数個のサンプルに関連付けられた複数個の参照対立遺伝子及び複数個の代替対立遺伝子は、圧縮のために識別され得るRAGTフィールドに記憶され得る。1つ以上のコンピューティングデバイスは、複数個のサンプルのうちのどれが共通の参照対立遺伝子及び代替対立遺伝子を有するかを決定するように構成され得る。これらのサンプルは、対立遺伝子群に分散され得る。各対立遺伝子群は、共通の参照対立遺伝子及び代替対立遺伝子を有する1つ以上のサンプルを含むことができる。1つ以上のコンピューティングデバイスは、対立遺伝子群の数に基づいて、バイナリ値長さを選択するように構成され得る。バイナリ値長さは、対立遺伝子群の各々を一意に識別するために使用することができる最短のバイナリ値長さであり得る。1つ以上のコンピューティングデバイスは、決定されたバイナリ値長さを使用して、対立遺伝子群の各々に一意のバイナリ値を割り当てるように構成され得る。対立遺伝子群の各々についての一意のバイナリ値は、複数個の参照対立遺伝子及び複数個の代替対立遺伝子をビットアレイに符号化するために使用されるビットマップに記憶され得る。
【0010】
コホートファイル及びセンサスファイル内のゲノムバリアントデータは、本明細書に記載されるように、一定数のバッファ位置を含む出力バッファに集約され得る。例えば、1つ以上のコンピューティングデバイスは、ゲノムバリアントデータのレコードを受信し、受信したレコードについてのゲノムバリアントデータが出力バッファ内の1つ以上の他の以前に記憶したレコードと重複するかどうかを決定するように構成され得る。受信したレコードについてのゲノムバリアントデータがバッファ内の以前に記憶したレコードと重複しない場合、受信したレコードについてのゲノムバリアントデータは、バッファ内の1つ以上のバッファ位置に記憶され得る。受信したレコードについてのゲノムバリアントデータが別のレコードのゲノムバリアントデータと重複する場合、レコードの重複部分を含むバッファ位置は、受信したレコードについてのゲノムバリアントデータを含むように更新され得る。以前に記憶したレコードの任意の非重複部分は、コピーされ、レコードの重複部分とともに順次バッファ位置に記憶され得る。受信されるレコードの任意の非重複部分は、レコードの重複部分とともに順次バッファ位置に追加され得る。
【図面の簡単な説明】
【0011】
【
図1】反復ゲノムバリアントコールフォーマット(gVCF)ジェノタイパが動作し得るシステム環境(又は「環境」)の概略図を示す。
【
図2】例示的なコンピューティングデバイスのブロックを示す。
【
図3】反復gVCF遺伝子型決定を実施するために1つ以上のコンピューティングデバイスによって実装され得る例示的なプロセスを示す図である。
【
図4】1つ以上のマルチサンプルバリアントコールフォーマット(multi-sample variant call format、msVCF)ファイルを生成するために配列決定デバイスからのサンプルデータのバッチを処理するための例示的な方法のフローチャートである。
【
図5A】反復gVCFジェノタイパによって実施される例示的なプロセスを示す図である。
【
図5B】反復gVCFジェノタイパによって実施される別の例示的なプロセスを示す図である。
【
図6】サンプルのバッチについて生成された例示的なコホートレコードのグラフ表現である。
【
図7】バッチに関連付けられたgVCFファイルの受信後にマルチサンプルバリアントコールファイルを生成するために1つ以上のコンピューティングデバイスによって実装され得る例示的な反復プロセスを示す図である。
【
図8】バリアント解析において並列処理を組み込むために1つ以上のコンピューティングデバイスによって実装され得る例示的なプロセスを示す図である。
【
図9】バッチにわたる並列処理を組み込んだ例示的なプロセスを示す図である。
【
図10】例示的なゲノムデータオペレータ設計を示す図である。
【
図11】msVCFファイルについて遺伝子型を再インデックス付けするための1つ以上のコンピューティングデバイスによって実装され得る例示的なプロセスを示す図である。
【
図12A】コホートデータを符号化するために1つ以上のコンピューティングデバイスによって実装され得る例示的なプロセスを示す図である。
【
図12B】センサスデータを符号化するために1つ以上のコンピューティングデバイスによって実装され得る例示的なプロセスを示す図である。
【
図13】コホート及び/又はセンサスデータの圧縮を実施するために1つ以上のコンピューティングデバイスによって実装され得る例示的な方法を示すフロー図である。
【
図14】データのシリアル化及び圧縮のために1つ以上のコンピューティングデバイスによって実装され得る例示的なプロセスを示す図である。
【
図15】データのシリアル化及び圧縮のために1つ以上のコンピューティングデバイスによって実装され得る別の例示的なプロセスを示す図である。
【
図16】重複するゲノム領域を伴うバッファ集約中にデータをレコード追加、コピー、及び/又は更新するために1つ以上のコンピューティングデバイスによって実装され得る例示的なプロセスを示す図である。
【発明を実施するための形態】
【0012】
図1は、本明細書に記載されるように、反復ゲノムバリアントコールフォーマット(gVCF)ジェノタイパが動作し得るシステム環境(又は「環境」)100の概略図を示している。示されるように、環境100は、ネットワーク112を介してクライアントデバイス108及び配列決定デバイス114に接続された1つ以上のサーバデバイス102を含む。
【0013】
図1に示されるように、サーバデバイス102、クライアントデバイス108、及び配列決定デバイス114は、ネットワーク112を介して互いに通信することができる。ネットワーク112は、コンピューティングデバイスが通信することができる任意の適切なネットワークを含むことができる。ネットワーク112は、有線及び/又は無線通信ネットワークを含むことができる。例示的な無線通信ネットワークは、セルラー通信プロトコル、Wi-Fi通信プロトコル、及び/又は別の無線通信プロトコルなどの、1つ以上の無線通信プロトコルを使用する1つ以上のタイプのRF通信信号から構成され得る。ネットワーク112にわたって通信することに加えて、又はその代わりに、サーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114は、ネットワーク112を通信し得、迂回し得、互いに直接通信することができる。
【0014】
図1によって示されるように、配列決定デバイス114は、生体サンプルを配列決定するためのデバイスを含むことができる。生体サンプルは、核酸配列の個々のヌクレオチド塩基を決定するための(例えば、合成による配列決定)ヒト及び非ヒトDNAを含み得る。配列決定デバイス114は、配列決定デバイス114上で直接的又は間接的のいずれかで、本明細書に記載されるコンピュータ実装方法及びシステムを利用して、サンプルから抽出された核酸セグメント及び/又はオリゴヌクレオチドを解析して、ヌクレオチドリード及び/又は他のデータを生成することができる。より具体的には、配列決定デバイス114は、ヌクレオチド-サンプルスライド内で、サンプルから抽出された核酸配列を受信及び解析することができる。配列決定デバイス114は、SBSを利用して、核酸セグメントをヌクレオチドリードに配列決定することができる。
【0015】
図1によって更に示されるように、サーバデバイス102は、ヌクレオチド-塩基コールを決定するか、又は核酸ポリマーを配列決定するためのデータなどのデジタルデータを生成、受信、解析、記憶、及び/又は送信することができる。
図1に示されるように、配列決定デバイス114は、配列決定デバイス114からのコールデータを送信することができる(かつサーバデバイス102はコールデータを受信することができる)。サーバデバイス102は、クライアントデバイス108とも通信することができる。具体的には、サーバデバイス102は、バリアントコールファイル、又はヌクレオチド-塩基コール、配列決定メトリック、エラーデータ、並びに/又はコール品質、遺伝子型、及び/若しくは遺伝子型品質などのヌクレオチド-塩基コールに関連付けられた他のメトリックを示す他の情報を含むデータをクライアントデバイス108に送信することができる。
【0016】
サーバデバイス102は、サーバの分散型コレクションを含み、サーバデバイス102は、ネットワーク112にわたって分散され、同じ又は異なる物理的場所に位置する、いくつかのサーバデバイスを含むことができる。更に、サーバデバイス102は、コンテンツサーバ、アプリケーションサーバ、通信サーバ、ウェブホスティングサーバ、又は別のタイプのサーバを含むことができる。
【0017】
図1に更に示されるように、サーバデバイス102は、配列決定システム104を含むことができる。配列決定システム104は、配列決定デバイス114から受信された配列決定メトリックなどの塩基コールデータを解析して、核酸ポリマーについてのヌクレオチド塩基配列を決定することができる。例えば、配列決定システム104は、配列決定デバイス114から生データを受信し、核酸セグメントについてのヌクレオチド塩基配列を決定することができる。配列決定システム104は、DNA及び/若しくはRNAセグメント又はオリゴヌクレオチドにおけるヌクレオチド塩基の配列を決定することができる。生物学的サンプルについての配列を処理及び決定することに加えて、配列決定システム104は、1つ以上のゲノム座標についての1つ以上のヌクレオチド-塩基コールを示すバリアントコールファイルを生成することができる。配列決定システム104は、本明細書に記載されるように、解析、ファイル生成、データ集約、圧縮、及び/又はシリアル化を実施することが可能な1つ以上の反復gVCFジェノタイパを含むことができる。反復gVCFジェノタイパはまた、配列決定システム104、配列決定アプリケーション110、及び/又はデータベース116にわたって分散されて、本明細書に記載されるように実施され得る。一次解析は、個々のヌクレオチド塩基を呼び出すこととして定義され得る。二次解析は、リードを参照ゲノムにマッピングすることによる、DNA若しくはRNA断片(例えば、1つ以上のヌクレオチド塩基)のアライメント及び/又はアセンブリとして定義され得る。三次解析は、一次及び/又は二次解析に基づくバリアント識別/呼び出しとして定義され得る。一次解析、二次解析、及び/又は三次解析は、機器上又は機器外で実施され得る。
【0018】
クライアントデバイス108は、デジタルデータを生成、記憶、受信、及び/又は送信することができる。具体的には、クライアントデバイス108は、配列決定デバイス114から配列決定メトリックを受信することができる。更に、クライアントデバイス108は、サーバデバイス102と通信して、ヌクレオチド塩基コール、並びに/又はコール品質、遺伝子型指示、及び遺伝子型品質などの他のメトリックを含む、バリアントコールファイルを受信することができる。クライアントデバイス108は、グラフィカルユーザインターフェース内のヌクレオチド-塩基コールに関する情報を、クライアントデバイス108に関連付けられたユーザに提示又は表示することができる。例えば、クライアントデバイス108は、特定のヌクレオチド-塩基コールに関して個々の配列決定メトリックに関連付けられた、若しくはそれに起因する様々な寄与尺度の視覚化又は描写を含む寄与尺度インターフェースを提示することができる。
【0019】
図1に示されるクライアントデバイス108は、様々なタイプのクライアントデバイスを含むことができる。例では、クライアントデバイス108は、デスクトップコンピュータ若しくはサーバ、又は他のタイプのクライアントデバイスなどの非モバイルデバイスを含むことができる。他の例では、クライアントデバイス108は、ラップトップ、タブレット、携帯電話、又はスマートフォンなどのモバイルデバイスを含むことができる。クライアントデバイス108に関する追加の詳細は、
図2に関して以下で述べる。
【0020】
図1に更に示されるように、クライアントデバイス108は、配列決定アプリケーション110を含むことができる。配列決定アプリケーション110は、クライアントデバイス108に記憶され、そこで実行されるウェブアプリケーション又はネイティブアプリケーション(例えば、モバイルアプリケーション、デスクトップアプリケーション)であってもよい。配列決定アプリケーション110は、(実行されると)クライアントデバイス108に、配列決定デバイス114からのデータを受信させ、クライアントデバイス108での表示のためにバリアントコールファイルからのデータを提示させる命令を含むことができる。更に、配列決定アプリケーション110は、クライアントデバイス108に、ヌクレオチド-塩基コールの配列決定メトリックについての寄与尺度の可視化を表示するように命令することができる。
【0021】
図1に更に示されるように、環境100は、データベース116を含むことができる。データベース116は、バリアントコールファイル、サンプルヌクレオチド配列、ヌクレオチドリード、ヌクレオチド-塩基コール、及び配列決定メトリックなどの情報を記憶することができる。サーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114は、データベース116と通信して(例えば、ネットワーク112を介して)、バリアントコールファイル、サンプルヌクレオチド配列、ヌクレオチドリード、ヌクレオチド-塩基コール、及び/若しくは配列決定メトリックなどの情報を記憶する、並びに/又はそれらにアクセスすることができる。データベース116はまた、コール再較正機械学習モデル及び/又はコール生成モデルなどの1つ以上のモデルを記憶することができる。
【0022】
環境100は、ローカルネットワーク又はローカル高性能コンピューティング(high-performance computing、HPC)システムに含まれ得る。例えば、本明細書に記載される反復gVCFジェノタイパは、ローカルネットワーク又はHPCシステム内の、1つ以上のクライアントデバイス108(例えば、配列決定アプリケーション110の一部として)、1つ以上のサーバデバイス102(例えば、配列決定システム104の一部として)、及び/又は1つ以上の配列決定デバイス114上で実行され得る。環境100は、分散されたソフトウェア及び/又はデータを有するサーバデバイス102などの、複数のサーバデバイスを含むクラウドコンピューティング環境に含まれ得る。例えば、本明細書に記載される反復gVCFジェノタイパは、クラウドコンピューティング環境における1つ以上のサーバデバイス102上で実行されてもよい。配列決定システム104は、本明細書に記載されるgVCFジェノタイパを実行するように実装されてもよく、クラウドベースのコンピューティングシステムにおいてネットワーク112を介したデータベース116へのアクセスを有するサーバデバイス102にわたって分散されてもよい。
【0023】
図1は、ネットワーク112を介して通信する環境100の構成要素を示しているが、環境100の構成要素は、例えば、ネットワーク112を迂回して、互いに直接通信することもできることが理解されよう。例えば、クライアントデバイス108は、配列決定デバイス114と直接通信してもよい。
【0024】
図2は、例示的なコンピューティングデバイス200のブロック図を示している。コンピューティングデバイス200などの1つ以上のコンピューティングデバイスは、本明細書に記載される反復gVCFジェノタイパ及び/又は配列決定システム104の1つ以上の特徴を実装することができる。コンピューティングデバイス200などの1つ以上のコンピューティングデバイスは、本明細書に記載されるように、クライアントデバイス、サーバデバイス、又は配列決定デバイスとして動作し得る。
図2によって示されるように、コンピューティングデバイス200は、プロセッサ202、メモリ204、ストレージ(記憶)デバイス206、VOインターフェース208、及び/又は通信インターフェース210を含むことができ、これらは、通信インフラストラクチャ212によって通信可能に結合され得る。コンピューティングデバイス200は、
図2に示されるものよりも少ない又は多い構成要素を含むことができることが理解されよう。
【0025】
プロセッサ202は、コンピュータプログラムを構成する命令などの命令を実行するためのハードウェアを含むことができる。例では、ワークフローを動的に修正するための命令を実行するために、プロセッサ202は、内部レジスタ、内部キャッシュ、メモリ204、又はストレージデバイス206から命令を取り出し(又はフェッチし)、これらの命令を復号化して実行することができる。メモリ204は、データ、メタデータ、及びプロセッサによる実行のためのプログラムを記憶するために使用される揮発性又は不揮発性メモリであってもよい。ストレージデバイス206は、本明細書に記載される方法を実施するためのデータ又は命令を記憶するための、ハードディスク、フラッシュディスクドライブ、又は他のデジタルストレージデバイスなどのストレージを含むことができる。メモリ204は、本明細書に記載される1つ以上のプロセス又は方法を実施するためのコンピュータ可読命令又は機械可読命令をそこに記憶していてもよい。
【0026】
I/Oインターフェース208は、ユーザが、コンピューティングデバイス200に入力を提供し、コンピューティングデバイス200から出力を受信し、かつ/又は別様にコンピューティングデバイス200にデータを転送し、コンピューティングデバイス200からデータを受信することを可能にすることができる。I/Oインターフェース208は、マウス、キーパッド若しくはキーボード、タッチスクリーン、カメラ、光学スキャナ、ネットワークインターフェース、モデム、他の既知のI/Oデバイス、又はそのようなI/Oインターフェースの組み合わせを含むことができる。I/Oインターフェース208は、限定はしないが、グラフィックスエンジン、ディスプレイ(例えば、ディスプレイスクリーン)、1つ以上の出力ドライバ(例えば、ディスプレイドライバ)、1つ以上のオーディオスピーカ、及び1つ以上のオーディオドライバを含む、ユーザに出力を提示するための1つ以上のデバイスを含むことができる。I/Oインターフェース208は、ユーザに提示するためにグラフィカルデータをディスプレイに提供するように構成され得る。グラフィカルデータは、1つ以上のグラフィカルユーザインターフェース及び/又は任意の他のグラフィカルコンテンツを表してもよい。
【0027】
通信インターフェース210は、ハードウェア、ソフトウェア、又はその両方を含むことができる。いずれにしても、通信インターフェース210は、コンピューティングデバイス200と1つ以上の他のコンピューティングデバイス又はネットワークとの間の通信(例えば、パケットベースの通信などの)のための1つ以上のインターフェースを提供することができる。限定ではなく例として、通信インターフェース210は、Ethernet若しくは他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ(network interface controller、NIC)若しくはネットワークアダプタ、又はWi-Fiなどの無線ネットワークと通信するための無線NIC(wireless NIC、WNIC)若しくは無線アダプタを含むことができる。
【0028】
追加的に、通信インターフェース210は、様々なタイプの有線又は無線ネットワークとの通信を容易にすることができる。通信インターフェース210はまた、様々な通信プロトコルを使用して、通信を容易にすることもできる。通信インフラストラクチャ212はまた、コンピューティングデバイス200の構成要素を互いに結合するハードウェア、ソフトウェア、又はその両方を含むことができる。例えば、通信インターフェース210は、1つ以上のネットワーク及び/又はプロトコルを使用して、特定のインフラストラクチャによって接続された複数個のコンピューティングデバイスが互いに通信して、本明細書に記載されるプロセスの1つ以上の態様を実施することを可能にすることができる。例示すると、配列決定プロセスは、複数個のデバイス(例えば、クライアントデバイス、配列決定デバイス、及びサーバデバイス)が配列決定データ及びエラー通知などの情報を交換することを可能にすることができる。
【0029】
本明細書に記載されるコンピューティングデバイス、システム、及びそれらの一部分は、本明細書に記載されるように、ゲノムバリアント呼び出し及び遺伝子型決定ファイルの処理を含むゲノム配列決定を支援するために実装され得る。1つ以上のコンピューティングデバイスは、1つ以上のサンプルに関連付けられた1つ以上のゲノムバリアントコールファイルを受信するように構成され得る。ゲノムバリアントコールファイルの例は、ゲノムバリアントコールフォーマット(gVCF)ファイルであり得る。本明細書に記載されるように、gVCFジェノタイパを1つ以上のコンピューティングデバイスによって実装して、ゲノムバリアントコールファイルに対して配列決定解析を実施することができる。例えば、gVCFジェノタイパは、1つ以上のコンピューティングデバイスに実装されてもよく、1つ以上の配列決定デバイスからサンプルデータを受信して、gVCFファイルを生成してもよい。gVCFファイルは、gVCFファイルが対応するサンプルに関連するゲノムバリアントデータなどのサンプルに関連する要約情報のいくつかの所定のフィールドを含む、公的に利用可能な標準テキストフォーマットで生成されたデジタルファイルであり得る。gVCFファイル内の要約情報は、各データラインが単一のヌクレオチド-塩基コール(例えば、単一のバリアント)についての情報を含むメタ情報ライン、ヘッダライン、及びデータラインを含む、特定のゲノム座標におけるバリアント並びに非バリアントゲノムブロックについてのゲノムバリアントデータを含むことができる。gVCFファイル内のゲノムバリアントデータは、ヌクレオチド-塩基コールに関する他の情報(例えば、バリアントコール、品質、マッピングアライメント、及び他のメトリック)とともに、1つ以上のヌクレオチド-塩基コール(例えば、バリアントコール)を含むことができる。
【0030】
gVCFジェノタイパはサンプル当たりの高性能配列決定解析に焦点を合わせることができるため、各gVCFファイル内のゲノムバリアントデータは、配列決定デバイスにおける単一の配列決定ラン、配列決定サイクル、又は複数の配列決定ランからの単一のサンプルに関連する情報を含むことができる。gVCFジェノタイパは、各々が配列決定デバイスからの単一のサンプルに対応する複数のgVCFファイルのバッチから要約情報を取得し、gVCFファイルのバッチからの集約ゲノムバリアントデータ及び/又は他の遺伝子型データを識別するために情報を解析することができる。gVCFファイルのサイズによって、gVCFファイルのストレージは大量のメモリリソースを利用する場合があり、gVCFファイルの解析は大量の処理リソースを利用する場合がある。一例では、gVCFファイルは、ローカルサーバ又は他のコンピューティングデバイス上での解析のために48スレッド及び/又は250GBのメモリを利用し得る。例示的なクラウドインスタンス(例えば、AWS c5d、18xlargeでの)では、gVCFファイルは、解析のために72スレッド及び/又は144GBのメモリを利用することができる。単一のgVCFファイルを解析するために利用され得る処理能力の別の例では、gVCFファイルは、1スレッド及び/又は4GBのメモリを利用することができるが、追加のリソースが実装されてもよい。
【0031】
追加的に、複数のサイトにわたる複数の配列決定デバイスによって取得されたサンプルを解析して、配列決定デバイスにわたる集約ゲノムバリアントデータ及び/又は他の遺伝子型データを識別し、ゲノムバリアントデータ及び/又は他の遺伝子型データのより大きな集約データセットを有するデータセットを構築することも望ましい場合がある。実際に、いくつかの例示的な実施形態では、gVCFジェノタイパ特徴を使用して、ゲノム解析ツールキット(Genome Analysis Toolkit、GATK)アルゴリズムを実装し、大きなコホートからのゲノムバリアントデータを集約及び結合することができる。gVCFファイルのサイズによって、複数のサイトにおける複数の配列決定デバイスからのgVCFファイルのバッチ内のゲノムバリアントデータ及び他の遺伝子型データを集約及び結合することは、スケーリングすることが困難であり得る(例えば、数千個のサンプルを超える)。複数の配列決定デバイスからのgVCFファイルのバッチは、配列決定デバイスにわたって収集された集約ゲノムバリアントデータ及び/又は他の遺伝子型データを識別するために記憶、解析、及び/又は集約することが困難な場合がある。gVCFファイルは他のフィールドタイプよりも大量のストレージを占有し得るテキストフィールドから構成されるため、単一のgVCFファイルのサイズは、データを記憶及び解析するために使用され得る他のファイルタイプと比較したとき、比較的大きい場合がある。例えば、30xの配列決定深度を有するgVCFファイルは、4~5GBであり得る。gVCFファイルは、サンプルが受信されているバッチ又は異なるサイトにわたってデータの解析を実施するために集約されるため、gVCFファイル内のデータの記憶及び解析は、ますます困難になる場合がある。gVCFファイルのサイズによって、異なるサイトからのサンプルデータのバッチを通信して、サイトにわたるバリアント情報を識別するためにサイトからのバリアント情報又は他の要約情報を集約することも困難であり得る。
【0032】
配列決定解析に使用される標準gVCFファイルのサイズの例を提供するために、標準フォーマットで利用される複数個のフィールド(例えば、例示的なゲノムバリアントデータを含む)について本明細書に記載している。例えば、gVCFファイル内の複数個のフィールドは、遺伝子型(GT)フィールド、遺伝子型品質(GQ)フィールド、最小遺伝子型品質(GQX)フィールド、フィルタリングされた塩基コール深度(DP)フィールド、入力からフィルタリングされた塩基コール(DPF)フィールド、対立遺伝子深度(AD)フィールド、インデルに関連付けられたリード深度(DPI)フィールド、マッピング品質(MQ)フィールド、フィルタ(FT)フィールド、品質(QL)フィールド、フレッドスケールされた遺伝子型尤度(PL)フィールド、並びに参照対立遺伝子、1つ以上の代替対立遺伝子+遺伝子型(GT)フィールド、コンティグ名(CHROM)、レコードの開始及び終了位置(POS、END)、参照対立遺伝子配列(REF)、並びに/又は1つ以上の代替対立遺伝子の配列(ALT)を含むことができる。
【0033】
GTフィールドは、区切り文字(例えば、/又は|のいずれか)によって分離された対立遺伝子値として符号化され得る。対立遺伝子値は、参照対立遺伝子(例えば、REFフィールド内にあるもの)についてはゼロ、ALT内に列挙された第1の対立遺伝子については1、ALT内の第2の対立遺伝子リストについては2などであり得る。二倍体コールについては、対立遺伝子値の例は、0/1、1|0、又は1/2などを含むことができる。例えば、Y、雄性の非偽常染色体X、又はミトコンドリア上の一倍体コールについては、1(例えば、1つだけ)の対立遺伝子値が与えられ得、三倍体コールは、0/0/1であり得る。コール(例えば、対立遺伝子コール)を所与の遺伝子座におけるサンプルについて行うことができない場合、「.」は、GTフィールドにおける欠損対立遺伝子5ごとに指定され得る(例えば、二倍体遺伝子型及び一倍体遺伝子型については「./.」)。セパレータ°/:は、非位相性遺伝子型を表し得る。セパレータ°|:は、位相性遺伝子型を表し得る。REFフィールドは、1つ以上の参照塩基(例えば、A、C、G、T、N)を示し得る。ALTフィールドは、サンプルのうちの少なくとも1つでコールされた代替非参照対立遺伝子のコンマで分離されたリストであり得る。
【0034】
GQフィールドは、誤っている遺伝子型コールのフレッド品質-10log10確率(例えば、遺伝子型決定のエラー率)として符号化された条件付き遺伝子型品質を示し得、サイトがバリアントであることを条件とする(整数)。示されるように、GQフィールドは、遺伝子型コールが正しいか又は正しくないかを示すエラーの対数変換された確率を記憶することができる。
【0035】
GQXフィールドは、バリアント位置を仮定するか、又は非バリアント位置を仮定する遺伝子型品質を示し得る。
【0036】
フィルタリングされた塩基コール深度は、サイト遺伝子型決定のために使用され得る。DPフィールドは、整数値であり得る。
【0037】
ADフィールドは、ref及びalt対立遺伝子についての対立遺伝子深度を、例えば、列挙された順序で示し得る。インデルについては、この値には、各対立遺伝子を確実に支持するリード、例えば、リードが指定された対立遺伝子と他の(例えば、他の全ての)交差インデル対立遺伝子を含むという事後確率が0.999以上であるリードが含まれ得る。
【0038】
DPIフィールドは、インデルに先行するサイトから取得され得る。
【0039】
MQフィールドは、RMSマッピング品質を示し得る。MQフィールドは、整数値であり得る。システムは、ゲノム座標における核酸塩基コールについてのマッピング品質スコアを識別又は生成することができ、ここで、MAPQスコアは、誤っているリードマッピング位置の-10log10確率(例えば、リードマッピング位置のエラー率)を表し、最も近い整数で概数にされる。示されるように、MAPQスコアは、リードマッピング位置が正しいか又は正しくないかを示すエラーの対数変換された確率を含むことができる。追加的に又は代替的に、システムは、例えば、ゲノム座標に及ぶソフトクリップされた核酸塩基の総数を決定することによって、サンプル核酸配列についてのソフトクリッピングメトリックを決定してもよい。フィールドのうちのいずれかが欠損している場合、それは欠損値で置き換えられる。例えば、FORMATがGT:GQ:DP:HQ、次いで0|0:.:23:23である場合、34は、GQが欠損していることを示す。トレーリングフィールドはドロップすることができる(FORMATフィールドで指定された場合、常に存在するべきGTフィールドを除く)。構造バリアントを符号化するために使用される追加の遺伝子型フィールドについては、以下を参照のこと。追加の遺伝子型フィールドは、メタ情報において定義することができる。しかしながら、そのようなフィールドのためのソフトウェアサポートは保証されない。
【0040】
FTフィールドは、この遺伝子型が「コールされた」かどうかを示すサンプル遺伝子型フィルタを含むことができる(例えば、FILTERフィールドと概念が類似している)。FTフィールド内でPASSを使用して、全てのフィルタがパスされたことを示すことができる。FTフィールド内でセミコロンで分離されたコードのリストを使用して、フェイルした1つ以上のフィルタを示すことができる。FTフィールド内でピリオド「.」を使用して、フィルタが適用されていないことを示すことができる。これらのFTフィールド値は、FILTERSと同じようにメタ情報に記載され得る。FTフィールドは、空白又はセミコロンが許可されない文字列であり得る。
【0041】
QLフィールドは、フレッドスケールされた品質スコア(例えば、ALTフィールド内で行われたアサーションの場合、誤っているALT内のコールの-10log10確率(例えば、ALTのエラー率)を示し得る。フレッドスケールされた品質スコアは、塩基呼び出し精度の尺度であり得る。フレッド-スケールされた品質スコアを使用して、配列決定プラットフォームの精度を評価することができる。フレッド-スケールされた品質スコアは、所与の塩基がシーケンサによって誤って呼び出される確率を示し得る。ALTフィールドが(バリアントなし)を示す場合、フレッドスケールされた品質スコアは-10log10確立(バリアント)として計算されてもよく、ALTが「.」ではない場合、フレッドスケールされた品質スコアは-10log10確立(バリアントなし)として計算されてもよい。未知である場合、MISSING値を特定しなければならない。
【0042】
PLフィールドは、最も近い整数の概数にされたフレッドスケールされた遺伝子型尤度を示し得る(例えば、及び別様にGLフィールドとして正確に定義される)。PLフィールドは、整数値であり得る。
【0043】
RAGT(参照代替遺伝子型)フィールドは、1つのゲノム領域又は1つのゲノム位置における1つのサンプルからの「参照対立遺伝子+代替対立遺伝子+遺伝子型」の組み合わせであり得る。RAGTフィールドは、対立遺伝子頻度、対立遺伝子カウント、及び/又は数多くのサンプルにわたる異なるバリアント対立遺伝子の正規化において重要であり得る。RAGT統計量(例えば、RAGTフィールド内の)は、どの種類の対立遺伝子を有するいくつのサンプルが各ゲノム位置にあるかを示し得る。RAGT統計量(例えば、RAGTフィールド内の)は、ゲノム内の特定の領域が配列決定及び/又は遺伝子型決定することが困難であるかどうかを示し得る。RAGT値は、対立遺伝子頻度及びバリアントに関する主要な情報を含むことができる。RAGTは、1つのゲノム位置又は登録における1つのサンプルの参照対立遺伝子、代替対立遺伝子、及び遺伝子型を1つのキーにハッシュすることができる。キーは、集団-遺伝子型特異的であり得る。
【0044】
複数個の(例えば、数十万個以上の)サンプルにわたってバリアントデータを反復的に集約するために、1つ以上のコンピューティングデバイス(例えば、
図1に示される1つ以上のサーバデバイス102及び/又はクライアントデバイス108)上で実装され得る反復gVCFジェノタイパが本明細書に記載される。
図3は、本明細書に記載されるように、反復gVCF遺伝子型決定を実施するために、1つ以上のコンピューティングデバイス(例えば、
図1に示されるサーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114などの)上の反復gVCFジェノタイパによって実装することができる例示的なプロセス300を示す。反復gVCFジェノタイパは、メモリに記憶され、メモリからアクセスされるコンピュータ可読命令又は機械可読命令を介してプロセッサによって実装され得る。例えば、プロセス300又はその一部分は、メモリに記憶され、1つ以上のコンピューティングデバイスにあるプロセッサによって実行されるコンピュータで実行可能な命令において実装され得る。プロセス300又はその一部分は、バリアントデータを効率的に集約及び/又は記憶するために実施され得る。プロセス300又はその一部分は、単一のコンピューティングデバイスで実施されてもよく、又は複数のコンピューティングデバイス(例えば、複数のサーバ、配列決定デバイス、及び/又はクライアントコンピューティングデバイス)にわたって分散されてもよい。プロセス300又はその一部分は、バリアント解析中にコンピューティングデバイスによって使用される処理リソース及び/又はストレージ空間(例えば、メモリ)の量を低減し得る。プロセス300は、gVCFファイルの配列決定解析のための高スループットを可能にすることができる。
【0045】
反復gVCFジェノタイパは、サンプル当たりのgVCFデータを入力として受信することができる。例えば、反復gVCFジェノタイパは、サンプルごとにgVCFファイルを受信することができる。
図3に記載されるように、305において、サンプルデータの1つ以上のバッチは、バッチ1内のgVCFファイル302A、302B、302C、302D、及び/又はバッチ2内のgVCFファイル304A、304B、304C、304DなどのgVCFファイルのバッチに受信され得る。1つ以上のバッチの各々は、約1000の個体(又はサンプル)のバッチサイズを有し得る。バッチ内のサンプルサイズは、1~数千又は他の数であり得る。バッチ1内の各gVCFファイル302A、302B、302C、302Dは、単一のサンプルに関連するゲノムバリアントデータの要約を含むことができる。gVCFファイル302A、302B、302C、302Dは、第1のサイトにある第1の配列決定デバイスから受信され得る。バッチ2内の各gVCFファイル304A、304B、304C、304Dは、単一のサンプルに関連するゲノムバリアントデータの要約を含むことができる。gVCFファイル304A、304B、304C、304Dは、第2のサイトにある第2の配列決定デバイスから受信され得る。ゲノムバリアントデータは、遺伝子型バリアントデータと互換的に使用され得る。
【0046】
ゲノムバリアントデータは、それぞれの位置に任意の可能な代替対立遺伝子があるかどうかを示すNON REFフィールドを含むことができる。ゲノムバリアントデータは、レコードが低品質であるかどうかを示すLowQualフィールドを含むことができる。ゲノムバリアントデータは、列挙された順序でref対立遺伝子及びalt対立遺伝子についての対立遺伝子深度を示す対立遺伝子深度(AD)フィールドを含むことができる。ゲノムバリアントデータは、おおよそのリード深度を示すDPフィールドを含むことができる(例えば、MQ=255又は悪いメイトを有するリードがフィルタリングされ得る)。ゲノムバリアントデータは、レコードに関連付けられた遺伝子型品質を示すGQフィールドを含むことができる。ゲノムバリアントデータは、レコードに関連付けられた遺伝子型を示すGTフィールドを含むことができる。ゲノムバリアントデータは、GVCFブロック内で観察される最小DPを示すMIN DP値を含むことができる。ゲノムバリアントデータは、代替対立遺伝子が互いに関してどのように位相化されるかを記載する物理的位相化ハプロタイプ情報を示すPGT値を含むことができる。ゲノムバリアントデータは、物理的位相化ID情報を示すPID値を含むことができ、所与のサンプル内の各一意のIDは、位相化群内のレコードを接続する(例えば、サンプルにわたってではない)。ゲノムバリアントデータは、VCF規格に定義されるような遺伝子型についての正規化されてフレッドスケールされた尤度を示すPL値を含むことができる。ゲノムバリアントデータは、鎖バイアスを検出するためのフィッシャーの正確確率検定を含むサンプル当たりの成分統計量を示すSB値を含むことができる。
【0047】
ゲノムバリアントデータは、レコードのブロック内の任意の1つのサイトで観察されるカバレッジの最小量を含むことができる。ゲノムバリアントデータは、Alt対Ref塩基品質のウィルコクソン順位和検定からのZスコアを示すBaseQRankSum値を含むことができる。ゲノムバリアントデータは、ハードクリップされた塩基のAlt数対Ref数のウィルコクソン順位和検定からのZスコアを示すClippingRankSum値を含むことができる。ゲノムバリアントデータは、おおよそのリード深度を示すDP値を含み得る(例えば、いくつかのリードがフィルタリングされていてもよい)。ゲノムバリアントデータは、どのサンプルがダウンサンプリングされたかを示すDS値を含むことができる。ゲノムバリアントデータは、区間の停止位置を示すEND値を含むことができる。ゲノムバリアントデータは、過剰なヘテロ接合性の正確検定のためのフレッドスケールされたp値を示すExcessHet値を含むことができる。ゲノムバリアントデータは、Hardy-Weinberg期待値に対して比較されたときにサンプル当たりの遺伝子型尤度から推定されるような近交係数を示すInbreedingCoeff値を含むことができる。ゲノムバリアントデータは、ALT対立遺伝子ごとに、対立遺伝子カウント(例えば、必ずしもACと同じである必要はない)についての最大尤度期待値(maximum likelihood expectation、MLE)を、列挙したものと同じ順序で示す最大尤度期待値対立遺伝子カウント(maximum likelihood expectation allele count、MLEAC)値を含むことができる。ゲノムバリアントデータは、ALT対立遺伝子ごとに、対立遺伝子頻度(例えば、必ずしもAFと同じである必要はない)についての最大尤度期待値(MLE)を、列挙したものと同じ順序で示す最大尤度期待値対立遺伝子頻度(maximum likelihood expectation allele frequency、MLEAF)を含むことができる。ゲノムバリアントデータは、RMSマッピング品質を示すMQ値を含むことができる。ゲノムバリアントデータは、Alt対Refリードマッピング品質のウィルコクソン順位和検定からのZスコアを示すMQRankSum値を含むことができる。ゲノムバリアントデータは、RMSマッピング品質のための生データを示すRAW値を含むことができる。ゲノムバリアントデータは、Alt対Refリード位置バイアスのウィルコクソン順位和検定からのZスコアを示すReadPosRankSum値を含むことができる。
【0048】
反復gVCFジェノタイパは、例えば、サンプルの単一バッチ(例えば、単一バッチのみ)が利用可能であるとき、「エンドツーエンドモード」で集約を実施することができる。エンドツーエンドモードは、1つのバッチサンプル(例えば、第1のバッチ)があるときに実装され得る。「ステップバイステップ」モードでは、gVCFファイルは、コホート及びセンサスファイルに集約され、続いて、同じバッチのコホート及びセンサスファイルからmsVCFファイルが生成され得る。集約は、gVCFジェノタイパがコホートファイル及びセンサスファイルを書き込まずにマルチサンプルVCFファイルを書き込むことができる「エンドツーエンド」モードで実施されない場合がある。「エンドツーエンド」プロセスは、コホートファイル及びセンサスファイルが反復的に生成されない場合があるため、反復的でない場合がある。
【0049】
反復gVCFジェノタイパは、例えば、サンプルの複数のバッチが利用可能であるとき、ファイルが生成され、情報がバッチごとに集約されるように、「ステップバイステップモード」で集約を実施することができる。ステップバイステップモードでは、サンプルの複数のバッチが利用可能であるとき、反復gVCFジェノタイパは、gVCFsをバッチごとにコホートファイル及びセンサスファイルに集約するためのステップを実行することができる。集約がバッチごとに実施されると、バッチからのセンサスファイルは、次のステップでグローバルセンサスファイルに集約され得る。msVCFは、本明細書に記載されるように、バッチごとにグローバルセンサスファイル、コホートファイル、及びセンサスファイルを使用して生成され得る。
【0050】
図3に示されるように、反復gVCFジェノタイパは、プロセス300を使用して、gVCFファイルのバッチを、生成されたコホートファイル及び生成されたセンサスファイルに集約することができる。310において、gVCFファイル302A、302B、302C、302Dのバッチは、コホートファイル312及びセンサスファイル314に変換され得る。315において、gVCFファイル304A、304B、304C、304Dのバッチは、コホートファイル311及びセンサスファイル313に変換され得る。コホートファイル311、312及びセンサスファイル313、314のフォーマットは、一緒に、ユーザが、公的に利用可能な標準gVCFファイルフォーマットからバリアントデータを抽出し、大規模集約のためにデータを取り込んで圧縮することを可能にし得る。
【0051】
コホートファイル311、312及びセンサスファイル313、314は、各々、それらが生成されるgVCFファイルよりも小さいサイズのファイルであり得る。コホートファイル311及びセンサスファイル313は、各々、それらが生成されるgVCFファイル304A、304B、304C、304Dのそれぞれのバッチからのデータのサブセットを含むことができる。コホートファイル312及びセンサスファイル314は、各々、それらが生成されるgVCFファイル302A、302B、302C、302Dのそれぞれのバッチからのデータのサブセットを含むことができる。例えば、コホートファイル311、312は、各々、それらが生成されるgVCFファイルのバッチからの少なくともADフィールド、GQフィールド、FTフィールド、QLフィールド、PLフィールド、及びRAGTフィールドを含むことができる。反復gVCFジェノタイパは、単一サンプル又はマルチサンプルレベルバリアントデータをコホートファイル311、312に記憶するように構成され得る。例えば、反復gVCFジェノタイパは、コホートファイル311、312内のフィールドのサブセットについてのそれぞれのバッチ内のサンプルの各々に関連付けられたgVCFファイルからのデータを集約することによって、サンプルのバッチ(例えば、バッチ1、バッチ2など)ごとにコホートファイル311、312を生成することができる。
【0052】
コホートファイル311、312は、複数のサンプルにgVCFデータを記憶するために使用される圧縮データフォーマットで生成され得る。12個のサンプルを有するバッチの例示的なコホートファイルは、以下によって表され得る。
【0053】
【0054】
上記の例に示されるように、コホートファイル内の各フィールドは、集約されたgVCFファイル(例えば、コホート312についてはgVCFファイル302A、302B、302C、302D、及びコホート311についてはgVCFファイル304A、304B、304C、304Dなどの)の各々にある同様のフィールドに対応するメトリック又は値の要約を含むことができる。例えば、「DP」フィールドに示されるように、反復gVCFジェノタイパは、バッチ内のgVCFファイルごとに「DP」フィールド内の一意のメトリックの各々を識別することができる。上記の例における「DP」フィールド内の一意のメトリック又は値の各々は、メトリック「32」、メトリック「30」、メトリック「42」、メトリック「38」、メトリック「41」、メトリック「35」、メトリック「37」、及びメトリック「21」を含むことができる。各メトリックの後には、gVCFファイルの整数識別子を含む整数のアレイ、又はgVCFファイル内の対応するフィールド内にメトリックを含むサンプルが続き得る。例えば、識別子「1」及び「7」を有するgVCFファイルは、「DP」フィールド内に「30」のメトリックを含み、識別子「2」を有するgVCFファイルは、「DP」フィールド内に「42」のメトリックを含むなどである。メトリック又は値は、コホートファイルにテキストフォーマットで記憶され得る。各メトリックに対応するgVCFファイル又はサンプルの整数識別子は、本明細書に記載されるように、コホートファイルのサイズを節約し、ファイルの追加の圧縮を可能にするために、コホートファイル内に整数アレイとして記憶され得る。コホートファイル311、312は、バリアントの数及び/又はゲノム内のどの位置がhom-refであるか若しくはデータなしであるかについてのメトリックのカウントを計算及び記憶するために使用され得る。
【0055】
gVCFファイルフォーマットは、冗長性情報を含む。1つのサンプルの各gVCFファイルでは、各フィールド(例えば、FILTER、GT又はALT、NON REF)内のメトリックの同じ値が、異なるレコードにおいて文字列フォーマットで繰り返されてもよい。全体として集約されたとき、gVCFファイル(例えば、gVCFファイル302A、302B、302C、302D、304A、304B、304C、304Dなどの)は、様々なメトリックについての複数の反復値を含むことができる。例えば、上記で提供された例では、識別子「1」を有するgVCFファイル及び識別子「7」を有するgVCFファイルは、各々、フィールド値「DP」及び「30」のメトリックを含むテキストフィールドとともに記憶されなければならない。コホートファイルをフォーマット化するための上記の例は、冗長性を回避することを可能にし得る。例えば、コホートファイルのフォーマット化は、gVCFファイル効率的な方法でフィールドの所定のサブセットについてのgVCFファイルのバッチからの要約情報のストレージを可能にすることができる。配列決定されるサンプルの数が増え続けるにつれて、本明細書に記載されるコホートファイルのフォーマット化は、ゲノムバリアントデータ及び他の遺伝子型データについての配列決定データを解析するときに、ストレージ及び処理リソースにおける節約を提供し続けることができる。また、コホートファイル311、312は、フィールドが固定されているため、gVCFファイルよりも安定している。gVCFファイル内の固定フィールドは、ユーザによってめったに変更されない場合があるgVCFファイル内のデータを含むフィールドのサブセットであり得る。コホートファイル311、312は、サンプルにわたるフィールド識別子及び値のより少ない繰り返しを含むため、バッチ内のgVCFファイルの各々のストレージよりも冗長性が低い。代わりに、コホートファイル311、312の各々の1つの特定の領域は、効率的なストレージのためにgVCFファイルのバッチ内のサンプルの各々にわたるデータを表すことができる。コホートファイル311、312では、データは、一意のメトリック値によって順序付けられてもよく、各一意の値については、サンプル識別子値は、複数のサンプル内の複数のレコードにわたって同じ値を繰り返すことを回避するように記憶されてもよい。
【0056】
反復gVCFジェノタイパは、コホートファイル311、312の各々におけるデータを更に解析して、対応するセンサスファイル313、314を生成することができる。センサスファイルは、センサスファイル313、314が生成されるコホートファイル311、312よりも小さいファイルサイズを有し得る。センサスファイル313、314は、バリアント(例えば、バリアントの各々)の要約統計量、及び/又は対応するコホートファイル311、312に表されるコホート(例えば、バッチ)データ内のサンプル間の参照ブロックを記憶するために使用され得る。12個のサンプルを有するバッチの例示的なセンサスファイルは、以下によって表され得る。
【0057】
【0058】
数多くのサンプルが利用可能であるとき、ユーザは、サンプルを、各々が同様のサンプルサイズ(例えば、1000個のサンプル)を有する複数のバッチに分割することができる。上記の例に示されるように、センサスファイル313、314は、センサスファイル内の各フィールド内の一意のメトリック又は値ごとにサンプルカウントを含むことができる。サンプルカウントは、例示的なコホートファイルに示されるように、メトリックごとに、サンプル識別子の代わりにセンサスファイル内で計算され、それに記憶され得る。上記の例に示されるように、センサスファイル内の各フィールドは、対応するコホートファイル内にある類似のフィールドに対応するメトリックの要約を含むことができる。例えば、「DP」フィールドに示されるように、反復gVCFジェノタイパは、コホートファイルの「DP」フィールド内でメトリックごとに一意のgVCF識別子の総数を計算することができる。上記の例示的なセンサスファイルにおける「DP」フィールド内の一意のメトリックの各々は、メトリック「32」、メトリック「30」、メトリック「42」、メトリック「38」、メトリック「41」、メトリック「35」、メトリック「37」、及びメトリック「21」を含むことができる。各メトリックの後には、対応するフィールド内にメトリックを有する一意のgVCF識別子の総数の整数値が続き得る。例えば、「32」のメトリックを有するバッチ内のgVCFファイルの総数は「1」であり、「30」のメトリックを有するバッチ内のgVCFファイルの総数は「2」であるなどである。メトリックは、テキストフォーマットで記憶され得る。各メトリックに対応するgVCFファイルの識別子の要約は、本明細書に記載されるように、センサスファイルのサイズを節約し、ファイルの追加の圧縮を可能にするために、整数値として記憶され得る。センサスファイル313、314内のサンプルカウントのストレージ及び処理は、コホートファイル311、312内のメトリックに列挙されたサンプル識別子のリストよりも小さくてもよく、これにより、より高いレベルでゲノムバリアントデータ及び他の遺伝子型決定データを集約するために使用され得るセンサスファイル内のセンサスデータからサンプルレベル情報(又は識別子)が除去され得る。したがって、センサスファイル313、314は、解析するために、コホートファイル311、312よりも少ないメモリストレージ及び処理リソースを必要とし得る。
【0059】
コホートファイル及びセンサスファイルは、効率的に記憶、解析、及び/又は通信することができるファイルフォーマットであり得る。ある例では、コホートファイル及びセンサスファイルは、ゲノムアルゴリズム及び/又は圧縮アルゴリズムを使用してゲノム領域によって効率的に圧縮し、インデックス付けし、かつ/又は照会することができるファイルフォーマットであってもよい。コホートファイルは、各ゲノム領域(バリアントを有する位置又はバリアントを有しないブロック)当たりで、gVCFファイルから抽出された複数のフィールドを記憶することができる。本明細書に更に記載されるように、各フィールドについては、コホートファイルは、複数の値(例えば、メトリック)を記憶し得、各値(例えば、メトリック)については、そのフィールドの特定の値を有する各サンプルの識別子を記憶することができる。コホートファイルは、複数のフィールドを有するサンプル当たりではなく、複数のサンプルにわたるフィールド当たりでデータを記憶し、したがって、数多くのサンプルにわたる1つのフィールドの照会がより効率的である。センサスファイルは、同様の構造でフィールドを記憶することができるが、1つのフィールドの特定の値についてのサンプルの識別子を記憶する代わりに、センサスファイルは、サンプルの数を記憶することができ、これは、サンプルのバッチが集約されるときに、異なるフィールドについてのサンプルカウントの連続的な累積を可能にする。サンプル識別子の代わりにサンプルカウントを記憶することはまた、センサスファイルサイズを低減し、サンプルの複数個の(例えば、数千個の)バッチの集約を可能にする。コホートファイル及びセンサスファイルの両方では、データは、データフットプリントを低減するために、ビット符号化又はハッシュ符号化を使用して更に符号化されてもよく、符号化されたバイナリデータは、ディスクに記憶される前に、gzip又は他の公開圧縮アルゴリズムを使用して、圧縮バイナリブロックに更に圧縮されてもよい。圧縮ブロックは、ゲノム領域のランダムアクセスを可能にするためにインデックス付けされ得る。ゲノム領域によってファイルを効率的に圧縮し、インデックス付けし、照会することができることは、バリアントデータを大規模に集約するときにアクセス可能にすることができる特徴であり得る。これらの圧縮ファイルを使用すると、ハードウェアのディスクフットプリントを低減することができ、データ転送には受信及び送信コスト、並びにストレージコストが大幅に発生する場合があるため、ローカルワークフロー及び/又はクラウドにおけるワークフローを低減することができる。ファイルのデータ構造及び本明細書に記載されるデータ構造を考慮すると、これらの圧縮ファイルを使用することにより、データのより効率的な転送及びリモートストレージのためのより低いコストを可能にすることができる。
【0060】
センサスファイル313、314が複数個のバッチについて生成されるとき、反復gVCFジェノタイパは、320において、センサスファイル313、314をグローバルセンサスファイル322に集約することができる。センサスファイル313、314は、グローバルセンサスファイル322を生成するために、異なるサイトにある配列決定デバイスからの複数のバッチ(例えば、バッチ1及びバッチ2)から集約され得る。
図3に示される例は2つのバッチを有するが、プロセス300は2つのバッチに限定されないことが理解されよう。代わりに、プロセス300は、任意の数のサイトにある配列決定デバイスからgVCFファイルの任意の数のバッチを受信してもよい。グローバルセンサスファイル322は、単一のサンプル及び/又は複数のサンプル(例えば、単一のシーケンサ上の複数のサンプル)にわたるバリアントサイト並びに非バリアントゲノムブロックについての要約の統計量を含むことができる。グローバルセンサスファイル322内の各バリアントレコードは、グローバルセンサスファイルからのRAGT統計量及びバリアント統計量、バッチセンサスファイル313、314(例えば、バッチごとのmsVCFファイルに含まれるサンプルについての)からのRAGT統計量及びバリアント統計量、並びにバッチコホートファイル311、312からのFT、GQ、AD、PL(サンプル識別子を有する)などの、他のフィールドからの他のメトリック(例えば、非RAGTメトリック)を含むことができる。一例では、グローバルセンサスファイル322は、異なるサイトにあるサンプルのバッチから受信された異なるサンプルデータから識別された異なる対立遺伝子についてのRAGT統計量を含むRAGTフィールドを含むことができる。RAGTフィールドは、他のファイルド(filed)内の(例えば、本明細書に記載されるmsVCFファイル内の)要約フィールド内のバリアント統計量(例えば、POS、REF、ALT、INFOフィールド)の各々を決定するために使用される要約フィールドであり得る。RAGT統計量から、センサスファイル(例えば、バッチ当たりのセンサスファイル313、314及びグローバルセンサスファイル322)に記憶されるサイト統計量が生成され得る。サイト統計量は、遺伝子型を有する、遺伝子型を有しない(しかし、カバレッジを有する)、及びカバレッジを有しないサンプルの数、サンプルの総数、代替対立遺伝子カウント、及び対立遺伝子順序、並びに/又はグローバル代替対立遺伝子と、RAGTに記憶されるようなサンプル当たりのALT対立遺伝子との間のマッピングを含むことができる。
【0061】
gVCFファイル(例えば、gVCFファイル302A、302B、302C、302D、304A、304B、304C、304D)に受信されたデータの処理は、複数のサンプルにわたってグローバルセンサスファイル322を生成するために、複数のサンプルにわたって並列に実行され得る。例えば、本明細書に記載されるような並列処理を使用して、コホートファイル312及びセンサスファイル314は、gVCFファイル302A、302B、302C、302Dのバッチ1から生成されてもよく、コホートファイル311及びセンサスファイル313は、gVCFファイル304A、304B、304C、304Dのバッチ2から生成されてもよい。グローバルセンサスファイル322は、例えば、対立遺伝子カウント、配列決定カバレッジを有しないサンプルの百分率、信頼性が高い遺伝子型を有しないサンプルの百分率などの1つ以上の二次メトリックを含むことができる。グローバルセンサスファイル322を生成すると、バッチ(例えば、それらの全て)からgVCFファイルを集約するよりも効率的に、数多く(例えば、数千個)のバッチを集約するようにスケーリングすることができる。例えば、各gVCFファイルを開き、ファイルを検索して、一片の情報(例えば、要約統計量又は二次メトリック)を見つけなければならない代わりに、グローバルセンサスファイル322は、要約統計量及び二次メトリックを1つの場所に集約することができる。
【0062】
グローバルセンサスファイル322が生成されるとき、反復gVCFジェノタイパは、330、335において、バッチごとにそれぞれのマルチサンプルVCF(msVCF)ファイル331、332を生成することができる。msVCFファイル331、332は、グローバルセンサスファイル、コホートファイル311、312のそれぞれ1つ、及び/又はセンサスファイル313、314のそれぞれ1つを使用して生成することができる。例えば、msVCFファイル332は、コホートファイル312、センサスファイル314、及びグローバルセンサスファイル322を使用して生成することができる(例えば、バッチ1についての)。msVCFファイル332は、コホートファイル311、センサスファイル313、及びグローバルセンサスファイル322を使用して生成することができる(例えば、バッチ2についての)。プロセス300は、msVCFファイル331、332の生成後に終了し得る。msVCFファイル331、332は、バッチ特異的ゲノムバリアントデータ及び/又は他の遺伝子型データ、並びに他のサイトで取得されたサンプルから識別されたゲノムバリアントデータ及び/又は他の遺伝子型データを含むグローバルセンサスデータを含むことができる。例は、バリアントサイト及びバリアント対立遺伝子のグローバルセット、サンプルごとに呼び出された遺伝子型、バリアント対立遺伝子についてのリード深度、及びhom-ref位置である。対立遺伝子についての尤度及び品質スコア
【0063】
ある例では、msVCFファイルは、1つ以上のグローバル統計量、例えば、対立遺伝子頻度、バリアント対立遺伝子についてのリード深度及び/又はhome-ref位置、遺伝子型を有する又は有しないサンプルの数、並びにカバレッジを有しないサンプルの数を含むことができる。msVCFファイルは、対立遺伝子についての尤度及び/又は品質スコアを含むことができる。バッチ内のサンプル間の同様の統計量も含まれる。msVCFファイルは、データの読み取り/書き込み効率性、データ転送、ストレージ、及び/又は照会を容易にするために、サンプルのバッチごとに生成され得る。各msVCFファイル内のレコードの数は、全てのバッチにわたって同じであってもよく、これにより、複数のバッチにわたる同じバリアントの迅速な検索が可能になる。
【0064】
msVCFファイル331、332の各々におけるフィールドは、遺伝子型及び/又はサンプルの要約を含むことができる。例えば、msVCFファイル331、332内のフィールドは、遺伝子型における対立遺伝子カウント、呼び出された遺伝子型における対立遺伝子の総数、サンプルの総数、呼び出された遺伝子型を有するサンプルの総数、未知の遺伝子型を有するサンプルの総数、及び/又はカバレッジを有しないサンプルの総数を含むことができる。これらのフィールドの各々について計算されるメトリックは、複数のバージョンで生成され得る。例えば、これらのフィールドの各々についてのメトリックは、バッチ当たりで1回計算されて、メトリックのローカルバージョンを提供してもよく、コホートファイル内のサンプルの各々について1回計算されて、メトリックのグローバルバージョンを提供してもよい。
【0065】
理解されるように、DNA配列決定プロセスは、ランダム成分を有し得る。配列決定ランは、ゲノムの位置の小さなセットについてのいかなる情報(=配列決定リードからのカバレッジ)ももたらさない場合がある。これは、「カバレッジなしの」メトリックによって捕捉され得る。これらの位置の数は、他の位置と区別するために使用され得る。例えば、バリアント情報又は統計量は、位置がDNA変異を有することを示すバリアントデータ、位置がDNA変異を有しないことを示すhome-refデータ、又は位置のバリアント情報が未知であることを示すカバレッジなしのデータを含むことができる。gVCFバリアントファイルは、特定のサンプルについてのこの情報を含むことができる。gVCFファイルは、ゲノム内の位置ごとに、位置がDNA変異を有することを示すバリアントデータ、位置がDNA変異を有しないことを示すhome-refデータ、又は位置のバリアント情報が未知であることを示すカバレッジなしのデータを含むことができる。センサスファイル313、314は、サンプルのバッチについてのこの情報を記憶し、バッチごとのセンサスファイルをグローバルセンサスファイル322にマージし、次いで、msVCF書き込み中にグローバルセンサスを各バッチに送り返して、これらのメトリックを各バッチ当たりのmsVCFファイルに含めることによって記憶することができる。
【0066】
msVCFファイルは、標準化された公開データフォーマットであり得、これにより、ユーザは、下流解析、例えば、ゲノムワイド関連研究(又はgenome-wide association studies、GWAS)、インピュテーション及び位相化、遺伝子負荷解析、希少バリアント発見、集団特異的対立遺伝子頻度、集団サブ構造解析、並びに臨床解析における変異の病原性の推定し、病的変異/良性バリアントを分類することを行うことが可能になる。msVCFファイルは、集約されたバリアントデータ(例えば、バッチ内の)へのアクセス及びこのデータの照会を可能にし得る。msVCFファイルは、現在のバッチ内、及び各サイトにある配列決定デバイスからのサンプルの全バッチにわたるグローバル内の両方のバリアントサイトレベル情報を含むことができる。バリアントサイトレベル情報は、対立遺伝子カウント、対立遺伝子頻度、サンプルの総数、カバレッジなしのサンプルの数、カバレッジを有するが信頼性が高い遺伝子型ではないサンプルの数、及び遺伝子型を有するサンプルの数を含むことができる。ユーザは、例えば、他のファイルフォーマットの代わりに、集約されたバリアントデータにアクセスして照会するためにmsVCFファイルを使用することを好む場合がある。バッチの例示的なmsVCFファイルは、以下によって表され得る。
【0067】
【0068】
グローバルセンサスファイル(例えば、グローバルセンサスファイル322などの)が既に生成されており、サンプルのバッチがシーケンサから利用可能になるとき、反復gVCFジェノタイパは、バッチ内のサンプルデータをバッチのためのコホートファイル(例えば、コホートファイル311、312などの)及びセンサスファイル(例えば、センサスファイル313、314などの)に集約することができる。次いで、反復gVCFジェノタイパは、例えば、更新されたグローバルセンサスファイルを生成するために、バッチからのセンサスファイルを(例えば、全ての)以前のバッチからのグローバルセンサスファイルと集約することができる。
【0069】
グローバルセンサスファイルが更新された(例えば、新たなバリアントサイトが発見された、及び/又はバリアント統計量が既存のバリアントサイトで更新された)後、反復gVCFジェノタイパは、バッチについてのコホートファイル、バッチについてのセンサスファイル、及び更新されたグローバルセンサスファイルを使用して、サンプルのバッチごとにmsVCFファイルを再び生成することができる。msVCFファイルは、サイトにわたって遺伝子型決定デバイスから受信されたバッチの各々からのサンプルの各々で発見されたバリアント及び対立遺伝子を含むことができる。次いで、msVCFファイル331、332は、バッチ特異的ゲノムバリアントデータ及び/又は他の遺伝子型データ、並びに他のサイトで取得されたサンプルから識別されたゲノムバリアントデータ及び/又は他の遺伝子型データを含む更新されたグローバルセンサスデータを含むことができる。反復gVCFジェノタイパは、非血縁個体からのサンプルを、合わせて解析するための反復集団ベースの解析オプションを提供することができ、例えば、サンプルが解析に利用可能になる。
【0070】
gVCFファイルは、ブロック圧縮に従うことができ、データがどの染色体に属するかを示すために使用されるある特定の列、及び開始点/終了点を示す1つ以上の列を有し得る。プロセス300は、バイナリ及びASCI若しくは文字列の圧縮並びに/又はシリアル化のハイブリッドを組み込んで、バリアントデータを記憶し、msVCFファイルを生成するのに必要なストレージ空間及び/又は処理リソースの量を最小限に抑えることができる。
【0071】
反復gVCFジェノタイパは、例示的なプロセス300を使用して、複数のサイトにある複数の配列決定デバイスからのサンプルデータを、msVCFファイルなどの既存のデータファイルに集約することができる。反復gVCFジェノタイパは、例示的なプロセス300を使用して、例えば、以前に利用可能な(例えば、及び集約された)バッチについての解析をやり直す必要なく、先行するバッチ内で利用可能なゲノムバリアントデータ及び他の遺伝子型データを有するサンプルデータのバッチからの新たに利用可能なゲノムバリアントデータ及び他の遺伝子型データを漸増的に集約することができる。例えば、反復gVCFジェノタイパは、ゲノムバリアントデータ及び/又は他の遺伝子型データを、それが利用可能になったときに漸増的に集約することができる。反復gVCFジェノタイパはスケーラブルであり得、例えば、クラウドプラットフォーム、高性能クラスタ、及び/又は単一サーバなどの複数個のコンピューティングプラットフォーム上で実行されてもよい。
【0072】
図4は、1つ以上のmsVCFファイルを生成するために配列決定デバイスからのサンプルデータのバッチを処理するための例示的な方法400のフローチャートである。例示的な方法400は、1つ以上のコンピューティングデバイスによって実施され得る。例えば、例示的な方法400は、反復gVCFジェノタイパを動作させるために1つ以上のコンピューティングデバイスにあるメモリに記憶されたコンピュータ可読命令又は機械可読命令を実行する1つ以上のプロセッサによって実行されてもよい。例示的な方法400は、ユーザから、1つ以上のmsVCFファイルを構築するためのソフトウェアに受信された入力に応答して実行され得る。例示的な方法400の1つ以上の部分は、クライアントデバイス108上で実行する配列決定アプリケーション110によってローカルで、かつ/又は
図1に示されるもの上で実行する配列決定システム104によってリモートで実行され得る。例示的な方法400の1つ以上の部分は、
図1に示されるサーバデバイス102上の配列決定システム104などによって、クラウドベースの環境又は他のリモートコンピューティングデバイス上でリモートで実行され得る。例示的な方法400は、単一のデバイスによって実施されるものとして本明細書に記載され得るが、例示的な方法400は、複数のデバイスにわたって分散され得る。同様に、例示的な方法400は、単一の処理エンティティによって実施されるものとして本明細書に記載され得るが、例示的な方法400は、本明細書に記載されるように、サンプルデータのバッチの並列処理を使用して実施され得る。例えば、例示的な方法400の1つ以上の部分は、例示的な方法400の1つ以上の部分を実施するための別個のリソースを有する仮想マシン又は計算ノードによって実装され得る。
【0073】
図4に示されるように、方法400は、サンプルデータのバッチが1つ以上のgVCFファイルに受信されるときに402において開始してもよい。サンプルデータのバッチは、サンプルを処理してサンプルデータを生成することが可能な配列決定デバイス、又はgVCFファイルを生成及び/若しくは送信することが可能な別のデバイスから受信され得る。サンプルデータは、ゲノムバリアントデータ及び/又は他の遺伝子型データを含むことができる。例えば、サンプルデータは、本明細書に記載されるようなgVCFファイルの1つ以上のフィールド内のデータを含むことができる。404において、コンピューティングデバイスのプロセッサは、gVCFファイル内のサンプルデータからのサンプルのバッチについてのコホートデータを集約することができる。コホートデータは、gVCFファイル内のフィールドのサブセットにサンプルデータを含むことができる。コンピューティングデバイスのプロセッサは、406において、サンプルデータのバッチについてのセンサスデータを集約することができる。センサスデータは、バッチ内のサンプルデータのバリアント要約統計量及び参照ブロックを含むことができる。コホートデータ及びセンサスデータは、別個のファイルタイプ、データベース、又は他のデータ構造に記憶され得る。
【0074】
コンピューティングデバイスのプロセッサは、408において、複数のサイトにある配列決定デバイスから受信されているバッチの各々からのサンプルデータに対応するグローバルセンサスデータを集約するための既存のグローバルセンサスファイルがあるかどうかを決定することができる。グローバルセンサスファイルが存在しない場合、又は受信されたバッチ内のサンプルデータを集約するために存在しない場合、コンピューティングデバイスのプロセッサは、414において、サンプルのバッチについてのセンサスデータを含むグローバルセンサスファイルを生成することができる。グローバルセンサスファイルは、受信されるサンプルのバッチの各々からのサンプルデータについてのグローバルメトリック(例えば、対立遺伝子カウント、対立遺伝子頻度など)であるバリアント要約統計量を含むことができる。グローバルセンサスファイルが既に存在する場合、コンピューティングデバイスのプロセッサは、410において、バッチについてのセンサスデータをグローバルセンサスファイル内の既存のデータとともに集約することによって、グローバルセンサスファイルを更新することができる。これは、サンプルデータに受信されるバッチについてのセンサスデータを追加すること、及び/又はバッチ内のサンプルデータを使用してバリアント要約統計量を生成し、バリアント要約統計量をグローバルセンサスファイルに追加することを含むことができる。
【0075】
416において、コンピューティングデバイスのプロセッサは、処理されるバッチについてのmsVCFファイルを生成することができる。msVCFファイルは、コホートデータ、バッチについてのセンサスデータ、及び/又はグローバルセンサスファイルを使用して、バッチについて生成され得る。グローバルセンサスファイル内の各バリアントレコードは、グローバルセンサスファイルからのRAGT統計量及びバリアント統計量、バッチセンサスファイル(例えば、バッチごとのmsVCFファイルに含まれるサンプルについての)からのRAGT統計量及びバリアント統計量、並びにバッチコホートファイルからのFT、GQ、AD、PL(サンプル識別子を有する)などの、他のフィールドからの他のメトリック(例えば、非RAGTメトリック)を含むことができる。RAGT統計量及びバリアント統計量は、バリアント位置、バリアント対立遺伝子、サンプル遺伝子型及び/若しくはバリアントコールの品質、並びに/又は他のRAGT統計量及びバリアント統計量を含むことができる。コンピューティングデバイスは、msVCFファイルを(例えば、ローカルで、リモートで、及び/又はクラウドに)記憶することができる。416においてmsVCFファイルが生成された後、プロセス400は、418において、シーケンサ又は他のコンピューティングデバイスから利用可能なサンプルデータの追加のバッチがあるかどうかを決定し得る。処理されるべき追加のバッチがある場合、手順は、404に戻って、バッチについてのコホートデータ及びセンサスデータを集約し、本明細書に記載されるように進行させることができる。シーケンサから利用可能なサンプルデータの追加のバッチがない場合、方法400は終了し得る。コホートファイル、センサスファイル、グローバルセンサスファイル、gVCFファイル、及び/又はmsVCFファイルは、メモリ使用を改善又は最適化する様式でメモリに記憶され得る。例えば、データは、本明細書で更に記載されるように、ハッシュコード及び/又はハッシュマップを使用してメモリに記憶され得る。
【0076】
図4に示される方法400に示され、本明細書に別様に記載されるように、グローバルセンサスファイルは、異なるサイトにある配列決定デバイスから受信したサンプルデータの複数のバッチから生成されてもよく、サンプルデータの追加のバッチが追加のサイトにある配列決定デバイスから受信されるときに更新されてもよい。
図5A及び
図5Bは、グローバルセンサスファイルがどのように生成及び更新され得るか、並びに更新されたグローバルセンサスファイル内のサンプルデータに応答してmsVCFファイルがどのように生成及び/又は更新され得るかを示す例示的なプロセス500、550を示す。
図5Aは、処理のために同時に利用可能なgVCFファイルの2つのバッチがあるときの例示的なシナリオを示す。
図5Bは、gVCFファイルの追加のバッチが後で利用可能であるときの更なる例を示す。
図5Aに示される例示的なプロセス500は、グローバルセンサスファイルを最初に生成するために、反復gVCFジェノタイパによって実行され得る。
図5Bに示される例示的なプロセス550は、サンプルデータの追加のバッチが受信されるときにグローバルセンサスファイルを更新するために、反復gVCFジェノタイパによって実行され得る。プロセス500、550は、1つ以上のコンピューティングデバイスによって実行され得る。例えば、プロセス500、550は、コンピューティングデバイスの各々がゲノム内の1つの独立した領域又は染色体を実行する複数のコンピューティングデバイス上で実行されてもよい。プロセス500、550は、1つ以上のコンピューティングデバイスにあるメモリに記憶されたコンピュータ可読命令又は機械可読命令を実行する1つ以上のプロセッサによって実行され得る。プロセス500、550は、1つ以上のmsVCFファイルを構築するためのソフトウェアにおいてユーザから受信された入力に応答して実行され得る。プロセス500、550の1つ以上の部分は、
図1に示されるクライアントデバイス108上で実行する配列決定アプリケーション110によってローカルで実行され得る。プロセス500、550の1つ以上の部分は、
図1に示されるサーバデバイス102上の配列決定システム104などによって、クラウドベースの環境又は他のリモートコンピューティングデバイス上でリモートで実行され得る。プロセス500、550は、単一のデバイスによって実施されるものとして本明細書に記載され得るが、プロセス500、550は、複数のデバイスにわたって分散され得る。同様に、プロセス500、550は、単一の処理エンティティによって実施されるものとして本明細書に記載され得るが、プロセス500、550は、本明細書に記載されるように、サンプルデータのバッチの並列処理を使用して実施され得る。例えば、プロセス500、550の1つ以上の部分は、プロセス500、550の1つ以上の部分を実施するための別個のリソースを有する仮想マシン又は計算ノードによって実装され得る。
【0077】
図5Aに示されるように、反復gVCFジェノタイパを実行するコンピューティングデバイスのプロセッサは、510において、サンプルデータの2つ以上のバッチを受信することができる。例えば、サンプルデータの2つ以上のバッチは、サンプルを処理してサンプルデータを生成することが可能な配列決定デバイス、又はgVCFファイルを生成及び/又は送信することが可能な別のデバイスから利用可能であり得る。サンプルデータの各バッチは、複数個のサンプル(例えば、1000個以上のサンプル)からのデータを含むことができる。例えば、プロセッサは、510において、配列決定データの第1のバッチに関連付けられたgVCFファイル、及び配列決定データの第2のバッチに関連付けられたgVCFファイルを受信し得る。配列決定データの第1のバッチ及び/又は配列決定データの第2のバッチに関連付けられたgVCFファイルは、本明細書に記載されるように、等しいサイズのシャードに分割され得る。シャードの各々は、複数個のコンピューテーションノードのうちの1つを使用して処理され得る。
【0078】
反復gVCFジェノタイパを実行するプロセッサは、510において、各バッチ内のサンプルデータを集約して(例えば、並列に)、バッチの各々についてのコホートファイル及びセンサスファイルを生成することができる。例えば、第1のバッチ(例えば、バッチ1)についての第1のコホートファイルは、配列決定データの第1のバッチ(例えば、バッチ1)に関連付けられたgVCFファイルの各々におけるフィールドのサブセットを含むことができる。配列決定データの第1のバッチについてのセンサスファイルは、配列決定データの第1のバッチのバリアント要約統計量(例えば、RAGT統計量)及び/又はhom-refブロックを含むことができる。配列決定データの第2のバッチ(例えば、バッチ2)についての第2のコホートファイルは、配列決定データの第2のバッチに関連付けられたgVCFファイルの各々におけるフィールドのサブセットを含むことができる。配列決定データの第2のバッチについてのセンサスファイルは、配列決定データの第2のバッチのバリアント要約統計量(例えば、RAGT統計量)及び/又はhom-refブロックを含むことができる。それぞれのバッチごとに生成されたコホートファイルの各々は、フィールドの同じサブセットを含むことができることを理解されたい。
【0079】
反復gVCFジェノタイパを実行するプロセッサは、520において、バッチの各々からセンサスファイルを集約して、グローバルセンサスファイルを生成することができる。グローバルセンサスファイルは、異なるサイトにある配列決定デバイスから受信したサンプルのバッチからのセンサスデータを含むことができる。反復gVCFジェノタイパを実行するプロセッサは、530において、配列決定データの第1及び第2のバッチについてのmsVCFファイルを生成することができる。2つ以上のバッチの各々については、反復gVCFジェノタイパは、それぞれのバッチについてのコホートファイル、それぞれのバッチについてのセンサスファイル、及びグローバルセンサスファイルを使用して、それぞれのバッチについてのmsVCFファイルを生成することができる(例えば、並列で)。msVCFファイルのうちの1つ以上は、ゲノムワイド配列決定解析を実行するために使用され得る。プロセス500は、2つのバッチ(例えば、バッチ1及びバッチ2)からのバリアント要約統計量を使用して520において生成された初期グローバルセンサスファイルを示すが、プロセス500は、サンプルデータの2つのバッチを使用して初期グローバルセンサスファイルを生成することに限定されないことが理解されよう。代わりに、プロセス500は、利用可能であるサンプルデータの多くのバッチ(例えば、3つ以上のバッチ)を使用してもよい。サンプルデータのバッチの各々は、並列で処理され、及び/又は520において初期グローバルセンサスファイルを生成するために使用され得る。センサスファイルは、サンプルデータの後続のバッチのセンサスファイルを以前に生成されたグローバルセンサスファイルとともに集約することによって更新され得ることも理解されたい。
【0080】
ここで
図5Bに示されるプロセス550を参照すると、グローバルセンサスファイルは、サンプルデータの追加のバッチに受信された追加のサンプルデータに応答して更新され得る。例えば、プロセス550は、プロセス500が終了した後に開始することができる。プロセス550は、例えば、最初の2つのmsVCFファイルが生成された後に、サンプルデータの追加のバッチ(例えば、バッチ3)を受信してもよい。
【0081】
反復gVCFジェノタイパを実行するプロセッサは、560において、追加のバッチ(例えば、バッチ3)内のサンプルデータを集約して、追加のバッチについてのコホートファイル及びセンサスファイルを生成することができる。反復gVCFジェノタイパは、グローバルセンサスファイルがサンプルの追加のバッチ内のサンプルデータに基づいて更新されて、更新されたグローバルセンサスファイルを生成するように、570において、グローバルセンサスファイル内のサンプルのバッチにわたってデータを集約することができる。例えば、反復gVCFジェノタイパを実行するプロセッサは、追加のバッチからのセンサスファイル内のデータを、プロセス500で生成されたグローバルセンサスに組み込むことによって、更新されたグローバルセンサスファイルを生成することができる。グローバルセンサスファイルを更新することができ、以前のセンサスファイルからセンサスデータを再び集約する必要がないと、処理リソース(例えば、全ての受信されたバッチからのセンサスデータを有するグローバルセンサスファイルを生成し、かつ/又はバッチごとにmsVCFファイルを生成するための)を節約することができる。
【0082】
反復gVCFジェノタイパを実行するプロセッサは、追加のバッチのためのコホートファイル、追加のバッチのためのセンサスファイル、及び更新されたグローバルセンサスファイルを使用して、580において、追加のバッチについてのmsVCFファイルを生成することができる。反復gVCFジェノタイパはまた、既存のバッチについてのコホートファイル、既存のバッチについてのセンサスファイル、及び更新されたグローバルセンサスファイルを使用して、580において、以前に受信されたバッチの各々についての更新されたmsVCFファイルを生成することができる。例えば、反復gVCFジェノタイパを実行するプロセッサは、更新されたグローバルセンサスファイルの生成時に(例えば、及び配列決定データの追加のバッチの受信時に)、バッチごとに新たなmsVCFファイルを生成することができる。
【0083】
図5A及び
図5Bでは、gVCFファイルのバッチは、ゲノム領域及びサンプルバッチによる2つのレベルの並列化によって処理され得る。これら2つのレベルは、互いに独立していてもよい。例えば、各ゲノム領域の解析は、並列で行うことができる。各ゲノム領域については、異なるバッチを更に並列化して、コホートファイル及びセンサスファイルを生成することができる。コホートファイル及びセンサスファイルがバッチごとに生成されると、反復gVCFジェノタイパを実行するプロセッサは、バッチの各々からのセンサスファイルをグローバルセンサスファイルに集約することができる。グローバルセンサスファイルの生成は、領域によって並列化することができる。
図5A及び
図5Bは、各バッチが1000個のサンプルを含むことを示すが、各バッチが1000個より多い又は少ないサンプルを含んでもよいことが理解されよう。
図5Bは合計3つのバッチを示しているが、反復gVCFジェノタイパは任意の数のバッチについてのgVCFファイルを受信することができることが理解されよう。
【0084】
図6は、複数のgVCFファイル内の同様のタイプのデータがどのようにコホートファイルに集約され得るかを示すために、バッチについて生成されたコホートレコードのグラフ表現600を示す。同様のタイプの情報は、また又は代替的に、センサスファイルに集約され得る。
図6に示されるように、入力gVCFファイル610のセットは、反復gVCFジェノタイパを実行するプロセッサによって受信され得る。グラフ表現600に示される例におけるバッチは、5つのサンプルを含む。
図6に示されるように、gVCFファイル610は、関連する3つのサンプルのトリオ(例えば、父親、母親、及び子供)などの、関連するサンプルを含むことができる。各サンプルは、それぞれのgVCFファイルに関連付けられ得る。gVCFファイル610の各々は、hom-refデータ、バリアントデータを含み、gVCFファイル全体にわたってセクションに分配されたカバレッジデータを含まない。例えば、gVCFファイル610の各々は、hom-refデータ、1つ以上のバリアントを示し、そのそれぞれのサンプルについてのカバレッジエリアを示さない。バッチ内のサンプルからのhom-refデータ、バリアントデータ、及びカバレッジなしデータ(例えば、入力gVCFファイルのセット)は、コホートファイル620に集約され得る。
【0085】
コホートファイル620は、バッチについてのhom-ref、バリアント、及びカバレッジなしのデータを示す単一のファイル(例えば、入力gVCFファイルのセット)であり得る。コホートファイル620では、同様のタイプのデータ(例えば、hom-ref、バリアント、及びカバレッジなしのデータ)は、コホートファイルの行に集約され得る。コホートファイル620は、コホート内のサンプルの各々が元のgVCF内に同じ種類のレコードを有する領域を含むブロック(例えば、全てhom-refブロック又は全てカバレッジなし)を含むことができる。示されていないが、センサスレコードはバッチについて生成されてもよく、センサスレコードは同様に集約されてもよい。
図6は、5つのサンプルを含むバッチについての入力gVCFファイル610を示しているが、5つより多い入力gVCFファイル610が受信されてもよいことが理解されよう。例えば、受信された入力gVCFファイル610の数は、バッチ内のサンプルの数に等しくてもよい。
【0086】
コホートファイル内のレコードを同じ種類のレコード(例えば、hom-ref、カバレッジなし、又はバリアント)を有する領域にグループ化して、データサイズを低減し、かつ/又は圧縮のための処理リソースを低減することができる。対照的に、各領域ごとのコホートファイルは、ゲノム位置ごとに1つのレコードに分解することができ、これは、サンプルにわたって同じ値を有する隣接するレコードを有する。
【0087】
図7は、バッチに関連付けられたgVCFファイルの受信時にマルチサンプルバリアントコールファイルを生成するために、1つ以上のコンピューティングデバイス(例えば、
図1に示されるサーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114などの)によって実装され得る例示的な反復プロセス700を示す。例示的な反復プロセス700を実施する1つ以上のコンピューティングデバイスは、本明細書に記載されるように、反復gVCFジェノタイパ760を実行していてもよい。反復gVCFジェノタイパ760は、反復プロセス700を使用して、新たに利用可能なバッチ/サンプルデータを既存のコホートに集約することができる。反復gVCFジェノタイパ760は、反復プロセス700を使用して、例えば、以前に利用可能な(例えば、及び集約された)バッチについて解析をやり直す必要なく、以前に利用可能なバッチとともにサンプルデータの新たに利用可能なバッチを漸増的に集約することができる。反復プロセス700又はその一部分は、バリアントデータをセンサスファイル、コホートファイル、及び/又はmsVCFファイルにより効率的に記憶するために実施され得る。例えば、反復プロセス700又はその一部分は、gVCFファイルをコホートファイルに集約し、センサスファイルをグローバルセンサスファイルに集約するために実施され得る。
【0088】
反復プロセス700又はその一部分は、単一のコンピューティングデバイスで実施され得るか、又は複数のコンピューティングデバイス(例えば、複数のサーバ、配列決定デバイス、及び/又はクライアントコンピューティングデバイス)にわたって分散され得る。プロセス700又はその一部分は、バリアント解析中にコンピューティングデバイスによって使用される処理リソース及び/又はストレージ空間(例えば、メモリ)の量を低減し得る。反復プロセス700は、配列決定ランの複数のバッチを処理するために使用され得る。反復プロセス700は、コホートファイル720、センサスファイル730、グローバルセンサスファイル740、及び/又はmsVCFファイル750をローカルで又はリモートで記憶することができる。
【0089】
反復プロセス700は、反復gVCFジェノタイパ760によるサンプルデータのバッチに関連付けられたgVCFファイル710の受信時に開始してもよい。反復gVCFジェノタイパ760は、gVCFファイル710を読み取り、コホートファイル725を生成するためにgVCFファイル710内のVCFフィールドのサブセットを識別することができる。反復gVCFジェノタイパ760は、バッチ内のgVCFファイル710のバッチ内のgVCFファイルの各々から読み取られたgVCFデータを集約することができる。gVCFファイルは、配列決定ランのサンプルからのサンプルデータを含むことができる。コホートデータ710は、所定のフィールド内で識別されるgVCFファイル710内のサンプルデータのサブセットを含むことができる。コホートデータ720は、gVCFファイル710から読み取られたサンプルデータのバッチ内の所定のフィールドの各々から集約されてもよく、反復gVCFジェノタイパ760は、データのサブセットをコホートファイル725に書き込んでもよい。本明細書に記載されるように、コホートデータは、gVCFファイル710のバッチ内の所定のフィールドの各々にメトリック又は値を含むgVCFファイルについての一意の識別子の要約を含むことができる。
【0090】
反復gVCFジェノタイパ760は、コホートデータ720をセンサスデータ730に変換し、このセンサスデータをサンプルデータのバッチについてのセンサスファイル730に書き込むことができる。センサスデータ730は、コホートファイル725内の所定のフィールドの各々についての共通のメトリック又は値を含む一意のgVCFファイルの数のカウントを含むことができる。反復gVCFジェノタイパ760は、複数のセンサスファイル740からのセンサスデータ730を集約して、グローバルセンサスファイルを生成することができる。複数のバッチの各々については、反復gVCFジェノタイパ760は、本明細書に記載されるように、サンプルのそれぞれのバッチについてのコホートデータ720及び/又はセンサスデータ730、並びにグローバルセンサスファイル内のデータを使用して、サンプルのそれぞれのバッチについてのmsVCFファイル750を生成し、それに書き込むことができる。
【0091】
図8は、gVCFファイルに受信されたサンプルデータのバリアント解析において並列処理を利用することができる1つ以上のコンピューティングデバイス(例えば、
図1に示される複数のサーバデバイス102、複数のクライアントデバイス108、並びに/又は1つ以上のサーバデバイス及び1つ以上のクライアントデバイス108などの)によって実装され得る例示的なプロセス800を示す。例えば、例示的プロセス800は、1つ以上のmsVCFファイルを生成するために、異なるサイトにある配列決定デバイスからのサンプルデータのバッチ802、804、806の各々を処理するための並列処理を組み込むことができる。プロセス800又はその一部分は、msVCFファイル内のバリアントデータをより効率的に記憶及び処理するために、複数の計算ノードにわたって分散された反復gVCFジェノタイパによって実施され得る。プロセス800又はその一部分は、バリアント解析中にコンピューティングデバイスによって使用される処理リソース及び/又はストレージ空間(例えば、メモリ)の量を低減し得る。
【0092】
反復gVCFジェノタイパは、少なくとも1つのプロセッサ及び/又は少なくとも1つのメモリを利用して、複数の計算ノード又は仮想マシンを使用して並列処理を実施することができる。反復gVCFジェノタイパは、本明細書に記載されるように、処理リソースを割り当てて、記載されている並列処理を可能にすることができる。反復gVCFジェノタイパは、バッチ(例えば、バッチ802、バッチ804、及び/又はバッチ806などの)内の各サンプル(例えば、各gVCFファイル)を別個のシャードに分割することができる。各サンプルがシャードに割り当てられるとき、サンプルは、定義された群(例えば、サブ集団又は症例/対照群などの)に自由にグループ化することができる。各シャードは、等しい又は異なるサイズであり得る。各シャードは、別個の計算ノードによって処理され得る。反復gVCFジェノタイパは、等しいサイズのシャードを作成しようとし得るが、シャードは、等しくないサイズのものであり得る。例えば、シャードが染色体に及ぶことを阻止される場合があり、これは、等しくないシャードサイズの染色体で終わるシャードをもたらし得る。各シャードは、等しいサイズよりも小さい場合がある染色体の末端(例えば、残留)を除いて、等しいサイズのものであり得る。
【0093】
計算ノード又は仮想マシンによってアクセス可能である各コアプロセッサは、特定のスレッド化を有することができる。各コアは、特定のスレッド化を有し得る。可変数のソフトウェアスレッドが実装されてもよい。CPUコアごとに1つ以上のスレッドが実装されてもよい。例えば、各CPUコアによって単一のスレッドが実装されてもよい。各CPUコアによって実装されるスレッドの数は、ユーザ入力に応答して変更することができる。反復gVCFジェノタイパの各スレッドは、810において、それぞれのgVCFファイル又はgVCFファイルの一部分から配列決定データを抽出して、それぞれのgVCFファイル又はgVCFファイルの一部分についてのそれぞれのコホート及びセンサスファイルを作成するように割り当てられ得る。反復gVCFジェノタイパは、シャード生成されたコホート及びセンサスファイルの各々が別個のシャードによって生成されるように、バッチ802、804、806の各々のコホート及び/又はセンサスファイル生成をそれぞれのシャードに分割することができる。サンプルの共通バッチを処理するシャードによって生成されたセンサスファイルの各々は、820において、バッチセンサスファイルに集約され得る。バッチセンサスファイルは、領域、RAGT統計量、及び任意選択でサイト統計量を含む、グローバルセンサスファイルと同様のフィールドを含むことができる。バッチセンサスファイルは、gVCFファイルの所与のバッチについてのセンサスデータを含むことができ、グローバルセンサスファイルは、サンプルの複数のバッチからのセンサスデータを含むことができるため、バッチセンサスファイルは、サンプルサイズにおいてグローバルセンサスファイルとは異なり得る。
【0094】
バッチ802内のgVCFファイルを処理するシャードから作成されたセンサスファイルは、バッチ802についての第1のバッチセンサスファイルを作成するために集約されてもよく、バッチ804内のgVCFファイルを処理するシャードから作成されたセンサスファイルは、バッチ804についての第2のバッチセンサスファイルを作成するために集約されてもよく、バッチ806内のgVCFファイルを処理するシャードから作成されたセンサスファイルは、バッチ806のための第3のバッチセンサスファイルを作成するために集約されてもよい。バッチセンサスファイルの各々は、グローバルセンサスファイルを生成するために集約され得る。
【0095】
バッチセンサスファイルRAGT統計量は、バッチコホートファイルから計算され得る(例えば、メトリック値当たりのサンプルカウントを取得することによって)。グローバルセンサスファイルは、メトリック値当たりのサンプルカウントを合計することによって、各バッチ当たりのセンサスファイル内のRAGT統計量から集約されたRAGT統計量を含むことができる。グローバルセンサスファイルは、コホートファイル内のサンプルの各々についてのバリアントメトリック及びhom-refメトリックを含むことができる。グローバルセンサスファイルはまた、ゲノム位置ごとにこの情報を含むことができる。バッチセンサスファイル及びグローバルセンサスファイルは、バリアント呼び出しデータ、例えば、参照対立遺伝子及び代替対立遺伝子の正規化と、共通の代替対立遺伝子間のインデックスの代替対立遺伝子の順序付け及び再マッピングと、各RAGT症例における代替対立遺伝子と、を含むサイト統計量フィールドを含むことができる。
【0096】
各シャードは、それぞれのgVCFファイル又はgVCFファイルの一部分についてのコホートデータを生成するために実装することができるため、シャードは、各々、バッチ内のそれらのそれぞれのコホートファイルを使用して、マルチサンプルVCFファイルの一部分を生成することができる。例えば、バッチ802内のそれぞれのgVCFファイル又はgVCFファイルの一部分を処理して、対応するコホートファイルを生成するために実装された各シャードは、それらのそれぞれのコホートファイル及びグローバルセンサスファイルを使用してmsVCF842の一部分を作成することができる。バッチ804内のそれぞれのgVCFファイル又はgVCFファイルの一部分を処理して、対応するコホートファイルを生成するために実装された各シャードは、それらのそれぞれのコホートファイル及びグローバルセンサスファイルを使用してmsVCF844の一部分を作成することができる。バッチ806内のそれぞれのgVCFファイル又はgVCFファイルの一部分を処理して、対応するコホートファイルを生成するために実装された各シャードは、それらのそれぞれのコホートファイル及びグローバルセンサスファイルを使用してmsVCF846の一部分を作成することができる。したがって、プロセス800における830に示されるように、各msVCF842、844、846は、シャード当たりの、バッチ当たりの基準で生成され得る。各サンプルがシャードに割り当てられるとき、サンプルは、定義された群(例えば、サブ集団又は症例/対照群などの)に自由にグループ化することができる。各サンプルがシャードに割り当てられるとき、シャードは、1つのサンプルを取り扱うことができ(例えば、取り扱うのみ)、これにより、複数のサンプルのコホートと比較して効率的な圧縮が可能になり得る。
【0097】
各計算ノード又は仮想マシンは、配列データの対応する領域についてのデータを処理、集約、及び/又は生成するために、少なくとも2つのレベルの並列化を実施することができる。各計算ノード又は仮想マシンは、所与のバッチ内のgVCFファイル内のデータの特定の領域を処理することができる。
【0098】
反復gVCFジェノタイパは、プロセス800を実装するためのランタイムオプションパラメータを含むことができる。ランタイムオプションパラメータは、分散されたノード上でプロセスを並列化するために、ゲノムを分割する領域の数を設定することができる。各コアが特定のスレッド化を有し得るため、ランタイムオプションパラメータはまた、同じノード上の異なるスレッド上で行うために1つの領域を分割するサブ領域の数を設定することができる。ランタイムオプションパラメータは、各スレッドが任意の時点で過剰な量のメモリを利用しないように、データバッファサイズ(例えば、サブ領域を更に分割するための)を設定することができる。
【0099】
図9は、サンプルデータのバッチにわたる並列処理を組み込む例示的なプロセス900を示す。ある例では、反復gVCFジェノタイパは、記載されている並列処理を可能にするために処理リソースを割り当てることができる。
図9に示される図は、複数のシャードによって処理されている各バッチを示す。例示的なプロセス900では、各シャードに、バッチごとにコホートファイル及びセンサスファイルの特定の部分を割り当てることができる。例えば、シャード(例えば、シャード1)は、バッチ1についてのコホートファイル及びセンサスファイルのその部分を処理し、次いで、バッチ1についてのコホートファイル及びセンサスファイルのその部分の処理が完了すると、バッチ2についてのコホートファイル及びセンサスファイルのその部分に進むことができる。次いで、シャードは、バッチ2についてのコホートファイル及びセンサスファイルのその部分の処理が完了すると、バッチ3についてのコホートファイル及びセンサスファイルのその部分に進むことができる。各シャードは、例えば、異なるバッチからの同じゲノムシャードが集約され得るように(例えば、シャード境界における不一致を伴わずに)、均一な定義を有し得る。各シャードは、各バッチの一部分を処理するために複数のスレッドを活用することができる。各シャード内で、スレッドレベル分割(又はサブ領域)は、バッチ間で異なって調整され得る。スレッドレベル分割は、マルチスレッドプロセスの出力ファイル(例えば、コホート又はセンサス)がシャード当たり1つの出力ファイル(例えば、コホート又はセンサス)に連結される(例えば、常に連結される)ため、バッチ間で異なって調整され得る。
【0100】
例示的なプロセス900では、各シャードに、シャードによって生成されるためのグローバルセンサスファイルの特定の部分を割り当てることができる。例えば、シャード(例えば、シャード1)は、バッチコホート及びセンサスファイルのその部分が完了すると、グローバルセンサスファイルのその部分を処理することができる。染色体の末端を使用して、1つ以上のシャードの末端を作製することができる。例えば、1つのシャードがミトコンドリア(mitochondrial、MT)ゲノムデータに割り当てられてもよく、及び/又は1つのシャードが代替構成及びヒト白血球抗原(Human Leukocyte Antigen、HLA)に割り当てられてもよい。これらの追加のシャード(例えば、ミトコンドリア、及びHLAを含む代替コンティグ)は、ヒト参照ゲノム中に存在し得る。倍数性が常染色体及び性染色体とは異なり得るため、それらを別個のシャードに保持してもよい。これらのコンティグのサイズは、比較的小さくてもよく、より多くのシャードによる更なる並列化を実装しなくてもよい。
【0101】
例示的なプロセス900では、各シャードに、各msVCFファイルの特定の部分を割り当てることができる。例えば、シャード(例えば、シャード1)は、バッチ1についてのmsVCFファイルのその部分を処理し、次いで、バッチ1についてのmsVCFファイルのその部分の処理が完了すると、バッチ2についてのmsVCFファイルのその部分に進むことができる。シャードは、生成されているmsVCFファイルに対応するバッチファイルのその部分及びグローバルセンサスファイルのその部分を利用して、バッチごとにmsVCFファイルのシャード特異的部分を生成することができる。次いで、シャードは、バッチ2についてのmsVCFファイルのその部分の処理が完了すると、バッチ3についてのmsVCFファイルのその部分に進むことができる。
【0102】
図10は、例示的なゲノムデータオペレータ設計1000を示す。例示的なゲノムデータオペレータ設計1000は、ゲノムデータを読み取り、処理し、かつ/又は書き込むために使用され得る。領域サイズ及び/又はサブ領域サイズは、例えば、スレッドごとのラムサイズ、並びに/又は入力ファイルのタイプ及び数、並びにインメモリデータ構造サイズに依存して構成可能であり得る。例示的なゲノムオペレータ設計1000は、1つ以上のmsVCFファイルを生成するための配列決定デバイスからのサンプルデータのバッチの処理に使用され得る。
【0103】
図10は、同じ計算ノード(例えば、シャードが既に固定されている場合)上で実施され得る並列化を示す。1つのゲノムシャードによって定義されるような領域、及び所与の計算ノード上のスレッドの数を考慮すると、解析は、シャードをスレッド当たりの領域に分割することによって同時スレッドによって更に並列化され得る。各スレッドが1つのそのような領域を処理するとき、その領域内のデータの一部分がファイルシステムからロードされ得る。例えば、各スレッドは、一度に1つのサブ領域内のレコードを処理することができる。サブ領域サイズは、スレッド当たりのメモリの使用量を最大化し、及び/又はスレッドの各々が完全にロードされたときにシステムの総メモリのオーバーロードを回避するように構成され得る。各スレッドは、領域に含まれるサブ領域を直列で処理することができる。スレッドは、シャードに含まれる領域を並列で処理することができる。
【0104】
本明細書に記載されるようなグローバルセンサスファイル及びmsVCFファイルを生成する際に、グローバルセンサスファイル及びmsVCFファイル自体は、グローバルセンサスデータがサンプルデータの異なるバッチから集約され、グローバルセンサスファイル内で更新され、かつ/又はmsVCFファイルに含まれるにつれて、サイズが大きくなり得る。グローバルセンサスデータは、データが複数のサイトから集約されているgVCFファイルのフィールド(例えば、RAGTフィールド)に表される対立遺伝子の表現をそこに記憶していてもよい。グローバルセンサスファイル及び/又はmsVCFファイル内のグローバルセンサスデータのサイズは、グローバルセンサスデータに異なって表され得る重複対立遺伝子を低減することによって削減され得る。これらのファイルのサイズの削減により、グローバルセンサスデータを記憶及び解析するときのメモリ並びに処理要件の低減が可能になるであろう。
【0105】
重複対立遺伝子の表現を低減するための1つの方法は、参照対立遺伝子に基づいて各対立遺伝子を正規化することであろう。この正規化はまた、コホートについて発見され得る可能な分散についてのより正確な対立遺伝子カウントを可能にし得る。
図11は、msVCFファイルについての遺伝子型を正規化及び再インデックス付けするために、1つ以上のコンピューティングデバイス(例えば、
図1に示されるサーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114などの)によって実装され得る、例示的プロセス1100を示す。プロセス1100は、msVCFファイル上で実装され得る正規化及び再インデックス付け技法を示すが、同様の正規化及び再インデックス付け技法は、グローバルセンサスファイルのために実装され得る。例示的なプロセス1100又はその一部分は、RAGT統計量を使用して、集団レベルの参照対立遺伝子及び代替対立遺伝子を正規化し、集団レベルの代替対立遺伝子を順序付け、サンプルレベルの遺伝子型を再インデックス付けし、データをセンサスファイル及びmsVCFファイルに記憶することができる。
図11における参照対立遺伝子及び代替対立遺伝子並びにGT再インデックス及びALTインデックスマッピング生成は、サイト統計量をもたらすセンサス集約及び/又はgVCF集約中に実施することができる。サイト統計量は、センサスファイルのサイト統計量フィールドに記憶することができる。サイト統計量は、生成中にmsVCFファイルに(例えば、サイト統計量フィールドに)挿入され得る。プロセス1100又はその一部分は、ゲノムバリアントデータをmsVCFファイル及び/又はグローバルセンサスファイルに効率的に記憶するために実施され得る。プロセス1100は、1つ以上のコンピューティングデバイスの1つ以上のプロセッサ上で実行される反復gVCFジェノタイパによって実装され得る。プロセス1100又はその一部分は、単一のコンピューティングデバイスで実施されてもよく、又は複数のコンピューティングデバイス(例えば、複数のサーバ、配列決定デバイス、及び/又はクライアントコンピューティングデバイスにわたって分散されてもよい。プロセス1100又はその一部分は、バリアント解析中にコンピューティングデバイスによって使用される処理リソース及び/又はストレージ空間(例えば、メモリ)の量を低減し得る。
【0106】
例示的なプロセス1100は、反復gVCFジェノタイパを実行するプロセッサが、1102において、gVCFファイル内のRAGT統計量を受信したときに開始することができる。gVCFファイルのうちの1つ以上は、反復gVCFジェノタイパによって最近受信されたものであってもよい。gVCFファイルの各々は、複数個のサンプルのそれぞれのサンプルに関連付けられ得る。追加的に又は代替的に、gVCFファイルのうちの1つ以上は、1つ以上のコンピューティングデバイス及び/又はデータベース(例えば、
図1に示されるデータベース116などの)で以前に受信され、記憶されていてもよい。RAGT統計量は、複数個のサンプルに関連付けられてもよい。例えば、RAGT統計量は、1つ以上のコンピューティングデバイス及び/又はデータベース(例えば、
図1に示されるデータベース116などの)に記憶されてもよく、プロセス1100を使用して、遺伝子型再インデックス、参照対立遺伝子、及び/又は受信した(例えば、新たな)RAGT統計量に基づく代替対立遺伝子マッピングを更新してもよい。反復gVCFジェノタイパを実行するプロセッサは、RAGT統計量を使用して、複数個のサンプルに関連付けられた複数個の参照対立遺伝子及び複数個の代替対立遺伝子を識別することができる。
【0107】
反復gVCFジェノタイパは、1104において、例えばRAGT統計量に基づいて、各一意の対立遺伝子(例えば、複数個の参照対立遺伝子及び複数個の代替対立遺伝子)のインスタンス(例えば、発生)を、対立遺伝子カウントに合計することができる。例えば、1つ以上のコンピューティングデバイスは、各一意の対立遺伝子(例えば、参照対立遺伝子及び代替対立遺伝子)のいくつのインスタンスがRAGT統計量に存在するかを決定することができる。
図11に示される例は8つの一意の対立遺伝子を含むが、例示的なプロセス1100はこの数の対立遺伝子に限定されないことが理解されよう。むしろ、例示的なプロセス1100は、一意の対立遺伝子の数が8を超えるか又は8未満であるときに使用され得る。
【0108】
反復gVCFジェノタイパは、1106において、例えば長さに基づいて、対立遺伝子カウントを順序付けすることができる。1106において決定された対立遺伝子順序は、参照対立遺伝子カウントから始まり、代替対立遺伝子カウントで終わり得る。別の言い方をすれば、参照対立遺伝子カウントは、対立遺伝子の順序において代替対立遺伝子カウントの前に列挙され得る。例えば、最も長い参照対立遺伝子を対立遺伝子順序において最初に列挙してもよく、残りの参照対立遺伝子を長さが減少する順序で列挙してもよい。順序付けされた対立遺伝子カウントの各々は、0と、RAGT統計量における固有の対立遺伝子の総数との間の(例えば、
図11に示される例では7などの)数を割り当てられ得る。ゼロ(0)を最も長い参照対立遺伝子に割り当てることができ、残りの対立遺伝子を発生に基づいて順序付けすることができる。例えば、対立遺伝子は、RAGT統計量における発生による降順で列挙され得る。対立遺伝子は、発生による降順に順序付けられていることに限定されず、代わりに、対立遺伝子は、他の方法で、例えば、長さの降順などによって順序付けられ得ることが理解されよう。
【0109】
1108において、対立遺伝子は、例えば、最も長い参照対立遺伝子に基づいて正規化され得る。例えば、反復gVCFジェノタイパは、正規化された参照対立遺伝子を選択することができる。正規化された参照対立遺伝子は、最も長い参照対立遺伝子であり得る。RAGT統計量におけるサンプルごとの対立遺伝子は、対立遺伝子を最も長い参照対立遺伝子の長さまで伸長することによって正規化することができる。各参照対立遺伝子の代替対立遺伝子は、対応する参照対立遺伝子と同じ量(例えば、塩基の数)だけ伸長され得る。例えば、参照対立遺伝子が2個(例えば、2個の塩基対又は1個のヌクレオチド)だけ伸長されるとき、参照対立遺伝子の各代替対立遺伝子も2個(例えば、2個の塩基)だけ伸長される。各サンプルの正規化された表現は、複数個の代替対立遺伝子の各々が正規化された参照対立遺伝子を使用してインデックス付けされるように、正規化された参照対立遺伝子を使用して生成することができる。
【0110】
代替対立遺伝子の正規化により、同じ参照を有する代替対立遺伝子を、データの同じ行に置くことが可能になり得る。同じ参照対立遺伝子及び代替対立遺伝子は、同じ参照対立遺伝子によってグループ化され得る。正規化された参照対立遺伝子及び正規化された代替対立遺伝子を同じ行に含めることを可能にするために、
【0111】
1110において、サンプルごとの遺伝子型は、例えば、正規化された参照対立遺伝子及び/又は代替対立遺伝子に基づいて再順序付けされる。例えば、RAGTフィールドにおける元の遺伝子型が1/2であり、元の参照対立遺伝子がTACACであり、元のALT対立遺伝子がTAC,Tであると仮定する。再正規化後、共通の参照対立遺伝子がTACACACACAC(ACACACを追加された)である場合、正規化された代替対立遺伝子はTACACACAC,TACACACである。正規化された参照対立遺伝子及び代替対立遺伝子の各々の順序に従って、TACACACAC対立遺伝子がインデックス3及びTACACACインデックス5を有する場合、順序付けられた遺伝子型は、(1/2の代わりに)3/5であり、代替対立遺伝子マッピング(古いものから新しいものへ)は、1=>3,2=>5である。対立遺伝子再順序付けの後、1112において、例えば、正規化された参照対立遺伝子及び/又は代替対立遺伝子に基づいて、サンプルごとの代替対立遺伝子マッピングがそこで生成され得る。共通の参照対立遺伝子は、特定のサイトにあるサンプルの各々の間で共有される共通の(再正規化された)参照対立遺伝子を指し得る。異なるサンプルが同じゲノム位置に異なる代替対立遺伝子を有し得るため、1112において、再順序付けが実施され得る。msVCFに書き込むために、位置にわたって一貫した順序付けを強化することができる。遺伝子型が代替対立遺伝子のリスト内のインデックスを参照し得るため、遺伝子型フィールドのこの再順序付けが実装され得る。
【0112】
正規化された参照対立遺伝子及び代替対立遺伝子、再順序付けされた遺伝子型、並びに/又は代替マッピングは、バリアント呼び出しデータ、例えば、参照対立遺伝子及び代替対立遺伝子の正規化と、共通の代替対立遺伝子間のインデックスの代替対立遺伝子の順序付け及び再マッピングと、各RAGT症例における代替対立遺伝子と、を含むセンサスファイルのサイト統計量フィールドに記憶され得る。12個のサンプルを有するバッチの例示的なサイト統計量フィールドは、以下によって表され得る。
【0113】
【0114】
サイト統計量フィールドは、バッチについてのRAGT統計量を含むことができる。サイト統計量フィールドは、各センサスフィールドの値についての数カウントを含むことができる。数カウントは、集団ゲノムのために使用され得る。サイト統計量フィールドは、msVCFファイルへの入力として使用される主要なセンサスファイル情報を含むことができる。
【0115】
正規化された参照及び対立遺伝子、再順序付けされた遺伝子型、並びに代替マッピングを使用して、RAGT統計量に関連付けられた複数個のサンプルについてのmsVCFファイルを生成することができる。例えば、正規化された参照及び対立遺伝子、再順序付けされた遺伝子型、並びに代替マッピングをmsVCFファイルに出力することができる。msVCFファイルは、共通の参照対立遺伝子をREF列に含むことができる。生成されたmsVCFファイルは、1つ以上のコンピューティングデバイス及び/又はデータベース上の反復gVCFジェノタイパによって記憶され得る。
【0116】
プロセス1100は、追加のgVCFファイルが受信されたときに繰り返され得る。追加のgVCFファイルからのRAGT統計量は、以前に受信されたRAGT統計量に追加され得る。例えば、反復gVCFジェノタイパは、1つ以上の追加のサンプルに関連付けられた追加のgVCFファイルを受信してもよい。反復gVCFジェノタイパは、1つ以上の追加のサンプルに関連付けられた1つ以上の参照対立遺伝子及び1つ以上の代替対立遺伝子を識別することができる。1つ以上の参照対立遺伝子及び1つ以上の代替対立遺伝子は、対立遺伝子カウントに追加され得る。1つ以上のコンピューティングデバイスは、1つ以上の参照対立遺伝子のうちのいずれかが最も長い参照対立遺伝子よりも長いかどうかを決定することができる。参照対立遺伝子(例えば、追加のgVCFファイル内の)が以前の最も長い参照対立遺伝子よりも長いとき、反復gVCFジェノタイパは、参照対立遺伝子を更新された最も長い参照対立遺伝子として選択することができる。複数個の参照対立遺伝子及び複数個の代替対立遺伝子は、更新された最も長い参照対立遺伝子の長さに対応するように伸長させることによって正規化され得る。遺伝子型順序付け及び代替マッピングは、追加のgVCFファイルに受信された情報に基づいて更新され得る。このデータが更新され得るとき、グローバルセンサスファイルが更新され得、別のmsVCFファイルが、受信されるデータのバッチごとに生成され得る。
【0117】
コホートファイル及びセンサスファイルが生成されるサンプルデータを含むgVCFファイルよりも小さいファイルサイズを有するコホートファイル及びセンサスファイルを生成するための例示的な実施形態が、本明細書に記載される。コホートファイル及びセンサスファイルのサイズは、本明細書に記載される1つ以上の圧縮及び/又はシリアル化技法を使用して更に低減され得る。
図12Aは、コホート及び/又はセンサスデータを圧縮フォーマットで符号化するために、1つ以上のコンピューティングデバイス(例えば、
図1に示されるサーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114などの)によって実装され得る例示的なプロセス1200を示す。反復プロセス1200又はその一部分は、バリアントデータをセンサスファイル、コホートファイル、及び/又はmsVCFファイルに効率的に記憶するために実施され得る。プロセス1200又はその一部分は、反復gVCFジェノタイパによって実装され、1つ以上のコンピューティングデバイスの1つ以上のプロセッサ上で実行され得る。プロセス1200又はその一部分は、単一のコンピューティングデバイスで実施されてもよく、又は複数のコンピューティングデバイス(例えば、複数のサーバ、配列決定デバイス、及び/又はクライアントコンピューティングデバイス)にわたって分散されてもよい。プロセス1200又はその一部分は、バリアント解析中にコンピューティングデバイスによって使用される処理リソース及び/又はストレージ空間(例えば、メモリ)の量を低減し得る。
【0118】
反復gVCFジェノタイパが、圧縮されるためのコホートファイル及び/又はセンサスファイルを生成した後に、例示的なプロセス1200が始まってもよい。本明細書に更に記載されるように、コホートファイル及びセンサスファイル内のフィールドは、各々、gVCFファイル内に含まれるフィールドのサブセットを含むことができる。フィールドの各々は、gVCFファイルのバッチに関連付けられるゲノムバリアントデータ及び/又は他の遺伝子型データを含むことができる。
図12Aに提供される例では、圧縮プロセス1200は、コホートファイル1202内のRAGTフィールドについての対立遺伝子データを圧縮するために提供される。しかしながら、同様のタイプの圧縮が、対応するコホートファイル及び/若しくはセンサスファイルのフィールドごとに、コホートデータ並びに/又はセンサスデータに対して実施されてもよく、本明細書の他の箇所に更に記載されるであろう。
【0119】
例示的なプロセス1200に記載されるように、反復gVCFジェノタイパは、データがビットアレイ1218に圧縮され得るように、コホートファイルの1つ以上のフィールド内のデータを符号化することができる。本明細書に記載されるように、コホートファイル内の各フィールドは、このフィールドについての一連の一意の値又はメトリックを含むことができ、この後には、一意の値若しくはメトリックを含むgVCFファイル又はサンプルの整数アレイが各々続く。
図12Aに示されるように、コホートファイル1202内のRAGTフィールドは、コホートファイルが生成されたサンプルのバッチ内で以前に識別された一連の一意の値又はメトリック1204を含むことができる。一意の値又はメトリック1204は、例えば、バリアントデータに関連付けられたサンプルの各々についての参照対立遺伝子、代替対立遺伝子、及び/又は遺伝子型などの、RAGT統計量における1つ以上のフィールドに関連し得る。各一意の値又はメトリック1204の後には、先行する一意の値又はメトリック1204を有する1つ以上のサンプル又はgVCFファイル1206を識別する整数アレイが続き得る。
【0120】
反復gVCFジェノタイパは、一意の値1204及び対応するサンプル又はgVCFファイルが一連のビットとして表され得るように、ビットマップ1208を使用してRAGTフィールド内のデータを符号化することができる。ビットマップ1208を生成するために、反復gVCFジェノタイパは、RAGTフィールド内の一意の値又はメトリック1204の総数を識別することができる。反復gVCFジェノタイパは、一意の値又はメトリック1204の総数を表すために実装され得るビット1216の数のバイナリ値長さを識別することができる。例えば、コホートファイル1202のRAGTフィールド内の一意の値又はメトリック1204の総数は、7である。反復gVCFジェノタイパは、コホートファイル1202のRAGTフィールド内の7つの一意の値を表すために実装され得る最低数のビットを識別することができる。3ビットのビット配列は、RAGTフィールド内の一意の値を表すために実装され得る最小数のビットであるため、ビット1216は、3ビット配列に設定され得る。ビット1216の数についての別のバイナリ値長さは、他の数の一意の値又はメトリックを表すために実装され得ることが理解されよう。
【0121】
RAGTフィールドに関して、反復gVCFジェノタイパは、例えば、複数個のgVCFファイルにおけるRAGT統計量を使用して、複数個の参照対立遺伝子及び/又は複数個の代替対立遺伝子を識別することができる。反復gVCFジェノタイパは、複数個のサンプルのうちのどれが共通の参照対立遺伝子及び代替対立遺伝子を有するかを決定することができる。これらのサンプルは、対立遺伝子群に分散され得る。対立遺伝子群の各々は、共通の参照対立遺伝子及び代替対立遺伝子を有する1つ以上のサンプルを含むことができる。例えば、2つのサンプルが共通の(例えば、同じ)参照対立遺伝子及び代替対立遺伝子を有することが見出されるとき、2つのサンプルは、対立遺伝子群に一緒にグループ化され得る。各対立遺伝子群は、一意の値又はメトリック1204に含まれ得る。対立遺伝子群は、一意の値又はメトリック1204において表される対立遺伝子群のリストに集約され得る。反復gVCFジェノタイパは、対立遺伝子群(例えば、値)の数に基づいてビット1216の数を決定することができる。例えば、反復gVCFジェノタイパは、対立遺伝子群の数に基づいてバイナリ値長さを選択してもよい。
【0122】
ビットマップ1208は、一意の値又はメトリック1204、及び一意の値若しくはメトリック1204を有するサンプル又はgVCFファイル1206の対応する識別子を含むことができる。値又はメトリック1204の各々、及びサンプル又はgVCFファイル1206の対応する識別子は、それに対応する代表的なビット1216としてビットマップ1208内の同じ行に列挙され得る。ビットマップ1208では、ビット1216は、ビットマップ1208内の各行でインクリメントされるが、他の実装形態も理解されよう。整数値1214は、各行におけるビット1216の整数値を識別する。
【0123】
反復gVCFジェノタイパは、一意の割り当てられたバイナリ値(例えば、一意の値又はマトリクス(metrices)1204)を集約することによって、複数個のgVCFファイルについてのビットアレイ1218を生成することができる。ビットマップ1208は、コホートファイル120のRAGTフィールド内のデータをビットアレイ1218に符号化するために、及びビットアレイ1218を復号化してコホートファイル1202のRAGTフィールド内のデータを生成するために、反復gVCFジェノタイパによって使用され得る。反復gVCFジェノタイパは、複数個のgVCFファイル内の関連付けられたサンプルの順序に基づいてビットアレイ1218を符号化することができる。例えば、反復gVCFジェノタイパは、サンプル1206の値1204を数値順に表す一連の3ビット配列を含むビット配列を生成してもよい。
図12Aに示されるように、ビットアレイ1218は、サンプルゼロ(例えば、「000」)についてのRAGT値1204を表すビット1216から開始することができる。反復gVCFジェノタイパは、サンプル1(例えば、「0001」)などについてのRAGT値1204を表すビット1216を付け加えることができる。反復gVCFジェノタイパは、ビットアレイ1218を記憶することができる。
【0124】
ビットマップは、コホートファイルとセンサスファイルとの間で異なってもよい。ビットマップは一意のメトリック値及びサンプル識別子の数に依存し得るため、ビットマップはレコードごと及びメトリックフィールドごとに生成され得る。コホートファイルでは、ビットマップは、サンプル当たりのハッシュされた値を符号化することができる。GQフィールドを使用する例では、サンプル1の値10は0にハッシュされ得、サンプル2の値20は1にハッシュされ得、サンプル3の値10は0にハッシュされ得る。ビットマップは、値文字列「10,20」(2つの一意の値)を有するサンプル識別子の順序で配列[0,1,0]を符号化することができる。センサスファイルでは、ビットマップは、メトリック値ごとのサンプルカウントを符号化することができる。GQフィールド、値10を有する25個のサンプル、及び値20を有する36個のサンプルを使用する別の例では、ビットマップは、値文字列「10,20」の順序でアレイ[25,36]を符号化することができる。
【0125】
図12Aに示される例では、プロセス1200は、211バイトの入力を9バイトの出力に圧縮することができる。例示的なプロセス1200は、これらの7つの値を表すために3ビット(例えば、000から110まで)を使用して圧縮することができる7つの一意の値を有するフィールド(例えば、RAGT)のためのメトリックを圧縮する例を示す。ビットの数は、圧縮する一意の値の数、例えば、2個の一意の値=1ビット、256個の一意の値=8ビットに依存して変化する。そのため、圧縮は、レコードからレコードへ、メトリックからメトリックへ変動し得る。圧縮されるデータは、コホートとセンサスとの間で異なり得る。例示的なプロセス1200は、本明細書に記載されるgVCFファイル内の1つ以上の所定のフィールドを圧縮するために、反復gVCFジェノタイパによって使用され得る。例えば、所定のフィールドは、データをコホートファイル及びセンサスファイルに記憶するときに圧縮され得る。
【0126】
RAGT統計量に対して圧縮を実施するプロセス1200が
図12Aに示されているが、プロセス1200は、RAGT統計量の圧縮に限定されないことが理解されよう。例えば、プロセス1200は、gVCFファイルの他のフィールド内のデータを圧縮するために使用され得る。プロセス1200は、コホートファイル内のデータを圧縮するものとして
図12Aを参照して示され、記載されているが、同様のプロセスがセンサスファイル内のデータを圧縮するために実装され得ることも理解されよう。プロセス1200は、配列決定データを圧縮するために実装されるものとして示され、記載されているが、プロセス1200は、配列決定データの圧縮に限定されないことが更に理解されよう。代わりに、プロセス1200は、他のタイプのデータを圧縮するために使用され得る。
【0127】
図12Bは、コホート及び/又はセンサスデータを圧縮フォーマットで符号化するために、1つ以上のコンピューティングデバイス(例えば、
図1に示されるサーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114などの)によって実装され得る例示的なプロセス1250を示す。反復プロセス1250又はその一部分は、バリアントデータをセンサスファイル、コホートファイル、及び/又はmsVCFファイルに効率的に記憶するために実施され得る。プロセス1250又はその一部分は、反復gVCFジェノタイパによって実装され、1つ以上のコンピューティングデバイスの1つ以上のプロセッサ上で実行され得る。プロセス1250又はその一部分は、単一のコンピューティングデバイスで実施されてもよく、又は複数のコンピューティングデバイス(例えば、複数のサーバ、配列決定デバイス、及び/又はクライアントコンピューティングデバイス)にわたって分散されてもよい。プロセス1250又はその一部分は、バリアント解析中にコンピューティングデバイスによって使用される処理リソース及び/又はストレージ空間(例えば、メモリ)の量を低減し得る。
【0128】
例示的なプロセス1250は、反復gVCFジェノタイパが、圧縮されるためのコホートファイル及び/又はセンサスファイルを生成した後に開始してもよい。本明細書に更に記載されるように、コホートファイル及びセンサスファイル内のフィールドは、各々、gVCFファイル内に含まれるフィールドのサブセットを含むことができる。フィールドの各々は、gVCFファイルのバッチに関連付けられるゲノムバリアントデータ及び/又は他の遺伝子型データを含むことができる。
図12Bに提供される例では、圧縮プロセス1250は、センサスファイル1252内のRAGTフィールドについての対立遺伝子データを圧縮するために提供される。しかしながら、同様のタイプの圧縮が、対応するコホートファイル及び/若しくはセンサスファイルのフィールドごとに、コホートデータ並びに/又はセンサスデータに対して実施されてもよく、本明細書の他の箇所に更に記載されるであろう。
【0129】
例示的なプロセス1250に記載されるように、反復gVCFジェノタイパは、データがビットアレイ1268に圧縮され得るように、センサスファイルの1つ以上のフィールド内のデータを符号化することができる。本明細書に記載されるように、センサスファイル内の各フィールドは、このフィールドについての一連の一意の値又はメトリックを含むことができ、この後には、一意の値若しくはメトリックを含むgVCFファイル又はサンプルのサンプルカウントが各々続く。
図12Bに示されるように、センサスファイル1252内のRAGTフィールドは、センサスファイルが生成されたサンプルのバッチ内で以前に識別された一連の一意の値又はメトリック1254(例えば、
図12Bに示される対立遺伝子などの)を含むことができる。一意の値又はメトリック1254は、例えば、バリアントデータに関連付けられたサンプルの各々についての参照対立遺伝子、代替対立遺伝子、及び/又は遺伝子型などの、RAGT統計量における1つ以上のフィールドに関連し得る。各一意の値又はメトリック1254の後には、1つ以上のサンプル又はgVCFファイル1252のうちのいくつが先行する一意の値又はメトリック1254を有するか、を示すサンプルカウント1256が続き得る。
【0130】
反復gVCFジェノタイパは、一意の値1254及びサンプルカウント1256が一連のビットとして表され得るように、ビットマップ1258を使用してRAGTフィールド内のデータを符号化することができる。ビットマップ1258を生成するために、反復gVCFジェノタイパは、センサスファイルのRAGTフィールド内の一意の値又はメトリック1254の総数を識別することができる。反復gVCFジェノタイパは、一意の値又はメトリック1254の総数を表すために実装され得るビット1266の数のバイナリ値長さを識別することができる。反復gVCFジェノタイパは、センサスファイル1252のRAGTフィールド内の一意の値(例えば、一意の対立遺伝子)を表すために実装され得る最低数のビットを識別することができる。3ビットのビット配列は、RAGTフィールド内の一意の値を表すために実装され得る最小数のビットであるため、ビット1266は、3ビット配列に設定され得る。ビット1266の数についての別のバイナリ値長さは、他の数の一意の値又はメトリックを表すために実装され得ることが理解されるべきである。
【0131】
RAGTフィールドに関して、反復gVCFジェノタイパは、複数個のgVCFファイルにおけるRAGT統計量を使用して、対立遺伝子のサンプルカウントを識別することができる。例えば、2つのサンプルが共通の(例えば、同じ)参照対立遺伝子及び代替対立遺伝子を有することが見出されたとき、その対立遺伝子(例えば、対立遺伝子群)についてのサンプルカウントは、サンプルカウント1256に列挙され得る。対立遺伝子群は、サンプルカウント1256において表される対立遺伝子群のリストに集約され得る。反復gVCFジェノタイパは、対立遺伝子群(例えば、値)の数に基づいてビット1266の数を決定することができる。例えば、反復gVCFジェノタイパは、対立遺伝子/対立遺伝子群の数に基づいてバイナリ値長さを選択してもよい。
【0132】
ビットマップ1258は、一意の値又はメトリック1254、及び一意の値若しくはメトリック1254を有するサンプル又はgVCFファイル1256のサンプルカウントを含むことができる。値又はメトリック1254の各々、及びサンプル又はgVCFファイル1256のサンプルカウントは、それに対応する代表的なビット1266としてビットマップ1258内の同じ行に列挙され得る。ビットマップ1258では、ビット1266は、ビットマップ1258内の各行でインクリメントされるが、他の実装形態が理解されるべきである。整数値1264は、各行におけるビット1266の整数値を識別する。
【0133】
反復gVCFジェノタイパは、一意の割り当てられたバイナリ値(例えば、一意の値又はマトリクス(metrices)1254)を集約することによって、複数個のgVCFファイルについてのビットアレイ1268を生成することができる。ビットマップ1258は、センサスファイル1252のRAGTフィールド内のデータをビットアレイ1268に符号化するために、及びビットアレイ1268を復号化してセンサスファイル1252のRAGTフィールド内のデータを生成するために、反復gVCFジェノタイパによって使用され得る。反復gVCFジェノタイパは、複数個のgVCFファイル内の関連付けられたサンプルの順序に基づいてビットアレイ1268を符号化することができる。例えば、反復gVCFジェノタイパは、対立遺伝子/対立遺伝子群1254のサンプルカウント1256を数値順に表す一連の3ビット配列を含むビット配列を生成してもよい。
図12Bに示されるように、ビットアレイ1268は、対立遺伝子1(例えば、TACAC:TAC,T,.:1/2)についてのサンプルカウント1256を表すビット1266から開始することができる。反復gVCFジェノタイパは、対立遺伝子2(例えばTACACAC:T,TACAC,.:12)などについてのサンプルカウント1256を表すビット1266を付け加えることができる。反復gVCFジェノタイパは、ビットアレイ1268を記憶することができる。
【0134】
ビットマップは一意のメトリック値及びサンプル識別子の数に依存し得るため、ビットマップ1258はレコード当たり及びメトリックフィールド当たりで生成され得る。センサスファイルでは、ビットマップは、サンプルカウントを符号化することができる。GQフィールド、値10を有する25個のサンプル、及び値20を有する36個のサンプルを使用する例では、ビットマップは、値文字列「10,20」の順序でアレイ[25,36]を符号化することができる。
【0135】
図12Bに示される例では、プロセス1250は、211バイトの入力を6バイトの出力に圧縮することができる。例示的なプロセス1250は、これらの7つの値を表すために3ビット(例えば、000から110まで)を使用して圧縮することができる7つの一意の値を有するフィールド(例えば、RAGT)のためのメトリックを圧縮する例を示す。ビットの数は、圧縮する一意の値の数、例えば、2個の一意の値=1ビット、256個の一の値=8ビットに依存して変化する。そのため、圧縮は、レコードからレコードへ、メトリックからメトリックへ変動し得る。圧縮されるデータは、コホートとセンサスとの間で異なり得る。例示的なプロセス1250は、本明細書に記載されるgVCFファイル内の1つ以上の所定のフィールドを圧縮するために、反復gVCFジェノタイパによって使用され得る。例えば、所定のフィールドは、データをコホートファイル及びセンサスファイルに記憶するときに圧縮され得る。
【0136】
図13は、コホート及び/又はセンサスデータの圧縮を実行するために、1つ以上のコンピューティングデバイス(例えば、
図1に示されるサーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114などの)によって実装され得る例示的な方法1300を示すフロー図である。方法1300又はその一部分は、ゲノムバリアントデータ及び/又は他のゲノムデータをセンサスファイル、コホートファイル、及び/又はmsVCFファイルに効率的に記憶するために、反復gVCFジェノタイパによって実施され得る。方法1300又はその一部分は、単一のコンピューティングデバイスで実施されてもよく、又は複数のコンピューティングデバイス(例えば、複数のサーバ、配列決定デバイス、及び/又はクライアントコンピューティングデバイス)にわたって分散されてもよい。方法1300又はその一部分は、バリアント解析中にコンピューティングデバイスによって使用される処理リソース及び/又はストレージ空間(例えば、メモリ)の量を低減し得る。
【0137】
図13に示されるように、反復gVCFジェノタイパは、1302において、圧縮されるためのコホートファイル及び/又はセンサスファイル内のフィールドを識別することができる。コホートファイル及び/又はセンサスファイル内のフィールドは、各々、gVCFファイル内に含まれるフィールドのサブセットを含むことができる。フィールドの各々は、gVCFファイルのバッチに関連付けられるゲノムバリアントデータ及び/又は他の遺伝子型データを含むことができる。フィールドはテキストフィールドとしてフォーマット化され得る。本明細書に記載されるように、コホートファイル内の各フィールドは、このフィールドについての一連の一意の値又はメトリックを含むことができ、この後には、一意の値若しくはメトリックを含むgVCFファイル又はサンプルの整数アレイが各々続く。また、本明細書に記載されるように、センサスファイル内の各フィールドは、このフィールドについての一連の一意の値又はメトリックを含むことができ、この後には、センサスファイルによって表されるサンプルのバッチ内の一意の値又はメトリックを有するサンプルの数についてのサンプルカウントが各々続く。
【0138】
1304において、反復gVCFジェノタイパは、識別されたフィールドについてのコホートデータ又はセンサスデータを符号化するためのビットマップを生成することができる。ビットマップを生成するために、反復gVCFジェノタイパは、フィールド内の一意の値又はメトリックの総数を識別することができる。反復gVCFジェノタイパは、コホートファイル若しくはセンサスファイルのフィールド内の一意の値又はメトリックの総数を表すために実装され得るビットの数についてのバイナリ値長さを識別することができる。例えば、反復gVCFジェノタイパは、ビットマップ内のコホートファイル又はセンサスファイルのフィールド内の一意の値又はメトリックの総数を表すために実装され得る最低数のビットを識別及び選択することができる。
【0139】
コホートファイルについては、ビットマップは、フィールドについての一意の値又はメトリック、及び一意の値若しくはメトリックを有するサンプル又はgVCFファイルの対応する識別子を含むことができる。センサスファイルについては、ビットマップは、フィールドについての一意の値又はメトリック、及びセンサスファイルによって表されるサンプルのバッチ内の一意の値又はメトリックを有するサンプルの数についての対応するサンプルカウントを含むことができる。値又はメトリックの各々は、それに対応する代表的なビットとしてビットマップ内の同じ行に列挙され得る。
【0140】
1306において、反復gVCFジェノタイパは、ビットマップを使用して、ビットアレイ内の識別されたフィールドについてのコホートデータ又はセンサスデータを符号化することができる。ビットマップは、コホートファイル又はセンサスファイルのフィールド内のデータをビットアレイに符号化するために、反復gVCFジェノタイパによって使用され得る。反復gVCFジェノタイパは、一意の値又はメトリックを表すビットがサンプル又はgVCF識別子によって昇順に符号化されるように、複数個のgVCFファイル内の関連付けられたサンプルの順序に基づいてコホートデータについてのビットアレイを符号化することができる。センサスファイル内のセンサスデータは、各フィールドのメトリック値に基づいて順序付けられ得る。メトリックAについては、値がv1,v2,v3であり、カウントc1,c2,c3である場合、カウント[c1,c2,c3]はビット圧縮され、ビットの数はc1,c2,c3のうちの最大値に依存する。
【0141】
1308において、反復gVCFジェノタイパは、コホートファイル又はセンサスファイル内の追加のフィールドが圧縮されるべきかどうか、又は追加のコホートファイル又はセンサスファイルが圧縮されるべきかどうかを決定することができる。圧縮するための追加のフィールド又はファイルがある場合、方法1300は、1304に戻ることができる。圧縮するための追加のフィールド又はファイルがない場合、方法1300は、終了することができる。
【0142】
圧縮されたコホートデータ及び圧縮されたセンサスデータは、
図14に示されるように、更に圧縮及びシリアル化され得る。
図14は、データシリアル化及び圧縮のために、1つ以上のコンピューティングデバイス(例えば、
図1に示されるサーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114などの)によって実装され得る例示的なプロセス1400を示す。プロセス1400又はその一部分は、反復gVCFジェノタイパによって実行され得る。例示的なプロセス1400では、コホートデータ及びセンサスデータは、ビット圧縮を使用してバイナリデータにシリアル化されてもよく、データが(領域情報と一緒に)、ゲノム領域照会を可能にする、bgzip圧縮アルゴリズムを使用して圧縮され得、tabixアルゴリズムによってインデックス付けされ得るように、asciiデータに更に符号化されてもよい。bgzip及びtabixは、HTSlibに実装された公開アルゴリズムである。プロセス1400又はその一部分は、ゲノムバリアントデータ及び/又は他の遺伝子型データをセンサスファイル、コホートファイル、及び/又はmsVCFファイルに効率的に記憶するために実行され得る。プロセス1400又はその一部分は、単一のコンピューティングデバイスで実施されてもよく、又は複数のコンピューティングデバイス(例えば、複数のサーバ、配列決定デバイス、及び/又はクライアントコンピューティングデバイス)にわたって分散されてもよい。プロセス1400又はその一部分は、バリアント解析中にコンピューティングデバイスによって使用される処理リソース及び/又はストレージ空間(例えば、メモリ)の量を低減し得る。
【0143】
プロセス1400は、バイナリデータ圧縮スキーム(例えば、
図12に示されるプロセス1200などの)を使用して、gVCFデータをビットの単位のバイナリデータに(asciiでシリアル化されたデータの代わりに)直接符号化することができる。プロセス1400は、例えば、圧縮及び/又は照会効率を更に改善するために、代替的な圧縮アルゴリズム(例えば、bgzipの代わりにIz4)及びカスタマイズされたインデックス付けアルゴリズム(例えば、tabixの代わりに)を実装することができる。追加的に又は代替的に、例示的なプロセス1400は、1つ以上の他の圧縮方法を組み込むことができる。
【0144】
コホートデータ1410(例えば、1つ以上のコホートファイル内の)は、反復gVCFジェノタイパにおいて受信され得る。センサスデータ1412(例えば、1つ以上のセンサスファイル及び/又はグローバルセンサスファイル内の)は、反復gVCFジェノタイパにおいて受信され得る。コホートデータ及び/又はセンサスデータは、領域によって分離され得る。ビット圧縮をコホート及びセンサスデータに対して実施して、圧縮ファイル1414を生成することができる。例えば、コホート及びセンサスデータは、ビット配列(例えば、バイナリビット配列)を使用して表されてもよい(例えば、
図12に示されるプロセス1200と同様のプロセスを使用して)。フィールド値を含むコホート又はセンサスファイルヘッダは、シリアル化されたデータファイル1416内でシリアル化され得る。フィールド値を含むコホート又はセンサスファイルヘッダの後には、コホートファイル及びセンサスファイル内のフィールドごとのシリアル化されたデータが続き得る。ヘッダ及び/又はデータ値は、1つ以上のフィールドセパレータ(例えば、key?val&、key?vall、val2,...&...、及び/又はkey?skeyl:svall、skey2:sval2、...&...などの)を使用してシリアル化され得る。
【0145】
コホートデータ及びセンサスデータは、本明細書に記載されるように、異なって符号化され得る(例えば、サンプル識別子リスト又はサンプルカウントを用いて)。符号化されたコホートファイル及びセンサスファイルの両方は、値リスト(例えば、vail l、vall2...)の別個のコピーを記憶する。各ファイルに記憶されたメトリックをシリアル化するために、各レコードにおいてファイル名を繰り返すことを回避するために、コホートヘッダ及びセンサスヘッダにおいてそれぞれ定義されたファイル名の順序を取る。例えば、フィールド1(例えば、メトリック値v11、v12、v13、及びビット配列b1を有する)、フィールド2(例えば、メトリック値v21、ビット配列b2を有する)、フィールド3(例えば、メトリック値v31、v32、及びビット配列b3を有する)など、メトリックの各々のデータは一緒にシリアル化され、シリアル化されたデータは、v11&v12&v13?b1;v21&b2;v31&v32?b3.文字「&」、「?」であり得、他の文字がVCFファイル内のメトリック値に使用され得るため、フィールドを区切るために使用され得る。
【0146】
各レコードのこのシリアル化されたデータは、コホートファイル及びセンサスファイル内の各行の列に記憶され得る。各ファイルはまた、レコードの染色体名、開始位置、及び終了位置を含む別個の列を含み得る。これらの列は、ブラウザ拡張可能なデータ(browser extensible data、BED)フォーマットによって実装され得る。コホートレコードデータ及びセンサスレコードデータを記憶するために使用され得る、カスタマイズされたデータのための追加の列が含まれ得る。コホートファイル及びセンサスファイルの行の各々は、更に圧縮され得る。例えば、コホートファイル及びセンサスファイルの行の各々は、公開bgzipアルゴリズムを使用してブロック(例えば、64キロバイトブロック)で更に圧縮され得る。圧縮されたブロックは、インデックス付けアルゴリズムを使用してゲノム領域によってインデックス付けされ得る。例示的なインデックス付けアルゴリズムは、公開tabixアルゴリズムであり得る。
【0147】
反復gVCFジェノタイパは、シリアル化されたデータのバイトを有するBEDフォーマットでシリアル化されたデータファイル1418を生成することができる。BEDフォーマットは、ゲノム領域を座標及び関連付けられた注釈として記憶するために使用されるテキストファイルフォーマットであり得る。1420において、ビット圧縮及びシリアル化されたコホート並びにセンサスハッシュマップデータは、データが(領域情報と一緒に)bgzip圧縮アルゴリズムを使用して圧縮され得、tabixアルゴリズムによってインデックス付けされ得るように、asciiデータに更に符号化され得る。プロセス1400(例えば、bgzip圧縮アルゴリズム及びtabixアルゴリズム)は、ゲノム領域照会を可能にし得る。
【0148】
図15は、データシリアル化及び圧縮のために、1つ以上のコンピューティングデバイス(例えば、
図1に示されるサーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114などの)によって実装され得る別の例示的なプロセス1500を示す。プロセス1500又はその一部分は、反復gVCFジェノタイパによって実施され、1つ以上のコンピューティングデバイス内のプロセッサによって実行され得る。例示的なプロセス1500では、コホートデータ及びセンサスデータは、ビット圧縮を使用してバイナリデータにシリアル化され、データが(領域情報と一緒に)、ゲノム領域照会を可能にし得る、bgzip圧縮アルゴリズムを使用して圧縮され得、tabixアルゴリズムによってインデックス付けされ得るように、asciiデータに更に符号化されてもよい。bgzip及びtabixは、HTSlibに実装された公開アルゴリズムである。プロセス1500又はその一部分は、バリアントデータをセンサスファイル、コホートファイル、及び/又はmsVCFファイルにより効率的に記憶するために実施され得る。プロセス1500又はその一部分は、単一のコンピューティングデバイスで実施されてもよく、又は複数のコンピューティングデバイス(例えば、複数のサーバ、配列決定デバイス、及び/又はクライアントコンピューティングデバイス)にわたって分散されてもよい。プロセス1500又はその一部分は、バリアント解析中にコンピューティングデバイスによって使用される処理リソース及び/又はストレージ空間(例えば、メモリ)の量を低減し得る。
【0149】
例示的なプロセス1500では、コホート及びセンサスは、ビットアレイ(例えば、16進数表現)に組み合わされ得る。例示的なプロセス1500は、JSONリスト及び数のビット/16進数表現を含むことができる。例示的なプロセス1500は、メトリックの追加及び除去をサポートすることができる。例示的なプロセス1500は、汎用メトリック(文字列、数)をサポートすることができる。例示的なプロセス1500は、ピリオド、カンマ、コロン、スラッシュなどを含む値をサポートすることができ、区切り文字が適切に選択されることを保証することができる。例示的なプロセス1500は、BGZF(例えば、BGZFブロック)及びtabix(例えば、tabixインデックス)と互換性があり得る。
【0150】
反復gVCFジェノタイパは、1つ以上のコホートファイル内のコホートデータ1510を受信することができる。反復gVCFジェノタイパは、1つ以上のセンサスファイル及び/又はグローバルセンサスファイル内のセンサスデータ1512を受信することができる。コホートデータ及び/又はセンサスデータは、コホート及び/若しくはセンサスファイル内の位置又はブロックによって分離され得る。ビット圧縮は、1514において、コホート及びセンサスデータに対して実施され得る。例えば、コホート及びセンサスデータは、ビットアレイ(例えば、バイナリビットアレイ)を使用して表されてもよい(例えば、
図12に示されるプロセス1200を使用して)。コホート又はセンサスファイルヘッダ内の1つ以上のヘッダ及び/又は英数字値は、1516においてシリアル化され得る。ヘッダ及び/又は英数字値は、1つ以上のフィールドセパレータ(例えば、key?val&、key?va11、va12、....&...、及び/又はkey?skey1:sval1、skey2:sval2、...&...などの)を使用してシリアル化され得る。1518において、バイトバッファが生成され得る。バイトバッファは、コホート及び/又はセンサスデータを含むことができる。1520において、ビット圧縮及びシリアル化されたコホート並びにセンサスデータは、データが(領域情報と一緒に)bgzip圧縮アルゴリズムを使用して圧縮され得、tabixアルゴリズムによってインデックス付けされ得るように、asciiデータに更に符号化され得る。プロセス1500(例えば、bgzip圧縮アルゴリズム及びtabixアルゴリズム)は、ゲノム領域照会を可能にし得る。
【0151】
本明細書に記載されるデータ圧縮及び他のメモリ保存技法を実施することに加えて、又はその代わりに、本明細書に記載されるファイル内のデータは、重複データのためのメモリ位置を保存する様式でメモリに記憶され得る。例えば、コホートファイル及びセンサスファイル内のバリアントデータは、重複データを含むことができる。重複データは、ゲノム領域の重複を指し得る(例えば、重複バリアント及び/又はhom-refブロック)。一例では、chr20:1000~2000についての第1のレコード及びchr20:1500~2500についての第2のレコードは、chr20:1500~2000において重複を有し得る。これらのレコードが集約されると、第3のレコードが3つの領域:chr20:1000~1499、chr20:1500~2000、chr:2001~2500について生成され得る。第1及び第3の領域内のコホートデータ又はセンサスデータは、元の第1のレコード及び元の第2のレコードからコピーされてもよく、一方、第2の領域からのデータは、第1のレコード及び第2のレコードの両方から更新されてもよい。バリアントデータは、ゲノム領域を表すレコードを含むゲノムバリアントコールファイルに受信され得る。バリアントデータは、異なるレコードの重複領域を活用することによってバリアントデータのストレージを改善するメモリ位置に記憶され得る。
【0152】
図16は、重複するゲノム領域を用いたバッファ集約を利用してレコードを追加、コピー、及び/又は更新するために、1つ以上のコンピューティングデバイス(例えば、
図1に示されるサーバデバイス102、クライアントデバイス108、及び/又は配列決定デバイス114などの)によって実装され得る例示的なプロセス1600を示す。例えば、例示的なプロセス1600又はその一部分は、反復gVCFジェノタイパによって実施され、1つ以上のコンピューティングデバイス内のプロセッサによって実行され得る。方法1600は、gVCFファイルをコホートファイルに集約し、及び/又はセンサスファイルをグローバルセンサスファイルに集約するために実装され得る。プロセス1600又はその一部分は、ゲノムバリアントデータをセンサスファイル、コホートファイル、及び/又はmsVCFファイルに効率的に記憶するために実施され得る。
【0153】
例示的なプロセス1600は、反復gVCFジェノタイパが1つ以上のレコードを受信したときに始めることができる。レコードは、1つ以上の入力gVCFファイル又は1つ以上の入力センサスファイルから受信され得る。レコードの各々は、異なるゲノム領域を表すゲノムバリアントデータを含むことができる。
【0154】
バッファ1602は、レコード内のデータを利用可能なバッファ位置の各々に記憶するための一定数のバッファ位置(buffer positions、bps)を含む出力バッファであり得る。反復gVCFジェノタイパは、バッファ1602に記憶されるためのゲノムバリアントデータを含む第1のセットのレコードを受信することができる。第1のセットのレコードは、レコード1、レコード2、レコード3、及びレコード4を含むことができる。各レコードは、ゲノムバリアントデータ内のゲノム領域を記憶するために利用され得るバッファ位置の数を示し得る。
図16に示される例では、レコード1のゲノムバリアントデータは3つのバッファ位置を占有してもよく、レコード2のゲノムバリアントデータは1つのバッファ位置を占有してもよく、レコード3のゲノムバリアントデータは2つのバッファ位置を占有してもよく、レコード4のゲノムバリアントデータは5つのバッファ位置を占有してもよい。
【0155】
反復gVCFジェノタイパは、受信されたレコード(例えば、レコード1~4)の各々を解析し、かつバッファ1602を解析して、バッファ1602へのストレージを可能にするために各レコードに対して実施される動作を決定することができる。例えば、反復gVCFジェノタイパは、受信されたレコード及びバッファ1602を解析して、受信されたレコード内に任意のゲノム領域があるかどうかと、バッファ1602に記憶された以前に受信されたゲノムバリアントデータと重複することと、を決定することができる。反復gVCFジェノタイパが、レコード内又はレコードの1つ以上の部分内のゲノム領域がバッファ1602に現在記憶されているデータと重複しないと決定した場合、反復gVCFジェノタイパは、レコード、又は以前に記憶されたデータと重複しないこれらの部分をバッファに追加する動作を実施することができる(例えば、各レコード内の動作「A」によって示される)。ここで、バッファ1602内のバッファ位置の各々はオープンであり、その中に記憶された任意のデータを有していないため、レコード1~4のうちのいずれか又はそれらの一部分が重複し得る以前に記憶されたレコードはなく、反復gVCFジェノタイパは、レコード1~4の各々をバッファ1602に追加することができる。反復gVCFジェノタイパは、非重複隣接レコード間に少なくとも1つの空のバッファ位置を有するバッファ1602に、レコード1~4の各々についてのゲノムバリアントデータを記憶することができる。レコードは、重複データがないときに空の塩基対(例えば、ゲノム位置)で分離され得る。レコード1~4をバッファ1602に記憶した後、反復gVCFジェノタイパは、バッファ1602に記憶されるレコードの第2のセットを受信することができる。第2のセットのレコードは、レコード5、レコード6、レコード7、及びレコード8を含むことができる。この場合も、各レコードは、ゲノムバリアントデータ内のゲノム領域を記憶するために利用され得るバッファ位置の数を示し得る。レコードの第1のバッチは、バッファ1602の下のレコード1、レコード2、レコード3、及びレコード4の範囲に示されているように、重複データを有していないため、レコードの第1のバッチは、
図16に示されるように、空の塩基対(例えば、ゲノム位置)で分離され得る。レコードの第1のバッチのいくつかの位置に重複があった場合、レコードは、レコード5~8に示される重複と同様に記憶され得る。
【0156】
反復gVCFジェノタイパは、受信されたレコード(例えば、レコード5~8)の各々を解析し、バッファ1602を解析して、バッファ1602へのストレージを可能にするために各レコードに対して実施される動作を決定することができる。レコードの一部分におけるゲノム領域が、バッファ1602に以前に記憶されたレコードと重複しない場合、反復gVCFジェノタイパは、ゲノム領域を含むゲノムバリアントデータをそれぞれのバッファ位置におけるバッファ1602に追加することができる。レコード内のゲノムバリアントデータの少なくとも一部分内のゲノム領域が、バッファ1602内の以前に記憶されたレコード内のゲノムデータのゲノム領域と完全に重複する場合、バッファ1602内の重複バッファ位置は、更新されたレコードの重複部分を含むように更新され得る。レコード内のゲノムバリアントデータの少なくとも一部分内のゲノム領域が、バッファ1602内の以前に記憶されたレコード内のゲノムデータのゲノム領域と部分的に重複する場合、バッファ内の重複バッファ位置を更新することができ、レコードの非重複部分をコピーし、重複部分とともに記憶して、以前のレコードに記憶されたゲノムバリアントデータを維持することができる。
【0157】
例えば、
図6に示されるように、レコード5は、以前に記憶されたレコード1全体と重複する3つのバッファ位置を占有し得るゲノムバリアントデータの一部分を含むことができる。レコード5内のゲノムバリアントデータの一部分は、レコード1のゲノムバリアントデータ内のゲノム領域と重複するゲノム領域を含むことができる。そのため、反復gVCFジェノタイパは、レコード5のゲノムバリアントデータ内のゲノム領域が、バッファ位置1602bでレコード1について以前に記憶されたゲノム領域と完全に重複することを識別することができ、バッファ位置1602bは、レコード5内のデータで更新することができる(例えば、レコード内の動作「U」によって示される)。レコード5は、バッファ1602内の他のゲノムバリアントデータと重複しないゲノム領域を含むゲノムバリアントデータの追加部分を含むため、ゲノムバリアントデータは、更新されたバッファ位置1602bとの連続するバッファ位置であり得るバッファ位置1602aに追加され得る。例えば、更新されたバッファ位置1602bのうちの1つ以上は、バッファ位置1602aに隣接し得る。レコード6を処理すると、反復gVCFジェノタイパはまた、レコード6内のゲノムバリアントデータが、バッファ位置1602cでレコード2について以前に記憶されたゲノムバリアントデータと完全に重複することを識別することができ、バッファ位置1602cは、レコード6内のデータで更新することができる。
【0158】
反復gVCFジェノタイパは、レコード7を処理し、レコード7内のゲノムバリアントデータの一部分が、以前に記憶されたレコード3内のゲノムバリアントデータの一部分と重複することを識別することができる。以前に記憶されたレコード3の一部分が維持されるため、反復gVCFジェノタイパは、レコード3についてのゲノムバリアントデータの一部分をコピーし、レコード3についてのゲノムバリアントデータの一部分を更新することができる(例えば、レコード内の動作「C,U」によって示される)。レコード3についてバッファ位置1602eに以前に記憶されたゲノムバリアントデータは、レコード7内のデータで更新され得る。以前に記憶されたレコード3のそれの非重複部分は、2つのレコードについての重複ゲノムバリアントデータを含むバッファ位置1602eとの連続するバッファ位置であるバッファ位置1602dにコピー及び維持され得る。レコード7もレコードの非重複部分を含むため、レコード7の非重複部分はバッファ位置1602fに追加され得る。
【0159】
反復gVCFジェノタイパは、レコード8を処理し、レコード8内のゲノムバリアントデータが、以前に記憶されたレコード4内のゲノムバリアントデータの一部分と重複することを識別することができる。以前に記憶されたレコード4の一部分が維持されるため、反復gVCFジェノタイパは、レコード4についてのゲノムバリアントデータの一部分をコピーし、レコード4についてのゲノムバリアントデータの一部分を更新することができる(例えば、レコード内の動作「C,U」によって示される)。レコード4についてバッファ位置1602gに以前に記憶されたゲノムバリアントデータは、レコード7におけるゲノムバリアントデータで更新され得る。以前に記憶されたレコード4のそれの非重複部分は、2つのレコードについての重複ゲノムバリアントデータを含むバッファ位置1602gとの連続するバッファ位置であり得るバッファ位置1602hにコピー及び維持され得る。
図16に示される例示的なプロセス1600は、20個のバッファ場所を有する出力バッファを使用するが、出力バッファは、20個のバッファ場所を有することに限定されないことが理解されよう。代わりに、出力バッファは、任意の数のバッファ場所を有することができる。
【0160】
特徴、要素、及び機能が特定の組み合わせで上述されているが、特徴、要素、又は機能は、単独で、又は他の特徴、要素、又は機能との任意の組み合わせで使用される。以下の特許請求の範囲によって包含されることも意図される、様々な現在予見されていない若しくは予期せぬ代替形態、修正形態、変形形態、又は改善形態がその後行われてもよい。
【0161】
本明細書に記載される方法は、コンピュータ若しくはプロセッサによる実行のためにコンピュータ可読媒体に組み込まれたコンピュータプログラム、ソフトウェア、又はファームウェアに実装される。コンピュータ可読媒体の例としては、電子信号(有線又は無線接続によって送信される)及びコンピュータ可読ストレージ媒体が挙げられる。コンピュータ可読ストレージ媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(random-access memory、RAM)、リムーバブルディスク、並びにCD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)などの光媒体が挙げられるが、これらに限定されない。
【符号の説明】
【0162】
100 システム環境
102 サーバデバイス
104 配列決定システム
108 クライアントデバイス
110 配列決定アプリケーション
112 ネットワーク
114 配列決定デバイス
116 データベース
200 コンピューティングデバイス
202 プロセッサ
204 メモリ
206 ストレージ
208 I/Oインターフェース
210 通信インターフェース
212 通信インフラストラクチャ
【国際調査報告】