(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】遺伝子シークエンシングデータ処理方法及び遺伝子シークエンシングデータ処理装置
(51)【国際特許分類】
G16B 30/00 20190101AFI20231129BHJP
【FI】
G16B30/00
(21)【出願番号】P 2021571845
(86)(22)【出願日】2020-11-06
(86)【国際出願番号】 CN2020127101
(87)【国際公開番号】W WO2022082879
(87)【国際公開日】2022-04-28
【審査請求日】2021-12-02
(31)【優先権主張番号】202011139823.4
(32)【優先日】2020-10-22
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521527185
【氏名又は名称】ビージーアイ ジェノミクス カンパニー リミテッド
(73)【特許権者】
【識別番号】521527196
【氏名又は名称】ビージーアイ ヘルス (エイチケー) カンパニー リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【氏名又は名称】廣田 浩一
(74)【代理人】
【識別番号】100107733
【氏名又は名称】流 良広
(74)【代理人】
【識別番号】100115347
【氏名又は名称】松田 奈緒子
(72)【発明者】
【氏名】ヨウジン・チャン
(72)【発明者】
【氏名】チュアン・ユー
(72)【発明者】
【氏名】リンシャン・コン
(72)【発明者】
【氏名】フゥイ・ホー
(72)【発明者】
【氏名】ゾンチュアン・ホー
(72)【発明者】
【氏名】シャンチェン・ジン
【審査官】鈴木 和樹
(56)【参考文献】
【文献】特開2014-146318(JP,A)
【文献】特表2020-521216(JP,A)
【文献】特表2019-521434(JP,A)
【文献】特表2019-510323(JP,A)
【文献】中国特許出願公開第103279445(CN,A)
【文献】中国特許出願公開第106295250(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G16B 5/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
遺伝子シークエンシングデータ処理装置に適用される遺伝子シークエンシングデータ処理方法であって、
前記遺伝子シークエンシングデータ処理装置は、
アドバンストRISCマシンアーキテクチャ(ARMアーキテクチャ
)、GPUアーキテクチャ及びPCIバスを含む異種マルチコアアーキテクチャであり、前記ARMアーキテクチャは前記PCIバスを介して前記GPUアーキテクチャに接続され、前記ARMアーキテクチャは少なくとも1つのCPUモジュールを含み、前記GPUアーキテクチャは少なくとも1つのGPUモジュールを含み、前記方法は、
アイドル状態の前記CPUモジュールが、遺伝子シークエンシングデータをバッチ単位で読み取り、バッチ遺伝子シークエンシングデータを得るステップS1と、
アイドル状態の前記CPUモジュールが、遺伝子解析方法を分割して第1のアルゴリズムと第2のアルゴリズムを得るステップS2と、
アイドル状態の前記CPUモジュールが、前記第1のアルゴリズムに基づいて前記バッチ遺伝子シークエンシングデータを分割して各短いシーケンスを得て、各前記短いシーケンス及び前記第2のアルゴリズムをアイドル状態のGPUモジュールに送信するステップS3と、
アイドル状態の前記GPUモジュールが、前記第2のアルゴリズムに基づいて各前記短いシーケンスを計算し、計算結果をアイドル状態の前記CPUモジュールに送信するステップS4と、
アイドル状態の前記CPUモジュールが、前記計算結果及び前記第1のアルゴリズムに基づいてバッチ処理結果を計算するステップS5と、を含み、
前記遺伝子シークエンシングデータ処理が完了するまでステップS1~S5を繰り返し、アイドル状態の前記CPUモジュールが、各前記バッチ処理結果を統合演算し、最終的な処理結果を得るステップと、を含む、
ことを特徴とする遺伝子シークエンシングデータ処理方法。
【請求項2】
アイドル状態の前記CPUモジュールは、各前記GPUモジュールをスキャンし、アイドル状態のGPUモジュールの数及び各アイドル状態のGPUモジュールのデータ処理量を決定し、前記アイドル状態のGPUモジュールの数及び各前記データ処理量に基づいて遺伝子シークエンシングデータをバッチ単位で読み取る、
ことを特徴とする請求項1に記載の遺伝子シークエンシングデータ処理方法。
【請求項3】
前記遺伝子解析方法に用いる遺伝子解析アルゴリズムは、遺伝子アライメントアルゴリズム、Dotplotアルゴリズム、blastアルゴリズム、PAMアルゴリズム、HMMアルゴリズム及びAI推定アルゴリズムを含む、
ことを特徴とする請求項1に記載の遺伝子シークエンシングデータ処理方法。
【請求項4】
前記遺伝子アライメントアルゴリズムは、BWTアルゴリズムを含み、前記第1のアルゴリズムは、アンカーポイント切断アルゴリズムを含み、
アイドル状態の前記CPUモジュールは、前記バッチ遺伝子シークエンシングデータに対して、アンカーポイント切断アルゴリズムを用いてアンカーポイントを固定させ、前記アンカーポイントを中心に前後にN個のbp長だけ延長し、NEON命令を用いて前記バッチ遺伝子シークエンシングデータを2N+1個のbp長で切断し、各前記短いシーケンスを得て、Nは任意の正の整数である、
ことを特徴とする請求項3に記載の遺伝子シークエンシングデータ処理方法。
【請求項5】
各前記短いシーケンスを得るステップは、
次の式を用いて計算して前記短いシーケンスを得るステップであって、
【数1】
ここで、xは、アンカーポイントの数を表し、Nは、延長するbpの数を表し、Lは、前記バッチ遺伝子シークエンシングデータの長さを表すステップを含む、
ことを特徴とする請求項4に記載の遺伝子シークエンシングデータ処理方法。
【請求項6】
前記第2のアルゴリズムは、Hashアルゴリズムであり、
アイドル状態の前記GPUモジュールは、前記Hashアルゴリズムに基づいて各前記短いシーケンスに対してHash演算を行い、Hash計算結果を得て、前記Hash計算結果をアイドル状態の前記CPUモジュールに送信し、ここで、前記Hashの計算結果は、BWTアルゴリズム行列の値であり、BWTアルゴリズム行列の計算に用いられる、
ことを特徴とする請求項3又は4に記載の遺伝子シークエンシングデータ処理方法。
【請求項7】
前記第1のアルゴリズムは、BWT行列変換アルゴリズムをさらに含み、
アイドル状態の前記CPUモジュールは、前記BWT行列変換アルゴリズムを用いて前記BWTアルゴリズム行列を変換し、前記短いシーケンスのBWT変換結果を得る、
ことを特徴とする請求項6に記載の遺伝子シークエンシングデータ処理方法。
【請求項8】
前記遺伝子アライメントアルゴリズムは、Smith-Watermanアルゴリズムを含み、前記第2のアルゴリズムは、スコア行列アルゴリズムを含み、
アイドル状態の前記GPUモジュールは、前記スコア行列アルゴリズム、各前記短いシーケンス及び参照種配列に基づいてSmith-Watermanスコア行列を計算し、前記Smith-Watermanスコア行列をアイドル状態の前記CPUモジュールに送信する、
ことを特徴とする請求項3に記載の遺伝子シークエンシングデータ処理方法。
【請求項9】
Smith-Watermanスコア行列を計算するステップは、
次の式を用いて計算してSmith-Watermanスコア行列を得るステップであって、
【数2】
ここで、Mは、Smith-Watermanスコア行列を表し、Rは、参照種候補区間シーケンスの長さであり、Cは、アイドル状態の前記CPUモジュールから受信された各短いシーケンスを選別し且つ結合して形成された短いシーケンスの長さを表し、Lは、前記バッチ遺伝子シークエンシングデータの長さを表し、a及びbは、定数であるステップを含む、
ことを特徴とする請求項8に記載の遺伝子シークエンシングデータ処理方法。
【請求項10】
遺伝子シークエンシングデータ処理装置であって、前記遺伝子シークエンシングデータ処理装置は、請求項1から9のいずれか一項に記載の遺伝子シークエンシングデータ処理方法を実行する、
ことを特徴とする遺伝子シークエンシングデータ処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年10月22日に中国特許局に提出され、出願番号が202011139823.4であり、発明の名称が「遺伝子シークエンシングデータ処理方法及び遺伝子シークエンシングデータ処理装置」である中国特許出願の優先権を主張しており、すべての内容は引用によって本出願に組み込まれている。
【0002】
本発明は、データ処理技術分野に関し、具体的には、遺伝子シークエンシングデータ処理方法及び遺伝子シークエンシングデータ処理装置に関する。
【背景技術】
【0003】
遺伝子シークエンシング技術の発展に伴い、当該方法は新種、ウィルス及び疾病の研究開発と分析に広く応用されており、同時に大量の遺伝子シークエンシングデータが大量に湧き出て、これらのデータの分析処理を如何に効率的に行うかが特に重要である。
【0004】
現在の遺伝子解析プロセスでは、ほとんどのステップ(例えば、遺伝子アライメントプロセス)は、x86アーキテクチャでしか動作できず、例えば、従来のアライメントアルゴリズムbwaは、bwtアルゴリズムを使用し、非厳密アライメントアルゴリズムのSmith-Watermanアルゴリズムも、x86アーキテクチャのSSE2命令に基づいて実現される。
【0005】
x86に基づいて実現されたBWTアライメントアルゴリズムは、x86アーキテクチャのCPUの上で比較的高速に動作するが、大量且つ同時に計算することができず、しかもBWTアルゴリズムは、GPUのSIMTの動作モードに対応できないため、BWTのGPUにおける動作効率が大幅に低下し、アライメントプロセス全体の効率に影響を与える。同様に、既存のSmith-Watermanアルゴリズムは、x86アーキテクチャ上でしか動作せず、ARMプラットフォームではSSE2アクセラレーションのサポートがなく、動作が遅く、また、当該アルゴリズムはGPUアーキテクチャ上での演算にも適していない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
これに鑑みて、本発明は、従来の遺伝子シークエンシングデータ解析処理フローステップがx86アーキテクチャ上でしか動作せず、GPU上での動作速度が遅く、遺伝子シークエンシングデータ処理プロセスの効率が悪いという問題点を解決するために、遺伝子シークエンシングデータ処理装置及び遺伝子シークエンシングデータ処理方法を提供する。
【課題を解決するための手段】
【0007】
本発明の実施例によれば、遺伝子シークエンシングデータ処理装置に適用される遺伝子シークエンシングデータ処理方法を提供し、前記遺伝子シークエンシングデータ処理装置は、ARMアーキテクチャ、GPUアーキテクチャ及びPCIバスを含む異種マルチコアアーキテクチャであり、前記ARMアーキテクチャは前記PCIバスを介して前記GPUアーキテクチャに接続され、前記ARMアーキテクチャは少なくとも1つのCPUモジュールを含み、前記GPUアーキテクチャは少なくとも1つのGPUモジュールを含み、前記方法は、
アイドル状態の前記CPUモジュールが、遺伝子シークエンシングデータをバッチ単位で読み取り、バッチ遺伝子シークエンシングデータを得るステップS1と、
アイドル状態の前記CPUモジュールが、遺伝子解析方法を分割して第1のアルゴリズムと第2のアルゴリズムを得るステップS2と、
アイドル状態の前記CPUモジュールが、前記第1のアルゴリズムに基づいて前記バッチ遺伝子シークエンシングデータを分割して各短いシーケンスを得て、各前記短いシーケンス及び前記第2のアルゴリズムをアイドル状態のGPUモジュールに送信するステップS3と、
アイドル状態の前記GPUモジュールが、前記第2のアルゴリズムに基づいて各前記短いシーケンスを計算し、計算結果をアイドル状態の前記CPUモジュールに送信するステップS4と、
アイドル状態の前記CPUモジュールが、前記計算結果及び前記第1のアルゴリズムに基づいてバッチ処理結果を計算するステップS5と、
前記遺伝子シークエンシングデータ処理が完了するまでステップS1~S5を繰り返し、アイドル状態の前記CPUモジュールが、各前記バッチ処理結果を統合演算し、最終的な処理結果を得るステップと、を含む。
【0008】
選択可能に、
アイドル状態の前記CPUモジュールは、各前記GPUモジュールをスキャンし、アイドル状態のGPUモジュールの数及び各アイドル状態のGPUモジュールのデータ処理量を決定し、前記アイドル状態のGPUモジュールの数及び各前記データ処理量に基づいて遺伝子シークエンシングデータをバッチ単位で読み取る。
【0009】
選択可能に、
前記遺伝子解析アルゴリズムは、遺伝子アライメントアルゴリズム、Dotplotアルゴリズム、blastアルゴリズム、PAMアルゴリズム、HMMアルゴリズム及びAI推定アルゴリズムを含む。
【0010】
選択可能に、
前記遺伝子アライメントアルゴリズムは、BWTアルゴリズムを含み、前記第1のアルゴリズムは、アンカーポイント切断アルゴリズムを含み、
アイドル状態の前記CPUモジュールは、前記バッチ遺伝子シークエンシングデータに対して、アンカーポイント切断アルゴリズムを用いてアンカーポイントを固定させ、前記固定したアンカーポイントを中心に前後にN個のbp長だけ延長し、NEON命令を用いて前記バッチ遺伝子シークエンシングデータを2N+1個のbp長で切断し、各前記短いシーケンスを得て、Nは任意の正の整数である。
【0011】
選択可能に、
各前記短いシーケンスを得るステップは、
次の式を用いて計算して前記短いシーケンスを得るステップであって、
【数1】
ここで、xは、アンカーポイントの数を表し、Nは、延長するbpの数を表し、Lは、前記バッチ遺伝子シークエンシングデータの長さを表すステップを含む。
【0012】
選択可能に、
前記第2のアルゴリズムは、Hashアルゴリズムであり、
アイドル状態の前記GPUモジュールは、前記Hashアルゴリズムに基づいて各前記短いシーケンスに対してHash演算を行い、Hash計算結果を得て、前記Hash計算結果をアイドル状態の前記CPUモジュールに送信し、ここで、前記Hashの計算結果は、BWTアルゴリズム行列の値であり、BWTアルゴリズム行列の計算に用いられる。
【0013】
選択可能に、
前記第1のアルゴリズムは、BWT行列変換アルゴリズムをさらに含み、
アイドル状態の前記CPUモジュールは、前記BWT行列変換アルゴリズムを用いて前記BWTアルゴリズム行列を変換し、前記短いシーケンスのBWT変換結果を得る。
【0014】
選択可能に、
前記アライメントアルゴリズムは、Smith-Watermanアルゴリズムを含み、前記第2のアルゴリズムは、スコア行列アルゴリズムを含み、
アイドル状態の前記GPUモジュールは、前記スコア行列アルゴリズム、各前記短いシーケンス及び参照種配列に基づいてSmit-Watermanスコア行列を計算し、前記Smit-Watermanスコア行列をアイドル状態の前記CPUモジュールに送信する。
【0015】
選択可能に、
Smit-Watermanスコア行列を計算するステップは、
次の式を用いて計算してSmit-Watermanスコア行列を得るステップであって、
【数2】
ここで、Mは、Smit-Watermanスコア行列を表し、Rは、参照種候補区間シーケンスの長さであり、Cは、アイドル状態の前記CPUモジュールから受信された各短いシーケンスを選別し且つ結合して形成された短いシーケンスの長さを表し、Lは、前記バッチ遺伝子シークエンシングデータの長さを表し、a及びbは、定数であるステップを含む。
【0016】
本発明の実施形態では、遺伝子シークエンシングデータ処理装置が提供され、前記遺伝子シークエンシングデータ処理装置は、異種マルチコアアーキテクチャであり、前記遺伝子シークエンシングデータ処理装置は、前記の遺伝子シークエンシングデータ処理方法を実行する。
【0017】
本発明の実施形態における遺伝子シークエンシングデータ処理装置及び遺伝子シークエンシングデータ処理方法は、方法が装置に適用され、遺伝子シークエンシングデータ処理装置が、ARMアーキテクチャ、GPUアーキテクチャ及びPCIバスを含む異種マルチコアアーキテクチャであり、ARMアーキテクチャは少なくとも1つのCPUモジュールを含み、GPUアーキテクチャは少なくとも1つのGPUモジュールを含み、CPUモジュールはPCIバスを介してGPUモジュールに接続され、両者間で情報の相互伝送が可能である。ここで、方法は、アイドル状態のCPUモジュールが遺伝子シークエンシングデータをバッチ単位で読み取って遺伝子解析方法を分割することでバッチ遺伝子シークエンシングデータ、第1のアルゴリズム(当該アルゴリズムはCPUモジュールの実行に最適なアルゴリズムである)及び第2のアルゴリズム(当該アルゴリズムはGPUモジュールの実行に最適なアルゴリズムである)を得て、第1のアルゴリズムを用いてバッチ遺伝子シークエンシングデータを分割し、一連の短いシーケンスを得て、PCIバスを介してこれらの短いシーケンス及び第2のアルゴリズムをアイドル状態のGPUモジュールに伝送するステップと、GPUモジュールが、第2のアルゴリズムに基づいてこれらの短いシーケンスを計算し、計算結果をアイドル状態のCPUモジュールに戻すステップと、アイドル状態のCPUモジュールが、計算結果及び第1のアルゴリズムに基づいてバッチ処理結果を計算し、アイドル状態のCPUモジュール及びアイドル状態のGPUモジュールが、遺伝子シークエンシングデータ処理が完了するまで上記ステップを繰り返し実行し、アイドル状態のCPUモジュールが、各バッチ処理結果を統合し、最終的な処理結果を得ることができるステップと、を含む。当該遺伝子シークエンシングデータ処理装置及び遺伝子シークエンシングデータ処理方法は、遺伝子シークエンシングデータの解析方法(すなわち、解析プロセス)を分割し、特性に応じてCPUモジュール及びCPUモジュールで動作させ、遺伝子シークエンシングデータ解析の効率を大幅に向上させる。また、当該遺伝子シークエンシングデータ処理装置には複数のCPUモジュール及びGPUモジュールを設けることができ、複数のGPUモジュールは、異なる長さの短いシーケンスを同時に計算することができるため、GPU並列効率が低いという問題を解決することができる。
【図面の簡単な説明】
【0018】
本発明の実施形態又は従来技術における技術的解決策をより明確に説明するために、以下、実施形態又は従来技術の説明において使用する必要がある図面について簡単に説明するが、以下の説明における図面は単に本発明の実施形態にすぎず、当業者にとっては、創造的な労力を払うことなく、提供された図面に基づいて他の図面を得ることができることは自明である。
【
図1】本発明の実施形態における遺伝子シークエンシングデータ処理装置の概略構成図である。
【
図2】本発明の実施形態における遺伝子シークエンシングデータ処理装置のデータ処理プロセスの概略図である。
【
図3】本発明の実施形態におけるCPUモジュールがバッチ遺伝子シークエンシングデータに対してアンカーポイント切断を行う概略図である。
【
図4】本発明の実施形態におけるCPUモジュールがHashアルゴリズムを用いて短いシーケンスに対してHash演算を行う概略図である。
【
図5】本発明の実施形態における遺伝子シークエンシングデータ処理方法の概略フローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態における技術的解決策を明確かつ完全に説明するが、説明される実施形態は、本発明の一部の実施例にすぎず、全ての実施形態ではないことは明らかである。本発明における実施形態に基づいて、当業者が創造的な労力を払わず取得した他のすべての実施形態は、本発明の保護の範囲に属する。
【0020】
名詞の解釈:
遺伝子(Gene、Mendelian factor)とは、遺伝情報を持つDNA又はRNA配列(すなわち、遺伝子は遺伝効果を持つDNA又はRNA断片である)を指し、遺伝因子とも呼ばれ、性状を制御する基本的な遺伝単位である。遺伝子は、タンパク質の合成を指示することで自らが持つ遺伝情報を発現させ、生物個体の性状表現を制御する。
【0021】
遺伝子シークエンシングは、新型遺伝子検査技術であり、血液あるいは唾液から遺伝子の全配列を分析測定することで、多種の疾病に罹患する可能性、個体の行動特性、及び行動合理性などを予測する。
【0022】
短いシーケンス(read):短いシークエンシング断片であり、ハイスループットシーケンサーが生成したシークエンシングデータであり、ゲノム全体をシークエンシングすると、何百万ものreadが生成され、そしてこれらのreadをつなぎ合わせればゲノムの全配列を得ることができる。
【0023】
アライメント解析:NGSシーケンシングされた短いシーケンス(read)はFASTQファイルに保存され、それらはもともと秩序のあるゲノムに由来しているが、DNAのライブラリの構築及びシーケンシングを経た後、ファイル内の異なるread間の前後の順序関係はすべて失われてしまう。したがって、FASTQファイルの隣接する2つのreadの間には何の位置関係もなく、いずれも元のゲノムのある位置からランダムに生まれた短いシーケンスにすぎない。そのため、我々はまずこのたくさんの短いシーケンスを整理し、当該種の参考ゲノムと1つずつ比較し、各readの参考ゲノムにおける位置を見つけ、順番に並べていく必要があり、この過程をシーケンスデータのアライメントと呼ぶ。
【0024】
アライメントアルゴリズム:序列アライメントの計算方法は、一般に、大域アライメント(global alignments)と局所アライメント(local alignments)の2種類に分けられる。大域線形を計算し、大域的最適化の形式で、長さ全体のすべてのクエリシーケンスに応じて強制的に整列される。これに対して、局所アライメントは局所的な類似のみを決定するが、長いシーケンス全体は大きく異なることが多い。局所アライメントは望ましいことが多いが、他の類似領域の特定からの課題もあるため、計算はより困難である可能性がある。様々な計算アルゴリズムは、すでに序列アライメント問題に応用されており、低速だが正規の動的計画のような最適化方法、効率的だが不完全なヒューリスティックアルゴリズム、あるいは大規模なデータベース検索設計の確率的方法が含まれている。
【0025】
ARM:ARMアーキテクチャ、アドバンストRISCマシン(Advanced RISC Machine、以前はAcorn命令セットマシン、Acorn RISC Machineとも呼ばれた)は、多くの組み込みシステム設計で広く使用されているRISCプロセッサアーキテクチャファミリである。省エネの特徴により、他の分野でも多くのことが行われている。ARMプロセッサはモバイル通信分野に最適で、主な設計目標である低コスト、高性能、低消費電力の特性に合致している。一方、スーパーコンピュータは大量の電力を消費するため、ARMはより効率的な選択肢と考えられる。ARMホールディングス(ARM Holdings)は、このアーキテクチャを開発し、他社による使用を許可し、彼らがARMのあるアーキテクチャを実現し、自主的なシステムワンチップマイクロコンピュータ及びシステムモジュール(system-on-module、SoC)を開発する。
【0026】
GPU:グラフィックスプロセッサ(Graphics Processing Unit、略語:GPU、ディスプレイコア、ビジュアルプロセッサ、ディスプレイ装置又は描画装置とも呼ばれる)は、PC、ワークステーション、ゲーム機、タブレット、スマートフォンなどのモバイルデバイスで描画処理を実行するために特別に設計されたマイクロプロセッサである。グラフィックスプロセッサは、グラフィックスカードの中央処理ユニット(CPU)への依存度を減らし、本来は中央処理ユニットが担当していた作業の一部を分担する。特に、3次元の描画演算を行う場合、その効果がより顕著になる。
【0027】
CUDA:(Compute Unified Device Architecture、並列コンピューティングアーキテクチャ)は、NVIDIAが提供する統合テクノロジーで、同社のGPGPUの正式名称である。この技術により、ユーザは、NVIDIAのGeForce 8以降のGPUや、比較的新しいQuadro GPUを利用して計算することができる。GPUをC-コンパイラの開発環境として利用できるのも初めてである。NVIDIAのマーケティングの際には、コンパイラとアーキテクチャを混ぜて普及させる傾向があり、混乱を招いている。実際には、CUDAはOpenCL又は独自のC-コンパイラと互換性がある。CUDA C-言語でもOpenCLでも、命令は最終的にドライバによってPTXコードに変換され、ディスプレイコアによって計算される。
【0028】
BWT:(Burrows-Wheeler Transform、略してBWT、ブロックソート圧縮とも呼ばれ)は、bzip2のようなデータ圧縮技術に適用されるアルゴリズムである。このアルゴリズムは、カリフォルニア州パロアルトにあるDECシステム研究センターで1994年にMichael BurrowsとDavid Wheelerによって発明された。その基礎となっているのは、以前にWheelerが1983年に発明したが、公開されていない変換方法である。このアルゴリズムを用いて文字列を変換する場合、アルゴリズムは文字列内の文字の順序のみを変更し、文字は変更しない。元の文字列に複数回出現する部分文字列がいくつかある場合、変換された文字列に連続して繰り返される文字がいくつかあるので、圧縮に役立つ。当該方法は、MTF変換及びランレングス符号化のような文字列内の連続して繰り返される文字を処理する技術に基づく符号化をより容易に圧縮することができる。
【0029】
Smith-Waterman:(Smith-Waterman algorithm)は、2つのヌクレオチド配列又はタンパク質配列の間の類似領域を見つけるために、局所配列アライメント(大域アライメントに対して)を行うアルゴリズムである。当該アルゴリズムの目的は、全配列のアライメントを行うことではなく、2つの配列の中で類似度の高い断片を見つけることである。
【0030】
HASH:ハッシュアルゴリズム、ハッシュ関数とも呼ばれ、任意のデータから小さな数字の「指紋」を作成する方法である。ハッシュ関数は、メッセージやデータを要約に圧縮してデータ量を小さくし、データのフォーマットを固定する。この関数は、データをシャッフルして混合し、ハッシュ値(Hash values、Hash codes、Hash sums又はHashes)と呼ばれる指紋を再作成する。ハッシュ値は通常、短いランダムな文字と数字からなる文字列で表される。良いハッシュ関数は、入力フィールドでハッシュ衝突がほとんど発生しない。ハッシュテーブルやデータ処理では、データを区別するために衝突を抑制しないと、データベースのレコードを見つけることが困難になる。
【0031】
SSE2:(Streaming SIMD Extensions 2)は、IA-32アーキテクチャのSIMD(単一命令多重データ)命令セットである。SSE2は、2001年にIntelが初代のPentium 4プロセッサを発表したとともに発売された命令セットである。これは、以前のSSE命令セットを拡張し、MMX命令セットを完全に置き換えることができる。
【0032】
以下、本発明をより詳細に説明するために、本発明により提供される遺伝子シークエンシングデータ処理装置及び遺伝子シークエンシングデータ処理方法について図面と併せて具体的に説明する。
【0033】
図1は、遺伝子シークエンシングデータ処理装置の概略構成図である。
図1に示すように、遺伝子シーケンシャルデータ処理装置であって、遺伝子シーケンシングデータ処理装置は、ARMアーキテクチャ10、GPUアーキテクチャ20及びPCIバス30を含む異種マルチコアアーキテクチャであり、ARMアーキテクチャ10は、PCIバス30を介してGPUアーキテクチャ20に接続され、ARMアーキテクチャ10は、少なくとも1つのCPUモジュールを含み、GPUアーキテクチャ30は、少なくとも1つのGPUモジュールを含み、アイドル状態のCPUモジュールは遺伝子シークエンシングデータをバッチ単位で読み取ってバッチ遺伝子シークエンシングデータを得て、遺伝子解析方法を分割することで第1のアルゴリズム及び第2のアルゴリズムを得て、第1のアルゴリズムに基づいて分割シークエンシングデータを分割して各短いシーケンスを得て、各短いシーケンス及び第2のアルゴリズムをアイドル状態のGPUモジュールに送信し、アイドル状態のGPUモジュールは、第2のアルゴリズムに基づいて各短いシーケンスを計算し、計算結果をアイドル状態のCPUモジュールに送信し、アイドル状態のCPUモジュールは、計算結果及び第1のアルゴリズムに基づいてバッチ処理結果を計算し、アイドル状態のCPUモジュール及びアイドル状態のGPUモジュールは、遺伝子シークエンシングデータ処理が完了するまで上記ステップを繰り返し実行し、アイドル状態のCPUモジュールは、各バッチ処理結果を統合し、最終的な処理結果を得る。
【0034】
具体的には、遺伝子シークエンシングデータ処理装置は、異種マルチコアアーキテクチャ、すなわちARM+GPUアーキテクチャであり、ARMアーキテクチャ10はCPUモジュールを含み、GPUアーキテクチャ20はGPUモジュールを含み、CPUモジュールとGPUモジュールの数は固定ではなく、遺伝子シークエンシングデータの数、CPUモジュールの性能、GPUモジュールの性能(例えばGPUのグラフィックスメモリ、CUDAコア数、CUDAコア周波数)、遺伝子解析に用いるアルゴリズムの複雑度などの実際の演算状況に応じて設定することができる。
【0035】
ここで、各CPUモジュール内のコア(core)の処理又は計算能力は、同じであっても異なっていてもよい。同様に、各GPUモジュールの処理能力又は計算能力も、同じでも異なっていてもよい。選択可能に、GPUモジュールはGPUコンピューティングカードであってもよく、GPUコンピューティングカードは、通常SIMTアーキテクチャを採用する。
【0036】
選択可能な一実施形態では、CPUモジュールは、NENO加速技術を使用し、この加速技術を使用することで、CPUモジュールの動作速度をさらに向上させることができる。
【0037】
選択可能な一実施形態では、遺伝子シークエンシングデータ装置は、NVIDIAによって発表されたJetson Nano TX1を使用することができ、当該装置は、128個のCudaコアを有し、演算能力が472GであるMaxwellアーキテクチャのGPUを使用し、一方、Jetson-Nanoは、ARM CPUコア演算器として4コアA57プロセッサを有する。
【0038】
遺伝子解析方法とは、遺伝子シークエンシングデータに対して解析処理を行う過程で使用される方法であり、その中には配列アライメント、遺伝子集合濃縮解析(GO解析、KEGG解析を含む)及び遺伝子制御ネットワーク解析などを含む。
【0039】
遺伝子解析方法を分割して得られた第1のアルゴリズムと第2のアルゴリズムは、主に、ある遺伝子解析手法の特性に応じて分割され、すなわち、CPUモジュールの処理に適したアルゴリズムをその遺伝子解析方法から分割して第1のアルゴリズムを形成し、GPUモジュールの処理に適するアルゴリズムもこの遺伝子解析方法から分割して第2のアルゴリズムを形成し、以上から分かるように、第1のアルゴリズム及び第2のアルゴリズムは、遺伝子解析方法の一部であってもよく、1つ又は複数の小さなステップで構成されていてもよく、分割過程において厳密なアルゴリズム規則がなく、すなわち分割原理に合致すればよい。ここで、分割の原理は主に、第1のアルゴリズムは、通常大量の論理判断を必要とし、計算結果間に依存性があり、例えば2回目の計算ステップは、1回目の計算結果に頼るか、またはそれを元に、次のステップに対する判断に関与し、一方、第2のアルゴリズムは、一般に、複数のデータが同時に計算することができ、各データ間に論理的な判断を伴わず、又はデータ間に依存性がない。
【0040】
なお、本実施形態における「第1」、「第2」は、アルゴリズムを限定するものではなく、単に両者を区別するためのものであることを理解されたい。
【0041】
さらに、ARMアーキテクチャ10には、通常、複数のCPUモジュールが存在するので、各CPUモジュールの動作又は動作状態が異なる場合があり、すなわち、動作状態にあるCPUモジュールもあれば、アイドル状態にあるCPUモジュールもある。同様に、GPUアーキテクチャワーク20内のGPUモジュールも同様である。したがって、本実施形態では、アイドル状態のCPUモジュール及びGPUモジュールを用いて対応する動作を行うが、選択されたCPUモジュール及びGPUモジュールは、すべてのアイドル状態のモジュールであってもよいし、その一部であってもよい。
【0042】
なお、前記遺伝子シークエンシングデータは、DNAシークエンシング断片、RNAシークエンシング断片など、任意の種の遺伝子シークエンシングデータを行って得られたデータであってもよい。1回のシークエンシングでは大量のデータが生成されるため、前記遺伝子シークエンシングデータのデータ量は比較的大きく、このデータの解析処理を分割して行うことができ、データ伝送の渋滞等を回避することができる。したがって、本実施では、アイドル状態のCPUモジュールは、遺伝子シークエンシングデータをバッチ単位で読み取り、毎回読み取られる遺伝子シークエンシングデータの数は等しくなくてもよく、具体的にはGPUモジュールの数及び各GPUモジュールのデータ処理能力及びCPUモジュールのデータ読み取り能力、PCIバスのデータ伝送能力などを総合的に考慮して最適な遺伝子シークエンシングデータの数を確定することができ、データ処理効率を最大限に確保することができる。
【0043】
遺伝子シークエンシングデータをバッチ単位で読み取った後、通常はバッチ遺伝子シークエンシングデータを分割し、複数の短いシーケンスを形成する必要がある。本実施形態では、第1のアルゴリズムを用いて、短いシーケンスに切断された配列の長さが異なっていてもよく、切断された短いシーケンスの数も固定したものではなく、バッチ遺伝子シークエンシングデータを分割し、バッチ遺伝子シークエンシングデータの数、アイドル状態のGPUモジュールの数、GPU処理能力を総合的に考慮して最適な値を選択することができる。
【0044】
アイドル状態のCPUモジュールが各短いシーケンス及び第2アルゴリズムをアイドル状態のGPUに伝送すると、アイドル状態のGPUモジュールは第2アルゴリズムに基づいて各短いシーケンスを計算し、この時アイドル状態のCPUモジュールは次のバッチ遺伝子シークエンシングデータの読み取り、分割を行うことができ、一方、アイドル状態のGPUモジュールが短いシーケンス処理を完了した後、計算結果をアイドル状態のCPUモジュールに送信し、CPUモジュールは計算結果及び第1のアルゴリズム計算に基づいてバッチ計算結果を得ることができ、これにより、CPUモジュールとGPUモジュールの間に流れ作業ラインが形成され、すべての遺伝子シークエンシングデータがすべて処理されるまで繰り返される。
【0045】
本発明の実施形態における遺伝子シークエンシングデータ処理装置は、遺伝子シークエンシングデータ処理装置が、ARMアーキテクチャ10、GPUアーキテクチャ20及びPCIバス30を含む異種マルチコアアーキテクチャであり、ARMアーキテクチャは少なくとも1つのCPUモジュールを含み、GPUアーキテクチャは少なくとも1つのGPUモジュールを含み、CPUモジュールはPCIバスを介してGPUモジュールに接続され、両者間で情報の相互伝送が可能である。アイドル状態のCPUモジュールは、遺伝子シークエンシングデータをバッチ単位で読み取って遺伝子解析方法を分割することでバッチ遺伝子シークエンシングデータ、第1のアルゴリズム(当該アルゴリズムはCPUモジュールの実行に最適なアルゴリズムである)及び第2のアルゴリズム(当該アルゴリズムはGPUモジュールの実行に最適なアルゴリズムである)を得て、第1のアルゴリズムを用いてバッチ遺伝子シークエンシングデータを分割し、一連の短いシーケンスを得て、PCIバスを介してこれらの短いシーケンス及び第2のアルゴリズムをアイドル状態のGPUモジュールに伝送し、GPUモジュールは、第2のアルゴリズムに基づいてこれらの短いシーケンスを計算し、計算結果をアイドル状態のCPUモジュールに戻し、アイドル状態のCPUモジュールは、計算結果及び第1のアルゴリズムに基づいてバッチ処理結果を計算し、アイドル状態のCPUモジュール及びアイドル状態のGPUモジュールは、遺伝子シークエンシングデータ処理が完了するまで上記ステップを繰り返し実行し、アイドル状態のCPUモジュールは、各バッチ処理結果を統合し、最終的な処理結果を得ることができる。当該遺伝子シークエンシングデータ処理装置及び遺伝子シークエンシングデータ処理方法は、遺伝子シークエンシングデータの解析方法(すなわち、解析プロセス)を分割し、特性に応じてCPUモジュール及びCPUモジュールで動作させ、遺伝子シークエンシングデータ解析の効率を大幅に向上させる。また、当該遺伝子シークエンシングデータ処理装置には複数のCPUモジュール及びGPUモジュールを設けることができ、複数のGPUモジュールは、異なる長さの短いシーケンスを同時に計算することができるため、GPU並列効率が低いという問題を解決することができる。
【0046】
一実施形態では、アイドル状態のCPUモジュールは、各GPUモジュールをスキャンし、アイドル状態のGPUモジュールの数及び各アイドル状態のGPUモジュールのデータ処理量を決定し、アイドル状態のGPUモジュールの数及び各データ処理量に基づいて遺伝子シークエンシングデータをバッチ単位で読み取ることにも用いられる。
【0047】
具体的には、アイドル状態のCPUモジュールは、遺伝子解析を開始する際に、GPUモジュールをスキャンして、現在利用可能なGPUの枚数と、利用可能なGPUモジュールのデータ処理量を決定することにより、今回バッチ単位で読み取られた遺伝子シークエンシングデータの数を決定し、その数に基づいて遺伝子シークエンシングデータを読み取る。
【0048】
本発明の理解を容易にするために、
図1及び
図2を組み合わせて遺伝子シークエンシングデータ処理装置の動作フローの詳細な実施形態を示し、本実施形態では遺伝子解析方法に遺伝子アライメント方法を採用している。
【0049】
1.T1時刻:アイドル状態のCPUモジュールが遺伝子シークエンシングデータDを受信し、アライメントタスクプログラムを起動し、現在利用可能なGPUモジュールの枚数をスキャンし、Gと表記し、データDのシークエンシング長さに基づいてL1と表記し、CPUモジュールは、データDをバッチ単位で読み取り、各バッチ単位で読み取られるデータDiの数をKと表記し、Kの値はGPUモジュールの数に応じて調整することができ、計算式:K=A*G、ここでAはGPUモジュールが一度に処理できるデータ量(本実施形態では、各GPUモジュールの処理能力が完全に同じであることを選択する)を表し、データDiを第1のアルゴリズムに従って分割し、複数の短いシーケンスを形成する。
【0050】
2.T2時刻:PCIバスを介してこれらの分割された短いシーケンスを1つの空いているGPUモジュールに伝送し、同時にCPUモジュールは次のデータDi+1を処理し、2段階の作業ラインを形成することができる。
【0051】
3.T3時刻:DiデータをGPU内のグラフィックスメモリに伝送する時、GPUの第2のアルゴリズムを起動することができて、この時、Di+1はPCI伝送段階に入り、CPUモジュールは次のデータDi+2を処理し、3段階の作業ラインを形成する。
【0052】
4.T4時刻:Diデータの計算が完了し、計算結果はPCIを介してCPUモジュールにバックホールされ、この時、Di+1はGPUモジュールの計算段階に入り、Di+2はPCI入力段階に入り、Di+3はCPUモジュールがデータを処理し、4段階の作業ラインを形成する。
【0053】
5.T5時刻:Diデータの計算結果のバックホールが完了した後、CPUモジュールに渡して第1のアルゴリズムを採用してアライメントアルゴリズムの後続段階の操作を引き続き完成し、この時、5段階の作業ラインを形成する。
【0054】
一実施形態では、遺伝子解析アルゴリズムは、遺伝子アライメントアルゴリズム、Dotplotアルゴリズム、blastアルゴリズム、PAMアルゴリズム、HMMアルゴリズム及びAI推定アルゴリズムを含む。
【0055】
具体的には、Dotplotアルゴリズム、blastアルゴリズムはシーケンスアライメントアルゴリズムの一種である。
【0056】
PAMアルゴリズムは、データマイニングのクラスタリングアルゴリズムであり、単細胞シークエンシングで細胞亜群などを分析することができる。
【0057】
HMMアルゴリズム、隠れマルコフクラスタリングアルゴリズムは、統計モデルであり、それは暗黙の未知パラメータを含むマルコフ過程を記述するために用いられ、標的遺伝子の予測に用いることができる。
【0058】
AI推定アルゴリズム(DeepVariant)、ディープラーニングのアルゴリズムは、遺伝子突然変異の識別などに利用できる。選択可能に、AI推定アルゴリズムは、CNN(畳み込みニューラルネットワーク)、RNN(循環ニューラルネットワーク)に関連する推定アルゴリズムであってもよい。
【0059】
選択可能に、遺伝子解析アルゴリズムがDotplotアルゴリズム、blastアルゴリズム、PAMアルゴリズムである場合、通常、先ずアルゴリズムをCUDA化する必要がある。アルゴリズムをCUDA化することにより、本発明の実施例における遺伝子シークエンシングデータ処理装置での方法の実行がより適切になる。
【0060】
一実施形態では、遺伝子アライメントアルゴリズムはBWTアルゴリズムを含み、第1のアルゴリズムはアンカーポイント切断アルゴリズムを含み、アイドル状態のCPUモジュールは、バッチ遺伝子シークエンシングデータに対して、アンカーポイント切断アルゴリズムを用いてアンカーポイントを固定させ、固定したアンカーポイントを中心に前後にN個のbp長を延長し、NEON命令を用いてバッチ遺伝子シークエンシングデータを2N+1個のbp長で切断し、各短いシーケンスを得て、Nは任意の正の整数である。
【0061】
一実施形態では、各短いシーケンスを得るステップは、次の式を用いて各短いシーケンスを計算するステップであって、
【数3】
ここで、xは、アンカーポイントの数を表し、Nは、延長するbpの数を表し、Lは、前記バッチ遺伝子シークエンシングデータの長さを表すステップを含む。
【0062】
選択可能に、遺伝子アライメントアルゴリズムは、BWTアルゴリズムであり、第1のアルゴリズムは、アンカーポイント切断アルゴリズム及びBWT行列変換アルゴリズムであってもよく、第2のアルゴリズムは、Hashアルゴリズムであってもよい。具体的には、
図3に示すように、アイドル状態のCPUモジュールがデータDiに対して第1のアルゴリズム(すなわち、アンカ切断アルゴリズム)を用いて処理を行い、まず、バッチ単位で読み取った長さLの遺伝子シークエンシングデータ(すなわち、read)に対してアンカーポイントを固定させ、前後にN個のbp長だけ延長し、長さ2N+1の短いreadを得て、NEONコマンドを用いてreadに対して2N+1の長さの切断及び運搬を行う。アンカーポイントの数がx個の場合、Nの数には次の式のような関係がある。
【数4】
ここで、xは、アンカーポイントの数を表し、Nは、延長するbpの数を表し、Lは、バッチ遺伝子シークエンシングデータの長さを表す。上記の方法を利用することにより、GPUモジュール上で動作するのに適している複数の短いシーケンスを得ることができる。
【0063】
一実施形態では、第2のアルゴリズムは、Hashアルゴリズムであり、アイドル状態のGPUモジュールは、Hashアルゴリズムに基づいて各短いシーケンスをHash演算してHash計算結果を得て、Hash計算結果をアイドル状態のCPUモジュールに送信することにも用いられ、Hash計算結果は、BWTアルゴリズム行列の値であり、BWTアルゴリズム行列の計算に用いられる。
【0064】
具体的には、遺伝子アライメントアルゴリズムは、BWTアルゴリズムであり、第1のアルゴリズムは、アンカーポイント切断アルゴリズム及びBWT行列変換アルゴリズムであってもよく、第2のアルゴリズムは、Hashアルゴリズムであってもよい。
図4に示すように、第1のアルゴリズムによって計算された短いシーケンスx*K個の短いシーケンスがアイドル状態のGPUモジュール内のビデオメモリに渡される。ここで、KはDiの数を表し、短いシーケンスの数は、複数のGPUモジュールのグラフィックスメモリと正の相関を示す。HashアルゴリズムはGPUのSIMTアーキテクチャの動作に有利であるため、GPUのカーネル関数を用いて複数の短いシーケンスに対してHash計算を行い、Hash計算結果を得て、Hash計算結果をアイドル状態のCPUモジュールに送信し、Hash計算結果は、BWTアルゴリズム行列の値であり、BWTアルゴリズム行列の計算に用いられる。Hashアルゴリズムを採用すると、kmer計算サイトアルゴリズムなどの従来の他の計算と比較して、メモリスペースを大幅に節約できる。
【0065】
一実施例では、第1のアルゴリズムは、BWT行列変換アルゴリズムをさらに含み、アイドル状態のCPUモジュールは、BWT行列変換アルゴリズムを用いてBWTアルゴリズム行列を変換し、短いシーケンスのBWT変換結果を得ることにも用いられる。
【0066】
具体的には、遺伝子アライメントアルゴリズムは、BWTアルゴリズムであってもよく、第1のアルゴリズムはアンカーポイント切断アルゴリズム及びBWT行列変換アルゴリズムであってもよい。GPUモジュールがHash計算結果をアイドル状態のCPUモジュールに送信した後、CPUモジュールは、Hash計算結果がBWTアルゴリズム行列である値をBWTアルゴリズム行列の計算に用い、BWT行列変換アルゴリズムを用いてBWTアルゴリズム行列を変換し、短いシーケンスのBWT変換結果を得る。選択可能に、Hash計算の結果、BWTアルゴリズム行列間の関係は、h=Hash(x、r)、Y=BWT(h、r)として表すことができる。ここで、hはHash計算結果、YはBWTアルゴリズム行列、rは短いシーケンスを表す。この方法を採用することにより、短いシーケンスのBWT変換結果を迅速かつ正確に得ることができ、遺伝子シークエンシングデータの圧縮が迅速に完了し、後続の処理がより便利になる。
【0067】
一実施形態では、アライメントアルゴリズムは、Smith-Watermanアルゴリズムを含み、第2のアルゴリズムは、スコア行列アルゴリズムを含み、アイドル状態のGPUモジュールは、スコア行列アルゴリズム、各短いシーケンス及び参照種シーケンスからSmith-Watermanスコア行列を計算し、Smith-Watermanスコア行列をアイドル状態のCPUモジュールに送信することにも用いられる。
【0068】
一実施形態では、Smit-Watermanスコア行列を計算するステップは、
M=R*C、R=a*L2+bという式を用いて計算してSmit-Watermanスコア行列を得るステップであって、
ここで、Mは、Smit-Watermanスコア行列を表し、Rは、参照種候補区間シーケンスの長さであり、Cは、アイドル状態のCPUモジュールから受信された各短いシーケンスを選別し且つ結合して形成された短いシーケンスの長さを表し、Lは、バッチ遺伝子シークエンシングデータの長さを表し、a及びbは、定数であるステップを含む。
【0069】
具体的には、従来のSmith-WatermanアルゴリズムはGPUでの動作効率が比較的低く、本発明の実施形態における遺伝子シークエンシングデータ処理装置に直接適用することができないため、Smith-Watermanアルゴリズムを改善する。具体的には、Smith-Watermanアルゴリズムには、大きさがサイズR*Cのスコア行列が存在し、スコア行列を計算するステップをGPUモジュール内に入れると、第2のアルゴリズムは意図行列アルゴリズムである。M=R*C、R=a*L2+bという式でSmit-Watermanスコア行列を計算し、
ここで、Mは、Smit-Watermanスコア行列を表し、Rは、参照種候補区間シーケンスの長さであり、Cは、アイドル状態のCPUモジュールから受信された各短いシーケンスを選別し且つ結合して形成された短いシーケンスの長さを表し、Lは、バッチ遺伝子シークエンシングデータの長さを表し、a及びbは、定数である。
【0070】
また、Cの長さは、BWTアルゴリズムでGPUモジュールが計算するHash計算結果に関係している。当該方法を採用することで、従来のSmith-Watermanアルゴリズムを改善し、GPUでの動作に適し、効率的に動作させるようにすることができる。
【0071】
上記遺伝子シークエンシングデータ処理装置によれば、本発明の実施形態では遺伝子シークエンシングデータ処理方法も提供される。
【0072】
図5に示すように、遺伝子シークエンシングデータ処理装置に適用される遺伝子シークエンシングデータ処理方法は、
アイドル状態のCPUモジュールが、遺伝子シークエンシングデータをバッチ単位で読み取り、バッチ遺伝子シークエンシングデータを得るステップS1と、
アイドル状態のCPUモジュールが、遺伝子解析方法を分割して第1のアルゴリズムと第2のアルゴリズムを得るステップS2と、
アイドル状態のCPUモジュールが、第1のアルゴリズムに基づいてバッチ遺伝子シークエンシングデータを分割して短いシーケンスを得て、各短いシーケンス及び第2のアルゴリズムをアイドル状態のGPUモジュールに送信するステップS3と、
アイドル状態のGPUモジュールが、第2のアルゴリズムに基づいて各短いシーケンスを計算し、計算結果をアイドル状態のCPUモジュールに送信するステップS4と、
アイドル状態のCPUモジュールが、計算結果及び第1のアルゴリズムに基づいてバッチ処理結果を計算するステップS5と、
遺伝子シークエンシングデータ処理が完了するまでステップS1~S5を繰り返し、アイドル状態のCPUモジュールが、各バッチ処理結果を統合演算し、最終的な処理結果を得るステップと、を含む。
【0073】
具体的には、1回のシークエンシングでは大量のデータが生成されるため、前記遺伝子シークエンシングデータのデータ量は比較的多く、当該データを解析処理する際にバッチ単位で行うことができ、データ伝送の渋滞などを回避することができる。その中でアイドル状態のCPUがi回目に読み取った遺伝子シークエンシングデータをDiとする。アイドル状態のCPUモジュールは、遺伝子シークエンシングデータDiを読み取り、遺伝子解析方法を分割して第1のアルゴリズムと第2のアルゴリズムを得て、第1のアルゴリズムに基づいて遺伝子シークエンシングデータDiを分割して各短いシーケンスを得て、各短いシーケンス及び第2のアルゴリズムをアイドル状態のGPUモジュールに送信した後、アイドル状態のGPUモジュールは、第2のアルゴリズムに基づいて各短いシーケンスを計算し、計算結果をアイドル状態のCPUモジュールに送信し、アイドル状態のCPUモジュールは、計算結果及び第1のアルゴリズムに基づいてバッチ処理結果を計算し、また、アイドル状態のCPUモジュールは、遺伝子シークエンシングデータDi+1を読み取り、遺伝子シークエンシングデータDi+1を分割して、分割された遺伝子シークエンシングデータDi+1に対応する短いシーケンスをアイドル状態のGPUモジュールに送信し、Di+1は、Di+1回目に読み取った遺伝子シークエンシングデータを示し、アイドル状態のGPUモジュールは分割された遺伝子シークエンスデータDi+1に対応する短いシーケンスを処理し、処理結果をアイドル状態のCPUモジュールに送信し、アイドル状態のCPUモジュール及びアイドル状態のGPUモジュールは、全ての遺伝子シークエンシングデータの処理が完了するまで、遺伝子シークエンシングデータの読み取り、切り分け、伝送、計算及びバックホールを継続的に行う(すなわち、ステップS1~S5を繰り返す)ことにより、アイドル状態のCPUモジュールとアイドル状態のGPUモジュールとの間に作業ラインを形成する。
【0074】
一実施形態では、アイドル状態のCPUモジュールは、各GPUモジュールをスキャンし、アイドル状態のGPUモジュールの数及び各アイドル状態のGPUモジュールのデータ処理量を決定し、アイドル状態のGPUモジュールの数及び各データ処理量に基づいて遺伝子シークエンシングデータをバッチ単位で読み取る。
【0075】
一実施形態では、遺伝子解析アルゴリズムは、遺伝子アライメントアルゴリズム、Dotplotアルゴリズム、blastアルゴリズム、PAMアルゴリズム、HMMアルゴリズム及びAI推定アルゴリズムを含む。
【0076】
一実施形態では、遺伝子アライメントアルゴリズムはBWTアルゴリズムを含み、第1のアルゴリズムはアンカーポイント切断アルゴリズムを含み、アイドル状態のCPUモジュールは、バッチ遺伝子シークエンシングデータに対して、アンカーポイント切断アルゴリズムを用いてアンカーポイントを固定させ、固定したアンカーポイントを中心に前後にN個のbp長だけ延長し、NEON命令を用いてバッチ遺伝子シークエンシングデータを2N+1個のbp長で切断し、各短いシーケンスを得て、Nは任意の正の整数である。
【0077】
一実施形態では、各短いシーケンスを得るステップは、次の式を用いて短いシーケンスを計算するステップであって、
【数5】
ここで、xは、アンカーポイントの数を表し、Nは、延長するbpの数を表し、Lは、バッチ遺伝子シークエンシングデータの長さを表すステップを含む。
【0078】
一実施形態では、第2のアルゴリズムはHashアルゴリズムであり、アイドル状態のGPUモジュールは、Hashアルゴリズムに基づいて各短いシーケンスをHash演算してHash計算結果を得て、Hash計算結果をアイドル状態のCPUモジュールに送信することにも用いられ、ここで、HashはBWTアルゴリズム行列の値で、BWTアルゴリズム行列の計算に用いられる。
【0079】
一実施形態では、第1のアルゴリズムは、BWT行列変換アルゴリズムをさらに含み、アイドル状態のCPUモジュールは、BWT行列変換アルゴリズムを用いてBWTアルゴリズム行列を変換し、短いシーケンスのBWT変換結果を得る。
【0080】
一実施形態では、アライメントアルゴリズムは、Smith-Watermanアルゴリズムを含み、第2のアルゴリズムは、スコア行列アルゴリズムを含み、アイドル状態のGPUモジュールは、スコア行列アルゴリズム、各短いシーケンス及び参照種シーケンスに基づいてSmith-Watermanスコア行列を計算し、Smith-Watermanスコア行列をアイドル状態のCPUモジュールに送信することにも用いられる。
【0081】
一実施例では、Smit-Watermanスコア行列を計算するステップは、次の式を用いて計算してSmit-Watermanスコア行列を得るステップであって、
【数6】
ここで、Mは、Smit-Watermanスコア行列を表し、Rは、参照種候補区間シーケンスの長さであり、Cは、アイドル状態の前記CPUモジュールから受信された各短いシーケンスを選別し且つ結合して形成された短いシーケンスの長さを表し、Lは、前記バッチ遺伝子シークエンシングデータの長さを表し、a及びbは、定数であるステップを含む。
【0082】
遺伝子シークエンシングデータ処理方法の具体的な限定については、上記の遺伝子シークエンシングデータ処理装置の限定を参照することができ、ここでは詳しい説明を省略する。
【0083】
以上は単に本発明の好適な実施形態であり、当業者にとっては、本発明の原理を逸脱することなく、いくつかの改良や修正が可能であり、これらの改良や修正も本発明の保護範囲とみなされることに留意されたい。