JP7334244B2 - Fpgaベースのリシーケンシング解析方法とデバイス - Google Patents

Fpgaベースのリシーケンシング解析方法とデバイス Download PDF

Info

Publication number
JP7334244B2
JP7334244B2 JP2021519716A JP2021519716A JP7334244B2 JP 7334244 B2 JP7334244 B2 JP 7334244B2 JP 2021519716 A JP2021519716 A JP 2021519716A JP 2021519716 A JP2021519716 A JP 2021519716A JP 7334244 B2 JP7334244 B2 JP 7334244B2
Authority
JP
Japan
Prior art keywords
resequencing
alignment
fpga
data
genome
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021519716A
Other languages
English (en)
Other versions
JP2022504611A (ja
Inventor
インロン・シェ
ウェイファ・ファン
チェン・チェン
ジンブォ・タン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MGI Tech Co Ltd
Original Assignee
MGI Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MGI Tech Co Ltd filed Critical MGI Tech Co Ltd
Publication of JP2022504611A publication Critical patent/JP2022504611A/ja
Application granted granted Critical
Publication of JP7334244B2 publication Critical patent/JP7334244B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/20Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Biotechnology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Geometry (AREA)
  • Genetics & Genomics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Physiology (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Epidemiology (AREA)
  • Bioethics (AREA)
  • Public Health (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Apparatus Associated With Microorganisms And Enzymes (AREA)

Description

本開示は、バイオインフォマティクス解析技術の分野に関し、特に、フィールドプログラマブルゲートアレイ(FPGA)ベースのリシーケンシング解析方法及びデバイスに関する。
次世代遺伝子シーケンシング技術の登場に伴い、遺伝子シーケンシングは急速に低コストとなり、シーケンシングデータの利用性が向上している。ゲノムにおけるバリエーションの検出と相関研究は、医学分野における発展を促進すると考えられる。しかし、ヒトゲノムは、30億を超える比較的多い塩基対で構成されている。そのため、ヒトゲノムのシーケンシング及び解析を行う場合、高いコンピューティング能力、ストレージ容量、及びネットワーク帯域幅が必要とされる。
関連技術において、リシーケンシング解析は、シーケンシング配列のアラインメント及びバリエーションの検出を含み、シーケンシング配列のアラインメントは、ダイナミックシード-アンド-エクステンドアルゴリズムを採用している。初期のシード長で得られるアラインメント位置の数が一定の値を超えると、シード長を延ばしてアラインメント位置を少なくする。続いて、Smith-Watermanアルゴリズムをアラインメントに使用し、複数のスレッドをバリエーションの検出に使用する。
しかし、前記方法では、各ステップが順次行われるので、実行効率及び解析率が低い。
本開示は、実施形態において、フィールドプログラマブルゲートアレイ(FPGA)ベースのリシーケンシング解析方法及びデバイスを提供し、プログラム実行時間及び計算コストを削減し、リシーケンシング効率を改善することにより、先行技術における低い実行効率及び遅い解析速度という技術的問題点を解決する。
一態様では、本開示は、実施形態において、FPGAベースのリシーケンシング解析方法を提供し、前記方法は、
ゲノムリシーケンシングデータを受信することと、
FPGAの入力として前記ゲノムリシーケンシングデータを取得し、FPGAの出力に基づくリシーケンシングのプロセスにおいてアラインメント結果を決定し、同時に、前記アラインメント結果をソート及びデデュプリケートすることと、
ソートされ且つデデュプリケートされた前記アラインメント結果を、塩基クオリティ値(base quality value)に応じて補正をすることと、
補正された前記アラインメント結果に基づいてバリエーション結果を検出することと、を含む。
本開示の実施形態によれば、FPGAベースのリシーケンシング解析方法は、ゲノムリシーケンシングデータを受信し、FPGAの入力として前記ゲノムリシーケンシングデータを取得し、FPGAの出力に基づくリシーケンシングのプロセスにおいてアラインメント結果を決定し、同時に、前記アラインメント結果をソート及びデデュプリケートし、ソートされ且つデデュプリケートされた前記アラインメント結果を、塩基クオリティ値に応じて補正し、補正された前記アラインメント結果に基づいてバリエーション結果を検出する。本開示の実施形態では、アライニング、ソーティング、及びデデュプリケートの各プロセスを並行して実行させることができ、プログラムの実行時間及び計算コストが削減されることによって、リシーケンシング効率を改善する。
別の態様では、本開示は、実施形態において、FPGAベースのリシーケンシング解析デバイスを提供し、前記デバイスは、
ゲノムリシーケンシングデータを受信するように構成された受信モジュールと、
FPGAの入力として前記リシーケンシングデータを取得し、FPGAの出力に基づくリシーケンシングのプロセスにおいてアラインメント結果を決定し、同時に、前記アラインメント結果をソート及びデデュプリケートするように構成された処理モジュールと、
ソートされ且つデデュプリケートされた前記アラインメント結果を、塩基クオリティ値に応じて補正をするように構成された補正モジュールと、
補正されたアラインメント結果に基づいてバリエーション結果を検出するように構成された検出モジュールと、を含む。
本開示の実施形態によれば、FPGAベースのリシーケンシング解析デバイスは、ゲノムリシーケンシングデータを受信し、FPGAの入力として前記ゲノムリシーケンシングデータを取得し、FPGAの出力に基づくリシーケンシングのプロセスでアラインメント結果を決定し、同時に、前記アラインメント結果をソート及びデデュプリケートし、ソートされ且つデデュプリケートされた前記アラインメント結果を、塩基クオリティ値に応じて補正をし、補正された前記アラインメント結果に基づいてバリエーション結果を検出する。本開示の実施形態では、アライニング、ソーティング、及びデデュプリケートの各プロセスを並行して実行させることができ、プログラムの実行時間及び計算コストが削減されることによって、リシーケンシング効率を改善する。
別の態様では、本開示は、実施形態において、メモリ、プロセッサ、及び前記メモリに格納され、前記プロセッサによって実行可能なコンピュータプログラムを含むコンピュータデバイスを提供し、前記コンピュータプログラムは、前記プロセッサによって実行されると、本開示の前記実施形態に係るフィールドプログラマブルゲートアレイ(FPGA)ベースのリシーケンシング解析方法を達成する。
別の態様では、本開示は、実施形態において、本開示の前記実施形態に係るフィールドプログラマブルゲートアレイ(FPGA)ベースのリシーケンシング解析方法をコンピュータに実行させるコンピュータ可読命令を格納したコンピュータ可読記憶媒体を提供する。
本開示の更なる態様及び利点は、その一部が以下の記載に示され、いくつかは、以下の記載にしたがって明らかになる又は本開示の実施を通して理解されよう。
本開示の実施形態をより明確に記載するために、実施例で使用する必要のある図面を以下に簡単に説明する。以下の記載における図面は、本開示の一部の例であり、当業者の創造性なしに、他の図面をこれらの図面から得ることができることは明らかである。
図1は、本開示の実施例1におけるFPGAベースのリシーケンシング解析方法を示すフローチャートである。 図2は、本開示の実施例2におけるFPGAベースのリシーケンシング解析方法を示すフローチャートである。 図3は、本開示の実施例に係るFPGAベースのリシーケンシング解析システムを示す概略図1である。 図4は、本開示の実施例に係るピンポンバッファリング技術(ping-pong buffering technology)を使用したアクセラレーションを示す概略図である。 図5は、本開示の実施例に係るFPGAベースのリシーケンシング解析システムを示す概略図2である。 図6は、本開示の実施例に係る実行タイミングシーケンスの概略図である。 図7は、本開示の実施例に係るFPGAベースのリシーケンシング解析システムを示す概略図3である。 図8は、本開示の実施例3におけるFPGAベースのリシーケンシング解析方法を示すフローチャートである。 図9は、本開示の実施例4におけるFPGAベースのリシーケンシング解析デバイスを示す概略図である。 図10は、本開示の実施例5におけるFPGAベースのリシーケンシング解析デバイスを示す概略図である。
本開示の実施形態について詳細に記載する。同一又は類似の要素及び同一又は類似の機能を有する要素は、明細書全体を通して同じ参照番号で示す。図面を参照しつつ本明細書に記載される実施形態は、説明的、例示的であり、本開示の概要を理解するために使用される。実施形態は、本開示を限定するものと解釈されるべきではない。
本開示の実施形態におけるFPGAベースのリシーケンシング解析方法及びデバイスを、図面を参照して以下に説明する。本開示の実施形態を詳細に記載するのに先立ち、理解を容易にするために、まず、一般的な技術用語を定義する。
フィールドプログラマブルゲートアレイ(FPGA)は、ロジックアレイモジュール、組込みメモリモジュール、デジタルシグナルプロセッサ(DSPと略記)モジュールを接続するプログラマブル配線ネットワークを含む構成可能な集積回路であり、プログラム命令を処理するためのセントラルプロセシングユニット(CPU)及びグラフィクスプロセシングユニット(GPU)のデータパス及びトポロジが固定されている。更に、FPGAリソースは、データ処理のためのカスタマイズされた命令パイプラインを確立するように構成及び接続することができ、結果として得られるシステム構成が、多くの種類のコンピューティング上の問題点を効率的に解決できるようにする。更に、十分に開発され且つ大規模に使用される用途は、より速いがより柔軟性が低い特定用途向け集積回路(ASICと略記)を設計するための基礎及び検証としてFPGAを用いることもある。
リシーケンシングとは、既知のゲノム配列を有する種について、異なる個体の各ゲノムをシーケンシングすることを意味し、これに基づいて、個体間又は集団間でのバリエーションが解析される。多数の一塩基多型(SNP)部位並びに挿入及び欠失部位は、各個体のシーケンシング後のゲノムにおけるバリエーションを検出することによって決定することができる。
図1は、本開示の実施例1におけるFPGAベースのリシーケンシング解析方法を示すフローチャートである。
本開示の本実施例では、FPGAベースのリシーケンシング解析デバイスに構成されたFPGAベースのリシーケンシング解析方法を、説明のための一例として取り上げる。FPGAベースのリシーケンシング解析デバイスは、コンピュータデバイスがFPGAベースのリシーケンシング解析を実行することができるように、任意のコンピュータデバイスで構成することができる。
図1に示すように、FPGAベースのリシーケンシング解析方法には、以下のステップ101~ステップ104を含む。
ステップ101において、ゲノムリシーケンシングデータが受信される。
本開示の実施例では、ゲノムリシーケンシングデータは、基本ゲノムリシーケンシングデータ及び基本ゲノムリシーケンシングデータを記述するパラメータ情報を含む。
任意に、ゲノムリシーケンシングデータを事前にプリセットファイルに書き込むことができ、ゲノムがリシーケンシングされるときに読み取ることができ、これにより、プリセットファイルに基づくゲノムリシーケンシングデータを取得することができる。
更に、プリセットファイルは、一般に、例えば、gzなどの形式で圧縮ファイルとして保存される。したがって、プリセットファイルは、読み取り前に解凍することもできる。
ステップ102において、FPGAの入力としてゲノムリシーケンシングデータが取得され、リシーケンシングのプロセスにおいてアラインメント結果がFPGAの出力に基づいて決定され、同時に、アラインメント結果がソートされ、デデュプリケートされる。
本開示の実施例では、ゲノムリシーケンシングデータをレファレンスゲノムにアラインメントして、アラインメント位置などの情報を取得することができる。次いで、得られた情報をFPGAに送信し計算して、アラインメント結果を得ることができる。可能な実施として、アラインメント効率を改善するために、FPGAの並列処理プロパティを用いることができ、ゲノムリシーケンシングデータを、複数の固定長のゲノムリシーケンシングサブセットに分割し、複数の固定長のゲノムリシーケンシングサブセットを、アラインメント結果の複数のサブセットの取得と並行して、レファレンスゲノムにアラインメントし、アラインメントサブ結果の複数のサブセットを組み合わせて、アラインメント結果を取得する。
得られたアラインメントは、同時に、レファレンスゲノム上のアラインメント位置にしたがってソートすることができ、同じ位置にアラインメントされたゲノムリシーケンシングデータをデデュプリケートすることができる。その理由は、重複したゲノムリシーケンシングデータは、シーケンシング深度などのアラインメントの比較と評価に影響を及ぼし、最終的にはバリエーションの検出において偽陽性につながるからである。そのため、同じ位置にアラインメントされたゲノムリシーケンシングデータをデデュプリケートすることができる。
任意に、ゲノムリシーケンシングデータを、バイオインフォマティクスソフトウェア及びアラインメントスクリプトを呼び出すことによってアラインメントして、リシーケンシングのプロセスでアラインメント結果を決定することができる。次いで、アラインメント結果を、バイオインフォマティクスソフトウェア並びにソート及びデデュプリケートスクリプトによってソート及びデデュプリケートして、ソートされ且つデデュプリケートされたアラインメント結果が決定される。バイオインフォマティクスソフトウェアとしては、BuildAlignerIndex、Alignment、SortMarkDup、BuildBQSRIndex、BQSR、及びHaplotypeCallerが挙げられる。
例えば、ゲノムリシーケンシングデータは、33~160bpの長さのペアエンドショートリードのアラインメントをサポートするFPGAアクセラレーテッド高性能DNAシーケンスアラインメントソフトウェアによってアラインメントすることができる。アラインメント結果は、パイプの入力と出力をサポートするマルチスレッドアクセラレーテッド高性能ソーティング・デデュプリケーティングソフトウェアによってソート及びデデュプリケートを行うことができ、これにより、ソーティング及びデデュプリケーティングの効率を改善する。
本開示の実施例では、アライニング、ソーティング、及びデデュプリケートの各プロセスを並行して実行することができるので、プログラムの実行時間及び計算コストを削減し、それにより、リシーケンシング効率を改善することができる。
ステップ103において、ソートされ且つデデュプリケートされたアラインメント結果が、塩基クオリティ値に応じて補正される。
本開示の実施例では、アラインメント結果を塩基クオリティ値に応じて現実に近づけ、レファレンスゲノムとのミスマッチの可能性を低減するために、ソートされ且つデデュプリケートされたアラインメント結果を塩基クオリティ値に応じて補正をすることができる。即ち、ソートされ且つデデュプリケートされたアラインメント結果が、ゲノムリシーケンシングデータ内の塩基クオリティ値に応じて補正される。
任意に、バイオインフォマティクスソフトウェア及び塩基クオリティ値補正スクリプトを呼び出すことにより、ソートされ且つデデュプリケートされたアラインメント結果を塩基クオリティ値に応じて補正して、補正されたアラインメント結果を取得することができる。例えば、パイプの入力及び出力をサポートするマルチスレッドアクセラレーテッド高性能塩基クオリティ値補正ソフトウェアにより、塩基クオリティ値に応じて、ソートされ且つデデュプリケートされたアラインメント結果を補正し、補正効率を改善することができる。
ステップ104において、補正されたアラインメント結果に基づいてバリエーション結果が検出される。
本開示の実施例において、バリエーション結果の検出は、一塩基多型(SNP)部位の検出並びに挿入及び欠失部位の検出を含む。バリエーション結果は、補正されたアラインメント結果及び関連情報に基づいて検出することができる。
任意に、バイオインフォマティクスソフトウェア及びバリエーション検出スクリプトを呼び出して、補正されたアラインメント結果に基づきバリエーション結果を検出することにより、検出結果を決定することができる。例えば、FPGAアクセラレーテッド高性能バリエーション検出ソフトウェアによる補正されたアラインメント結果に基づきバリエーション結果を検出し、バリエーション検出結果を取得することにより、バリエーション検出の効率を改善することができる。
本開示の実施例によれば、FPGAベースのリシーケンシング解析方法は、ゲノムリシーケンシングデータを受信し、FPGAの入力として前記ゲノムリシーケンシングデータを取得し、FPGAの出力に基づくリシーケンシングのプロセスにおいてアラインメント結果を決定し、同時に、前記アラインメント結果をソート及びデデュプリケートし、ソートされ且つデデュプリケートされた前記アラインメント結果を、塩基クオリティ値に応じて補正をし、補正された前記アラインメント結果に基づいてバリエーション結果を検出する。本開示の実施形態では、アライニング、ソーティング、及びデデュプリケートの各プロセスを並行して実行することができ、プログラムの実行時間及び計算コストが削減されることによって、リシーケンシング効率を改善する。
可能な実施として、ゲノムリシーケンシングデータの受信後に、ゲノムリシーケンシングデータを、更に、プリセットされた長さの配列に基づきハッシュ計算することができ、FPGAの入力としてハッシュ計算されたゲノムリシーケンシングデータが取得される。したがって、レファレンスゲノム内のアラインメント位置を素早く特定することができ、それによってメモリへのランダムアクセスを低減させることで、アラインメント効率が向上する。
前記実施例をより明確に説明するために、本開示は、実施例において、別のFPGAベースのリシーケンシング解析方法を提供する。
図2は、本開示の実施例2におけるFPGAベースのリシーケンシング解析方法を示すフローチャートである。
図2に示すように、FPGAベースのリシーケンシング解析方法は、以下のステップ201~ステップ207を含むことができる。
ステップ201において、ゲノムリシーケンシングデータが受信されるが、前記ゲノムリシーケンシングデータは、基本ゲノムリシーケンシングデータ及び基本ゲノムリシーケンシングデータを記述するパラメータ情報を含む。
例えば、参照する図3は、本開示の実施例に係るFPGAベースのリシーケンシング解析システムを示す概略図1であり、リシーケンシング解析システムは、タスクスケジューリングユニット1、解析ユニット2、及び結果生成ユニット3を含む。タスクスケジューリングユニット1は、基本ゲノムリシーケンシングデータ及び基本ゲノムリシーケンシングデータを記述するパラメータ情報を受信するように構成される。
ステップ202において、アラインメント結果を出力するための第1のタスクと、アラインメント結果をソート及びデデュプリケートするための第2のタスクとは、基本ゲノムリシーケンスデータ及び基本ゲノムリシーケンスデータを記述するパラメータ情報に基づいて決定される。
本開示の実施例では、アライニング、ソーティング、及びデデュプリケートの各プロセスが並行して実行されるので、プログラムの実行時間及び計算コストが削減されて、リシーケンシング効率が改善する。そのため、ゲノムリシーケンシングデータが受信されると、アラインメント結果を出力するための第1のタスクと、アラインメント結果をソート及びデデュプリケートするための第2のタスクとの両方を、基本ゲノムリシーケンシングデータ及び基本ゲノムリシーケンスデータを記述するパラメータ情報に基づいて並行して決定することができる。
例えば、図3を参照すると、タスクスケジューリングユニット1は、基本ゲノムリシーケンシングデータ及び基本ゲノムリシーケンシングデータを記述するパラメータ情報に基づいて、アラインメント結果を出力するための第1のタスクと、アラインメント結果をソート及びデデュプリケートするための第2のタスクとの両方を並行して決定するように構成することができる。次いで、第1のタスク及び第2のタスクを、プロセススケジュールされた解析ユニット2に送ることができる。例えば、解析ユニット2は、バイオインフォマティクスソフトウェア及びシステムスケジューリングスクリプトによってプロセススケジュールすることができる。
ステップ203において、第1のタスクに対応する第1のスレッド、及び第2のタスクに対応する第2のスレッドが、それぞれFPGA及びCPUから割り当てられる。
本開示の実施例では、第1のタスク及び第2のタスクの決定後、第1のタスクに対応する第1のスレッド、及び第2のタスクに対応する第2のスレッドは、それぞれFPGA及びCPUから割り当てることができる。
ステップ204において、第1のタスクに対応する第1のスレッド、及び第2のタスクに対応する第2のスレッドが並行して開始及び実行され、ゲノムリシーケンシングデータがそれぞれのスレッドを介して呼び出される。
本開示の実施例では、第1のタスクに対応する第1のスレッド、及び第2のタスクに対応する第2のスレッドは、決定後、並行して開始及び実行することができ、ゲノムリシーケンシングデータは、アライニング、ソーティング、及びデデュプリケートのためにそれぞれのスレッドを介して呼び出される。
ステップ205において、リシーケンシングのプロセスにおいてアラインメント結果は、第1のタスクに対応する第1のスレッドの出力結果を介して決定され、同時に、アラインメント結果は、第2のタスクに対応する第2のスレッドの出力結果を介してソート及びデデュプリケートされる。
本開示の実施例では、ゲノムリシーケンシングデータが第1のタスクに対応する第1のスレッドを介して呼び出された後、リシーケンシングのプロセスにおいて、アラインメント結果を、第1のタスクに対応する第1のスレッドの出力結果に基づいて決定することができる。可能な実施として、第1のタスクに対応する第1のスレッドを実行して、標的アラインメント位置を決定することができ、基本ゲノムリシーケンシングデータにおける重複塩基対上でのアラインメントが、標的アラインメント位置にしたがってトリガーされ、重複塩基対のアラインメント結果は、リシーケンシングのプロセスにおいてアラインメント結果として取得される。例えば、図3を参照すると、解析ユニット2は、バイオインフォマティクスソフトウェア及びアラインメントスクリプトをプロセス呼び出しし、ソフトウェアをアクセラレートし、FPGAからの第1のタスクに対応する第1のスレッドを呼び出すことによって、ゲノムリシーケンシングデータを解析してアラインメント結果を決定するように構成することができる。
本開示の実施例では、アラインメント結果を、ソーティング及びデデュプリケーティングのために、第2のタスクに対応する第2のスレッドを介して呼び出すことができる。例えば、図3を参照すると、解析ユニット2は、バイオインフォマティクスソフトウェア並びにソーティング及びデデュプリケーティングスクリプトをプロセス呼び出しし、ソフトウェアをアクセラレートし、第2のタスクに対応する第2のスレッドをCPUから呼び出すことによって、アラインメント結果をソート及びデデュプリケートするように構成することができる。
ステップ206において、ソートされ且つデデュプリケートされたアラインメント結果は、塩基クオリティ値に応じて補正される。
ステップ207において、補正されたアラインメント結果に基づきバリエーション結果が検出される。
例えば、図3を参照すると、解析ユニット2は、バイオインフォマティクスソフトウェア及び塩基クオリティ値補正スクリプトをプロセス呼び出しすることによって、塩基クオリティ値に応じて、ソートされ且つデデュプリケートされたアラインメント結果を補正するように構成することができる。更に、解析ユニット2は、補正されたアラインメント結果に基づいてバリエーション結果を検出し、バイオインフォマティクスソフトウェア及びバリエーション検出スクリプトをプロセス呼び出しすることによって、バリエーション検出結果を決定するように構成することができる。
更に、図3を参照すると、バリエーション検出結果の取得後、結果生成ユニット3は、解析ユニット2からのバリエーション検出結果を、タスクスケジューリングユニット1によって送信される基本ゲノムリシーケンシングデータを記述するパラメータ情報に基づく指定位置に送るように構成される。
本開示の実施例では、バイオインフォマティクスソフトウェア及びパーソナライズされた解析スクリプトを呼び出し、ソフトウェアをアクセラレートし、FPGAからリソースを呼び出すことにより、ゲノムリシーケンシングデータを解析することで、ゲノムリシーケンシング効率を改善する。
可能な実施として、標的アラインメント位置を、ピンポンバッファリング技術によってキャッシュすることができる。例えば、参照する図4は、本開示の実施例に係るピンポンバッファリング技術を使用したアクセラレーションを示す概略図である。FPGAのグローバルメモリ内のデータは、ピンポンバッファリング技術を使用してキャッシュされる。その理由は、CPUによるFPGAのグローバルメモリでの読み取り/書き込み操作をFPGAカーネルモジュールによる計算操作と並行して実行できるので、実行効率が向上するからである。
「グローバルメモリの書き込み→カーネルの実行→グローバルメモリの読み取り」という従来の一連の実行モードを使用すると、FPGAの計算モジュールは、一定期間、入力/出力(I/O)を待機する状態となり、実行効率が低下する。そのため、ピンポンバッファ技術を使用して、標的アラインメント位置などのFPGAグローバルメモリにデータをキャッシュすると、FPGAの計算モジュールを常に効率的に動作する状態に維持することができ、単一のタスクの複数のサブタスクを、パイプラインで実行させることが可能になるので、タスクの並列実行が達成される。例えば、図4を参照すると、キャッシュ1から読み取られ出力されるタスクT1、キャッシュ2によってデータ計算されるタスクT2、及びキャッシュ1に書き込まれ入力されるタスクT3が、タイムスライスC3で並行して行われる。
一例として、参照する図5は、本開示の実施例に係るFPGAベースのリシーケンシング解析システムを示す概略図2である。FPGAベースのリシーケンシング解析システムは、アライニングモジュール4、ソーティング・デデュプリケーティングモジュール5、塩基クオリティ値ベースの補正モジュール6、及びバリエーション検出モジュール7を含む。
アライニングモジュール4は、受信したゲノムリシーケンシングデータをレファレンスゲノムにアラインメントするように且つアラインメントされたデータを計算のためにFPGAに送信するように構成されることによって、アラインメント結果を取得し、これをSAM形式ファイルに保存することができる。
ソーティング・デデュプリケーティングモジュール5は、アラインメント位置に応じて、アラインメントモジュール4から出力されたデータをソートするように且つ重複データをマークしてフィルタリングするように構成される。ソートされ且つデデュプリケートされたアラインメント結果は、BAM形式ファイルに保存することができる。
塩基クオリティ値ベースの補正モジュール6は、塩基クオリティ値に応じて、ソーティング・デデュプリケーティングモジュール5から出力されたデータを補正するように構成される。補正されたアラインメント結果は、BAM形式ファイルに保存することができる。
バリエーション検出モジュール7は、バイオインフォマティクスソフトウェア及び解析スクリプトを呼び出すことによって、塩基クオリティ値ベースの補正モジュール6から出力されたデータに基づきバリエーション結果を検出するように構成される。バリエーション結果の検出は、一塩基多型(SNP)部位の検出並びに挿入及び欠失部位の検出を含む。バリエーション検出結果は、VCF又はgVCF形式のファイルに保存することができる。
実施例について参照される図6は、本開示の実施例に係る実行タイミングシーケンスの概略図である。図6では、Fastq入力ファイルを使用して、隣接するステップ間のデータの計算モードを調整し、対応する入力バッファ及び出力バッファを追加することによって、計算プロセス全体がパイプライン構造として最適化される。
具体的には、プログラムの開始時に実行されるアラインメントモジュールは、入力ファイル内のゲノムリシーケンシングデータをレファレンスゲノムにアラインメントして、アラインメント結果を取得するように構成され、これが、ソーティング・デデュプリケーティングモジュールに出力される。
アラインメントモジュールと同時に実行されるソーティング・デデュプリケーティングモジュールは、アラインメント位置にしたがってアライニングモジュールから出力されたデータをソートし、重複データをマークしてフィルタリングするように構成される。
アラインメントモジュールでアラインメントが完了した後、ソーティング・デデュプリケーティングモジュールと同時に実行される塩基クオリティ値ベースの補正モジュールは、塩基クオリティ値にしたがってソーティング・デデュプリケーティングモジュールから出力されたデータを補正するように構成される。
バリエーション検出モジュールは、バイオインフォマティクスソフトウェア及び解析スクリプトを呼び出すことによって、塩基クオリティ値ベースの補正モジュールから出力されたデータに基づきバリエーション結果を検出するように構成される。バリエーション結果の検出は、一塩基多型(SNP)部位の検出並びに挿入及び欠失部位の検出を含む。
本開示の実施例では、ゲノムリシーケンシング解析は、バイオインフォマティクスソフトウェア及び解析スクリプトをプロセス呼び出しすることによってアクセラレートされるので、ゲノムリシーケンシング効率を改善する。
実施例について参照される図7は、本開示の実施例に係るFPGAベースのリシーケンシング解析システムを示す概略図3である。
CPU側は、入力ファイル(Fastq)を読み取り、計算が必要なデータをメモリに格納し、バスインターフェーススタンダードを介してメモリ内のデータを、FPGAのグローバルメモリに送信する。FPGAでは、入力データが処理及びアラインメントされ、結果を記録、出力し、グローバルメモリに保存する。次いで、FPGAは、処理されたデータを、バスインターフェーススタンダードを介してCPU側のメモリに送信し、後続の処理を行い、SAM形式ファイルを出力する。
本開示の実施例では、ゲノムリシーケンシングデータを、CPU及びFPGAの独立した構成によって高速でアラインメントし、CPUは、マルチスレッド技術によってデータの前処理及びその後の処理を並行して行い、FPGAは、チャネルに接続された複数の機能モジュールによる細粒度パイプライン処理を達成する。
可能な実施として、I/Oの読み取り及び書き込み操作を圧縮/解凍操作から分離することができる。圧縮/解凍操作は、ループキャッシング及びマルチスレッディングと並行して計算できるので、ゲノムリシーケンシング効率を改善する。
実施例について参照される図8は、本開示の実施例3におけるFPGAベースのリシーケンシング解析方法を示すフローチャートである。
図8に示すように、FPGAベースのリシーケンシング解析方法は、以下のステップを含むことができる。
300:タスクを開始すること。
301:プログラムを呼び出し、パラメータを設定し、初期化すること。具体的には、全てのパラメータを初期化した後、基本ゲノムリシーケンシングデータ及び基本ゲノムリシーケンシングデータを記述するパラメータ情報を受信するタスクのスケジューリングを開始することができる。
302:アラインメントインデックスを作成すべきかどうかを決定し、作成する場合、ステップ316を実行すること。
303:塩基クオリティ値に対して補正インデックスを作成すべきかどうかを決定し、作成する場合、ステップ313を実行すること。
304又は317:アラインすべきどうかを決定し、アラインする場合、ステップ318を実行すること。
305:ソート及びデデュプリケートすべきかどうかを決定し、ソート及びデデュプリケートする場合、ステップ319を実行すること。
306:塩基クオリティ値に応じて補正すべきかどうかを決定し、補正する場合、ステップ320を実行すること。
307:アラインメント結果をソート及びデデュプリケートすべきかどうかを決定し、ソート及びデデュプリケートする場合、ステップ321を実行すること。
308:アラインメント結果をコピーすべきかどうかを決定し、コピーする場合、ステップ322を実行すること。
309又は314:塩基クオリティ値にしたがって補正するかどうかを決定し、補正する場合、ステップ315を実行すること。
310:塩基クオリティ値に対して補正された結果をコピーするかどうかを決定し、コピーする場合、ステップ323を実行すること。
311:バリエーション結果を検出すべきかどうかを決定し、検出する場合、ステップ324を実行すること。
312:全プロセスの完了まで待機すること。
313:塩基クオリティ値に対する補正インデックスを作成すること。
315:塩基クオリティ値に応じて補正を呼び出すこと。
316:ゲノムリシーケンシングデータをレファレンスゲノムに迅速にアラインメントするために使用されるアラインメントインデックスを作成すること。
318:アラインメントを呼び出すこと。CPU側がゲノムリシーケンシングデータをレファレンスゲノムにアラインメントして、アラインメント位置などの情報を取得し、取得したデータをFPGAに送信してアラインメントし、FPGAがアラインメント結果をCPU側に送信する。
319:ソーティング及びデデュプリケーティングを呼び出すこと。
320:塩基クオリティ値に応じて補正を呼び出し、塩基クオリティ値に応じてアラインメント結果を現実に近づけ、レファレンスゲノムとのミスマッチの可能性を低減すること。
321:アラインメント結果に対してソーティング及びデデュプリケーティングを呼び出すこと。主にシーケンシングにおけるPCRによって生成される、アラインメント結果におけるデデュプリケートリードを、アラインメント位置にしたがってフィルタリングし(デデュプリケートリードは、シーケンシング深度などのアラインメントの比較と評価に影響を及ぼし、最終的にはバリエーションの検出において偽陽性につながるので)、ソートされ且つデデュプリケートされたアラインメント結果は、通常、BAM形式ファイルに保存される。
322:バックステージと呼ばれることもある、アラインメント結果のコピーを呼び出すこと。
323:バックステージと呼ばれることもある、塩基クオリティ値に対する補正された結果のコピーを呼び出すこと。
324:バリエーションの検出を呼び出すこと。
325:タスクを終了すること。
ハードウェアでは、FPGAアクセラレータカード又はGPUを使用して、リシーケンシング効率を改善することもできる。更に、本開示のFPGAベースのリシーケンシング解析システムは、複数のモジュールで構成されるが、例えば、bwtアルゴリズムを前記アラインメントに代えて用いることなどの任意のモジュール方法に対する改良、変更、又は置換は、本開示の保護範囲内である。したがって、ハードウェアアクセラレーテッドbwtアルゴリズムと、前記アラインメントに直接置き換わるbwtアルゴリズムの両方が、本開示の技術的効果を達成することができる。
一例として、以下の公開データが試験に使用される。
データのWebパスは、
である。
データパスは、以下の通りである。
関連技術におけるBWA+GATKのプロセスは、以下の通りである。
1.アライニング、ソーティング、及びデデュプリケート
アライニング及びソーティングのためのコマンドラインは、以下の通りである。

デデュプリケーティングのためのコマンドラインは、以下の通りである。

インデックスを作成するためのコマンドラインは、以下の通りである。
2.塩基クオリティ値に応じた補正

インデックスを作成するためのコマンドラインは、以下の通りである。
3.バリエーションの検出
本開示のプロセスは、以下の通りである。
表1.プロセス実行時間の比較
表2.バリエーション検出結果の評価と比較
前記結果から、表1に示すように、本開示の特許請求された方法により消費される実行時間は、関連技術の実行時間の約20倍速く、表2に示すように、本開示の特許請求された方法によるSNP検出の正確性及び感度は、基本的に関連技術と同じであり、一方、本開示の特許請求された方法によるINDEL検出の正確性は、関連技術の正確性よりも僅かに劣っており、感度は基本的に維持されていることが分かる。したがって、本開示の特許請求された方法によって得られた全体的な結果は、関連技術と同等である。
前記実施例を実施するために、本開示は、一例において、FPGAベースのリシーケンシング解析デバイスを更に提供する。
図9は、本開示の実施例4におけるFPGAベースのリシーケンシング解析デバイスを示す概略図である。
図9に示されるように、FPGAベースのリシーケンシング解析デバイス100は、受信モジュール110、処理モジュール120、補正モジュール130、及び検出モジュール140を含む。
受信モジュール110は、ゲノムリシーケンシングデータを受信するように構成される。
処理モジュール120は、FPGAの入力としてリシーケンシングデータを取得し、FPGAの出力に基づいてリシーケンシングのプロセスにおいてアラインメント結果を決定し、同時に、アラインメント結果をソート及びデデュプリケートするように構成される。
補正モジュール130は、ソートされ且つデデュプリケートされたアラインメント結果を、塩基クオリティ値に応じて補正をするように構成される。
検出モジュール140は、補正されたアラインメント結果に基づいてバリエーション結果を検出するように構成される。
更に、本開示の可能な実施として、図9に基づく図10を参照すると、FPGAベースのリシーケンシング解析デバイス100は、ゲノムリシーケンシングデータの受信後、ゲノムリシーケンシングデータを、プリセットされた長さの配列に基づきハッシュ計算するように構成された計算モジュール150を更に含むことができる。
したがって、処理モジュール120は、具体的には、FPGAの入力としてハッシュ計算されたゲノムリシーケンシングデータを取得するように構成される。
可能な実施として、ゲノムリシーケンシングデータは、基本ゲノムリシーケンシングデータ及び基本ゲノムリシーケンシングデータを記述するパラメータ情報を含む。
FPGAベースのリシーケンシング解析デバイス100は、更に、
ゲノムリシーケンシングデータの受信後、基本ゲノムリシーケンシングデータ及び基本ゲノムリシーケンシングデータを記述するパラメータ情報に基づいて、アラインメント結果を出力するための第1のタスク及びアラインメント結果をソーティング及びデデュプリケーティングするための第2のタスクを決定するように構成された決定モジュール160と、
FPGAからの第1のタスクに対応する第1のスレッドと、CPUからの第2のタスクに対応する第2のスレッドとを割り当てるように構成された割り当てモジュール170とを含むことができる。
可能な実施として、処理モジュール120は、
第1のタスクに対応する第1のスレッド及び第2のタスクに対応する第2のスレッドを並行して開始及び実行して、それぞれのスレッドを介してゲノムリシーケンシングデータを呼び出すように構成された開始及び実行ユニット121と、
第1のタスクに対応する第1のスレッドの出力結果を介してリシーケンシングのプロセスにおいてアラインメント結果を決定し、同時に、第2のタスクに対応する第2のスレッドの出力結果を介してアラインメント結果をソート及びデデュプリケートするように構成された決定及び処理ユニット122とを含む。
可能な実施として、決定及び処理ユニット122は、具体的には、第1のタスクに対応する第1のスレッドを実行して、標的アラインメント位置を決定し、標的アラインメント位置に応じて、基本ゲノムリシーケンシングデータ内の重複塩基対上でのアラインメントをトリガーし、重複塩基対のアラインメント結果を、リシーケンシングのプロセスにおいてアラインメント結果として取得するように構成される。
可能な実施として、決定及び処理ユニット122は、更に、ピンポンバッファリング技術を使用することによって、標的アラインメント位置をキャッシュするように構成される。
実施形態におけるFPGAベースのリシーケンシング解析方法に関する前記の記載及び説明は、後述の実施形態のFPGAベースのリシーケンシング解析デバイス100にも適用可能であり、繰り返し記載しないことに留意されたい。
本開示の実施形態によれば、FPGAベースのリシーケンシング解析デバイスは、ゲノムリシーケンシングデータを受信し、FPGAの入力としてゲノムリシーケンシングデータを取得し、FPGAの出力に基づきリシーケンシングのプロセスにおいてアラインメント結果を決定し、同時に、アラインメント結果をソート及びデデュプリケートし、ソートされ且つデデュプリケートされたアラインメント結果を、塩基クオリティ値に応じて補正をし、補正されたアラインメント結果に基づいてバリエーション結果を検出する。本開示の実施形態では、アライニング、ソーティング、及びデデュプリケートの各プロセスを並行して実行されることができ、プログラムの実行時間及び計算コストが削減されて、リシーケンシング効率が改善する。
前記実施例を実施するために、本開示は、一実施例において、メモリと、プロセッサと、前記メモリに格納され且つ前記プロセッサによって実行可能なコンピュータプログラムとを含むコンピュータデバイスであって、前記コンピュータプログラムが、前記プロセッサによって実行されると、本開示の前記実施形態におけるフィールドプログラマブルゲートアレイ(FPGA)ベースのリシーケンシング解析方法を達成するコンピュータデバイスを更に提供する。
前記実施例を実施するために、本開示は、一実施例において、本開示の前記実施形態におけるフィールドプログラマブルゲートアレイ(FPGA)ベースのリシーケンシング解析方法を、コンピュータに実行させるコンピュータ可読命令をその内部に格納したコンピュータ可読記憶媒体を更に提供する。
本明細書全体を通して、「実施形態」、「いくつかの実施形態」、「1つの実施形態」、「別の実施例」、「実施例」、「特定の実施例」、又は「いくつかの実施例」との記載は、その実施形態又は実施例に関連して説明される具体的な特徴、構造、材料、又は特性が、本開示の少なくとも1つの実施形態又は実施例に含まれることを意味する。したがって、本明細書全体中の様々な場所に記載される「いくつかの実施形態では」、「一実施形態では」、「実施形態では」、「別の実施形態では」、「実施例では」、「特定の実施形態では」、又は「いくつかの実施形態では」などの表現は、必ずしも本開示の同一の実施形態又は実施例に言及している訳ではない。更に、具体的な特徴、構造、材料、又は特性は、1以上の実施形態又は実施例における任意の好適な方法で組み合わせることができる。更に、当業者は、互いに矛盾することなく、異なる実施形態若しくは実施例を組み合わせることができる、又は異なる実施形態若しくは実施例における特徴を組み合わせることができる。
更に、「第1」及び「第2」などの用語は、説明目的で本明細書に使用され、相対的な重要性又は意義を示す又は暗示すること、又は言及される技術的特徴の数量を暗示することを意図するものではない。したがって、「第1」及び「第2」で定義される特徴は、1以上のこの特徴を含み得る。本開示の記載において、「複数」は、特段の断りがない限り、2つ又は2以上のこの特徴を意味する。
フローチャートに記載される又は本明細書中、他の方法で記載される任意の手順又は方法は、具体的な論理機能又は手順を実現する実行可能コードを格納するための1以上のモジュール、部分、又はパーツを含むと理解され得る。更に、本開示の有利な実施形態は、実行の順序が、関連する機能に応じて実質的に同時又は逆の順序で機能を実行することなど、図示又は記載されたものとは異なる他の実施を含む。これは、本開示の実施形態が属する技術分野の当業者によって理解できるであろう。
本明細書中、他の方法で記載される又はフローチャートに示される論理及び/又はステップ、例えば、論理機能を実現するための実行可能な命令の特定のシーケンステーブルは、命令実行システム、デバイス、又は機器(例えば、コンピュータに基づくシステム、命令実行システム、デバイス、又は機器から命令を取得し、命令を実行することができるプロセッサ又は他のシステムを含むシステムなど)によって使用される、又は命令実行システム、デバイス、及び機器と組み合わせて使用される任意のコンピュータ可読媒体で具体的に達成され得る。本明細書に関して、「コンピュータ可読媒体」は、命令実行システム、デバイス、又は機器によって、又はそれらと組み合わせて使用されるプログラムを含む、格納する、通信する、伝播させる、又は転送するために適応可能な任意のデバイスであることができる。コンピュータ可読媒体のより具体的な例としては、限定されるものではないが、1以上のワイヤを備えた電子接続(電子デバイス)、ポータブルコンピュータエンクロージャ(磁気デバイス)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバデバイス、及びポータブルコンパクトディスク読み取り専用メモリ(CDROM)が挙げられる。更に、コンピュータ可読媒体は、その上にプログラムを印刷することができる紙又は他の適切な媒体でさえあることができる。これは、例えば、電気的な方法でプログラムを取得する必要がある場合、紙又は他の適切な媒体を光学的にスキャンすることができ、次いで、他の適切な方法で編集、復号化、又は処理することができ、その後、プログラムをコンピュータメモリに保存することができるからである。
本開示の各部は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せによって実現することができることを理解されたい。前記実施形態では、複数のステップ又は方法を、メモリに格納され、適切な命令実行システムによって実行されるソフトウェア又はファームウェアによって実現することができる。例えば、それがハードウェアによって実現される場合、同様に別の実施形態において、ステップ又は方法は、当技術分野で知られた以下の技術の1つ又は組合せによって実現することができる。即ち、データ信号の論理機能を実現するための論理ゲート回路を有する離散論理回路、適切な組合せ論理ゲート回路を有する特定用途向け集積回路、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などの技術である
当業者は、本開示の前記例示的な方法におけるステップの全て又は一部が、関連するハードウェアにプログラムで命令することによって達成することができることを理解するであろう。プログラムは、コンピュータ可読記憶媒体に格納することができ、プログラムは、コンピュータ上で実行される場合、本開示の方法実施形態におけるステップの1つ又は組合せを含む。
更に、本開示の実施形態の各機能セルは、処理モジュールに統合することができる、又はこれらのセルは、別体の物理的存在物であることができる、又は2つ以上のセルを処理モジュールに統合することができる。統合モジュールは、ハードウェアの形式又はソフトウェア機能モジュールの形式で実現することができる。統合モジュールがソフトウェア機能モジュールの形式で実現され、スタンドアロン製品として販売又は使用される場合、統合モジュールを、コンピュータ可読記憶媒体に格納することができる。
前記記憶媒体は、読み取り専用メモリ、磁気ディスク、CDなどであることができる。
説明的な実施形態を示し、記載してきたが、前記実施形態は、本開示を限定するものと解釈することはできず、変更、代替、及び修正を、本開示の範囲における実施形態において行うことができることが当業者によって理解できるであろう。

Claims (12)

  1. フィールドプログラマブルゲートアレイ(FPGA)ベースのリシーケンシング解析方法であって、
    基本ゲノムリシーケンシングデータ、及び前記基本ゲノムリシーケンシングデータを記述するパラメータ情報を含むゲノムリシーケンシングデータを受信することと、
    前記基本ゲノムリシーケンシングデータ、及び前記基本ゲノムリシーケンシングデータを記述する前記パラメータ情報に基づいて、アラインメント結果を出力するための第1のタスク、並びに前記アラインメント結果をソート及びデデュプリケートするための第2のタスクを決定することと、
    前記FPGAからの前記第1のタスクに対応する第1のスレッド、及びCPUからの前記第2のタスクに対応する第2のスレッドを割り当てることと、
    FPGAの入力として前記ゲノムリシーケンシングデータを取得し、前記FPGAの出力に基づくリシーケンシングのプロセスにおいて前記アラインメント結果を決定し、同時に、前記アラインメント結果をソート及びデデュプリケートすることと、
    ソートされ且つデデュプリケートされた前記アラインメント結果を、塩基クオリティ値(base quality value)に応じて補正をすることと、
    補正された前記アラインメント結果に基づいてバリエーション結果を検出することと、を含み
    ラインメント、前記ソート、及び前記デデュプリケートの各プロセスは、並行して実行され、
    前記アラインメント結果をソート及びデデュプリケートすることは、前記第1のタスクに対応する前記第1のスレッドと、前記第2のタスクに対応する前記第2のスレッドとを並行して開始及び実行して、前記ゲノムリシーケンシングデータが、それぞれのスレッドを介して呼び出されるようにすること、並びに前記第1のタスクに対応する前記第1のスレッドの出力結果を介するリシーケンシングのプロセスにおける前記アラインメント結果を決定し、同時に、前記第2のタスクに対応する前記第2のスレッドの出力結果を介して前記アラインメント結果をソート及びデデュプリケートすることを含むこと特徴とするFPGAベースのリシーケンシング解析方法。
  2. ゲノムリシーケンシングデータの受信後に、前記FPGAベースのリシーケンシング解析方法は、
    前記ゲノムリシーケンシングデータを、プリセットされた長さの配列に基づきハッシュ計算することを更に含み、
    FPGAの入力として前記ゲノムリシーケンシングデータを取得することが、前記FPGAの入力としてハッシュ計算されたゲノムリシーケンシングデータを取得することを更に含む、請求項1に記載のFPGAベースのリシーケンシング解析方法。
  3. 前記第1のタスクに対応する前記第1のスレッドの出力結果を介するリシーケンシングのプロセスにおける前記アラインメント結果を決定することが、
    前記第1のタスクに対応する前記第1のスレッドを実行して、標的アラインメント位置を決定することと、
    前記標的アラインメント位置に応じて、前記基本ゲノムリシーケンシングデータ内の重複塩基対上でのアラインメントをトリガーすることと、
    前記重複塩基対のアラインメント結果を、リシーケンシングのプロセスにおいてアラインメント結果として取得することと、を更に含む請求項1に記載のFPGAベースのリシーケンシング解析方法。
  4. 前記標的アラインメント位置の決定後に、
    ピンポンバッファリング技術を使用して、前記標的アラインメント位置をキャッシュすることを更に含む、請求項3に記載のFPGAベースのリシーケンシング解析方法。
  5. 前記ゲノムリシーケンシングデータを、複数の固定長のゲノムリシーケンシングサブセットに分割することと、
    前記複数の固定長のゲノムリシーケンシングサブセットをレファレンスゲノムにアラインメントし、アラインメント結果の複数のサブセットを取得することと、
    前記アラインメント結果の複数のサブセットを組み合わせて、アラインメント結果を取得することと、を更に含む、請求項1から4のいずれかに記載のFPGAベースのリシーケンシング解析方法。
  6. 前記レファレンスゲノム上のアラインメント位置にしたがって、前記アラインメント結果をソートすることと、
    同じ位置にアラインメントされた前記ゲノムリシーケンシングデータをデデュプリケートすることと、を更に含む、請求項5に記載のFPGAベースのリシーケンシング解析方法。
  7. FPGAベースのリシーケンシング解析デバイスであって、
    基本ゲノムリシーケンシングデータ、及び前記基本ゲノムリシーケンシングデータを記述するパラメータ情報を含むゲノムリシーケンシングデータを受信するように構成された受信モジュールと、
    前記ゲノムリシーケンシングデータの受信後に、前記基本ゲノムリシーケンシングデータ、及び前記基本ゲノムリシーケンシングデータを記述する前記パラメータ情報に基づいて、アラインメント結果を出力するための第1のタスク、並びに前記アラインメント結果をソート及びデデュプリケートするための第2のタスクを決定するように構成された決定モジュールと、
    前記FPGAからの前記第1のタスクに対応する第1のスレッドと、CPUからの前記第2のタスクに対応する第2のスレッドとを割り当てるように構成された割り当てモジュールと、
    FPGAの入力として前記ゲノムリシーケンシングデータを取得し、前記FPGAの出力に基づくリシーケンシングのプロセスにおいてアラインメント結果を決定し、同時に、前記アラインメント結果をソート及びデデュプリケートするように構成された処理モジュールと、
    ソートされ且つデデュプリケートされた前記アラインメント結果を、塩基クオリティ値に応じて補正をするように構成された補正モジュールと、
    補正されたアラインメント結果に基づいてバリエーション結果を検出するように構成された検出モジュールと、を含み
    ラインメント、前記ソート、及び前記デデュプリケートの各プロセスは、並行して実行され、
    前記処理モジュールは、前記第1のタスクに対応する前記第1のスレッドと、前記第2のタスクに対応する前記第2のスレッドとを並行して開始及び実行して、それぞれのスレッドを介して前記ゲノムリシーケンシングデータを呼び出すように構成された開始及び実行ユニット、並びに前記第1のタスクに対応する第1のスレッドの出力結果を介してリシーケンシングのプロセスにおける前記アラインメント結果を決定し、同時に、前記第2のタスクに対応する前記第2のスレッドの出力結果を介して前記アラインメント結果をソート及びデデュプリケートするように構成された決定及び処理ユニットを含むことを特徴とするFPGAベースのリシーケンシング解析デバイス。
  8. 前記ゲノムリシーケンシングデータの受信後に、前記ゲノムリシーケンシングデータを、プリセットされた長さの配列に基づきハッシュ計算するように構成された計算モジュールを更に含み、
    前記処理モジュールが、前記FPGAの前記入力としてハッシュ計算されたゲノムリシーケンシングデータを取得するように構成されている請求項7に記載のFPGAベースのリシーケンシング解析デバイス。
  9. 前記処理モジュールが、
    前記第1のタスクに対応する前記第1のスレッドを実行して、標的アラインメント位置を決定し、
    前記標的アラインメント位置に応じて、前記基本ゲノムリシーケンシングデータ内の重複塩基対上でのアラインメントをトリガーし、
    前記重複塩基対のアラインメント結果を、リシーケンシングの前記プロセスにおける前記アラインメント結果として取得するように構成されている請求項7に記載のFPGAベースのリシーケンシング解析デバイス。
  10. 前記決定及び処理ユニットが、ピンポンバッファリング技術を使用することによって、前記標的アラインメント位置をキャッシュするように更に構成されている請求項9に記載のFPGAベースのリシーケンシング解析デバイス。
  11. コンピュータデバイスであって、
    メモリと、
    プロセッサと、
    前記メモリに格納され且つ前記プロセッサによって実行可能なコンピュータプログラムと、を含み、
    前記コンピュータプログラムは、前記プロセッサによって実行されると、請求項1から6のいずれかに記載のフィールドプログラマブルゲートアレイ(FPGA)ベースのリシーケンシング解析方法を達成することを特徴とするコンピュータデバイス。
  12. 請求項1から6のいずれかに記載のフィールドプログラマブルゲートアレイ(FPGA)ベースのリシーケンシング解析方法を、コンピュータに実行させるコンピュータ可読命令をその内部に格納したことを特徴とするコンピュータ可読記憶媒体。
JP2021519716A 2018-10-23 2018-10-23 Fpgaベースのリシーケンシング解析方法とデバイス Active JP7334244B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/111357 WO2020082224A1 (zh) 2018-10-23 2018-10-23 基于fpga的重测序分析方法和装置

Publications (2)

Publication Number Publication Date
JP2022504611A JP2022504611A (ja) 2022-01-13
JP7334244B2 true JP7334244B2 (ja) 2023-08-28

Family

ID=70330861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021519716A Active JP7334244B2 (ja) 2018-10-23 2018-10-23 Fpgaベースのリシーケンシング解析方法とデバイス

Country Status (7)

Country Link
US (1) US11836430B2 (ja)
EP (1) EP3852111A4 (ja)
JP (1) JP7334244B2 (ja)
KR (1) KR20210091126A (ja)
CN (1) CN113168888A (ja)
SG (1) SG11202102591TA (ja)
WO (1) WO2020082224A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115691672B (zh) * 2022-12-20 2023-06-16 臻和(北京)生物科技有限公司 针对测序平台特征的碱基质量值矫正方法、装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015515042A (ja) 2012-02-28 2015-05-21 コーニンクレッカ フィリップス エヌ ヴェ コンパクトな次世代シーケンシングデータセット及び該データセットを使用した効率的な配列の処理
US20160259880A1 (en) 2015-03-05 2016-09-08 Seven Bridges Genomics Inc. Systems and methods for genomic pattern analysis
CN107194204A (zh) 2017-05-22 2017-09-22 人和未来生物科技(长沙)有限公司 一种全基因组测序数据计算解读方法
US20170277830A1 (en) 2013-01-17 2017-09-28 Edico Genome Corporation Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
CN107609350A (zh) 2017-09-08 2018-01-19 厦门极元科技有限公司 一种二代测序数据分析平台的数据处理方法
JP2018503164A (ja) 2014-11-21 2018-02-01 リサーチ インスティチュート アット ネイションワイド チルドレンズ ホスピタル 平行プロセシングシステムおよび生物配列データの高度にスケーラブルな解析の方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2754078A4 (en) * 2011-04-14 2015-12-02 Complete Genomics Inc PROCESSING AND ANALYSIS OF COMPLEX NUCLEIC ACID SEQUENCE DATA
US9600625B2 (en) 2012-04-23 2017-03-21 Bina Technologies, Inc. Systems and methods for processing nucleic acid sequence data
US9154137B2 (en) * 2013-07-04 2015-10-06 Altera Corporation Non-intrusive monitoring and control of integrated circuits
CN105631239B (zh) 2014-10-30 2018-08-17 国际商业机器公司 用于管理基因序列的方法和装置
CN104462211B (zh) * 2014-11-04 2018-01-02 北京诺禾致源科技股份有限公司 重测序数据的处理方法和处理装置
US20170270245A1 (en) * 2016-01-11 2017-09-21 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015515042A (ja) 2012-02-28 2015-05-21 コーニンクレッカ フィリップス エヌ ヴェ コンパクトな次世代シーケンシングデータセット及び該データセットを使用した効率的な配列の処理
US20170277830A1 (en) 2013-01-17 2017-09-28 Edico Genome Corporation Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
JP2018503164A (ja) 2014-11-21 2018-02-01 リサーチ インスティチュート アット ネイションワイド チルドレンズ ホスピタル 平行プロセシングシステムおよび生物配列データの高度にスケーラブルな解析の方法
US20160259880A1 (en) 2015-03-05 2016-09-08 Seven Bridges Genomics Inc. Systems and methods for genomic pattern analysis
CN107194204A (zh) 2017-05-22 2017-09-22 人和未来生物科技(长沙)有限公司 一种全基因组测序数据计算解读方法
CN107609350A (zh) 2017-09-08 2018-01-19 厦门极元科技有限公司 一种二代测序数据分析平台的数据处理方法

Also Published As

Publication number Publication date
WO2020082224A1 (zh) 2020-04-30
US20220058321A1 (en) 2022-02-24
CN113168888A (zh) 2021-07-23
EP3852111A4 (en) 2022-04-20
US11836430B2 (en) 2023-12-05
SG11202102591TA (en) 2021-04-29
JP2022504611A (ja) 2022-01-13
EP3852111A1 (en) 2021-07-21
KR20210091126A (ko) 2021-07-21

Similar Documents

Publication Publication Date Title
Shi et al. Performance modeling and evaluation of distributed deep learning frameworks on gpus
US20200350038A1 (en) Bioinformatics Systems, Apparatuses, and Methods Executed on an Integrated Circuit Processing Platform
US10778246B2 (en) Managing compression and storage of genomic data
CN108985008B (zh) 一种快速比对基因数据的方法和比对系统
US20240004838A1 (en) Quality score compression for improving downstream genotyping accuracy
US20160306922A1 (en) Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
CN104364756B (zh) 单个数据缓冲器的并行处理
Jo et al. Faster single-end alignment generation utilizing multi-thread for BWA
CN110163609B (zh) 一种区块链中数据处理方法及装置
JP2009500704A5 (ja)
TWI297853B (en) Method for performing in a simd execution engine, apparatus for a simd execution engine, and processing system
CN108399151B (zh) 数据比对系统和方法
JP7334244B2 (ja) Fpgaベースのリシーケンシング解析方法とデバイス
EP1944752A3 (en) Tone processing apparatus and method
Wang et al. Removing sequential bottlenecks in analysis of next-generation sequencing data
WO2016070668A1 (zh) 一种实现数据格式转换的方法、装置及计算机存储介质
Gueron et al. Simultaneous hashing of multiple messages
CN111653318A (zh) 一种用于基因比对的加速方法、装置、存储介质与服务器
CN113965534A (zh) 多通道数据的处理方法、装置、设备和存储介质
Whelan et al. Cloudbreak: accurate and scalable genomic structural variation detection in the cloud with MapReduce
CN117579286B (zh) 数字签名的生成方法、系统、存储介质及电子设备
US20240170102A1 (en) Bioinformatics Systems, Apparatuses, and Methods Executed on an Integrated Circuit Processing Platform
US11983427B2 (en) Multi-pass distributed data shuffle
Rengasamy et al. Engineering a high-performance SNP detection pipeline
Zhan et al. PLDSRC: A Multi-threaded Compressor/Decompressor for Massive DNA Sequencing Data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210420

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20220527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230417

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230816

R150 Certificate of patent or registration of utility model

Ref document number: 7334244

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150