(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-28
(54)【発明の名称】共有メモリベースの遺伝子解析方法、装置、およびコンピュータデバイス
(51)【国際特許分類】
G16B 30/00 20190101AFI20230320BHJP
【FI】
G16B30/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021578272
(86)(22)【出願日】2020-11-06
(85)【翻訳文提出日】2022-02-17
(86)【国際出願番号】 CN2020127072
(87)【国際公開番号】W WO2022082878
(87)【国際公開日】2022-04-28
(31)【優先権主張番号】202011139824.9
(32)【優先日】2020-10-22
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】521553449
【氏名又は名称】ビージーアイ ゲノミクス カンパニー., リミテッド
(71)【出願人】
【識別番号】521552165
【氏名又は名称】ビージーアイ ヘルス(ホンコン)カンパニー リミテッド
(74)【代理人】
【識別番号】110001461
【氏名又は名称】弁理士法人きさ特許商標事務所
(72)【発明者】
【氏名】ヤン,ジャオブォ
(72)【発明者】
【氏名】ソン,チャオ
(72)【発明者】
【氏名】ユー,チュゥァン
(72)【発明者】
【氏名】ヂャン,ヨウジン
(72)【発明者】
【氏名】フェァ,ゾンチュェン
(72)【発明者】
【氏名】ワン,ジンアン
(57)【要約】
共有メモリベースの遺伝子解析方法、装置、およびコンピュータデバイス。本方法は、サンプルデータを読み取り、このサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定するステップと、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、遺伝子解析を完了するステップとを含む。この方法においては、遺伝子解析のためのインデックスを確立するために、共有メモリ機構が採用される。遺伝子解析プロセスに頻繁に使用されるライブラリファイルが遺伝子共有メモリにあるかどうかが判定される。ある場合は、ライブラリファイルを遺伝子共有メモリから取得でき、遺伝子共有メモリからサンプルデータに対して実施される解析プロセスに都合よくマッピングできる。本方法は、ライブラリファイルをハードディスクから読み込むための時間およびI/O占有を大きく減らすことができる。したがって、解析効率を向上できる。
【特許請求の範囲】
【請求項1】
共有メモリベースの遺伝子解析方法であって、
サンプルデータを読み取り、前記サンプルデータを前処理するステップと、
前記前処理されたサンプルデータに対して遺伝子解析を実施し、前記遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定するステップと、
前記必要なライブラリファイルがある場合は、前記必要なライブラリファイルを前記遺伝子共有メモリから取得し、前記必要なライブラリファイルを前記前処理されたサンプルデータの前記遺伝子解析のプロセスにマッピングし、対応する解析を完了するステップと、
を含むことを特徴とする共有メモリベースの遺伝子解析方法。
【請求項2】
前記必要なライブラリファイルが前記遺伝子共有メモリにない場合は、前記必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、
前記読み込み条件が満たされている場合は、前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むステップと、
を更に含むことを特徴とする、請求項1に記載の共有メモリベースの遺伝子解析方法。
【請求項3】
前記遺伝子解析に必要な前記ライブラリファイルが前記遺伝子共有メモリにない場合は、前記必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、前記読み込み条件が満たされている場合は、前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むステップは、
前記必要なライブラリファイルの情報と前記遺伝子共有メモリの情報とを取得するサブステップであって、前記必要なライブラリファイルの前記情報は、前記必要なライブラリファイルが必要とする空間と履歴読み込み要求の数とを含み、前記遺伝子共有メモリの前記情報は、前記遺伝子共有メモリの残りの空間を含む、サブステップと、
前記履歴読み込み要求の数が第1のプリセット数より大きく、且つ前記必要なライブラリファイルが必要とする前記空間が前記遺伝子共有メモリの前記残りの空間より小さい場合は、前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むサブステップと、
を含むことを特徴とする、請求項2に記載の共有メモリベースの遺伝子解析方法。
【請求項4】
前記必要なライブラリファイルの前記情報は、前記必要なライブラリファイルの読み込み要求頻度を更に含み、前記遺伝子共有メモリの前記情報は、全てのライブラリファイルの読み込み要求頻度を更に含み、前記必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、前記読み込み条件が満たされている場合に前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むステップは、
前記履歴読み込み要求の数が前記第1のプリセット数より大きく、且つ前記必要なライブラリファイルが必要とする前記空間が前記遺伝子共有メモリの前記残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、前記必要なライブラリファイルの前記読み込み要求頻度と前記全てのライブラリファイルの前記読み込み要求頻度とに応じて、前記必要なライブラリファイルと前記全てのライブラリファイルとを優先度順にランク付けするサブステップと、
前記必要なライブラリファイルの前記読み込み要求頻度優先度が前記遺伝子共有メモリ内の一ライブラリファイルの前記読み込み要求頻度優先度より高く、且つ前記遺伝子共有メモリ内の読み込み要求頻度優先度がより低い前記ライブラリファイルの削除後の前記遺伝子共有メモリの前記残りの空間が、前記必要なライブラリファイルが必要とする前記空間以上である場合は、前記遺伝子共有メモリ内の前記読み込み要求頻度優先度がより低い前記ライブラリファイルを削除するサブステップと、
前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むサブステップと、
を更に含むことを特徴とする、請求項3に記載の共有メモリベースの遺伝子解析方法。
【請求項5】
前記遺伝子解析に使用されるライブラリファイルのために前記遺伝子共有メモリを設定し、前記遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、前記各ライブラリファイルのサイズオフセットとを設定するステップと、
前記遺伝子共有メモリのサイズと、前記収容可能なライブラリファイルの数と、前記各ライブラリファイルの名前と、前記各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルを前記遺伝子共有メモリに読み込むステップと、
を更に含むことを特徴とする、請求項1~4の何れか一項に記載の共有メモリベースの遺伝子解析方法。
【請求項6】
前記遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含み、本方法は、
前記前処理されたサンプルデータに対して前記アライメント解析と、前記変異解析と、前記アノテーション解析とを順次実施するステップであって、前記前処理されたサンプルデータが複数群のサンプルデータを含む場合は、前記複数群のサンプルデータが前記遺伝子解析の同じステップまたは複数の異なるステップで一度に解析される、ステップを更に含むことを特徴とする、請求項1に記載の共有メモリベースの遺伝子解析方法。
【請求項7】
前記遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、前記前処理されたサンプルデータに対して前記アライメント解析と、前記変異解析と、前記アノテーション解析とを順次実施した後、本方法は、
前記アライメント解析後の前記サンプルデータを位置タグで標識するステップと、前記標識されたサンプルデータに対して前記ソーティング解析と前記マーキング重複解析とをモジュールによって実施するステップと、
を更に含むことを特徴とする、請求項6に記載の共有メモリベースの遺伝子解析方法。
【請求項8】
前記遺伝子解析の一部または全てのステップをメモリの使用によって接続するステップ、
を更に含むことを特徴とする、請求項7に記載の共有メモリベースの遺伝子解析方法。
【請求項9】
前記サンプルデータを前処理するステップは、
前記サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含むことを特徴とする、請求項6~8の何れか一項に記載の共有メモリベースの遺伝子解析方法。
【請求項10】
共有メモリベースの遺伝子解析装置であって、
サンプルデータを読み取るように構成されたデータ読み取りモジュールと、
前記サンプルデータを前処理するように構成されたデータ前処理モジュールと、
前記前処理されたサンプルデータに対して遺伝子解析を実施し、前記遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、前記遺伝子解析に必要なライブラリファイルが前記遺伝子共有メモリにある場合は、前記必要なライブラリファイルを前記遺伝子共有メモリから取得し、前記必要なライブラリファイルを前記前処理されたサンプルデータの前記遺伝子解析のプロセスにマッピングし、対応する解析を完了するように構成された遺伝子解析モジュールと、
を備えることを特徴とする共有メモリベースの遺伝子解析装置。
【請求項11】
メモリと、プロセッサと、前記メモリに記憶された、前記プロセッサ上で実行可能なコンピュータプログラムとを備えたコンピュータデバイスであって、前記プロセッサは、前記コンピュータプログラムを実行すると、請求項1~9の何れか一項に記載の方法のステップを具現化することを特徴とするコンピュータデバイス。
【請求項12】
コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、プロセッサによって実行されると、請求項1~9の何れか一項に記載の方法のステップを具現化することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、中華人民共和国の特許事務所に2020年10月22日に提出された「共有メモリベースの遺伝子解析方法、装置、およびコンピュータデバイス」と題する中国特許出願公開第202011139824.9号の優先権を主張し、その全内容が引用により本願明細書に組み込まれるものとする。
【0002】
分野
本開示は、データ処理の技術分野に関し、特に共有メモリベースの遺伝子解析方法、装置、コンピュータデバイス、およびコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
ヒトゲノムプロジェクトの円滑な実施および配列決定技術の迅速な発展により、配列決定コストは著しく低下し、配列決定速度は著しく向上した。ヒトの全ゲノムの配列決定コストは1000米ドル未満に低下し、DNA配列データの量は指数関数的に増加した。如何にデータを素早く利用および表現するか、その後、遺伝子配列における潜在的な問題を解析および説明するか、更には人間にとって役立つ情報を大量データから発見するかは、解決すべき緊急課題となっている。ヒトの全ゲノム配列決定(WGS:whole genome sequencing)によって生成された配列データのますますの応用、および大量の配列データの迅速な解析および処理に対する継続的要求は、データ解析に対する新たな技術的ボトルネックを形成しており、第2世代配列決定技術の臨床応用を制限している。
【0004】
現在、生物情報学の分野には、第2世代配列決定のデータ解析のために多くの種類の方法およびツールが国際的に存在する。最も一般的に使用されているプロセスは、主に、データ入力、前処理操作、配列比較、アノテーション、バリアントコール、およびパスウェイ解析を含む。ただし、このプロセス全体をWGSに適用すると、極めて時間がかかる。加えて、入力されるサンプルは、サンプルのマージ、サンプルの分割、等々など、カスタマイズされたプロセスを複数必要とし、各プロセスは別個に実施される必要があるので、操作効率は低く、I/O消費は増加する。加えて、データ解析プロセスでは、解析および処理ステップ毎にインデックスファイルを別々に読み込む必要がある。複数のタスクが同じインデックスファイルを読み込むと、これらタスクはより多くのメモリを消費し、より多くの時間を取る。
【発明の概要】
【課題を解決するための手段】
【0005】
上記に鑑み、本開示は、従来技術のデータ解析プロセスにおいてインデックスファイルを繰り返し読み込むことによって引き起こされる、一部のパイプラインにおける入力サンプルのマージ、高いメモリ消費、および高い時間消費など、各プロセスの要求によって引き起こされる低い動作効率を解決するために、共有メモリベースの遺伝子解析方法、装置、コンピュータデバイス、およびコンピュータ可読記憶媒体を提供する。
【0006】
本開示の一部の実施形態は、共有メモリベースの遺伝子解析方法を提供する。本方法は、サンプルデータを読み取り、このサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定するステップと、必要なライブラリファイルがある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、対応する解析を完了するステップと、を含む。
【0007】
場合によっては、本方法は、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に含む。
【0008】
場合によっては、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するサブステップであって、必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含む、サブステップと、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を含む。
【0009】
場合によっては、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルの優先度より高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が、必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を含む。
【0010】
場合によっては、本方法は、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリを設定するステップと、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとを設定するステップと、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に含む。
【0011】
場合によっては、遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含み、本方法は、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するステップを更に含み、前処理されたサンプルデータが複数群のサンプルデータを含む場合は、複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップで一度に解析される。
【0012】
場合によっては、遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施した後、本方法は、アライメント解析後のサンプルデータを位置タグで標識するステップと、標識されたサンプルデータに対してソーティング解析とマーキング重複解析とをモジュールによって実施するステップとを更に含む。
【0013】
場合によっては、本方法は、メモリの使用によって遺伝子解析の一部または全てのステップを接続するステップを更に含む。
【0014】
場合によっては、サンプルデータを前処理するステップは、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含む。
【0015】
本開示の一部の実施形態は、遺伝子共有メモリベースの遺伝子解析装置を更に提供する。本装置は、サンプルデータを読み取るように構成されたデータ読み取りモジュールと、サンプルデータを前処理するように構成されたデータ前処理モジュールと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、対応する解析を完了するように構成された遺伝子解析モジュールとを備える。
【0016】
本開示の一部の実施形態は、メモリと、プロセッサと、メモリ上に記憶された、プロセッサ上で実行可能なコンピュータプログラムとを備えたコンピュータデバイスを更に提供する。このプロセッサは、サンプルデータを読み取り、このサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施するステップと、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、対応する解析を完了するステップと、を更に含む。
【0017】
本開示の一部の実施形態は、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体を更に提供する。このコンピュータプログラムは、プロセッサによって実行されると、サンプルデータを読み取り、このサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、対応する解析を完了するステップと、を実施する。
【0018】
遺伝子共有メモリベースの遺伝子解析方法、装置、コンピュータデバイス、およびコンピュータ可読媒体は、本開示の各実施形態において提供される。最初にサンプルデータが読み取られ、その後、このサンプルデータが前処理され、その後、この前処理されたサンプルデータに対して遺伝子解析が実施される。遺伝子解析においては、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定する必要がある。ある場合は、必要なライブラリファイルが遺伝子共有メモリから取得され、サンプルデータに対応する遺伝子解析にマッピングされ、対応する解析が完了する。遺伝子共有メモリベースの遺伝子解析方法においては、遺伝子共有メモリ機構は、(例えば、アライメント解析、バリアントコール解析、アノテーション解析、等々を含む)遺伝子解析のためのインデックスを確立するために使用され、その後、遺伝子解析に必要なデータベース内のファイル(すなわち、ライブラリファイル)を遺伝子共有メモリに記憶する。ライブラリファイルは、遺伝子共有メモリからサンプルデータに対して実施される遺伝子解析プロセスに好都合にマッピング可能である。一方では、ライブラリファイルをハードディスクから読み込むための時間およびI/O占有が大きく低減される。他方では、遺伝子解析プロセスにおける複数のプロセス間の通信が容易になり、ライブラリファイルの読み込みの繰り返しが回避される。
【0019】
本開示の複数の実施形態または従来技術における技術的解決策をより明確に説明するために、以下においては、各実施形態または従来技術の説明のために使用する必要がある図面について簡単に紹介する。以下に示す図面は、本開示の複数の実施形態に過ぎないことは明らかである。当業者にとっては、このような図面により、発明努力を一切必要としないという前提で、他の図面も取得し得る。
【図面の簡単な説明】
【0020】
【
図1】本開示の一部の実施形態による共有メモリベースの遺伝子解析方法の一適用環境の概略図である。
【
図2】本開示の一部の実施形態による共有メモリベースの遺伝子解析方法のフローチャートである。
【
図3】本開示の一部の実施形態による共有メモリの原理図を示す概略図である。
【
図4】本開示の一部の実施形態における共有メモリの構築方法のフローチャートである。
【
図5】本開示の一部の実施形態における共有メモリの構造図である。
【
図6】本開示の一部の実施形態による共有メモリベースの遺伝子解析方法のフローチャートである。
【
図7】本開示の一部の実施形態による方法Aを使用して遺伝子解析が実施されるときのCPU使用率およびI/O使用率を示す図である。
【
図8】本開示の一部の実施形態による方法Bを使用して遺伝子解析が実施されるときのCPU使用率およびI/O使用率を示す図である。
【
図9】本開示の一部の実施形態による方法Cを使用して遺伝子解析が実施されるときのCPU使用率およびI/O使用率を示す図である。
【
図10】本開示の一部の実施形態による共有メモリベースの遺伝子解析装置の構造図である。
【
図11】本開示の一部の実施形態によるコンピュータデバイスの構造図である。
【発明を実施するための形態】
【0021】
以下においては、本開示の複数の実施形態における技術的解決策を明確且つ完全に説明する。記載されている複数の実施形態は、本開示の全ての実施形態ではなく、複数の実施形態のうちの一部に過ぎないことは明らかである。本開示の各実施形態に基づき、発明努力なしに当業者が得た他の全ての実施形態は、本開示の保護範囲内に含まれるものとする。
【0022】
用語解説
【0023】
遺伝子(geneまたはMendelian factor)は、遺伝情報を担持するDNAまたはRNA配列を指し(すなわち、遺伝子は、遺伝学的影響を有するDNAまたはRNA断片であり)、遺伝因子としても公知であり、生物学的形質を制御する基本的な遺伝単位である。遺伝子は、タンパク質の合成を誘導することによって、したがって個々の生物の形質を制御することによって、それが担持している遺伝情報を発現させる。遺伝子配列決定は、さまざまな疾患を患う可能性、個々の挙動特性、および妥当な挙動を予測するように、血液または唾液から遺伝子の全配列を解析して判定する新しい種類の遺伝子検出技術である。
【0024】
リード:短い配列断片。これは、高スループットのシーケンサによって生成される配列決定データである。全ゲノムの配列決定によって数千万のリードが生成される。その後、これらのリードを一緒にスプライシングすることによって、ゲノムの全配列を取得できる。
【0025】
アライメント解析:NGSによって配列決定されたリードがFASTQファイルに記憶される。これらは、本来、規則配列されたゲノムから来ていたが、DNAライブラリの構築およびシーケンシング後、ファイル内の複数の異なるリード間の順序関係が失われている。したがって、FASTQファイル内の互いに隣接する2つのリード間には位置関係が存在しない。これらは、何れも、本来のゲノムにおける特定の位置からランダムに派生した短い配列である。したがって、必要であるのは、最初に多数の短い配列を正し、それらをその種のリファレンスゲノムと1つずつ比較し、各リードのリファレンスゲノム上の位置を見つけ、その後、それらを順序正しく配置することである。このプロセスは、配列決定データの比較と称される。
【0026】
ソーティング解析:BWA比較後、BAMファイルは何故順不同に出力されるのか?その理由は、FASTQファイル内のこれら順序立ったリードがゲノム上にランダムに分散されるからである。この比較の第1のステップは、FASTQファイル内のそれぞれの順番に応じて、これらリードを1つずつリファレンスゲノム上に位置付け、その後、それらをそのまま出力することである。このステップでは、それぞれの比較位置の順番を自動的に認識し、比較結果を再配置することは不可能である。したがって、比較後に得られた結果ファイル内のレコードの位置順は無秩序である。マーキング重複などの以降のステップのために、レコードを順番に並べ替える必要がある。これは、ソーティングが必要である理由である。
【0027】
マーキング重複:ソーティングの完了後、デデュプリケーションが実施される(すなわち、PCRの重複配列を除去する)。重複した配列とは何であるか?どのように重複が発生し、何故重複を除去する必要があるのか?それは、実験プロセスにおけるライブラリの構築およびシーケンシングに関連する。NGSシーケンシングの前に、シーケンシング用ライブラリを構築する必要がある。すなわち、物理的(超音波)中断によって、または化学的試薬の使用(酵素消化)によって、元のDNA配列を切断し、その後、PCR増幅およびコンピュータシーケンシングのために特定の長さ範囲において配列を選択する必要がある。したがって、ここで、重複した配列は、PCRプロセス中に実際に導入される。
【0028】
塩基クオリティスコアの修正:配列決定プロセスにおける系統的誤差を(できる限り)修正することである。その理由は、バリアントコールは、配列決定塩基クオリティスコアに大きく依存するステップであることによる。その理由は、このクオリティスコアは、我々が配列決定した塩基がどの程度正しいかを測定するために重要な(まさに唯一の)インジケータであることにある。直接は測定できないが、統計学的手法によって、極めて近い分散結果を得ることができる。母集団に見出される公知のバリエーションは、ある人においては同じになることが多い。したがって、我々は、比較および比較結果の分析を直接行え、公知の変異部位を全て排除でき、その後、(報告された)各クオリティスコアについて比較後、リファレンスゲノム上のものとは異なる塩基の数を算出できる。これら異なる塩基は誤塩基と見做され、それらの数の割合は、実際の塩基エラー率を反映しており、Phredスコアに変換される。この情報は、キャリブレーションテーブルファイルに出力され、本来のBAMファイル内の塩基クオリティスコアの再調整のために使用される。これら新しいクオリティスコアを使用して、新しいBAMファイルが出力される。
【0029】
バリアントコールおよび解析:バリアントコールおよび解析の目的は、各サンプル(ヒトなど)のゲノムにおける変異セット、すなわち、ヒトによって異なるDNA配列、を精確に検出することである。
【0030】
以下においては、本出願の目的、技術的解決策、および諸利点をより明確且つ明白にするために、各図面および各実施形態と組み合わせて本出願を更に詳細に説明する。本願明細書に記載されている詳細な実施形態は、本出願を説明するためにのみ使用されており、本出願を限定するために使用されているのではないことを理解されたい。
【0031】
本方法は、
図1の端末102に適用可能である。本端末は、パーソナルコンピュータ、ラップトップ、等々とすることができる。端末102は、遺伝子配列決定デバイス104に接続される。遺伝子配列決定デバイス104は、遺伝子シーケンサ、等々とすることができる。
【0032】
端末102がローカルインタフェースを介して遺伝子配列決定デバイス104に接続されているとき、遺伝子配列決定デバイス104は、配列決定後、サンプルデータを端末102に送出できる。加えて、端末102は、遺伝子配列決定デバイス104における配列決定後、命令によってサンプルデータを取得できる。
【0033】
一部の実施形態においては、
図2に示されているように、共有メモリベースの遺伝子解析方法が提供される。図示のように、本方法は、例えば
図1の端末に適用される。本方法は、以下のステップを含む。
【0034】
ステップS202において、サンプルデータが読み取られ、このサンプルデータが前処理される。
【0035】
このサンプルデータは、複数サンプルの遺伝子配列決定後に生成または形成されたデータである。サンプルの数は、1つ以上の群とすることができる。
【0036】
任意使用の実施形態において、サンプルデータを前処理するステップは、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含む。
【0037】
遺伝子配列決定から得られたデータは、生データ(すなわち、生リードまたは生データ)と称される。生データは、低品質の配列およびスプライス配列を含み得る。これらは、解析結果に悪影響を及ぼすことになる。したがって、配列決定データが以降の解析に適しているかどうかを判定するように、生データ内の不純物を除去するために、品質制御、フィルタリング操作、および統計処理など、一連のデータ処理が生データに対して実施される。
【0038】
ステップS204において、前処理されたサンプルデータに対して遺伝子解析が実施され、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかが判定される。
【0039】
通常、サンプルデータの前処理後、サンプルデータに対して関連の遺伝子解析を実施する必要がある。一般的な解析は、主に、配列アライメント(すなわち、アライメント解析)、バリアントコール(すなわち、変異解析)、アノテーション統計(すなわち、アノテーション解析)、およびその後のパスウェイ解析(GO解析、KEGG解析、およびタンパク質パスウェイ解析など)を含む。ただし、どの解析が実施されるにしても、解析データベースを採用する必要がある。例えば、アライメント解析には、リファレンスゲノムデータベースが必要とされ、バリアントコールには、種のゲノムデータベース(ヒトのゲノムデータベースなど)が必要とされ、アノテーション解析には、アノテーションデータベースが必要とされ、パスウェイ解析には、パスウェイデータベースが必要とされる、等々である。各データベースは、大量のデータを有する。これらデータベースは、サンプルデータに対する解析の実施時に、読み込まれる必要がある。
【0040】
共有メモリは、システムVにおけるプロセス間通信の最終手段である。共有メモリは、その名前が示唆するように、2つの無関係なプロセスを同じ論理メモリにアクセスさせるので、実行中の2つのプロセス間でデータを共有および転送するために極めて有効な手段である。複数の異なるプロセス間で共有されるメモリは、通常、同じ物理メモリ部分である。複数のプロセスが同じ物理メモリ部分をそれぞれ自身のアドレス空間に接続できるので、全てのプロセスが共有メモリ内の複数のアドレスにアクセスできる。或るプロセスがデータを共有メモリに書き込むと、この変化は、同じ共有メモリ部分にアクセスできる他の何れのプロセスにも直ちに影響することになる。
【0041】
図3は、共有メモリへの通信原理を示す概略図である。Linux(登録商標)において、各プロセスはそれ自身のプロセス制御ブロック(PCB:process control block)とアドレス空間(Addr Space)とを有し、対応するページテーブルを有する。ページテーブルは、プロセスの仮想アドレスを物理アドレスにマッピングするために使用され、メモリ管理ユニット(MMU:memory management unit)によって管理される。ページテーブルを使用すると、2つの異なる仮想アドレスが物理空間内の同じ領域にマッピングされ得る。それらが指すこの領域は共有メモリである。
図3を参照すると、この図には2つのプロセス、プロセスAとプロセスB、が存在する。仮想アドレスがこれら2つのプロセスのページテーブルを介して物理アドレスにマッピングされると、物理アドレスの共通のメモリ領域、すなわち、共有メモリ、が存在する。2つのプロセスは、このメモリ領域を同時に見ることができる。これにより、1つのプロセスが書き込み、別のプロセスが読み取ると、この2つのプロセスの間でプロセス間通信を実現できる。共有メモリについては、その実装は参照カウントの原理を採用する。或るプロセスが共有メモリ領域を切り離すと、カウンタは1つ減る。或るプロセスが共有メモリ領域へのヒッチに成功すると、カウンタは1つ増える。カウンタがゼロになった場合のみ、共有メモリ領域を削除できる。プロセスが終了すると、それにアタッチされていた共有メモリ領域はそれから自動的にデタッチされる。
【0042】
各実施形態において、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリが構築される。そこには、遺伝子解析処理において最も共通に使用されるデータベースを記憶させることができる。サンプルデータの解析にデータベースが必要になると、それは遺伝子共有メモリから直接得ることができるので、ディスクの読み込みライブラリからデータベースを読み込む時間が大幅に減る。加えて、複数のサンプルデータ群が同時に解析されるときは、この複数のサンプルデータ群の間でデータベースを共有できるので、読み込みの繰り返しおよびI/O占有が減る。
【0043】
任意使用の実施形態においては、
図4に示されているように、共有メモリの構築方法も提供される。この方法は、ステップS402~S404を含む。
【0044】
ステップS402では、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリが設定される。遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとが設定される。
【0045】
ステップS404では、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルが遺伝子共有メモリに読み込まれる。
【0046】
図5を参照すると、端末システム(すなわち、サンプルデータの遺伝子解析のために使用されるハードウェアデバイス)内の特定の領域が遺伝子解析に使用されるライブラリファイルのための遺伝子共有メモリとして選択されている。端末システムの記憶空間と、データ処理能力と、他の性能とに応じて、遺伝子共有メモリの適切なサイズが決定される。遺伝子共有メモリ領域に記録または記憶される内容は、主に、ノード物理メモリ内の遺伝子共有メモリのテーブルヘッダーのデザインを含む。1)最初に、決定された共有ライブラリの数(n)と共有領域の全長(Len)とを記憶し、2)遺伝子共有メモリ内の指定された各ライブラリファイルの名前(例えば、Lib1、Lib2)と長さオフセット(オフセット1、オフセット2)とを記憶し、3)選択された領域内の指定された各ライブラリファイルのデータを順番に記憶する。
【0047】
その動作原理は、以下のとおりである。サンプルデータは、複数のデータ群を含むことができ、各データ群は、対応するサンプルプロセスを有する。サンプルプロセスP1からサンプルプロセスPNまで、各プロセスはそれ自身のプロセス制御ブロック(PCB)とアドレス空間(Addr space)とを有し、更には対応するページテーブルを有する。ページテーブルは、当該プロセスの仮想アドレスを物理アドレスにマッピングするために使用され、メモリ管理ユニット(MMU)によって管理される。ページテーブルを使用することによって、2つの異なる仮想アドレスが物理空間内の同じ領域にマッピングされ得る。これらのアドレスが指すこの領域は、共有メモリである。上記の方法によって、各サンプルプロセスは共有メモリ領域に入ることができるので、共有メモリ領域内の必要なライブラリファイルを得ることができる。
【0048】
ステップS206において、必要なライブラリファイルがある場合は、この必要なライブラリファイルが遺伝子共有メモリから取得され、この必要なライブラリファイルは前処理されたサンプルデータの遺伝子解析の一プロセスにマッピングされ、対応する解析が完了する。
【0049】
本開示の各実施形態において提供される遺伝子共有メモリベースの遺伝子解析方法においては、最初にサンプルデータが読み取られ、その後、このサンプルデータが前処理され、その後、この前処理されたサンプルデータに対して遺伝子解析が実施される。この遺伝子解析においては、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定する必要がある。ある場合は、必要なライブラリファイルが遺伝子共有メモリから取得され、サンプルデータに対応する遺伝子解析にマッピングされ、対応する解析が完了する。遺伝子共有メモリベースの遺伝子解析方法において、遺伝子共有メモリ機構は、(例えば、アライメント解析、バリアントコール解析、アノテーション解析、等々を含む)遺伝子解析のためのインデックスを確立するために使用され、その後、遺伝子解析に必要なデータベース内のファイル(すなわち、ライブラリファイル)が遺伝子共有メモリに記憶される。ライブラリファイルは、遺伝子共有メモリからサンプルデータに対して実施される遺伝子解析の一プロセスに好都合にマッピング可能である。一方では、ハードディスクからライブラリファイルを読み込むための時間およびI/O占有が大きく減る。他方では、遺伝子解析プロセスにおいて複数のプロセス間の通信が容易になり、ライブラリファイルの読み込みの繰り返しが回避される。
【0050】
一部の実施形態において、本方法は、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に含む。
【0051】
特に、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定する。読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むことができる。一方では、遺伝子共有メモリへの必要なライブラリファイルの読み込みとその後の遺伝子共有メモリからの必要なライブラリファイルの取得とがより迅速且つ効率的に行われ、他方では、他のサンプルデータプロセスによる必要なライブラリファイルの使用も容易になり、読み込みの繰り返しが回避される。
【0052】
一部の実施形態において、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、以下のサブステップを含む。
【0053】
必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するサブステップであって、必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含み、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップ。
【0054】
必要なライブラリファイルの情報とは、必要なライブラリファイルに関する情報を云い、必要なライブラリファイルの種類、必要なライブラリファイルのサイズ、必要なライブラリファイルが必要とする空間、履歴読み込み要求の数、および必要なライブラリファイルの読み込み要求頻度、等々を含むことができる。遺伝子共有メモリの情報とは、遺伝子共有メモリに関する情報を云い、主に、遺伝子共有メモリのサイズ、遺伝子共有メモリの残りの空間、等々を含む。
【0055】
第1のプリセット数は、事前設定された値であり、ライブラリファイルの重要性を或る程度反映させるために使用可能である。すなわち、履歴読み込み要求の数が第1のプリセット数より大きい場合、これは、必要なライブラリファイルが頻繁に必要とされている、または頻繁に使用されている、ことを示す。すなわち、必要なライブラリファイルは遺伝子解析において重要であり、遺伝子共有メモリに読み込むことができるので、他のサンプルデータのための使用が容易になる。必要なライブラリファイルの重要度の判定後、更に必要であるのは、遺伝子共有メモリの残りの空間がこの必要なライブラリファイルを記憶するために十分であるかどうかを判定すること、すなわち、必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さいかどうかを判定すること、である。十分であれば、必要なライブラリファイルを遺伝子共有メモリに直接読み込むことができる。
【0056】
一部の実施形態において、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、全てのライブラリファイルの読み込み要求頻度を更に含む。必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度の優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度の優先度が遺伝子共有メモリ内の一ライブラリファイルの読み込み要求頻度優先度より高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリ内の残りの空間が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を更に含む。
【0057】
特に、必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きいと判定された場合、これは、遺伝子共有メモリの残りの空間が必要なライブラリファイルを記憶するために不十分であることを示す。この場合は、必要なライブラリファイルを遺伝子共有メモリに既に記憶されている各ライブラリファイルと比較し、ライブラリファイルの読み込み要求頻度優先度に応じて、読み込み要求頻度が低い一ライブラリファイルを削除し、その後、必要なライブラリファイルを遺伝子共有メモリに読み込む必要がある。
【0058】
各実施形態において、必要なライブラリファイルと遺伝子共有メモリに記憶されているライブラリファイルとは、主に各ライブラリファイルの読み込み要求頻度に応じて、優先度順にランク付けされる。必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルの優先度より高い場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むために、遺伝子共有メモリ内のそのライブラリファイルが削除される。上記のプロセスにおいては、全てのライブラリファイルのサイズが包括的に考慮される。削除されたライブラリファイルが占めていたメモリが必要なライブラリファイルを記憶するために十分であることを保証することのみが必要である。
【0059】
これにより、遺伝子解析プロセスに必要なライブラリファイルが遺伝子共有メモリにない場合は、このライブラリファイルを最初に遺伝子共有メモリに読み込むことができるので、以降の計算の効率が向上する。
【0060】
一部の実施形態において、遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含む。本方法は、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するステップを更に含む。前処理されたサンプルデータが複数群のサンプルデータを含む場合、複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップで一度に解析される。
【0061】
各実施形態において、遺伝子解析方法は、アライメント解析と、変異解析と、アノテーション解析とを含む。ただし、遺伝子解析プロセスには、通常、順序要件が存在する。すなわち、通常、アライメント解析が最初に実施され、次に変異解析が実施され、その後、アノテーション解析が実施される。ただし、複数群のサンプルデータが存在する場合は、各群のサンプルデータを遺伝子解析の同じステップまたは複数の異なるステップで解析できる。例えば、サンプルデータ1をアライメント解析に、サンプルデータ2を変異解析に、サンプルデータ3をアノテーション解析にかけることができる。サンプルデータ1、サンプルデータ2、およびサンプルデータ3をアライメント解析、変異解析、またはアノテーション解析に同時にかけることも可能である。本方法を使用すると、複数群のサンプルデータを同時に処理できるので、データ処理速度を更に向上させることができる。
【0062】
一部の実施形態において、遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含む。前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施した後、本方法は、アライメント解析後のサンプルデータを位置タグで標識するステップと、標識されたサンプルデータに対してソーティング解析とマーキング重複解析とをモジュールによって実施するステップとを更に含む。
【0063】
特に、遺伝子解析は、配列決定解析とマーキング重複解析とを更に含む。アライメント解析後のサンプルデータを位置タグで標識するとは、比較後のファイルに位置関連タグを追加することであるので、配列決定解析とマーキング重複解析とをモジュールによって実施でき、配列決定解析およびマーキング重複解析に対してより効率的なマルチスレッドソーティングを増やすことができる。
【0064】
一部の実施形態において、本方法は、メモリの使用によって遺伝子解析の一部または全てのステップを接続するステップを更に含む。
【0065】
特に、メモリの使用によって、遺伝子解析プロセスにおける比較、ソーティング、マーキング重複、およびバリアントコールの各プロセスにおけるいくつかのステップまたは全てのステップを接続できる。メモリを使用して各ステップを接続することによって、中間に出力されるsam/bamファイルを減らすことができるので、I/O占有が減る。
【0066】
理解を助けるために、詳細な一実施形態を以下に示す。
図6は、遺伝子解析のプロセス全体と遺伝子共有メモリ領域内のプロセスとを示す。遺伝子解析プロセスは、次のように行われる。複数サンプルの入力後、各サンプルのデータが前処理され、その後、アライメント解析に必要なライブラリファイルが遺伝子共有メモリ領域に読み込まれているかどうかが判定され、読み込まれていれば、アライメント解析が開始され、読み込まれていなければ、アライメント解析を実施するために、ライブラリファイルがハードディスクから読み込まれる。アライメント解析プロセスは、メモリの接続とアルゴリズムの最適化とによって融通性のあるステップとして合成され、その後、バリアントコールが実施され、アノテーション情報のライブラリファイルが遺伝子共有メモリに読み込まれているかどうかが判定され、読み込まれていれば、アノテーション統計が開始され、読み込まれていなければ、アノテーション統計のためにライブラリファイルがハードディスクから読み込まれ、解析プロセスは終了する。
【0067】
遺伝子共有メモリ領域内の一プロセスが次のように実施される。ライブラリlib-x(すなわち、必要なライブラリファイル)の情報に対する要求がある場合は、必要なライブラリファイルが遺伝子共有メモリ領域にあるかどうかが判定され、ある場合は、ライブラリデータがフィードバックされ、プロセスは終了する。必要なライブラリファイルが遺伝子共有メモリ領域内にない場合は、必要なライブラリファイルを読み込み方法Qによって読み込むべきかどうかが判定される。読み込むべきであれば、必要なライブラリファイルが遺伝子共有メモリ領域に読み込まれ、ライブラリデータが返され、プロセスは終了する。必要なライブラリファイルを読み込み方法Qによって読み込む必要がない場合は、情報が何も返されず、プロセスは終了する。
【0068】
読み込み方法Qの固有のステップは、次のように実施される。1.必要なライブラリファイルの種類およびサイズが求められる。2.レコードファイルが取得される。3.ノードの総メモリサイズと、共有メモリ領域のサイズと、ライブラリの履歴読み込み要求の数と、あらゆる種類のライブラリの履歴読み込み要求の総数とがレコードファイルから読み取られる。4.ノードのメモリサイズの変化を防止するために、ノードのメモリサイズがハードディスクから更新される。5.この種のライブラリの履歴読み込み要求の数が1増やされる(f_type+1)。6.全ての種類のライブラリの履歴読み込み要求の総数が1増やされる(f_total+1)。7.残りの空間がライブラリを読み込むために十分であるかどうかが判定される。8.レコードファイル内のあらゆる種類のライブラリの要求頻度(f_type/f_total)が降順にランク付けされ、ランク付けされたリンクリストが返される。9.必要なライブラリファイルが読み込まれているかどうかが判定され、必要なライブラリファイルが読み込まれていれば、ライブラリインデックスが返され、必要なライブラリファイルが読み込まれておらず、且つこの種のライブラリの履歴読み込み要求の数が10より大きい場合は、アンロードされた全てのライブラリにおけるその優先度とランク位置とが決定される。10.この種のライブラリの優先度が読み込まれているライブラリの優先度を超えている場合は、システムは、type_list内のこの種のライブラリの後にランク付けされた、読み込まれている各ライブラリのサイズの和がこの種のライブラリを読み込むためのメモリサイズの条件Wを満たしているかどうかを予測し、満たしていれば、条件Wが満たされるまで、これら読み込まれているライブラリは逆順にアンロードされ、満たしていなければ、プロセスが実施されない。11.読み込み条件が満たされていれば、共有メモリ領域のサイズのレコードが更新される。12.ライブラリを読み込むために十分なメモリがないために、ライブラリが読み込まれていないというケースがマークされ、それがレコードファイルに更新される。
【0069】
レコードファイルのフォーマットを以下に示す。
【0070】
M:63492649171200
【0071】
Len:13492649171200
【0072】
f_total:100
【0073】
【0074】
type_flagは、読み込まれていない理由を示す。「1」は、この種のライブラリの読み込み優先度が最初にランク付けされており、メモリが不十分であるために読み込まれなかったことを示す。読み込まれているライブラリのtype_flagは0である。
【0075】
加えて、読み込み方法Qの疑似コードは以下のとおりである。
【0076】
RequestShareMem(type,size) //type:共有用ライブラリの種類、size:共有用ライブラリのサイズ
【0077】
File=RecordFile //レコードファイル
【0078】
ReadFromFile(M,Len,f_type,f_total) //レコードファイルからのリード(M:ノードの総メモリサイズ、Len:共有メモリ領域の現在のサイズ、f_type:この種のライブラリの履歴読み込み要求の数、f_total:あらゆる種類のライブラリの履歴読み込み要求の総数。
【0079】
Update(M) //ノードのメモリサイズの変化を防止するために、ノードのメモリサイズをハードディスクから更新する。
【0080】
f_type=f_type+1 //f_typeの更新
【0081】
f_total=f_total+1 //f_totalの更新
【0082】
W=M*0.5-Len-size>0 //条件W:読み込みのために残りの空間の有無を判定。0.5は調整可能な係数。現在はメモリ全体の50%が使用されている。
【0083】
type_list=SortAllTypeInFile() //レコードファイル内のあらゆる種類のライブラリの要求頻度(f_type/f_total)を降順にランク付けし、ランク付けされたリンクリストを返す。
【0084】
if AlreadyLoaded(type)then
【0085】
id=GetShareMemId(type) //必要なライブラリファイルが読み込まれていれば、ライブラリインデックスを返す。
【0086】
else if f_type>10 //この種のライブラリの履歴読み込み要求の数は10より大きい。
【0087】
if IsPrior(type_list,type) //第1優先度であるかどうかを判定。type_flagが0であるアンロードされた他の全てのライブラリの前にランク付け。
【0088】
if type_flag=1
【0089】
UnloadShareMem(type_list,type) //type_list内のこの種のライブラリの後にランク付けされた、読み込まれているライブラリのサイズの和が条件Wを満たしている場合は、条件Wが満たされるまで、これら読み込まれているライブラリを逆順にアンロードする。それ以外の場合は、プロセスが何も実施されない。
【0090】
if W
【0091】
id=LoadShareMem(type, size)
【0092】
Len=Len+size //共有メモリ領域のサイズを更新
【0093】
type_flag=0
【0094】
else
【0095】
type_flag=1 //十分なメモリがないことをマーキングし、レコードを更新
【0096】
id=0
【0097】
else
【0098】
id=0 //情報を何も返さない
【0099】
UpdateFile(M,Len,f_type,f_total,type_flag) //レコードファイルを更新
【0100】
return id //共有メモリ領域のインデックスを返す。「0」は情報を何も表さない
【0101】
end
【0102】
効果を示すための一部の実施形態
【0103】
本開示の各実施形態における共有メモリベースの遺伝子解析方法の有効性を検証するために、3つの遺伝子解析方法、すなわち、方法A(最適化されていないソフトウェア(すなわち、遺伝子解析の全てのステップがメモリの使用によって接続されておらず、各ステップが互いに独立している)+遺伝子共有メモリが使用されない)、方法B(最適化されたソフトウェア(すなわち、遺伝子解析の全てのステップがメモリの使用によって接続されている)+遺伝子共有メモリが使用されない)、および方法C(最適化されたソフトウェア(すなわち、遺伝子解析の全てのステップがメモリの使用によって接続されている)+遺伝子共有メモリが使用される)が与えられ、これら方法のCPU使用率およびI/O時間が比較された。結果が
図7~
図9に示されている。
図7は、本方法Aの解析結果を示し、
図8は、方法Bの解析結果を示し、
図9は、Cの解析結果を示す。
【0104】
図7~
図9から分かるのは、加速前の(すなわち、アライメント解析の前のサンプルデータの読み取りステップおよび前処理ステップの各々が独立に実行され、遺伝子共有メモリを使用せずに比較が直接処理される)方法Aの解析部の実行時間は2.83時間であり、CPU使用率は大きく変動することである。加速前の(すなわち、遺伝子共有メモリを使用せずに、比較およびアノテーションが直接処理される)比較部およびアノテーション部の実行時間は2.61時間であり、CPU使用率は高い。I/O秒(すなわち、物理ディスクに出力される1秒当たりの転送数)は高い。これは、I/O使用率が高く、ブロッキングの確率が高いことを示している。
【0105】
加速後の(すなわち、アライメント解析前のサンプルデータを読み取るステップと前処理ステップとがメモリの使用によって接続され、遺伝子共有メモリの使用によって比較が処理される)方法Bの解析部の実行時間は1.75時間であり、CPU使用率の変動は、方法Aの場合より小さい。遺伝子共有メモリの使用前の(すなわち、遺伝子共有メモリを使用せずに比較が直接処理される)ライブラリ比較部の実行時間は2.38時間であり、CPU使用率は高く、I/O秒(すなわち、物理ディスクに出力される1秒当たりの転送数)は高い。これは、I/O使用率が高く、ブロッキングの確率が高いことを示している。
【0106】
加速後の(すなわち、アライメント解析前のサンプルデータの読み取りステップと前処理ステップとがメモリの使用によって接続され、遺伝子共有メモリの使用によって比較が処理される)方法Cの解析部の実行時間は1.75時間であり、CPU使用率の変動は方法Aの場合より小さい(この部分は方法Bと同じ)。遺伝子共有メモリの使用後の(すなわち、遺伝子共有メモリを使用して比較が処理される)ライブラリ比較部の実行時間は0.82時間であり、CPU使用率は高く、I/O秒(すなわち、物理ディスクに出力される1秒当たりの転送数)は低い。これは、I/O使用率が低く、ブロッキングの確率が低いことを示している。
【0107】
したがって、遺伝子解析のために方法Cが使用される。すなわち、複数の遺伝子解析ステップがメモリの使用によって接続される。比較、アノテーション、および他のプロセスに遺伝子共有メモリを採用する方法は、遺伝子解析のために使用される時間を大幅に減らし、I/O使用率を減らす、すなわちI/Oブロッキングを減らす、ことができる。
【0108】
図2、
図4、および
図6のフローチャートの各ステップは矢印で示されている順に図示されているが、これらステップは、矢印で示されている順に必ずしも実施される必要はないことを理解されたい。本願明細書に明示的に記載されていない限り、これらステップの実行は順番が厳密に限定されておらず、これらステップは他の順番でも実施可能である。更に、
図2、
図4、および
図6に示されている少なくとも一部のステップは、複数のサブステップまたは複数の段階を含み得る。これらサブステップまたは段階は必ずしも同時には実行されず、他のステップ、または他のステップの少なくとも一部のサブステップまたは段階、と交互に実施され得る。
【0109】
一部の実施形態においては、
図10に示されているように、共有メモリベースの遺伝子解析装置が提供される。本装置は、以下を備える。
【0110】
データ読み取りモジュール102は、サンプルデータを読み取るように構成される。
【0111】
データ前処理モジュール104は、サンプルデータを前処理するように構成される。
【0112】
遺伝子解析モジュール106は、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、対応する解析を完了するように構成される。
【0113】
一部の実施形態において、ライブラリファイル読み込みモジュールは、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、読み込み条件が満たされていれば、必要なライブラリファイルを遺伝子共有メモリに読み込むように構成される。
【0114】
一部の実施形態において、ライブラリファイル読み込みモジュールは、ライブラリ情報およびメモリ情報取得モジュールを備える。
【0115】
ライブラリ情報およびメモリ情報取得モジュールは、必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するように構成される。必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含む。
【0116】
ライブラリファイル読み込みモジュールは、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むように構成される。
【0117】
一部の実施形態において、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、全てのライブラリファイルの読み込み要求頻度を更に含み、ライブラリファイル読み込みモジュールは、優先度ランク付けモジュールとライブラリファイル削除モジュールとを更に含む。
【0118】
優先度ソーティングモジュールは、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするように構成される。
【0119】
ライブラリファイル削除モジュールは、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルより高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が必要なライブラリファイルが必要とする空間以上であれば、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するように構成される。
【0120】
ライブラリファイル読み込みモジュールは、必要なライブラリファイルを遺伝子共有メモリに読み込むように更に構成される。
【0121】
一部の実施形態において、本装置は、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリを設定し、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとを設定するように構成された遺伝子共有メモリ設定モジュールを更に含む。
【0122】
ライブラリファイル読み込みモジュールは、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルを遺伝子共有メモリに読み込むように更に構成される。
【0123】
一部の実施形態において、遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含む。
【0124】
遺伝子解析モジュールは、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するように構成される。前処理されたサンプルデータが複数群のサンプルデータを含む場合は、これら複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップで一度に解析される。
【0125】
一部の実施形態において、遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、本装置は、アライメント解析後のサンプルデータを位置タグで標識し、標識されたサンプルデータに対してソーティング解析とマーキング重複解析とをモジュールによって実施するように構成されたソーティングおよびマーキング重複モジュールを更に備える。
【0126】
一部の実施形態において、本装置は、メモリの使用によって遺伝子解析の一部または全てのステップを接続するように構成されたメモリ接続モジュールを更に備える。
【0127】
一部の実施形態において、データ前処理モジュールは、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを更に実施する。
【0128】
共有メモリベースの遺伝子解析装置の具体的な定義については、上記の共有メモリベースの遺伝子解析方法の定義を参照されたい。ここでは、繰り返さない。共有メモリベースの遺伝子解析装置内の全てまたは一部のモジュールは、ソフトウェア、ハードウェア、またはこれらの組み合わせによって実現可能である。上記の各モジュールは、ハードウェアの形態でコンピュータデバイスのプロセッサに埋め込むことも、またはプロセッサから独立させることも、またはソフトウェアの形態でコンピュータデバイス内のメモリに記憶させることもできるので、プロセッサは上記の各モジュールの呼び出しおよび対応する操作の実行を容易に行える。
【0129】
一部の実施形態においては、コンピュータデバイスが提供される。このコンピュータデバイスはサーバでもよく、その内部構造は
図11に示されているようにし得る。コンピュータデバイスは、プロセッサと、メモリと、ネットワークインタフェースと、データベースとを備え、これらはシステムバスを介して接続される。コンピュータデバイスのプロセッサは、計算および制御能力を提供するために使用される。コンピュータデバイスのメモリは、不揮発性記憶媒体とメモリデバイスとを備える。不揮発性記憶媒体は、オペレーティングシステムと、コンピュータプログラムと、データベースとを記憶する。メモリデバイスは、不揮発性記憶媒体内のオペレーティングシステムおよびコンピュータプログラムの動作のための環境を提供する。コンピュータデバイスのデータベースは、抵抗等価モデルおよび等価サブモデルのデータ、ならびに計算中に得られた等価抵抗、加工抵抗、および接触抵抗、を記憶するために使用される。コンピュータデバイスのネットワークインタフェースは、ネットワーク接続を介して複数の外部端末と通信するために使用される。コンピュータプログラムは、共有メモリベースの遺伝子解析方法を具現化するために、プロセッサによって実行される。
【0130】
図11に示されている構造は、本出願の方式に関連した一部の構造のブロック図であるに過ぎず、本出願の方式が適用されるコンピュータデバイスに対する制限とはならないことを当業者は理解できる。特定のコンピュータデバイスは、この図に示されている構成要素より多い、または少ない、構成要素を備え得る、または一部の構成要素を組み合わせ得る、または異なる構成要素配置を有し得る。
【0131】
一部の実施形態においては、プロセッサと、メモリと、このメモリに記憶された、プロセッサによる実行が可能な、コンピュータプログラムとを備えたコンピュータデバイスが提供される。このコンピュータプログラムを実行すると、サンプルデータを読み取ってこのサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定するステップと、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、対応する解析を完了するステップと、が具現化される。
【0132】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に具現化する。
【0133】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップを更に具現化する。このステップは、必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するサブステップであって、必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含む、サブステップと、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップとを含む。
【0134】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、以下のステップを更に具現化する。必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けし、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルより高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップとを更に含む。
【0135】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、以下のステップを更に具現化する。必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルより高く、且つ、遺伝子共有メモリ内の優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が読み込み要求頻度が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を更に含む。
【0136】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリを設定するステップと、遺伝子共有メモリのサイズ、収容可能なライブラリファイルの数、各ライブラリファイルの名前、および各ライブラリファイルのサイズオフセットを設定するステップと、遺伝子共有メモリのサイズ、収容可能なライブラリファイルの数、各ライブラリファイルの名前、および各ライブラリファイルのサイズオフセットに応じて、遺伝子解析に共通に使用されるライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に具現化する。
【0137】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、以下のステップを更に具現化する。遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含み、プロセッサは、コンピュータプログラムを実行すると、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するステップを更に具現化する。前処理されたサンプルデータが複数群のサンプルデータを含む場合、複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップにおいて一度に解析される。
【0138】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、以下のステップを更に具現化する。遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施した後、プロセッサは、コンピュータプログラムを実行すると、アライメント解析後のサンプルデータを位置タグで標識するステップと、標識されたサンプルデータに対するソーティング解析とマーキング重複解析とをモジュールによって実施するステップとを更に具現化する。
【0139】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、遺伝子解析の一部または全てのステップをメモリの使用によって接続するステップを更に具現化する。
【0140】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、サンプルデータを前処理するステップを更に具現化する。このステップは、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含む。
【0141】
一部の実施形態は、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供する。このコンピュータプログラムがプロセッサによって実行されると、サンプルデータを読み取り、このサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定するステップと、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、対応する解析を完了するステップと、を具現化する。
【0142】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に具現化する。
【0143】
一部の実施形態において、コンピュータプログラムは、プロセッサによって実行されると、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップを具現化する。このステップは、必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するサブステップであって、必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含む、サブステップと、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、含む。
【0144】
一部の実施形態において、コンピュータプログラムは、プロセッサによって実行されると、以下のステップを具現化する。必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルより高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を更に含む。
【0145】
一部の実施形態において、コンピュータプログラムは、プロセッサによって実行されると、以下のステップを具現化する。必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルの優先度より高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に含む。
【0146】
一部の実施形態において、このコンピュータプログラムは、プロセッサによって実行されると、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリを設定するステップと、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとを設定するステップと、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に具現化する。
【0147】
一部の実施形態において、このコンピュータプログラムは、プロセッサによって実行されると、以下のステップを更に具現化する。遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含み、このコンピュータプログラムは、プロセッサによって実行されると、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するステップを更に具現化する。前処理されたサンプルデータが複数群のサンプルデータを含む場合は、複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップにおいて一度に解析される。
【0148】
一部の実施形態において、このコンピュータプログラムは、プロセッサによって実行されると、以下のステップを更に具現化する。遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施した後、このコンピュータプログラムは、プロセッサによって実行されると、アライメント解析後のサンプルデータを位置タグで標識するステップと、標識されたサンプルデータに対してソーティング解析とマーキング重複解析とをモジュールによって実施するステップと、を更に具現化する。
【0149】
一部の実施形態において、このコンピュータプログラムは、プロセッサによって実行されると、遺伝子解析の一部または全てのステップをメモリの使用によって接続するステップを更に具現化する。
【0150】
一部の実施形態において、このコンピュータプログラムは、プロセッサによって実行されると、以下のステップを更に具現化する。サンプルデータを前処理するステップは、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含む。
【0151】
当業者には理解されるように、上記の各実施形態において本方法を実施するための全てまたは一部のステップは、ハードウェアによって、または関連ハードウェアに命令するプログラムによって、完了可能であり、このプログラムはコンピュータ可読不揮発性記憶媒体に記憶可能であり、このプログラムは、実行されると、上記の各方法の各実施形態のステップを実施可能である。本出願によって提供される各実施形態において使用されるメモリ、記憶域、データベース、または他の媒体への何れの言及も、不揮発性および/または揮発性メモリを含み得る。不揮発性メモリは、読み出し専用メモリ(ROM)、プログラム可能ROM(PROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)、またはフラッシュメモリを備え得る。揮発性メモリは、ランダムアクセスメモリ(RAM)または外部キャッシュメモリを備え得る。限定ではなく、実例として、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、デュアルデータレートSDRAM(DDRSDRAM)、エンハンストSDRAM(ESDRAM)、シンクロナスリンクDRAM(SLDRAM)、ラムバスダイレクトRAM(RDRAM)、ダイレクトメモリバスダイナミックRAM(DRDRAM)、およびラムバスダイナミックRAM(RDRAM)、等々など、さまざまな形態で入手可能である。
【0152】
上記の各実施形態の技術的特徴は、任意に組み合わせ可能である。説明を簡潔にするために、各実施形態におけるさまざまな技術的特徴の全ての可能な組み合わせが記載されていないが、これら技術的特徴の組み合わせに矛盾がない限り、全ての可能な組み合わせがこの明細書の範囲内にあると見做されるものとする。
【0153】
上記の実施形態は、本出願のいくつかの実施形態を提示しているに過ぎない。したがって、それらの相対的に具体的且つ詳細な説明は、本出願の範囲を限定するとは解釈され得ない。当業者は、本出願の概念から逸脱せずに、さまざまな変更および改良を行えることに注目されたい。このような変更および改良は、本出願の保護範囲内にあると見做されるものとする。したがって、本出願の保護範囲は、特許請求の範囲に従って決定されるものとする。
【手続補正書】
【提出日】2022-02-18
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、中華人民共和国の特許事務所に2020年10月22日に提出された「共有メモリベースの遺伝子解析方法、装置、およびコンピュータデバイス」と題する中国特許出願公開第202011139824.9号の優先権を主張し、その全内容が引用により本願明細書に組み込まれるものとする。
【0002】
分野
本開示は、データ処理の技術分野に関し、特に共有メモリベースの遺伝子解析方法、装置、コンピュータデバイス、およびコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
ヒトゲノムプロジェクトの円滑な実施および配列決定技術の迅速な発展により、配列決定コストは著しく低下し、配列決定速度は著しく向上した。ヒトの全ゲノムの配列決定コストは1000米ドル未満に低下し、DNA配列データの量は指数関数的に増加した。如何にデータを素早く利用および表現するか、その後、遺伝子配列における潜在的な問題を解析および説明するか、更には人間にとって役立つ情報を大量データから発見するかは、解決すべき緊急課題となっている。ヒトの全ゲノム配列決定(WGS:whole genome sequencing)によって生成された配列データのますますの応用、および大量の配列データの迅速な解析および処理に対する継続的要求は、データ解析に対する新たな技術的ボトルネックを形成しており、第2世代配列決定技術の臨床応用を制限している。
【0004】
現在、生物情報学の分野には、第2世代配列決定のデータ解析のために多くの種類の方法およびツールが国際的に存在する。最も一般的に使用されているプロセスは、主に、データ入力、前処理操作、配列比較、アノテーション、バリアントコール、およびパスウェイ解析を含む。ただし、このプロセス全体をWGSに適用すると、極めて時間がかかる。加えて、入力されるサンプルは、サンプルのマージ、サンプルの分割、等々など、カスタマイズされたプロセスを複数必要とし、各プロセスは別個に実施される必要があるので、操作効率は低く、I/O消費は増加する。加えて、データ解析プロセスでは、解析および処理ステップ毎にインデックスファイルを別々に読み込む必要がある。複数のタスクが同じインデックスファイルを読み込むと、これらタスクはより多くのメモリを消費し、より多くの時間を取る。
【発明の概要】
【課題を解決するための手段】
【0005】
上記に鑑み、本開示は、従来技術のデータ解析プロセスにおいてインデックスファイルを繰り返し読み込むことによって引き起こされる、一部のパイプラインにおける入力サンプルのマージ、高いメモリ消費、および高い時間消費など、各プロセスの要求によって引き起こされる低い動作効率を解決するために、共有メモリベースの遺伝子解析方法、装置、コンピュータデバイス、およびコンピュータ可読記憶媒体を提供する。
【0006】
本開示の一部の実施形態は、共有メモリベースの遺伝子解析方法を提供する。本方法は、サンプルデータを読み取り、このサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定するステップと、必要なライブラリファイルがある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、遺伝子解析を完了するステップと、を含む。
【0007】
一部の実施形態において、本方法は、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に含む。
【0008】
一部の実施形態において、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するサブステップであって、必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と必要なライブラリファイルの履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含む、サブステップと、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を含む。
【0009】
一部の実施形態において、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルの優先度より高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が、必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を含む。
【0010】
一部の実施形態において、本方法は、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリを設定するステップと、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとを設定するステップと、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に含む。
【0011】
一部の実施形態において、遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含み、本方法は、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するステップを更に含み、前処理されたサンプルデータが複数群のサンプルデータを含む場合は、複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップで一度に解析される。
【0012】
一部の実施形態において、遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施した後、本方法は、アライメント解析後のサンプルデータを位置タグで標識するステップと、標識されたサンプルデータに対してソーティング解析とマーキング重複解析とをモジュールによって実施するステップとを更に含む。
【0013】
一部の実施形態において、本方法は、メモリの使用によって遺伝子解析の一部または全てのステップを接続するステップを更に含む。
【0014】
一部の実施形態において、サンプルデータを前処理するステップは、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含む。
【0015】
本開示の一部の実施形態は、遺伝子共有メモリベースの遺伝子解析装置を更に提供する。本装置は、サンプルデータを読み取るように構成されたデータ読み取りモジュールと、サンプルデータを前処理するように構成されたデータ前処理モジュールと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、遺伝子解析を完了するように構成された遺伝子解析モジュールとを備える。
【0016】
本開示の一部の実施形態は、メモリと、プロセッサと、メモリ上に記憶された、プロセッサ上で実行可能なコンピュータプログラムとを備えたコンピュータデバイスを更に提供する。このプロセッサは、サンプルデータを読み取り、このサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施するステップと、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、遺伝子解析を完了するステップと、を更に含む。
【0017】
本開示の一部の実施形態は、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体を更に提供する。このコンピュータプログラムは、プロセッサによって実行されると、サンプルデータを読み取り、このサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、遺伝子解析を完了するステップと、を実施する。
【0018】
本開示の一部の実施形態によると、コンピュータプログラムが提供される。このコンピュータプログラムは複数の命令を含み、これら命令は、プロセッサによって実行されると、上記実施形態の何れかによる共有メモリベースの遺伝子解析方法をこのプロセッサに実行させる。
【0019】
遺伝子共有メモリベースの遺伝子解析方法、装置、コンピュータデバイス、およびコンピュータ可読媒体は、本開示の各実施形態において提供される。最初にサンプルデータが読み取られ、その後、このサンプルデータが前処理され、その後、この前処理されたサンプルデータに対して遺伝子解析が実施される。遺伝子解析においては、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定する必要がある。ある場合は、必要なライブラリファイルが遺伝子共有メモリから取得され、サンプルデータに対応する遺伝子解析にマッピングされ、対応する解析が完了する。遺伝子共有メモリベースの遺伝子解析方法においては、遺伝子共有メモリ機構は、(例えば、アライメント解析、バリアントコール解析、アノテーション解析、等々を含む)遺伝子解析のためのインデックスを確立するために使用され、その後、遺伝子解析に必要なデータベース内のファイル(すなわち、ライブラリファイル)を遺伝子共有メモリに記憶する。ライブラリファイルは、遺伝子共有メモリからサンプルデータに対して実施される遺伝子解析プロセスに好都合にマッピング可能である。一方では、ライブラリファイルをハードディスクから読み込むための時間およびI/O占有が大きく低減される。他方では、遺伝子解析プロセスにおける複数のプロセス間の通信が容易になり、ライブラリファイルの読み込みの繰り返しが回避される。
【0020】
本開示の複数の実施形態または従来技術における技術的解決策をより明確に説明するために、以下においては、各実施形態または従来技術の説明のために使用する必要がある図面について簡単に紹介する。以下に示す図面は、本開示の複数の実施形態に過ぎないことは明らかである。当業者にとっては、このような図面により、発明努力を一切必要としないという前提で、他の図面も取得し得る。
【図面の簡単な説明】
【0021】
【
図1】本開示の一部の実施形態による共有メモリベースの遺伝子解析方法の一適用環境の概略図である。
【
図2】本開示の一部の実施形態による共有メモリベースの遺伝子解析方法のフローチャートである。
【
図3】本開示の一部の実施形態による共有メモリの原理図を示す概略図である。
【
図4】本開示の一部の実施形態における共有メモリの構築方法のフローチャートである。
【
図5】本開示の一部の実施形態における共有メモリの構造図である。
【
図6】本開示の一部の実施形態による共有メモリベースの遺伝子解析方法のフローチャートである。
【
図7】本開示の一部の実施形態による方法Aを使用して遺伝子解析が実施されるときのCPU使用率およびI/O使用率を示す図である。
【
図8】本開示の一部の実施形態による方法Bを使用して遺伝子解析が実施されるときのCPU使用率およびI/O使用率を示す図である。
【
図9】本開示の一部の実施形態による方法Cを使用して遺伝子解析が実施されるときのCPU使用率およびI/O使用率を示す図である。
【
図10】本開示の一部の実施形態による共有メモリベースの遺伝子解析装置の構造図である。
【
図11】本開示の一部の実施形態によるコンピュータデバイスの構造図である。
【発明を実施するための形態】
【0022】
以下においては、本開示の複数の実施形態における技術的解決策を明確且つ完全に説明する。記載されている複数の実施形態は、本開示の全ての実施形態ではなく、複数の実施形態のうちの一部に過ぎないことは明らかである。本開示の各実施形態に基づき、発明努力なしに当業者が得た他の全ての実施形態は、本開示の保護範囲内に含まれるものとする。
【0023】
用語解説
【0024】
遺伝子(geneまたはMendelian factor)は、遺伝情報を担持するDNAまたはRNA配列を指し(すなわち、遺伝子は、遺伝学的影響を有するDNAまたはRNA断片であり)、遺伝因子としても公知であり、生物学的形質を制御する基本的な遺伝単位である。遺伝子は、タンパク質の合成を誘導することによって、したがって個々の生物の形質を制御することによって、それが担持している遺伝情報を発現させる。遺伝子配列決定は、さまざまな疾患を患う可能性、個々の挙動特性、および妥当な挙動を予測するように、血液または唾液から遺伝子の全配列を解析して判定する新しい種類の遺伝子検出技術である。
【0025】
リード:短い配列断片。これは、高スループットのシーケンサによって生成される配列決定データである。全ゲノムの配列決定によって数千万のリードが生成される。その後、これらのリードを一緒にスプライシングすることによって、ゲノムの全配列を取得できる。
【0026】
アライメント解析:NGSによって配列決定されたリードがFASTQファイルに記憶される。これらは、本来、規則配列されたゲノムから来ていたが、DNAライブラリの構築およびシーケンシング後、ファイル内の複数の異なるリード間の順序関係が失われている。したがって、FASTQファイル内の互いに隣接する2つのリード間には位置関係が存在しない。これらは、何れも、本来のゲノムにおける特定の位置からランダムに派生した短い配列である。したがって、必要であるのは、最初に多数の短い配列を正し、それらをその種のリファレンスゲノムと1つずつ比較し、各リードのリファレンスゲノム上の位置を見つけ、その後、それらを順序正しく配置することである。このプロセスは、配列決定データの比較と称される。
【0027】
ソーティング解析:BWA比較後、BAMファイルは何故順不同に出力されるのか?その理由は、FASTQファイル内のこれら順序立ったリードがゲノム上にランダムに分散されるからである。この比較の第1のステップは、FASTQファイル内のそれぞれの順番に応じて、これらリードを1つずつリファレンスゲノム上に位置付け、その後、それらをそのまま出力することである。このステップでは、それぞれの比較位置の順番を自動的に認識し、比較結果を再配置することは不可能である。したがって、比較後に得られた結果ファイル内のレコードの位置順は無秩序である。マーキング重複などの以降のステップのために、レコードを順番に並べ替える必要がある。これは、ソーティングが必要である理由である。
【0028】
マーキング重複:ソーティングの完了後、デデュプリケーションが実施される(すなわち、PCRの重複配列を除去する)。重複した配列とは何であるか?どのように重複が発生し、何故重複を除去する必要があるのか?それは、実験プロセスにおけるライブラリの構築およびシーケンシングに関連する。NGSシーケンシングの前に、シーケンシング用ライブラリを構築する必要がある。すなわち、物理的(超音波)中断によって、または化学的試薬の使用(酵素消化)によって、元のDNA配列を切断し、その後、PCR増幅およびコンピュータシーケンシングのために特定の長さ範囲において配列を選択する必要がある。したがって、ここで、重複した配列は、PCRプロセス中に実際に導入される。
【0029】
塩基クオリティスコアの修正:配列決定プロセスにおける系統的誤差を(できる限り)修正することである。その理由は、バリアントコールは、配列決定塩基クオリティスコアに大きく依存するステップであることによる。その理由は、このクオリティスコアは、我々が配列決定した塩基がどの程度正しいかを測定するために重要な(まさに唯一の)インジケータであることにある。直接は測定できないが、統計学的手法によって、極めて近い分散結果を得ることができる。母集団に見出される公知のバリエーションは、ある人においては同じになることが多い。したがって、我々は、比較および比較結果の分析を直接行え、公知の変異部位を全て排除でき、その後、(報告された)各クオリティスコアについて比較後、リファレンスゲノム上のものとは異なる塩基の数を算出できる。これら異なる塩基は誤塩基と見做され、それらの数の割合は、実際の塩基エラー率を反映しており、Phredスコアに変換される。この情報は、キャリブレーションテーブルファイルに出力され、本来のBAMファイル内の塩基クオリティスコアの再調整のために使用される。これら新しいクオリティスコアを使用して、新しいBAMファイルが出力される。
【0030】
バリアントコールおよび解析:バリアントコールおよび解析の目的は、各サンプル(ヒトなど)のゲノムにおける変異セット、すなわち、ヒトによって異なるDNA配列、を精確に検出することである。
【0031】
以下においては、本出願の目的、技術的解決策、および諸利点をより明確且つ明白にするために、各図面および各実施形態と組み合わせて本出願を更に詳細に説明する。本願明細書に記載されている詳細な実施形態は、本出願を説明するためにのみ使用されており、本出願を限定するために使用されているのではないことを理解されたい。
【0032】
本方法は、
図1の端末102に適用可能である。本端末は、パーソナルコンピュータ、ラップトップ、等々とすることができる。端末102は、遺伝子配列決定デバイス104に接続される。遺伝子配列決定デバイス104は、遺伝子シーケンサ、等々とすることができる。
【0033】
端末102がローカルインタフェースを介して遺伝子配列決定デバイス104に接続されているとき、遺伝子配列決定デバイス104は、配列決定後、サンプルデータを端末102に送出できる。加えて、端末102は、遺伝子配列決定デバイス104における配列決定後、命令によってサンプルデータを取得できる。
【0034】
一部の実施形態においては、
図2に示されているように、共有メモリベースの遺伝子解析方法が提供される。図示のように、本方法は、例えば
図1の端末に適用される。本方法は
、ステップ
S202~S206を含む。
【0035】
ステップS202において、サンプルデータが読み取られ、このサンプルデータが前処理される。
【0036】
このサンプルデータは、複数サンプルの遺伝子配列決定後に生成または形成されたデータである。サンプルの数は、1つ以上の群とすることができる。
【0037】
任意使用の実施形態において、サンプルデータを前処理するステップは、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含む。
【0038】
遺伝子配列決定から得られたデータは、生データ(すなわち、生リードまたは生データ)と称される。生データは、低品質の配列およびスプライス配列を含み得る。これらは、解析結果に悪影響を及ぼすことになる。したがって、配列決定データが以降の解析に適しているかどうかを判定するように、生データ内の不純物を除去するために、品質制御、フィルタリング操作、および統計処理など、一連のデータ処理が生データに対して実施される。
【0039】
ステップS204において、前処理されたサンプルデータに対して遺伝子解析が実施され、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかが判定される。
【0040】
通常、サンプルデータの前処理後、サンプルデータに対して関連の遺伝子解析を実施する必要がある。一般的な解析は、主に、配列アライメント(すなわち、アライメント解析)、バリアントコール(すなわち、変異解析)、アノテーション統計(すなわち、アノテーション解析)、およびその後のパスウェイ解析(GO解析、KEGG解析、およびタンパク質パスウェイ解析など)を含む。ただし、どの解析が実施されるにしても、解析データベースを採用する必要がある。例えば、アライメント解析には、リファレンスゲノムデータベースが必要とされ、バリアントコールには、種のゲノムデータベース(ヒトのゲノムデータベースなど)が必要とされ、アノテーション解析には、アノテーションデータベースが必要とされ、パスウェイ解析には、パスウェイデータベースが必要とされる、等々である。各データベースは、大量のデータを有する。これらデータベースは、サンプルデータに対する解析の実施時に、読み込まれる必要がある。
【0041】
共有メモリは、システムVにおけるプロセス間通信の最終手段である。共有メモリは、その名前が示唆するように、2つの無関係なプロセスを同じ論理メモリにアクセスさせるので、実行中の2つのプロセス間でデータを共有および転送するために極めて有効な手段である。複数の異なるプロセス間で共有されるメモリは、通常、同じ物理メモリ部分である。複数のプロセスが同じ物理メモリ部分をそれぞれ自身のアドレス空間に接続できるので、全てのプロセスが共有メモリ内の複数のアドレスにアクセスできる。或るプロセスがデータを共有メモリに書き込むと、この変化は、同じ共有メモリ部分にアクセスできる他の何れのプロセスにも直ちに影響することになる。
【0042】
図3は、共有メモリへの通信原理を示す概略図である。Linux(登録商標)において、各プロセスはそれ自身のプロセス制御ブロック(PCB:process control block)とアドレス空間(Addr Space)とを有し、対応するページテーブルを有する。ページテーブルは、プロセスの仮想アドレスを物理アドレスにマッピングするために使用され、メモリ管理ユニット(MMU:memory management unit)によって管理される。ページテーブルを使用すると、2つの異なる仮想アドレスが物理空間内の同じ領域にマッピングされ得る。それらが指すこの領域は共有メモリである。
図3を参照すると、この図には2つのプロセス、プロセスAとプロセスB、が存在する。仮想アドレスがこれら2つのプロセスのページテーブルを介して物理アドレスにマッピングされると、物理アドレスの共通のメモリ領域、すなわち、共有メモリ、が存在する。2つのプロセスは、このメモリ領域を同時に見ることができる。これにより、1つのプロセスが書き込み、別のプロセスが読み取ると、この2つのプロセスの間でプロセス間通信を実現できる。共有メモリについては、その実装は参照カウントの原理を採用する。或るプロセスが共有メモリ領域を切り離すと、カウンタは1つ減る。或るプロセスが共有メモリ領域へのヒッチに成功すると、カウンタは1つ増える。カウンタがゼロになった場合のみ、共有メモリ領域を削除できる。プロセスが終了すると、それにアタッチされていた共有メモリ領域はそれから自動的にデタッチされる。
【0043】
各実施形態において、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリが構築される。そこには、遺伝子解析処理において最も共通に使用されるデータベースを記憶させることができる。サンプルデータの解析にデータベースが必要になると、それは遺伝子共有メモリから直接得ることができるので、ディスクの読み込みライブラリからデータベースを読み込む時間が大幅に減る。加えて、複数のサンプルデータ群が同時に解析されるときは、この複数のサンプルデータ群の間でデータベースを共有できるので、読み込みの繰り返しおよびI/O占有が減る。
【0044】
任意使用の実施形態においては、
図4に示されているように、共有メモリの構築方法も提供される。この方法は、ステップS402~S404を含む。
【0045】
ステップS402では、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリが設定される。遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとが設定される。
【0046】
ステップS404では、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルが遺伝子共有メモリに読み込まれる。
【0047】
図5を参照すると、端末システム(すなわち、サンプルデータの遺伝子解析のために使用されるハードウェアデバイス)内の特定の領域が遺伝子解析に使用されるライブラリファイルのための遺伝子共有メモリとして選択されている。端末システムの記憶空間と、データ処理能力と、他の性能とに応じて、遺伝子共有メモリの適切なサイズが決定される。遺伝子共有メモリ領域に記録または記憶される内容は、主に、ノード物理メモリ内の遺伝子共有メモリのテーブルヘッダーのデザインを含む。1)最初に、決定された共有ライブラリの数(n)と共有領域の全長(Len)とを記憶し、2)遺伝子共有メモリ内の指定された各ライブラリファイルの名前(例えば、Lib1、Lib2)と長さオフセット(オフセット1、オフセット2)とを記憶し、3)選択された領域内の指定された各ライブラリファイルのデータを順番に記憶する。
【0048】
その動作原理は、以下のとおりである。サンプルデータは、複数のデータ群を含むことができ、各データ群は、対応するサンプルプロセスを有する。サンプルプロセスP1からサンプルプロセスPNまで、各プロセスはそれ自身のプロセス制御ブロック(PCB)とアドレス空間(Addr space)とを有し、更には対応するページテーブルを有する。ページテーブルは、当該プロセスの仮想アドレスを物理アドレスにマッピングするために使用され、メモリ管理ユニット(MMU)によって管理される。ページテーブルを使用することによって、2つの異なる仮想アドレスが物理空間内の同じ領域にマッピングされ得る。これらのアドレスが指すこの領域は、共有メモリである。上記の方法によって、各サンプルプロセスは共有メモリ領域に入ることができるので、共有メモリ領域内の必要なライブラリファイルを得ることができる。
【0049】
ステップS206において、必要なライブラリファイルがある場合は、この必要なライブラリファイルが遺伝子共有メモリから取得され、この必要なライブラリファイルは前処理されたサンプルデータの遺伝子解析の一プロセスにマッピングされ、遺伝子解析が完了する。
【0050】
本開示の各実施形態において提供される遺伝子共有メモリベースの遺伝子解析方法においては、最初にサンプルデータが読み取られ、その後、このサンプルデータが前処理され、その後、この前処理されたサンプルデータに対して遺伝子解析が実施される。この遺伝子解析においては、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定する必要がある。ある場合は、必要なライブラリファイルが遺伝子共有メモリから取得され、サンプルデータに対応する遺伝子解析にマッピングされ、対応する解析が完了する。遺伝子共有メモリベースの遺伝子解析方法において、遺伝子共有メモリ機構は、(例えば、アライメント解析、バリアントコール解析、アノテーション解析、等々を含む)遺伝子解析のためのインデックスを確立するために使用され、その後、遺伝子解析に必要なデータベース内のファイル(すなわち、ライブラリファイル)が遺伝子共有メモリに記憶される。ライブラリファイルは、遺伝子共有メモリからサンプルデータに対して実施される遺伝子解析の一プロセスに好都合にマッピング可能である。一方では、ハードディスクからライブラリファイルを読み込むための時間およびI/O占有が大きく減る。他方では、遺伝子解析プロセスにおいて複数のプロセス間の通信が容易になり、ライブラリファイルの読み込みの繰り返しが回避される。
【0051】
一部の実施形態において、本方法は、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に含む。
【0052】
特に、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定する。読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むことができる。一方では、遺伝子共有メモリへの必要なライブラリファイルの読み込みとその後の遺伝子共有メモリからの必要なライブラリファイルの取得とがより迅速且つ効率的に行われ、他方では、他のサンプルデータプロセスによる必要なライブラリファイルの使用も容易になり、読み込みの繰り返しが回避される。
【0053】
一部の実施形態において、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、以下のサブステップを含む。
【0054】
必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するサブステップであって、必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と必要なライブラリファイルの履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含み、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップ。
【0055】
必要なライブラリファイルの情報とは、必要なライブラリファイルに関する情報を云い、必要なライブラリファイルの種類、必要なライブラリファイルのサイズ、必要なライブラリファイルが必要とする空間、履歴読み込み要求の数、および必要なライブラリファイルの読み込み要求頻度、等々を含むことができる。遺伝子共有メモリの情報とは、遺伝子共有メモリに関する情報を云い、主に、遺伝子共有メモリのサイズ、遺伝子共有メモリの残りの空間、等々を含む。
【0056】
第1のプリセット数は、事前設定された値であり、ライブラリファイルの重要性を或る程度反映させるために使用可能である。すなわち、履歴読み込み要求の数が第1のプリセット数より大きい場合、これは、必要なライブラリファイルが頻繁に必要とされている、または頻繁に使用されている、ことを示す。すなわち、必要なライブラリファイルは遺伝子解析において重要であり、遺伝子共有メモリに読み込むことができるので、他のサンプルデータのための使用が容易になる。必要なライブラリファイルの重要度の判定後、更に必要であるのは、遺伝子共有メモリの残りの空間がこの必要なライブラリファイルを記憶するために十分であるかどうかを判定すること、すなわち、必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さいかどうかを判定すること、である。十分であれば、必要なライブラリファイルを遺伝子共有メモリに直接読み込むことができる。
【0057】
一部の実施形態において、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含む。必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度の優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度の優先度が遺伝子共有メモリ内の一ライブラリファイルの読み込み要求頻度優先度より高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリ内の残りの空間が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を更に含む。
【0058】
特に、必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きいと判定された場合、これは、遺伝子共有メモリの残りの空間が必要なライブラリファイルを記憶するために不十分であることを示す。この場合は、必要なライブラリファイルを遺伝子共有メモリに既に記憶されている各ライブラリファイルと比較し、ライブラリファイルの読み込み要求頻度優先度に応じて、読み込み要求頻度が低い一ライブラリファイルを削除し、その後、必要なライブラリファイルを遺伝子共有メモリに読み込む必要がある。
【0059】
各実施形態において、必要なライブラリファイルと遺伝子共有メモリに記憶されているライブラリファイルとは、主に各ライブラリファイルの読み込み要求頻度に応じて、優先度順にランク付けされる。必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルの優先度より高い場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むために、遺伝子共有メモリ内のそのライブラリファイルが削除される。上記のプロセスにおいては、全てのライブラリファイルのサイズが包括的に考慮される。削除されたライブラリファイルが占めていたメモリが必要なライブラリファイルを記憶するために十分であることを保証することのみが必要である。
【0060】
これにより、遺伝子解析プロセスに必要なライブラリファイルが遺伝子共有メモリにない場合は、このライブラリファイルを最初に遺伝子共有メモリに読み込むことができるので、以降の計算の効率が向上する。
【0061】
一部の実施形態において、遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含む。本方法は、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するステップを更に含む。前処理されたサンプルデータが複数群のサンプルデータを含む場合、複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップで一度に解析される。
【0062】
各実施形態において、遺伝子解析方法は、アライメント解析と、変異解析と、アノテーション解析とを含む。ただし、遺伝子解析プロセスには、通常、順序要件が存在する。すなわち、通常、アライメント解析が最初に実施され、次に変異解析が実施され、その後、アノテーション解析が実施される。ただし、複数群のサンプルデータが存在する場合は、各群のサンプルデータを遺伝子解析の同じステップまたは複数の異なるステップで解析できる。例えば、サンプルデータ1をアライメント解析に、サンプルデータ2を変異解析に、サンプルデータ3をアノテーション解析にかけることができる。サンプルデータ1、サンプルデータ2、およびサンプルデータ3をアライメント解析、変異解析、またはアノテーション解析に同時にかけることも可能である。本方法を使用すると、複数群のサンプルデータを同時に処理できるので、データ処理速度を更に向上させることができる。
【0063】
一部の実施形態において、遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含む。前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施した後、本方法は、アライメント解析後のサンプルデータを位置タグで標識するステップと、標識されたサンプルデータに対してソーティング解析とマーキング重複解析とをモジュールによって実施するステップとを更に含む。
【0064】
特に、遺伝子解析は、配列決定解析とマーキング重複解析とを更に含む。アライメント解析後のサンプルデータを位置タグで標識するとは、比較後のファイルに位置関連タグを追加することであるので、配列決定解析とマーキング重複解析とをモジュールによって実施でき、配列決定解析およびマーキング重複解析に対してより効率的なマルチスレッドソーティングを増やすことができる。
【0065】
一部の実施形態において、本方法は、メモリの使用によって遺伝子解析の一部または全てのステップを接続するステップを更に含む。
【0066】
特に、メモリの使用によって、遺伝子解析プロセスにおける比較、ソーティング、マーキング重複、およびバリアントコールの各プロセスにおけるいくつかのステップまたは全てのステップを接続できる。メモリを使用して各ステップを接続することによって、中間に出力されるsam/bamファイルを減らすことができるので、I/O占有が減る。
【0067】
理解を助けるために、詳細な一実施形態を以下に示す。
図6は、遺伝子解析のプロセス全体と遺伝子共有メモリ領域内のプロセスとを示す。遺伝子解析プロセスは、次のように行われる。複数サンプルの入力後、各サンプルのデータが前処理され、その後、アライメント解析に必要なライブラリファイルが遺伝子共有メモリ領域に読み込まれているかどうかが判定され、読み込まれていれば、アライメント解析が開始され、読み込まれていなければ、アライメント解析を実施するために、ライブラリファイルがハードディスクから読み込まれる。アライメント解析プロセスは、メモリの接続とアルゴリズムの最適化とによって融通性のあるステップとして合成され、その後、バリアントコールが実施され、アノテーション情報のライブラリファイルが遺伝子共有メモリに読み込まれているかどうかが判定され、読み込まれていれば、アノテーション統計が開始され、読み込まれていなければ、アノテーション統計のためにライブラリファイルがハードディスクから読み込まれ、解析プロセスは終了する。
【0068】
遺伝子共有メモリ領域内の一プロセスが次のように実施される。ライブラリlib-x(すなわち、必要なライブラリファイル)の情報に対する要求がある場合は、必要なライブラリファイルが遺伝子共有メモリ領域にあるかどうかが判定され、ある場合は、ライブラリデータがフィードバックされ、プロセスは終了する。必要なライブラリファイルが遺伝子共有メモリ領域内にない場合は、必要なライブラリファイルを読み込み方法Qによって読み込むべきかどうかが判定される。読み込むべきであれば、必要なライブラリファイルが遺伝子共有メモリ領域に読み込まれ、ライブラリデータが返され、プロセスは終了する。必要なライブラリファイルを読み込み方法Qによって読み込む必要がない場合は、情報が何も返されず、プロセスは終了する。
【0069】
読み込み方法Qの固有のステップは、次のように実施される。1.必要なライブラリファイルの種類およびサイズが求められる。2.レコードファイルが取得される。3.ノードの総メモリサイズと、共有メモリ領域のサイズと、各種のライブラリの履歴読み込み要求の数(f_type)と、あらゆる種類のライブラリの履歴読み込み要求の総数(f_total)とがレコードファイルから読み取られる。4.ノードのメモリサイズの変化を防止するために、ノードのメモリサイズがハードディスクから更新される。5.必要なライブラリファイルの種類について、この種のライブラリの履歴読み込み要求の数が1増やされる(f_type+1)。6.全ての種類のライブラリの履歴読み込み要求の総数が1増やされる(f_total+1)。7.残りの空間がライブラリを読み込むために十分であるかどうかが判定される。8.レコードファイル内のあらゆる種類のライブラリの要求頻度(f_type/f_total)が降順にランク付けされ、ランク付けされたリンクリストが返される。9.必要なライブラリファイルが読み込まれているかどうかが判定され、必要なライブラリファイルが読み込まれていれば、ライブラリインデックスが返され、必要なライブラリファイルが読み込まれておらず、且つこの種のライブラリの履歴読み込み要求の数が10より大きい場合は、アンロードされた全てのライブラリにおけるこの種のライブラリの優先度とランク位置とが決定される。10.この種のライブラリの優先度が読み込まれているライブラリの優先度を超えている場合は、システムは、type_list内のこの種のライブラリの後にランク付けされた、読み込まれている各ライブラリのサイズの和がこの種のライブラリを読み込むためのメモリサイズの条件Wを満たしているかどうかを予測し、満たしていれば、条件Wが満たされるまで、これら読み込まれているライブラリは逆順にアンロードされ、満たしていなければ、プロセスが実施されない。11.読み込み条件が満たされていれば、共有メモリ領域のサイズのレコードが更新される。12.ライブラリを読み込むために十分なメモリがないために、ライブラリが読み込まれていないというケースがマークされ、それがレコードファイルに更新される。
【0070】
レコードファイルのフォーマットを以下に示す。
【0071】
M:63492649171200
【0072】
Len:13492649171200
【0073】
f_total:100
【0074】
【0075】
type_flagは、読み込まれていない理由を示す。「1」は、この種のライブラリの読み込み優先度が最初にランク付けされており、メモリが不十分であるために読み込まれなかったことを示す。読み込まれているライブラリのtype_flagは0である。
【0076】
加えて、読み込み方法Qの疑似コードは以下のとおりである。
【0077】
RequestShareMem(type,size) //type:共有用ライブラリの種類、size:共有用ライブラリのサイズ
【0078】
File=RecordFile //レコードファイル
【0079】
ReadFromFile(M,Len,f_type,f_total) //レコードファイルからのリード(M:ノードの総メモリサイズ、Len:共有メモリ領域の現在のサイズ、f_type:この種のライブラリの履歴読み込み要求の数、f_total:あらゆる種類のライブラリの履歴読み込み要求の総数。
【0080】
Update(M) //ノードのメモリサイズの変化を防止するために、ノードのメモリサイズをハードディスクから更新する。
【0081】
f_type=f_type+1 //f_typeの更新
【0082】
f_total=f_total+1 //f_totalの更新
【0083】
W=M*0.5-Len-size>0 //条件W:読み込みのために残りの空間の有無を判定。0.5は調整可能な係数。現在はメモリ全体の50%が使用されている。
【0084】
type_list=SortAllTypeInFile() //レコードファイル内のあらゆる種類のライブラリの要求頻度(f_type/f_total)を降順にランク付けし、ランク付けされたリンクリストを返す。
【0085】
if AlreadyLoaded(type)then
【0086】
id=GetShareMemId(type) //必要なライブラリファイルが読み込まれていれば、ライブラリインデックスを返す。
【0087】
else if f_type>10 //この種のライブラリの履歴読み込み要求の数は10より大きい。
【0088】
if IsPrior(type_list,type) //第1優先度であるかどうかを判定。type_flagが0であるアンロードされた他の全てのライブラリの前にランク付け。
【0089】
if type_flag=1
【0090】
UnloadShareMem(type_list,type) //type_list内のこの種のライブラリの後にランク付けされた、読み込まれているライブラリのサイズの和が条件Wを満たしている場合は、条件Wが満たされるまで、これら読み込まれているライブラリを逆順にアンロードする。それ以外の場合は、プロセスが何も実施されない。
【0091】
if W
【0092】
id=LoadShareMem(type, size)
【0093】
Len=Len+size //共有メモリ領域のサイズを更新
【0094】
type_flag=0
【0095】
else
【0096】
type_flag=1 //十分なメモリがないことをマーキングし、レコードを更新
【0097】
id=0
【0098】
else
【0099】
id=0 //情報を何も返さない
【0100】
UpdateFile(M,Len,f_type,f_total,type_flag) //レコードファイルを更新
【0101】
return id //共有メモリ領域のインデックスを返す。「0」は情報を何も表さない
【0102】
end
【0103】
効果を示すための一部の実施形態
【0104】
本開示の各実施形態における共有メモリベースの遺伝子解析方法の有効性を検証するために、3つの遺伝子解析方法、すなわち、方法A(最適化されていないソフトウェア(すなわち、遺伝子解析の全てのステップがメモリの使用によって接続されておらず、各ステップが互いに独立している)+遺伝子共有メモリが使用されない)、方法B(最適化されたソフトウェア(すなわち、遺伝子解析の全てのステップがメモリの使用によって接続されている)+遺伝子共有メモリが使用されない)、および方法C(最適化されたソフトウェア(すなわち、遺伝子解析の全てのステップがメモリの使用によって接続されている)+遺伝子共有メモリが使用される)が与えられ、これら方法のCPU使用率およびI/O時間が比較された。結果が
図7~
図9に示されている。
図7は、本方法Aの解析結果を示し、
図8は、方法Bの解析結果を示し、
図9は、Cの解析結果を示す。
【0105】
図7から分かるのは、加速前の(すなわち、アライメント解析の前のサンプルデータの読み取りステップおよび前処理ステップの各々が独立に実行され、遺伝子共有メモリを使用せずに比較が直接処理される)方法Aの解析部の実行時間は2.83時間であり、CPU使用率は大きく変動することである。加速前の(すなわち、遺伝子共有メモリを使用せずに、比較およびアノテーションが直接処理される)比較部およびアノテーション部の実行時間は2.61時間であり、CPU使用率は高い。I/O秒(すなわち、物理ディスクに出力される1秒当たりの転送数)は高い。これは、I/O使用率が高く、ブロッキングの確率が高いことを示している。
【0106】
図8から分かるのは、加速後の(すなわち、アライメント解析前のサンプルデータを読み取るステップと前処理ステップとがメモリの使用によって接続され、遺伝子共有メモリの使用によって比較が処理される)方法Bの解析部の実行時間は1.75時間であり、CPU使用率の変動は、方法Aの場合より小さい
ことである。遺伝子共有メモリの使用前の(すなわち、遺伝子共有メモリを使用せずに比較が直接処理される)ライブラリ比較部の実行時間は2.38時間であり、CPU使用率は高く、I/O秒(すなわち、物理ディスクに出力される1秒当たりの転送数)は高い。これは、I/O使用率が高く、ブロッキングの確率が高いことを示している。
【0107】
図9から分かるのは、加速後の(すなわち、アライメント解析前のサンプルデータの読み取りステップと前処理ステップとがメモリの使用によって接続され、遺伝子共有メモリの使用によって比較が処理される)方法Cの解析部の実行時間は1.75時間であり、CPU使用率の変動は方法Aの場合より小さい(この部分は方法Bと同じ)
ことである。遺伝子共有メモリの使用後の(すなわち、遺伝子共有メモリを使用して比較が処理される)ライブラリ比較部の実行時間は0.82時間であり、CPU使用率は高く、I/O秒(すなわち、物理ディスクに出力される1秒当たりの転送数)は低い。これは、I/O使用率が低く、ブロッキングの確率が低いことを示している。
【0108】
したがって、遺伝子解析のために方法Cが使用される。すなわち、複数の遺伝子解析ステップがメモリの使用によって接続される。比較、アノテーション、および他のプロセスに遺伝子共有メモリを採用する方法は、遺伝子解析のために使用される時間を大幅に減らし、I/O使用率を減らす、すなわちI/Oブロッキングを減らす、ことができる。
【0109】
図2、
図4、および
図6のフローチャートの各ステップは矢印で示されている順に図示されているが、これらステップは、矢印で示されている順に必ずしも実施される必要はないことを理解されたい。本願明細書に明示的に記載されていない限り、これらステップの実行は順番が厳密に限定されておらず、これらステップは他の順番でも実施可能である。更に、
図2、
図4、および
図6に示されている少なくとも一部のステップは、複数のサブステップまたは複数の段階を含み得る。これらサブステップまたは段階は必ずしも同時には実行されず、他のステップ、または他のステップの少なくとも一部のサブステップまたは段階、と交互に実施され得る。
【0110】
一部の実施形態においては、
図10に示されているように、共有メモリベースの遺伝子解析装置が提供される。本装置は、
データ読み取りモジュール102と、データ前処理モジュール104と、遺伝子解析モジュール106とを備える。
【0111】
データ読み取りモジュール102は、サンプルデータを読み取るように構成される。
【0112】
データ前処理モジュール104は、サンプルデータを前処理するように構成される。
【0113】
遺伝子解析モジュール106は、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、遺伝子解析を完了するように構成される。
【0114】
一部の実施形態において、共有メモリベースの遺伝子解析装置は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、読み込み条件が満たされていれば、必要なライブラリファイルを遺伝子共有メモリに読み込むように構成されたライブラリファイル読み込みモジュールを更に備える。
【0115】
一部の実施形態において、ライブラリファイル読み込みモジュールは、ライブラリ情報およびメモリ情報取得モジュールを備える。
【0116】
ライブラリ情報およびメモリ情報取得モジュールは、必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するように構成される。必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と必要なライブラリファイルの履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含む。
【0117】
ライブラリファイル読み込みモジュールは、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むように構成される。
【0118】
一部の実施形態において、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含み、ライブラリファイル読み込みモジュールは、優先度ランク付けモジュールとライブラリファイル削除モジュールとを更に含む。
【0119】
優先度ソーティングモジュールは、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするように構成される。
【0120】
ライブラリファイル削除モジュールは、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルより高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が必要なライブラリファイルが必要とする空間以上であれば、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するように構成される。
【0121】
ライブラリファイル読み込みモジュールは、必要なライブラリファイルを遺伝子共有メモリに読み込むように更に構成される。
【0122】
一部の実施形態において、本装置は、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリを設定し、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとを設定するように構成された遺伝子共有メモリ設定モジュールを更に含む。
【0123】
ライブラリファイル読み込みモジュールは、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルを遺伝子共有メモリに読み込むように更に構成される。
【0124】
一部の実施形態において、遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含む。
【0125】
遺伝子解析モジュール106は、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するように構成される。前処理されたサンプルデータが複数群のサンプルデータを含む場合は、これら複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップで一度に解析される。
【0126】
一部の実施形態において、遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、本装置は、アライメント解析後のサンプルデータを位置タグで標識し、標識されたサンプルデータに対してソーティング解析とマーキング重複解析とをモジュールによって実施するように構成されたソーティングおよびマーキング重複モジュールを更に備える。
【0127】
一部の実施形態において、本装置は、メモリの使用によって遺伝子解析の一部または全てのステップを接続するように構成されたメモリ接続モジュールを更に備える。
【0128】
一部の実施形態において、データ前処理モジュール104は、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを更に実施する。
【0129】
共有メモリベースの遺伝子解析装置の具体的な定義については、上記の共有メモリベースの遺伝子解析方法の定義を参照されたい。ここでは、繰り返さない。共有メモリベースの遺伝子解析装置内の全てまたは一部のモジュールは、ソフトウェア、ハードウェア、またはこれらの組み合わせによって実現可能である。上記の各モジュールは、ハードウェアの形態でコンピュータデバイスのプロセッサに埋め込むことも、またはプロセッサから独立させることも、またはソフトウェアの形態でコンピュータデバイス内のメモリに記憶させることもできるので、プロセッサは上記の各モジュールの呼び出しおよび対応する操作の実行を容易に行える。
【0130】
一部の実施形態においては、コンピュータデバイスが提供される。このコンピュータデバイスはサーバでもよく、その内部構造は
図11に示されているようにし得る。コンピュータデバイスは、プロセッサと、メモリと、ネットワークインタフェースと、データベースとを備え、これらはシステムバスを介して接続される。コンピュータデバイスのプロセッサは、計算および制御能力を提供するために使用される。コンピュータデバイスのメモリは、不揮発性記憶媒体とメモリデバイスとを備える。不揮発性記憶媒体は、オペレーティングシステムと、コンピュータプログラムと、データベースとを記憶する。メモリデバイスは、不揮発性記憶媒体内のオペレーティングシステムおよびコンピュータプログラムの動作のための環境を提供する。コンピュータデバイスのデータベースは、抵抗等価モデルおよび等価サブモデルのデータ、ならびに計算中に得られた等価抵抗、加工抵抗、および接触抵抗、を記憶するために使用される。コンピュータデバイスのネットワークインタフェースは、ネットワーク接続を介して複数の外部端末と通信するために使用される。コンピュータプログラムは、共有メモリベースの遺伝子解析方法を具現化するために、プロセッサによって実行される。
【0131】
図11に示されている構造は、本出願の方式に関連した一部の構造のブロック図であるに過ぎず、本出願の方式が適用されるコンピュータデバイスに対する制限とはならないことを当業者は理解できる。特定のコンピュータデバイスは、この図に示されている構成要素より多い、または少ない、構成要素を備え得る、または一部の構成要素を組み合わせ得る、または異なる構成要素配置を有し得る。
【0132】
一部の実施形態においては、プロセッサと、メモリと、このメモリに記憶された、プロセッサによる実行が可能な、コンピュータプログラムとを備えたコンピュータデバイスが提供される。このコンピュータプログラムを実行すると、サンプルデータを読み取ってこのサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定するステップと、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、遺伝子解析を完了するステップと、が具現化される。
【0133】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に具現化する。
【0134】
遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するサブステップであって、必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と必要なライブラリファイルの履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含む、サブステップと、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップとを含む。
【0135】
一部の実施形態において、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けし、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルより高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップとを更に含む。
【0136】
一部の実施形態において、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルより高く、且つ、遺伝子共有メモリ内の優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が読み込み要求頻度が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を更に含む。
【0137】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリを設定するステップと、遺伝子共有メモリのサイズ、収容可能なライブラリファイルの数、各ライブラリファイルの名前、および各ライブラリファイルのサイズオフセットを設定するステップと、遺伝子共有メモリのサイズ、収容可能なライブラリファイルの数、各ライブラリファイルの名前、および各ライブラリファイルのサイズオフセットに応じて、遺伝子解析に共通に使用されるライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に具現化する。
【0138】
一部の実施形態において、遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含み、プロセッサは、コンピュータプログラムを実行すると、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するステップを更に具現化する。前処理されたサンプルデータが複数群のサンプルデータを含む場合、複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップにおいて一度に解析される。
【0139】
一部の実施形態において、遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施した後、プロセッサは、コンピュータプログラムを実行すると、アライメント解析後のサンプルデータを位置タグで標識するステップと、標識されたサンプルデータに対するソーティング解析とマーキング重複解析とをモジュールによって実施するステップとを更に具現化する。
【0140】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、遺伝子解析の一部または全てのステップをメモリの使用によって接続するステップを更に具現化する。
【0141】
一部の実施形態において、サンプルデータを前処理するステップは、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含む。
【0142】
一部の実施形態は、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供する。このコンピュータプログラムがプロセッサによって実行されると、サンプルデータを読み取り、このサンプルデータを前処理するステップと、前処理されたサンプルデータに対して遺伝子解析を実施し、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定するステップと、ある場合は、必要なライブラリファイルを遺伝子共有メモリから取得し、必要なライブラリファイルを前処理されたサンプルデータの遺伝子解析プロセスにマッピングし、遺伝子解析を完了するステップと、を具現化する。
【0143】
一部の実施形態において、プロセッサは、コンピュータプログラムを実行すると、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に具現化する。
【0144】
一部の実施形態において、遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにない場合は、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの情報と遺伝子共有メモリの情報とを取得するサブステップであって、必要なライブラリファイルの情報は、必要なライブラリファイルが必要とする空間と必要なライブラリファイルの履歴読み込み要求の数とを含み、遺伝子共有メモリの情報は、遺伝子共有メモリの残りの空間を含む、サブステップと、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、含む。
【0145】
一部の実施形態において、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルより高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より小さい場合は、必要なライブラリファイルを遺伝子共有メモリに読み込むサブステップと、を更に含む。
【0146】
一部の実施形態において、必要なライブラリファイルの情報は、必要なライブラリファイルの読み込み要求頻度を更に含み、遺伝子共有メモリの情報は、遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含み、必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、読み込み条件が満たされている場合に必要なライブラリファイルを遺伝子共有メモリに読み込むステップは、必要なライブラリファイルの履歴読み込み要求の数が第1のプリセット数より大きく、且つ必要なライブラリファイルが必要とする空間が遺伝子共有メモリの残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、必要なライブラリファイルの読み込み要求頻度と全てのライブラリファイルの読み込み要求頻度とに応じて、必要なライブラリファイルと全てのライブラリファイルとを優先度順にランク付けするサブステップと、必要なライブラリファイルの読み込み要求頻度優先度が遺伝子共有メモリ内の一ライブラリファイルの優先度より高く、且つ遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルの削除後の遺伝子共有メモリの残りの空間が必要なライブラリファイルが必要とする空間以上である場合は、遺伝子共有メモリ内の読み込み要求頻度優先度がより低いそのライブラリファイルを削除するサブステップと、必要なライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に含む。
【0147】
一部の実施形態において、このコンピュータプログラムは、プロセッサによって実行されると、遺伝子解析に使用されるライブラリファイルのために遺伝子共有メモリを設定するステップと、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとを設定するステップと、遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルを遺伝子共有メモリに読み込むステップと、を更に具現化する。
【0148】
一部の実施形態において、遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含み、このコンピュータプログラムは、プロセッサによって実行されると、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施するステップを更に具現化する。前処理されたサンプルデータが複数群のサンプルデータを含む場合は、複数群のサンプルデータは、遺伝子解析の同じステップまたは複数の異なるステップにおいて一度に解析される。
【0149】
一部の実施形態において、遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、前処理されたサンプルデータに対してアライメント解析と、変異解析と、アノテーション解析とを順次実施した後、このコンピュータプログラムは、プロセッサによって実行されると、アライメント解析後のサンプルデータを位置タグで標識するステップと、標識されたサンプルデータに対してソーティング解析とマーキング重複解析とをモジュールによって実施するステップと、を更に具現化する。
【0150】
一部の実施形態において、このコンピュータプログラムは、プロセッサによって実行されると、遺伝子解析の一部または全てのステップをメモリの使用によって接続するステップを更に具現化する。
【0151】
一部の実施形態において、サンプルデータを前処理するステップは、サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含む。
【0152】
当業者には理解されるように、上記の各実施形態において本方法を実施するための全てまたは一部のステップは、ハードウェアによって、または関連ハードウェアに命令するプログラムによって、完了可能であり、このプログラムはコンピュータ可読不揮発性記憶媒体に記憶可能であり、このプログラムは、実行されると、上記の各方法の各実施形態のステップを実施可能である。本出願によって提供される各実施形態において使用されるメモリ、記憶域、データベース、または他の媒体への何れの言及も、不揮発性および/または揮発性メモリを含み得る。不揮発性メモリは、読み出し専用メモリ(ROM)、プログラム可能ROM(PROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)、またはフラッシュメモリを備え得る。揮発性メモリは、ランダムアクセスメモリ(RAM)または外部キャッシュメモリを備え得る。限定ではなく、実例として、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、デュアルデータレートSDRAM(DDRSDRAM)、エンハンストSDRAM(ESDRAM)、シンクロナスリンクDRAM(SLDRAM)、ラムバスダイレクトRAM(RDRAM)、ダイレクトメモリバスダイナミックRAM(DRDRAM)、およびラムバスダイナミックRAM(RDRAM)、等々など、さまざまな形態で入手可能である。
【0153】
本開示の一部の実施形態によると、コンピュータプログラムが提供される。このコンピュータプログラムは複数の命令を含み、これら命令は、プロセッサによって実行されると、上記実施形態の何れかによる共有メモリベースの遺伝子解析方法をこのプロセッサに実行させる。
【0154】
上記の各実施形態の技術的特徴は、任意に組み合わせ可能である。説明を簡潔にするために、各実施形態におけるさまざまな技術的特徴の全ての可能な組み合わせが記載されていないが、これら技術的特徴の組み合わせに矛盾がない限り、全ての可能な組み合わせがこの明細書の範囲内にあると見做されるものとする。
【0155】
上記の実施形態は、本出願のいくつかの実施形態を提示しているに過ぎない。したがって、それらの相対的に具体的且つ詳細な説明は、本出願の範囲を限定するとは解釈され得ない。当業者は、本出願の概念から逸脱せずに、さまざまな変更および改良を行えることに注目されたい。このような変更および改良は、本出願の保護範囲内にあると見做されるものとする。したがって、本出願の保護範囲は、特許請求の範囲に従って決定されるものとする。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
共有メモリベースの遺伝子解析方法であって、
サンプルデータを読み取り、前記サンプルデータを前処理するステップと、
前記前処理されたサンプルデータに対して遺伝子解析を実施し、前記遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定するステップと、
前記必要なライブラリファイルがある場合は、前記必要なライブラリファイルを前記遺伝子共有メモリから取得し、前記必要なライブラリファイルを前記前処理されたサンプルデータの前記遺伝子解析のプロセスにマッピングし、
前記遺伝子解析を完了するステップと、
を含
む共有メモリベースの遺伝子解析方法。
【請求項2】
前記必要なライブラリファイルが前記遺伝子共有メモリにない場合は、前記必要なライブラリファイルが読み込み条件を満たしているかどうかを判定するステップと、
前記読み込み条件が満たされている場合は、前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むステップと、
を更に含
む、請求項1に記載の共有メモリベースの遺伝子解析方法。
【請求項3】
前記遺伝子解析に必要な前記ライブラリファイルが前記遺伝子共有メモリにない場合は、前記必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、前記読み込み条件が満たされている場合は、前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むステップは、
前記必要なライブラリファイルの情報と前記遺伝子共有メモリの情報とを取得するサブステップであって、前記必要なライブラリファイルの前記情報は、前記必要なライブラリファイルが必要とする空間と
前記必要なライブラリファイルの履歴読み込み要求の数とを含み、前記遺伝子共有メモリの前記情報は、前記遺伝子共有メモリの残りの空間を含む、サブステップと、
前記必要なライブラリファイルの前記履歴読み込み要求の数が第1のプリセット数より大きく、且つ前記必要なライブラリファイルが必要とする前記空間が前記遺伝子共有メモリの前記残りの空間より小さい場合は、前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むサブステップと、
を含
む、請求項2に記載の共有メモリベースの遺伝子解析方法。
【請求項4】
前記必要なライブラリファイルの前記情報は、前記必要なライブラリファイルの読み込み要求頻度を更に含み、前記遺伝子共有メモリの前記情報は、
前記遺伝子共有メモリ内の全てのライブラリファイルの読み込み要求頻度を更に含み、前記必要なライブラリファイルが読み込み条件を満たしているかどうかを判定し、前記読み込み条件が満たされている場合に前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むステップは、
前記必要なライブラリファイルの前記履歴読み込み要求の数が前記第1のプリセット数より大きく、且つ前記必要なライブラリファイルが必要とする前記空間が前記遺伝子共有メモリの前記残りの空間より大きい場合は、各ライブラリファイルの読み込み要求頻度優先度を取得するために、前記必要なライブラリファイルの前記読み込み要求頻度と前記全てのライブラリファイルの前記読み込み要求頻度とに応じて、前記必要なライブラリファイルと前記全てのライブラリファイルとを優先度順にランク付けするサブステップと、
前記必要なライブラリファイルの前記読み込み要求頻度優先度が前記遺伝子共有メモリ内の一ライブラリファイルの前記読み込み要求頻度優先度より高く、且つ前記遺伝子共有メモリ内の読み込み要求頻度優先度がより低い前記ライブラリファイルの削除後の前記遺伝子共有メモリの前記残りの空間が、前記必要なライブラリファイルが必要とする前記空間以上である場合は、前記遺伝子共有メモリ内の前記読み込み要求頻度優先度がより低い前記ライブラリファイルを削除するサブステップと、
前記必要なライブラリファイルを前記遺伝子共有メモリに読み込むサブステップと、
を更に含
む、請求項3に記載の共有メモリベースの遺伝子解析方法。
【請求項5】
前記遺伝子解析に使用されるライブラリファイルのために前記遺伝子共有メモリを設定し、前記遺伝子共有メモリのサイズと、収容可能なライブラリファイルの数と、各ライブラリファイルの名前と、前記各ライブラリファイルのサイズオフセットとを設定するステップと、
前記遺伝子共有メモリのサイズと、前記収容可能なライブラリファイルの数と、前記各ライブラリファイルの名前と、前記各ライブラリファイルのサイズオフセットとに応じて、遺伝子解析に共通に使用されるライブラリファイルを前記遺伝子共有メモリに読み込むステップと、
を更に含
む、請求項1~4の何れか一項に記載の共有メモリベースの遺伝子解析方法。
【請求項6】
前記遺伝子解析は、アライメント解析と、変異解析と、アノテーション解析とを含み、本方法は、
前記前処理されたサンプルデータに対して前記アライメント解析と、前記変異解析と、前記アノテーション解析とを順次実施するステップであって、前記前処理されたサンプルデータが複数群のサンプルデータを含む場合は、前記複数群のサンプルデータが前記遺伝子解析の同じステップまたは複数の異なるステップで一度に解析される、ステップを更に含
む、請求項1
~5の何れか一項に記載の共有メモリベースの遺伝子解析方法。
【請求項7】
前記遺伝子解析は、ソーティング解析とマーキング重複解析とを更に含み、前記前処理されたサンプルデータに対して前記アライメント解析と、前記変異解析と、前記アノテーション解析とを順次実施した後、本方法は、
前記アライメント解析後の前記サンプルデータを位置タグで標識するステップと、前記標識されたサンプルデータに対して前記ソーティング解析と前記マーキング重複解析とをモジュールによって実施するステップと、
を更に含
む、請求項6に記載の共有メモリベースの遺伝子解析方法。
【請求項8】
前記遺伝子解析の一部または全てのステップをメモリの使用によって接続するステップ、
を更に含
む、請求項7に記載の共有メモリベースの遺伝子解析方法。
【請求項9】
前記サンプルデータを前処理するステップは、
前記サンプルデータに対して品質制御と、フィルタリング操作と、統計処理とを実施するサブステップを含
む、請求項
1~8の何れか一項に記載の共有メモリベースの遺伝子解析方法。
【請求項10】
共有メモリベースの遺伝子解析装置であって、
サンプルデータを読み取るように構成されたデータ読み取りモジュールと、
前記サンプルデータを前処理するように構成されたデータ前処理モジュールと、
前記前処理されたサンプルデータに対して遺伝子解析を実施し、前記遺伝子解析に必要なライブラリファイルが遺伝子共有メモリにあるかどうかを判定し、前記遺伝子解析に必要なライブラリファイルが前記遺伝子共有メモリにある場合は、前記必要なライブラリファイルを前記遺伝子共有メモリから取得し、前記必要なライブラリファイルを前記前処理されたサンプルデータの前記遺伝子解析のプロセスにマッピングし、
前記遺伝子解析を完了するように構成された遺伝子解析モジュールと、
を備え
る共有メモリベースの遺伝子解析装置。
【請求項11】
メモリと、プロセッサと、前記メモリに記憶された、前記プロセッサ上で実行可能なコンピュータプログラムとを備えたコンピュータデバイスであって、前記プロセッサは、前記コンピュータプログラムを実行すると、請求項1~9の何れか一項に記載の方法のステップを具現化す
るコンピュータデバイス。
【請求項12】
コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、プロセッサによって実行されると、請求項1~9の何れか一項に記載の方法のステップを具現化す
るコンピュータ可読記憶媒体。
【請求項13】
コンピュータプログラムであって、前記コンピュータプログラムは複数の命令を含み、前記複数の命令は、プロセッサによって実行されると、請求項1~9の何れか一項に記載の共有メモリベースの遺伝子解析方法を前記プロセッサに実行させる、コンピュータプログラム。
【国際調査報告】