JP6884143B2 - 階層的転置索引表を使用したdnaアラインメント - Google Patents

階層的転置索引表を使用したdnaアラインメント Download PDF

Info

Publication number
JP6884143B2
JP6884143B2 JP2018520481A JP2018520481A JP6884143B2 JP 6884143 B2 JP6884143 B2 JP 6884143B2 JP 2018520481 A JP2018520481 A JP 2018520481A JP 2018520481 A JP2018520481 A JP 2018520481A JP 6884143 B2 JP6884143 B2 JP 6884143B2
Authority
JP
Japan
Prior art keywords
entry
level
index table
length
hierarchical index
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
JP2018520481A
Other languages
English (en)
Other versions
JP2018535484A (ja
JP2018535484A5 (ja
Inventor
ドーア,マイケル・ビイ
ガーマニー,ジャン・ディ
ウッド,スティーヴン・ブイ
アラスタス,デーモン・ジイ
ハント,マーティン・エイ
Original Assignee
コーヒレント・ロジックス・インコーポレーテッド
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 コーヒレント・ロジックス・インコーポレーテッド filed Critical コーヒレント・ロジックス・インコーポレーテッド
Publication of JP2018535484A publication Critical patent/JP2018535484A/ja
Publication of JP2018535484A5 publication Critical patent/JP2018535484A5/ja
Application granted granted Critical
Publication of JP6884143B2 publication Critical patent/JP6884143B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • 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
    • 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
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • 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
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/30Data warehousing; Computing architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Biotechnology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Databases & Information Systems (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Public Health (AREA)
  • Artificial Intelligence (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Epidemiology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本願は、概して、データパターンの基準データセット上でのマッピングに関し、より具体的には、DNAシーケンシング及びDNAアラインメント用途における、かかるデータアラインメントまたはパターン適合の実行に関する。
現代の技術は、ますます大容量のデータの収集及び処理を包含している。いわゆる「ビッグデータ」の用途及び使用事例は、とりわけ、データマイニングから、広告、機械学習、及びDNAシーケンシングまで多岐にわたる。多くの事例において、少量のデータサンプルとはるかに大きい基準データセットとの間の適合について検索する必要がある。基準データセットのサイズが増加するにつれ、この基準データセット(パターン適合)のサンプルデータのアラインメントは、指数関数的に、より演算的に集中的なタスクとなる。
データアラインメントの例示的な事例は、DNAアラインメントの分野において生じる。生命体は、細胞から構成されており、細胞の操作及び再生は、ある世代の細胞から次の世代の細胞へと受け継がれる遺伝情報により制御される。
種及び個々の生物の遺伝情報の詳細な知識は、改善された医療、農業、環境管理、及び犯罪捜査を支援する、より正確な生命科学において非常に有望である。
これらの利点の実現に対する障害の1つは、生物の遺伝情報の配列を決定するための費用である。これを実現するための技術は、過去数十年の間に劇的に改善しているため、費用を個々のヒト当たり1000USドル未満に減少させるという目標は、達成可能であるように思われる。しかしながら、完全性、正確性、データの解釈、及び信頼性の高い疾患の診断といった問題が依然としてある。生体サンプルから遺伝情報を取得するための日数はまた、救急治療室の患者が使用するための感受性者に対する重い副作用を有すると知られている薬剤の適合性等、迅速な反応を必要とする使用に対する障害である。
したがって、データアラインメント、特に、DNAシーケンシングのための改善された技術及び工具が所望される。
有意に大きいデータセット上でデータパターンをマッピングするためのシステム及び方法の種々の実施形態が開示されている。いくつかの実施形態において、より大きいデータセットが、基準データセットであり得る。いくつかの実施形態において、より大きいデータセットが、デノボシーケンシングの結果であり得、複数のデータパターンを使用して、複数のデータパターンと自己一致しているより大きいデータセットを構築する。本明細書に提示されている実施形態の多くは、DNAアラインメントの特定の使用事例に関するものであり、基準データセットは、基準ゲノムであり、データパターンは、DNA鎖の短い読み出し(SR)に由来する一連のDNA塩基である。しかしながら、本明細書に詳述されている方法は、概して、より大きいデータセット上で任意のデータパターンをマッピングするという問題に適用可能である。DNAアラインメントに関して本明細書に記載されている方法の説明は、解説を促進することを企図しており、いかなる方法でも本発明の範囲に対する限定であることを意味していない。当業者であれば、本明細書に記載されている方法が、DNAアラインメント以外のデータアラインメントまたはパターン適合プロセスに適用され得る方法を容易に理解するだろう。
一実施形態において、基準データに基づく階層的索引表が生成され得る。階層的索引表は、複数のデータセグメントの各々が配置される基準データ内の場所を含み得る。コンピュータサイエンスにおいて、この形態の索引表は、転置索引表と称され得る。階層的索引表を使用して、検索配列を基準データに適合させ得る。索引表は、所与の長さの全ての副配列の網羅的なリストに関連付けられたエントリを含むように構築され得、各エントリは、基準データ内の各副配列の適合の数及び場所を含む。階層的索引表は、反復的な方法で構築され得、各延長された副配列(より深いレベルの階層)に対するエントリは、それぞれの閾値のセットの各々より大きい適合の数に基づいて、選択的かつ反復的に構築される。いくつかの副配列に対して、適合の数は、本方法が表内の端末エントリを作成する現在の閾値以下であろう。基準データの有限長は、所与の正数の閾値未満の適合の数を有するであろう、十分に長い副配列を発見することができることを意味している。しかしながら、1000bp超の長さがあり、かつ何千回も生じるゲノムの副配列があることが知られている。これらは、完全に索引に対する関心があり得るか、またはそうでない場合があり、後者の事例において、一定の配列は、階層的索引表内に含まれる代わりに、フィルタリングされ得る。
基準ゲノム内のSRに対する候補場所選択を実行する(適合パターンを特定する)ための方法は、反復的な方法で下記を実行することによる、対応する階層的索引表の検索を含み得る。「足跡」(一連のDNA塩基から構成される)は、SRのセグメントに基づいて生成され得、基準ゲノムに関連付けられた索引表からSRの少なくとも1つの候補場所を選択するのに使用される。足跡の長さは、より深いレベルの階層的索引表に移動するために、延長され得る。いったん階層的索引表の端末エントリに到達すると、反復が停止し、候補場所が出力され得る。階層的索引表の使用は、候補選択が生じ得る速度を大きく増すように動作し得る。
いくつかの実施形態において、本方法は、SRにおける各候補場所を評価することをさらに含み得る。例えば、いくつかの実施形態において、各候補場所に対して、SRと基準ゲノムとの間の適合は、SRと基準ゲノムとの間の塩基誤差の数に基づいて判定され得る。いくつかの実施形態において、評価することは、SRにおける少なくとも1つの挿入または欠失(集合的にインデルと称される)を判定することをさらに含み得る。例えば、SRにおけるアンカ位置は、SRのLo端及びHi端不適合の数に基づいて判定され得る。少なくとも1つのインデルの長さ及び種類は、アンカ位置を使用して判定され得る。少なくとも1つのインデルの開始位置が判定され得る。一実施形態において、開始位置を判定することは、候補場所でのSRと基準ゲノムとの間の第1の移動誤差合計を演算することと、候補場所からのオフセットでSRと基準ゲノムとの間の第2の移動誤差合計を演算することとを含み得、オフセットは、少なくとも1つのインデルの種類及び長さに基づいている。次に、少なくとも1つのインデルの開始場所は、第1及び第2の移動誤差合計の最小値に基づいて判定され得る。
本発明のより良好な理解は、好ましい実施形態の下記の詳細な説明が下記の図と併せて考察されたときに得られ得る。
一実施形態による2つの鎖における塩基の補完及び逆順を特異的に示す2つの例示的なDNA配列を図示している。 一実施形態による例示的な塩基ACGTCTGATTGACAAACTGATGCAを有する短い読み出し(SR)を図示している。 本発明の技術の実施形態を実施するように構成された例示的なシステムを図示している。 いくつかの実施形態における階層的索引表を構築するためのアルゴリズムを図示するフローチャート図である。 いくつかの実施形態における第1のレベルの階層的索引表を構築するための方法を図示するフローチャート図である。 いくつかの実施形態における第2のレベルの階層的索引表を構築するための方法を図示するフローチャート図である。 一実施形態による図2の配列に適用された本発明のアラインメント技術を図示している。 いくつかの実施形態における階層的索引表を使用した検索配列の小区分の適合のための基準データを検索するための方法を図示するフローチャート図である。 いくつかの実施形態におけるインデルを特徴付け及び配置する方法を図示するフローチャート図である。
本発明は、種々の変形例及び代替的な形態の影響を受けやすいが、それらの特定の実施形態は、図中に例示の方法により示されており、本明細書に詳細に記載されている。しかしながら、それらに対する図及び詳細な説明は、本発明を開示されている特定の形態に限定することを企図しておらず、それどころか、本発明は、添付の特許請求の範囲により規定されるような本発明の趣旨及び範囲内に該当する全ての変形例、等価物、及び代替物を含むべきであることを理解するべきである。
参照による引用
下記の特許/出願は、本明細書に十分かつ完全に記載されているかのようにそれらの全体が参照により本明細書に組み込まれる。
2003年6月24日に出願された、発明者がMichael B.Doerr、William H.Hallidy、David A.Gibson、及びCraig M.Chaseである、米国特許第7,415,594号、発明の名称「Processing System with Interspersed Stall Propagating Processors and Communication Elements」。
2011年10月14日に出願された、発明者がMichael B.Doerr、Carl S.Dobbs、Michael B.Solka、Michael R Trocino、及びDavid A.Gibsonである、米国特許出願第13/274,138号、発明の名称「Disabling Communication in a Multiprocessor System」。
用語
下記は、本願で使用されている用語の解説である。
記憶媒体−種々の種類の記憶装置または保存装置のいずれか。「記憶媒体」という用語は、インストール媒体、例えば、CD−ROM、フロッピーディスク104、またはテープ装置、DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM等のコンピュータシステムメモリもしくはランダムアクセスメモリ、または磁気媒体、例えば、ハードドライブ、光記憶、もしくはROM、EPROM、FLASH等の不揮発性メモリを含むことを企図している。記憶媒体は、同様に、他の種類のメモリ、またはそれらの組み合わせを含み得る。加えて、記憶媒体は、プログラムが実行される第1のコンピュータ内に配置され得、かつ/またはインターネットなどのネットワーク上で第1のコンピュータに接続する第2の異なるコンピュータ内に配置され得る。後者の例において、第2のコンピュータは、実行するためのプログラム命令を第1のコンピュータに提供し得る。「記憶媒体」という用語は、異なる場所、例えば、ネットワーク上で接続される異なるコンピュータ内に存在し得る2つ以上の記憶媒体を含み得る。
キャリア媒体−上に記載されているような記憶媒体、ならびにバス、ネットワーク等の物理的伝送媒体、及び/または電気信号もしくは光信号等の信号を搬送する他の物理的伝送媒体。
プログラム可能なハードウエア要素−プログラム可能または配線相互接続を介して接続された複数のプログラム可能な機能ブロックを含む種々のハードウエア装置を含む。実施例は、FPGA(現場プログラム可能ゲートアレイ)、PLD(プログラム可能な論理装置)、FPOA(現場プログラム可能オブジェクトアレイ)、及びCPLD(Complex PLD)を含む。プログラム可能な機能ブロックは、微粒子状(組み合わせ論理またはルックアップテーブル)から粗粒子状(算術論理ユニットまたはプロセッサコア)までの範囲であり得る。プログラム可能なハードウエア要素は、「再構成可能な論理」とも称され得る。
特定用途向け集積回路(ASIC)−この用語は、その元の意味の全容を有することを企図している。ASICという用語は、汎用プログラム可能装置よりもむしろ、特定用途向けにカスタマイズされた集積回路を含むことを企図しているが、ASICは、プログラム可能なプロセッサコアを構成要素として含み得る。セルフォンセル、MP3プレイヤチップ、及び多くの他の単一機能ICは、ASICの例である。ASICは、通常、VerilogまたはVHDL等のハードウエア記述言語内に記載されている。
プログラム−「プログラム」という用語は、その元の意味の全容を有することを企図している。「プログラム」という用語は、1)メモリ内に保存され得、かつプロセッサにより実行可能であるソフトウエアプログラム、または2)プログラム可能なハードウエア要素もしくはASICを構成するのに使用可能であるハードウエア構成プログラムを含む。
ソフトウエアプログラム−「ソフトウエアプログラム」という用語は、その元の意味の全容を有することを企図しており、記憶媒体内に保存され得、かつプロセッサにより実行され得る任意の種類のプログラム命令、コード、スクリプト、及び/またはデータ、またはそれらの組み合わせを含む。例示的なソフトウエアプログラムは、テキストベースのプログラミング言語、例えば、C、C++、PASCAL、FORTRAN、COBOL、JAVA(登録商標)、アセンブリ言語等の命令型言語または手続き型言語で書かれたプログラム、図形式プログラム(図形式プログラミング言語で書かれたプログラム)、アセンブリ言語プログラム、機械言語にコンパイルされたプログラム、スクリプト、及び他の種類の実行可能なソフトウエアを含む。ソフトウエアプログラムは、ある方法で相互運用する2つ以上のソフトウエアプログラムを含み得る。
ハードウエア構成プログラム−プログラム可能なハードウエア要素もしくはASICをプログラミングまたは構成するのに使用され得るプログラム、例えば、ネットリストもしくはビットファイル。
コンピュータシステム−パーソナルコンピュータシステム(PC)、メインフレームコンピュータシステム、ワークステーション、ネットワーク機器、インターネット機器、携帯情報端末(PDA)、グリッドコンピューティングシステム、または他の装置もしくは装置の組み合わせを含む種々の種類の演算システムもしくは処理システムのいずれか。概して、「コンピュータシステム」という用語は、記憶媒体からの命令を実行する少なくとも1つのプロセッサを有する任意の装置(または装置の組み合わせ)を包含するように、広く定義され得る。
自動的に−動作もしくは操作を直接特定するか、または実行するユーザ入力なしに、コンピュータシステム(例えば、コンピュータシステムにより実行されたソフトウエア)または装置(例えば、回路、プログラム可能なハードウエア要素、ASIC等)により実行される動作もしくは操作を指す。よって、「自動的に」という用語は、ユーザにより手動で実行されるか、または特定される操作とは対照的なものであり、ユーザは、操作を直接実行するための入力を提供する。自動的な手続きは、ユーザにより提供される入力により開始され得るが、「自動的に」実行されるその後の動作は、ユーザにより特定されず、すなわち、「手動で」実行されず、ユーザが実行する各動作を特定する。例えば、各フィールドを選択し、かつ情報を特定する入力を提供することにより(例えば、情報をタイピングし、チェックボックス、無線選択等を選択することにより)電子形態に記入するユーザは、コンピュータシステムがユーザ動作に応答して形態をアップデートしなければならない場合であっても、手動で形態に記入している。形態は、コンピュータシステムにより自動的に記入され得、コンピュータシステム(例えば、コンピュータシステム上で実行するソフトウエア)は、形態のフィールドを分析し、フィールドへの回答を特定する任意のユーザ入力なしに、形態に記入する。上で示されているように、ユーザは、形態の自動記入を起動し得るが、形態の実際の記入には関わらない(例えば、ユーザは、手動でフィールドへの回答を特定しないが、むしろ、自動的に完了されている)。本明細書は、ユーザが行う動作に応答して自動的に実行される操作の種々の例を提供している。
開発プロセス−方法論に基づいて開発するためのライフサイクルを指す。粗いレベルでは、それは、ユーザ要求を駆動し、設計、実行、検証、展開、及び保守を通して制約する方法を記載している。
概説:DNAシーケンシング
炭素系生物形態に対して、遺伝情報は、デオキシリボ核酸(DNA)の長鎖分子内にコード化され、交互の糖類及びリン酸基の2つの平行なスパインは、塩基対のはしごにより共に保持される。2つのスパインは、塩基対を保護し、互いの周りで徐々にねじれて、二重らせん構造を形成する。DNA形態のより長い鎖は、らせん状になり、コイルからなるコイル状になる。より大きい生物に対して、これらのコイルは、非常に高倍率での光学顕微鏡により視認可能である染色体へと組織化される。
各塩基は、セット{アデニン、チミン、シトシン、グアニン}のうちの1つである。各アデニン塩基は、チミンとのみ対合し、各シトシンは、グアニンとのみ対合する。これらの対合規則は、DNAの複製を支援する。DNAが溶液中の一定の酵素と組み合わされると、二重らせんは、各々が単一のスパイン及び付着した塩基から構成された一対の単一鎖へと解凍する。次に、塩基、糖類、リン酸、及び酵素の混合液中で、各鎖に対して、相補鎖は、元の鎖をテンプレートとして使用して組み立てられ得る。最終結果は、元の二重らせんの一対の二重らせんへの複製である。インビトロでの複製を繰り返して、シーケンシング機を供給するのに物理的に必要とされるだけの数のDNAを生成することができるが、速度及び費用の理由から、シーケンシング機は、ますます少量のDNAを使用するように進化している。
図1は、2つの鎖における塩基の補完及び塩基を特異的に示す、2つの例示的なDNA鎖を図示している。図1が示しているように、リン酸基(小さい円)及びデオキシリボース糖(五角形)の鎖は、対合された塩基間に連結する安定的で予測可能な水素結合に対する核塩基を分離する、単一のDNA鎖に対するスパインとして機能する。糖環の非平坦な形態及び塩基内の窒素原子の電子構造は、DNA鎖の予測可能なアセンブリ、及び他の鎖内のその相補塩基との各塩基の連結を確保する。
シーケンシング機は、DNAの鎖内の塩基の配列を判定するために多くの方法を使用する。各方法は異なるが、業界では、未処理配列データを報告するためのいくつかの事実上の標準的な形式が決められている。単一鎖の読み出しに対して、これらの形式は、5’〜3’方向で塩基配列を報告する。この表記は、隣接するリン酸基に連結するデオキシリボース部分における炭素原子を指す。5’原子は、糖類における5−部材リングの一部ではないが、代わりに、先のリン酸まで延在する「肘」であり、「先の」の意味は、5’〜3’の従来様式の観点から定義される。図1は、この付番様式を図示しており、部位は、塩基内の利用可能な窒素軌道に対する結合を提供する。2’部位は、酸素原子がデオキシリボースを形成するようにリボースから除去されている場所である。
図1が示しているように、5’〜3’配列は、左上でCAATCGTCAであり、右上でTGACGATTGであり、他の鎖における塩基の補完及び逆順を図示している。各ヌクレオチドに対する特異的結合が、右上に示されていることに留意されたい。
DNAの断片は、5’〜3’方向のスパインのうちの1つに沿った塩基の配列に対応する一連の文字、例えば、ACGTCTGATTGACAAACTGATGCAにより表され得る。化学的性質から、元の方向での相補スパイン上の塩基の配列は、補完列、
Figure 0006884143
であることが知られている。しかしながら、シーケンサ機は、二重らせんを読み出さないが、単一の鎖のみを読み出し、元の逆相補である、
Figure 0006884143
としてその鎖に対する5’〜3’方向での相補鎖を報告する。図2は、その相補鎖を有するDNAの例示的な鎖を示している。未処理データを処理するとき、同じ遺伝情報が両鎖でコード化されることを知っていることが重要である。短い読み出しを基準ゲノムと整列させるとき、元の短い読み出し及び短い読み出しの逆相補の両方に対するアラインメントを試みることが必要である。
先行技術において、単発で[Sanger法は、日常的に800bp実行する]約2000個の塩基対(bp)を超えてDNA鎖の配列を決定するように開発されている信頼性の高い機械的方法はない。しかしながら、より長い鎖は、基板に付着され得、両端からシーケンシングされ、塩基対の数において測定可能な標的分離により相関される一対の読み出しを生じる。全ての事例において、読み出し配列は、最大約249百万個の塩基対(染色体1)を有するDNA配列を含み得る単一のヒト染色体内の塩基対の数よりかなり短い。ヒトゲノム内の全23個の染色体に対して、約32億個の塩基対がある。
自動高速シーケンサ機を使用して、SR当たり100bp(塩基対)の順で数十億個の比較的短い読み出し(SR)を生成する単一の個体からの生体サンプルを分析する。次に、高速コンピュータを使用して、数十億個の短い読み出しを互いに比較し、配列が適合する重複について検索する。
デノボシーケンシング
十分な重複があれば、非常に長い配列の画像を構築することができる。これは、デノボシーケンシングと称される。個体に対する全配列が構築された場合(ヒトの事例では23個の染色体)、次に、その個体に対する遺伝情報を有する。種の多様性をカバーするのに十分な多くの個体からの遺伝子の組み合わせは、その主に対するゲノムと称される。多くの種に対して、細胞内のミトコンドリアはまた、ゲノムに対する追加の遺伝情報を有するDNAを含む。
再シーケンシング
いったん基準ゲノムが構築されると、個体の遺伝子情報を取得し、かつ未処理読み出しを基準ゲノムに適合させるプロセスは、再シーケンシングと称される。読み出し配列が完全または略適合を有する基準ゲノム内の場所についての検索は、アラインメントまたはマッピングと称される。よって、完全な再シーケンシングは、何十億のアラインメントを必要とし得る。
再シーケンシングを使用して、遺伝的基板を有する疾患に対する感受性を特定し得、かつ薬剤の副作用等に対する感受性を特定し得る。個体間の遺伝子の比較を使用して、家族関係を示し得る。再シーケンシングに対して、基準ゲノムデータベースは、すでに存在しており、各アラインメントプロセスを加速させるために索引が付けられ得る。下に詳述されている実施形態は、基準ゲノムデータベースに基づいて階層的索引表を構築するための新規かつ有益な方法を提示している。
いったん索引表が構築されると、大セットの未処理データ読み出しを整列させるために、高速で膨大な回数検索され得る。各アラインメントは、他から独立して処理され得、大規模並列コンピュータ上での処理に導く。しかしながら、アラインメント間でいくつかの情報を共有する利点があり得る。例えば、読み出しが標的ゲノム内のいずれかに適合しないことが発見された場合、再度検索することなく、予め拒絶される読み出しのリスト内に置かれ得る。かかる非適合可能な読み出しは、元のサンプルの一部であった細菌DNAから生じ得る。
DNAシーケンサ機の設計における傾向は、より豊富により迅速に、より短い読み出しを生成することである。個々のヒトからの未処理データの典型的なセットは、何十億もの短い読み出し(SR)であり得、各1つは、平均約100bpの長さである。これらは、単一鎖読み出しまたは対合読み出しであり得る。対合読み出しは、数bp〜数百、おそらく数千bpの標的分離を有し得る。各SRは、一定量のノイズを有して実行され、SRを実行する機械は、読み出しにおける各塩基に対する品質測定法を生成する。この塩基当たりの品質情報を使用して、各SRのゲノムに対するアラインメントを改善し得る。未処理データセットは、ヒトゲノムに適合しない細菌からの追加のDNAを含み得、これらの読み出しは、アラインメント処理前または中のいずれかにフィルタリングされるべきである。
図3:例示的なシステム
図3は、本発明の技術の実施形態を実施するように構成された例示的なシステムを図示している。示されているように、いくつかの実施形態において、本システムは、ワークステーション等の演算システム82であり得、1つ以上のプロセッサ、及び本発明の技術の実施形態による1つ以上のコンピュータプログラムまたはソフトウエアコンポーネントが保存され得る少なくとも1つの記憶媒体を含み得る。例えば、記憶媒体は、本明細書に記載されている方法を実行するように1つ以上のプロセッサにより実行可能である1つ以上のプログラムを保存し得る。記憶媒体はまた、操作システムソフトウエア、ならびにコンピュータシステムの操作のための他のソフトウエアを保存し得る。
いくつかの実施形態において、本システムは、本明細書に開示されている技術を実施するように構成された多重プロセッサアレイ(MPA)を含み得る。例えば、MPAは、散在されたプロセッサ及び通信要素により処理システムを実施し得、かつ/または上に参照により組み込まれた、米国特許第7,415,594号に記載されているような、ハイパーXアーキテクチャを有し得る。
本発明の実施形態はまた、現場プログラム可能ゲートアレイ(FPGA)等の少なくとも1つのプログラム可能なハードウエア要素により、またはプログラム可能なハードウエア要素及び1つ以上のソフトウエアプログラム可能なプロセッサの組み合わせにより実施され得る。
しかしながら、図3に示されている演算システム82は、例示のためだけであることを意味しており、任意の他の演算システムを必要に応じて使用し得ることに留意すべきである。
システム態様
本発明の技術は、データ入力及び出力、ならびにコアアラインメント機能による前処理及び後処理を重複させるデータフローシステムを含み得る。一実施形態は、これを達成するために、通信ソケット及びダブルバッファリング技術を使用する。
SRの対の処置は、コアアラインメント段階中に実行され得る。これは、個々のSRのアラインメント中の潜在的な相手対及び可能性のあるアラインメント種類の階層を考察することにより達成され得る。
コアアラインメントタスクを加速させるために、アラインメントのために必要とされない補助情報は、ポストアラインメント段階に受け継がれ得、コアアライナにおける帯域幅及びメモリ要求を減少し得る。一実施形態は、これを達成するために、個別セットの通信ソケットを使用する。
例示的な実施形態及び実施
下記は、種々の例示的な実施形態及び本明細書に記載されている技術の実施を記載している。しかしながら、記載されている特定の実施形態及び技術は、本発明を任意の特定の形態、機能、または外観に限定するものではないことに留意すべきである。
DNAアラインメントは、所与のDNA断片(すなわち、短い読み出し、またはSR)が基準ゲノム内に生じる場所(複数可)を発見するプロセスを指し得る。
SRは、多くのDNA塩基を含み得、各塩基は、A、C、G、またはTとして短縮されたDNA(アデニン、シトシン、グアニン、及びチミン)内に見られる4つのうちの1つである。各SRの長さは、典型的に、使用されるシーケンシング方法に応じて長い約100個の塩基であり得る。より新規のシーケンシング方法に対する傾向は、より短いSRを生成するが、単位時間当たりのSRのうちのより多くを生成するようなものであった。前述のように、各SRは、シーケンシング方法からのノイズに起因したいくつかの塩基誤差を有し得る。これらの誤差は、冗長性により、かつ各SRに付いてくる塩基当たりの品質情報を使用することにより緩和され得る。個々のヒトを特徴付けるために、SRによる全ゲノムの約50Xの冗長なカバー率を有することが所望される。基準ヒトゲノムが30億個超の塩基を含むと仮定すると、1つの個体からのSRデータの集合体は、1500〜2000億個の塩基をその中に有し得る。各SRは、それが適合する場所を発見するために、ゲノムと比較され得る。個体からの大量のSRデータを処理するために、ゲノムの非常に効率的な検索を使用することが所望されることは明白である。
DNAアラインメントのために必要とされる時間は、基準ゲノムを階層的転置索引表内にコード化することにより有意に減少し得る。かかる転置索引表のための、より具体的には階層的転置索引表のための新規形態及び方法を下に記載する。
一実施形態において、所与のSRを索引表と整列させるための2段階アプローチを使用し得る。第1の段階は、候補選択と称され得、その後の第2の段階は、候補評価と称され得る。
候補選択は、その後、正確性のために評価され得る潜在的な場所のリストを生成し得る。候補評価段階は、潜在的に非常に時間がかかるため、候補選択段階は、候補場所の数を知的に減少させることが重要である。
これらの(段階)名前は、図示及び例示のみであることを意味しており、必要に応じて任意の他の名前を使用し得ることに留意すべきである。さらに、種々の実施形態において、これらの2つの段階の機能性は、異なる方法で組織化または配列され得、例えば、2つ超の段階で分割され、異なるように区切られる等し、本明細書に開示されている新規技術を依然実施し得る。
図4−階層的索引表の構築のためのアルゴリズム
図4は、基準ゲノムから階層的転置索引表を構築するための例示的なアルゴリズムを示している。「転置索引表」という用語は、コンピュータサイエンスにおける技術用語であり、データセットにおけるこのコンテンツの場所に対するデータ(例えば、数または単語)等のコンテンツからのマッピングを含むエントリを保存する索引データ構造を指す。「転置索引」の1つの日常の例は、各々が、このそれぞれの単語または語句を発見することができる書籍内の場所を受けて、書籍内に現れる単語または語句のリスト化を含む書籍の索引である。利便性のために、「索引表」という用語は、「転置索引表」としてのコンピュータ文書において知られているものを指すために本明細書で使用されている。「階層的転置索引表」という用語において使用されている「階層的」という用語は、下にさらに説明されるように、階層的方法で種々のレベルを有する索引表のエントリを指す。
本発明の技術のいくつかの実施形態において、階層的索引表は、候補場所のセットを効率的に判定するために、K−mer(一連のK塩基)のセットを使用して構築され得る。索引表は、基準ゲノムに対して一度生成され、次に、その基準ゲノムに対して整列されるSRの全セットにより使用され得る。本明細書に記載されている方法は、任意の基準データ上でより広く実行され得、その基準データに対して整列される任意のセットの副配列により使用され得ることが理解され得る。
階層的索引表を作成する際、演算装置は、基準データ(ゲノム)をメモリ内に保存するように構成され得る。次に、演算装置は、複数のエントリを複数のレベルで作製することによる基準データに基づいて階層的索引表を作成し得る。下にかなり詳細に説明されているように、索引表の構築は、所定の長さ(または所定のサイズのデータセットの一部分)の副配列のリストまたはセットについての情報を含む第1のレベルのエントリ(レベル1)の作成により始まる。情報は、基準ゲノム内の各それぞれの副配列の場所情報を含み得る。
nがゼロでない正の整数である各それぞれのレベルnでの各エントリに対して、演算装置は、それぞれのレベルnのエントリの適合基準が閾値より大きい場合に、階層的索引表内のそれぞれのレベルnのエントリに対する追加のn+1レベルのエントリを作成するように構成され得る。各n+1レベルのエントリは、追加の長さを先のレベルにおける副配列に加え得、よって、潜在的な適合に対するより長い副配列を作成し得る。第1のレベルのエントリと同様に、各n+1レベルのエントリは、基準ゲノム内の各それぞれのより長い副配列の場所情報を含んでいる。この追加レベルのより長い副配列の作成は、適合基準をもはや満たさなくなる−端末エントリ(階層的分岐における最後のエントリ)での適合の数が閾値未満になるまで継続する。より低い閾値の使用は、各端末エントリでの適合の数を減少させるように動作し得ることが留意される。対称的に、より高い閾値の使用は、索引表内のエントリの全体的な数を減少させる助けとなり得る。異なる閾値の値は、異なるレベルの階層で使用され得ることが留意される。よって、結果として生じる完成された階層的索引表において、異なるそれぞれのレベル1のエントリは、そのそれぞれのレベル1のエントリに由来する異なる数のその後のレベルの階層を有し得、その後のレベルの階層の数は、各その後のレベルでの適合の数に依存する。
よって、索引表は、階層的または多レベルとして特徴付けられ得る。階層的索引表の構築の完了時に、演算装置は、検索配列を特定する入力を受信するように構成され得、非常に優先的な速度で基準データ内の検索配列の小区分の適合について検索するために階層的索引表を使用し得る。
いくつかの例示的な実施形態において、アルゴリズムを使用して、下記のような階層的索引表を構築し得る。コード化方式は、バイナリー形式で4つの塩基対をコード化するように選択され得る。いくつかの実施形態において、各塩基対が特殊な2ビット識別子(例えば、A=00、T=01、G=10、及びC=11)に関連付けられる2ビットコード化方式が使用される場合がある。他の実施形態において、2つの塩基対が各特殊な1ビット識別子(例えば、他の可能性の中でとりわけ、A及びTは、0としてコード化され得、C及びGは、1としてコード化され得る)に関連付けられる1ビットコード化方式が使用される場合がある。1ビットコード化方式は、例えば、迅速な近似候補選択プロセスを実行する際に有益であり得る。かかる方式においては、正確な候補選択が達成されないが、候補場所のおよそ半分が候補選択に対して除外され得、2ビットコード化方式を使用したその後の候補選択プロセスのために必要とされる演算時間を有意に加速させ得る。
いったんコード化方式が選択されると、基準ゲノムは、コード化方式に基づいて一連の連続するビットへと翻訳され得る。例えば、基準ゲノムが、N塩基対及び使用される2ビットコード化方式を含む場合、基準ゲノムは、長さ2Nの一連のビットへと翻訳されるだろう。コード化された基準ゲノムは、必要に応じて、染色体分離器マーカ、ヘッダフィールド等をさらに含み得る。
402で、塩基対の長さのセットL={l1、l2、l3、...、lLmax}を選択し得る。ベクトルLの要素は、順次レベルの索引表に関連付けられた長さを表す。例えば、l1は、第1のレベルのエントリに関連付けられた配列の長さであり、l2 は、第2のレベルのエントリに関連付けられた配列の長さである、等。例えば、DNA鎖の順次増加されたセグメントを示す図2において、長さliは、「初期」とラベルされた区分に対応し得る。「1stext」とラベルされた区分は、長さl2に対応し得、「2ndext」とラベルされた区分は、長さl3に対応し得る、等。
セットLは、索引表構築プロセス及び/または短い読み出しアラインメントプロセスの演算時間及び/または正確性を改善するように選択され得る。いくつかの例示的な実施形態において、第1の長さl1は、4^(l1)<Nであるように選択され得る。これは、例えば、長さl1の塩基対配列の大部分が(統計的に)基準ゲノム内の少なくとも1つの場所で生じ、それゆえ、無駄な検索に専念する演算時間を減少させることを確保することにより、有利であることを証明し得る。いくつかの例示的な実施形態において、我々がLtotalと称し得るLの要素の合計は、4^(Ltotal)>>Nであるように選択され得る。この事例において、Ltotalに等しい長さを有する塩基の乱数列は、統計的に、無視できる可能性を有するN塩基の乱数列内に生じるだろう。例えば、最長のヒト染色体は、およそ2億5000万個の塩基長さである。20個の塩基対の420≒1兆個の異なる列があり、その結果、設定値Ltotal=20は、2億5000万個の塩基対列をランダムに生じる任意の特定の20個の塩基対列の0.025%の可能性を生じるだろう。25個まで緩やかに増加しているLtotalは、45=1024〜0.000022%の因数によりこの可能性を減少させ、その結果、Nの任意の物理的に関連する値に対して、ランダムな統計的一致の可能性は、無視できる振幅まで容易に減少し得る。これは、例えば、ランダムな相関に起因して、SRが基準ゲノム内の場所に適合される可能性を減少させ、それにより、SRと基準ゲノム内の適合された場所との間の基本的な生物学的関係を示す適合の機会を増加させることにより、有利であり得る。他の例示的な実施形態において、セットLは、演算パラメータ及び/または、表構築プロセスの及び/または短い読み出しアラインメントプロセスの正確性を改善する(または、可能であれば最適化する)ように経験的に判定され得る。
本発明の実施形態において、長さという用語は、塩基対の配列の線形範囲を指すために使用されている。しかしながら、他の実施形態において、「長さ」は、より一般的には、データの収集に関連するメートルでの任意のサイズを示し得ることが理解され得る。例えば、「長さ」は、多次元アレイの寸法、画素の数、例えば、画素のアレイ(4×4等)等を示すように一般化され得る。
404で、カウント閾値のセットCth={th1、th2、th3、...、thLmax-i}を選択し得る。ベクトルCthの要素は、索引表のそれぞれのレベルに関連付けられる閾値を表す。換言すると、ベクトルCthの要素は、索引表の各それぞれのレベルで適用された適合基準内で使用される閾値を表す。
セットCthは、演算時間、及び/または索引表構築プロセス及び/または短い読み出しアラインメントプロセスの正確性を改善(または、可能であれば最適化)するように選択され得る。改善は、基準ゲノムの統計的特徴に基づいている場合があるか、または改善は、種々の実施形態において経験的に判定され得る。下に見られるように、表構築アルゴリズムは、適応的に分岐した木を反復的に構築することにより進み得る。いくつかの実施形態において、カウント閾値は、木の各分岐に対して適応的に判定され得る。例えば、初期のカウント閾値th1が設定され得、初期のカウント閾値は、木が分岐する度に適応的に調節され得、適用的調節は、その反復中に形成された新規分岐の数に基づいている。
406で、第1の長さを有する可能性のある副配列の網羅的なリストを作成することが好ましい。より具体的には、長さl1の塩基対の各可能性のある列の順序付きリストM1が構築され、長さl1の塩基対の各可能列は、同様に、基準ゲノムに対して使用されている同じコード化方式を使用して、一連のビットへと翻訳される。リストは、バイナリー番号順で順序付けられ得る(すなわち、塩基対の各列は、バイナリー番号に変換され得、これらの番号は、上昇番号順でM1に順序付けられ得る)。この順序付きリスト内の各列に対して、アルゴリズムは、適合列に対する基準ゲノムを検索するように構成され得る。アルゴリズムは、基準ゲノム内の適合列の場所、及びデータ構造内のエントリとして発見された適合列の数を保存するようにさらに構成され得、第1の順序付きリスト内の列の各々に対するエントリは、第1の順序付きリスト内で生じるものと同じ順序で保存される。データ構造内のこれらのエントリは、第1のレベルの索引表を集合的に含み得る。
いくつかの実施形態において、アルゴリズムは、第2のレベルの索引表を構築するようにさらに構成され得る。416で、第2の順序付きリスト、M2は、長さl2の塩基対のあらゆる可能性のある列から構築され得、長さl2の塩基対のあらゆる可能性のある列は、同様に、基準ゲノムに対して使用されている同じコード化方式を使用して、一連のビットへと翻訳され、リストは、バイナリー番号順で順序付けられる。
408で、第1のレベルの索引表の各i番目エントリに対して、アルゴリズムは、i番目エントリ内に保存された適合場所の数を第1のカウント閾値th1と比較し得る。
410で、i番目エントリ内に保存された適合場所の数がth1を超えない場合、アルゴリズムは、i番目エントリから第2のレベルのエントリを構築しない場合があり、データ構造内のi番目エントリに関連付けられたストップ命令を保存し得る。これにより、それぞれのエントリを索引表内の端末エントリにさせ得る。
416で、i番目エントリ内に発見された適合場所の数がth1を超える場合、アルゴリズムは、M2内の各エントリM2(j)に対して、i番目エントリ内に保存された各それぞれの場所で基準ゲノムを検索し得、かつ各それぞれの場所を超えてl1の距離で始まるl2 塩基対がM2(j)に適合するかどうかを確認し得る。この検索が実行される各エントリM2(j)に対して、アルゴリズムは、M2(j)に対する適合が発見された場所、ならびにデータ構造内のエントリとしてM2(j)に対して発見された適合の数を保存し得、第2の順序付きリスト内の列の各々に対するエントリは、第2の順序付きリストで生じるものと同じ順序で保存される。これらのエントリは、第2のレベルの索引表を集合的に含み得る。
いくつかの実施形態において、第3及び全てのその後のレベルの索引表は、反復的な方法で構築され得る。第3のレベルは、下記の調節により、第2のレベルと同様に構築され得ることが理解され得る。サブスクリプトT及び先の段落における「第1の」という単語の全ての例は、それぞれ、「2」及び「第2の」により置き換えられ得る。サブスクリプト「2」及び先の段階における「第2の」という単語の全ての例は、それぞれ、「3」及び「第3の」により置き換えられ得る。比較可能な調節は、各その後のレベルの階層的索引表に対して最大Lmaxレベルまで実行され得る。さらに、第3のレベルの構築中に、M3の各エントリM3(j)が、第2のレベルの索引の各1番目エントリ内に保存された各それぞれの場所で基準ゲノムに適合するかどうかを確認するとき、アルゴリズムは、各それぞれの場所を超えてl1+l2の距離で開始するべきである。その後のレベルnの階層的索引表は、Mn(j)が基準ゲノムに適合するかどうかを判定するときに、各それぞれの場所を超えて、l1+l2+...+ln-1の距離で開始するだろう。
各反復において、418で、j>Lmaxかどうかが判定され得る。jがLmaxより大きくない場合、アルゴリズムは、408に戻り得、その後のレベルの索引表を作成し得る。jがLmaxより大きいと判定された場合、アルゴリズムは、420で終了し得る。
j番目レベルの索引表の構築中に、(j−1)番目レベルの各エントリで発見された適合場所の数が(j−l)番目閾値を超えない場合、(j−l)番目レベルの全てのエントリは、412でストップ命令に関連付けられ得、索引表の構築は、その後のレベルに進むことなく、414で完結し得ることが理解され得る。
本発明は、エントリが、基準ゲノム内で実際に生じる塩基対(bp)の配列に対してのみ構築されるように、索引表の階層的エントリを選択的に構築することを含むことがさらに理解され得る。一連の塩基対に対する可能性のある塩基対配列の数は、列の長さと指数関数的に成長し、その結果、全ての可能性のある列に対するエントリを有する網羅的な索引表は、25個の塩基対(425≒1000兆個のエントリ)の適度な列長さに対してであっても極めて大きくなる。大部分のゲノムは、塩基対の全ての可能性のある配列のはるかにはるかに小さいサブセットを含み、ゲノムの長さより大きくなることはできない。階層的エントリを選択的に構築することは、各レベルでのエントリの数をヒトゲノムの事例に対する基準ゲノムの長さ、または32億に限定する。
実際のゲノムは、第1のレベルの階層でのエントリの数を減少させる多くの繰り返しの配列を有する。ヒトゲノムに対して、最も一般的な繰り返しの配列は、「LINE−I」と称され、1000〜6000bpの長さであり、全ゲノム内の32億bpの最大14.6%を占める100000個のその複製があり得る。
いくつかの実施形態において、エントリが階層的索引表のレベル内に保存されると、アルゴリズムは、先のレベルの索引表の対応するエントリ内に保存された場所を通過するように構成され得、その結果、これらの場所は、先のレベルの対応するエントリから削除される(場所の数は、依然先のレベルの対応するエントリ内に保存されるだろう)。これらの実施形態において、基準ゲノム内の場所は、索引の「木」の各「分岐」の端末エントリ内にのみ保存されるだろう。索引表は、非常に大きい数の分岐を有し得るため、これは、索引表のサイズを有意に減少させ得、演算オーバーヘッドを減少させ得る。
いくつかの実施形態において、索引表は、構築プロセス中、または後処理を介して、2つのデータ構造へと分離され得、各エントリに関連付けられた場所の数を示すデータ、及び各エントリに関連付けられた基準ゲノム内の場所を示すデータは、別個のデータ構造内に各々保存される。
各レベルの索引表のエントリは、その後のレベルの索引表で関連するエントリに対するリンクをさらに保存し得る。例えば、レベルnでのそれぞれのエントリが端末エントリでない場合、それは、それぞれのエントリに由来するn+1レベルでのエントリの場所を示すポインタを含み得る。それぞれのエントリは、その後のレベルの索引表に関連付けられる長さln+1をさらに保存し得る。ポインタ及び長さ情報は、例えば、任意の特定の検索配列に対応する索引表内のエントリに対して、索引表の検索を迅速に配向することを可能にし得る。
図5−第1のレベルの階層的索引表の構築
図5は、第1のレベルの階層的索引表が基準データから構築され得る例示的なプロセスを示すフローチャートである。
502で、第1の長さを有する第1の副配列を構築し得る。第1の長さは、第1の長さの任意のランダムな副配列が、統計的に、基準データ内で少なくとも一度生じる可能性があるように選択され得る。副配列は、例えば、バイナリー内で、数字的にコード化され得る。例示的な実施形態において、副配列は、1ビットまたは2ビットのバイナリー形式でコード化され得る一連のDNA塩基対を含み得る。第1の副配列は、数字的にコード化されるときに、最低の可能性のある数的振幅を有するように構築され得る。例えば、一連のDNA塩基対の2ビットのコード化の事例において、第1の副配列は、第1の長さの2倍の長さである一連の「0」であり得る。
504で、第1のレベルの階層的索引表内の第1のエントリを作成する。第1のエントリは、第1の副配列に関連付けられる。
506で、第1の副配列の適合に対して基準データ内で検索を実行する。検索は、網羅的であり得、それにより、適合に対する全基準データを検索する。検索は、基準データ内の適合の数及びそれらの場所の各々の両方を記録し得る。
508で、第1のレベルの階層的索引表の第1のエントリ内に、適合の数及びそれらの場所の各々を保存し得る。いくつかの実施形態において、適合の数は、第1のデータ構造内に保存され得、適合の場所は、第2のデータ構造内に保存され得、第1のデータ構造は、第2のデータ構造内のそれぞれのエントリに対するポインタをさらに含む。
510で、ステップ502〜508の各々を、第1の長さの各副配列に対して繰り返し得る。例えば、副配列が一連のDNA塩基対である場合、ステップ502〜508は、第1の長さの塩基対のあらゆる組み合わせに対して繰り返され得る。各順次の副配列は、数字的にコード化された副配列が上昇番号順に生じるように選択され得る。例えば、一連のDNA塩基対に対する2ビット(バイナリー)のコード化方式におけるステップ5102に対して上に与えられた例において、第2の副配列は、「000...00010」であるように選択され得、省略記号は、バイナリー列の長さが第1の長さの2倍であるように、適正な数の「0」を含む。この事例において、第1のレベルの索引表内のエントリは、第1の長さの任意の所与の副配列に対応するエントリの索引表内の場所が、自明に確定され得るように、上昇番号順で作成され得る。
図6−第2のレベルの階層的索引表の構築
図6は、第2のレベルの階層的索引表を構築し得る例示的なプロセスのフローチャートである。
602で、第2の長さを有する第1の副配列を構築し得る。第2の長さは、演算パラメータ及び/またはデータパターンを基準データにマッピングするプロセスの正確性を改善するように、経験的に、または基準データの統計的パラメータに基づいて、判定され得る。第1の長さの第1の副配列と同様に、第2の長さを有する第1の副配列は、数字的にコード化され得、最小数的振幅を有するように選択され得る。
604で、第2のレベルの階層的索引表内の第1のエントリを作成し得る。第1のエントリは、第1の副配列に関連付けられ得る。
606で、第1のレベルの階層的索引表内の各エントリに対して、そのエントリ内の適合の数が第1の閾値より大きいと判定し得る。第1の閾値は、演算パラメータ及び/またはデータパターンを基準データにマッピングするプロセスの正確性を改善するように、経験的に、または基準データの統計的パラメータに基づいて、判定され得る。
608で、基準データ内の第1の副配列の適合についての検索を実行する。608で、検索は、全基準データの網羅的な検索ではない。むしろ、検索は、第1のレベルの索引表内のそれぞれのエントリに関連付けられた基準データ内の場所でのみ実行される。具体的には、606で参照される第1のレベルでのそれぞれのエントリに対する基準ゲノム内の各適合された場所に対して、検索は、その場所プラス第1の長さで実行される。換言すると、検索は、第1の長さの各適合がその後の第2の長さに対してさらに適合するかどうかに関わらず、実行される。
610で、608で発見された適合の数及び各適合の場所は、第2のレベル索引表の第1のエントリ内に保存される。いくつかの実施形態において、適合の数は、第1のデータ構造内に保存され得、適合の場所は、第2のデータ構造内に保存され得、第1のデータ構造は、第2のデータ構造内のそれぞれのエントリに対するポインタをさらに含む。
612で、第2の長さの各可能性のある副配列に対して、ステップ602〜610の各々を繰り返し得る。例えば、副配列が一連のDNA塩基対である場合、ステップ602〜610は、第2の長さの塩基対のあらゆる組み合わせに対して繰り返され得る。各順次の副配列は、数字的にコード化された副配列が上昇番号順に生じるように選択され得る。この事例において、第2のレベルでのエントリのセットは、第1の閾値が606で超えるように判定された第1のレベルでのエントリの各々に対応して作成され、これらのセットの各々は、第2の長さの任意の所与の副配列に対応し、かつ第1の長さの任意の所与の副配列に関連付けられたエントリの索引表内の場所が自明に確定され得るように、上昇番号順に内部で順序付けられるだろう。
例示的な候補選択プロセス
これより、我々は、階層的索引表を使用してSRに対する候補選択を実行するための例示的なアルゴリズムを詳述する。最初に、基準ゲノムとの比較のために、SRの長さKの足跡Fを選択し得る。いくつかの実施形態において、長さKは、長さK内の不適合またはインデルの可能性が所定の閾値未満であるように選択され得る。いくつかの実施形態において、長さKは、L、すなわち、l1での第1のエントリであるように選択され得る。
いくつかの実施形態において、長さKは、DNAアラインメントプロセスの演算要求を改善するように、反復的に適合され得る。例えば、初期の長さKが選択され得、それぞれの足跡が、索引表内で調べられ得る。調べられたエントリでの候補場所の数が場所の所定の閾値数を上回っている場合、長さKは、所定の長さで徐々に増加し得、延長された足跡は、索引表内で調べられ得る。新規に調べられたエントリは、場所の所定の閾値数より大きい数の場所を含み得、長さKは、再び、所定の長さで徐々に増加し得、延長された足跡は、索引表内で調べられ得る、等。このプロセスは、候補場所の数が場所の所定の閾値数を超えないと分かるまで、反復的に繰り返され得る。候補評価は、演算的に集中的なタスクであり、候補場所の数を管理可能な量に減少させることは、DNAアラインメントプロセスの演算負荷を有意に減少させ得る。
いくつかの実施形態において、場所の所定の閾値数は、階層的索引表の構築において使用された閾値Cthのセットに含まれ得る。例えば、候補選択プロセスは、足跡に対応する索引表内のエントリが索引表内の端末エントリである場合のみ、すなわち、ストップ指令に関連付けられた場合に、基準ゲノム内の適合された場所に戻るように構成され得る。足跡に関連付けられたエントリが、ストップ指令に関連付けられていない場合、候補選択プロセスは、その後のレベルの索引表に関連付けられた長さで足跡の長さを増加させ、かついくつかの実施形態において、延長された足跡に対する索引表内の対応するエントリを調べるように構成され得る。
図7−階層的索引表により検索を実行する例示的な実施
徐々に増加するKの例示的な実施形態は、図2のSRに適用された例示的な検索アルゴリズムを示す図7に図示されている。図7において、初期の長さKは、「初期の」ものとして指定され、アルゴリズムは、索引表内のamt_loc表0内の第1のエントリを対象としている。amt_loc表0内の「f」フィールドは、ストップ指令が、そのエントリに関連付けられている(S)か、または関連付けられていない(/)かどうかを記載している。第1のエントリは、索引表内の端末エントリではなく、長さKは、「1stext」の量で徐々に増加し、アルゴリズムは、amt_loc表1内の新規の対応するエントリを対象としていることが分かる。ここで、新規の対応するエントリが同様に端末エントリではなく、長さKは、その後、「2ndext」の量で再び増加し、アルゴリズムは、amt_loc表2内の別の対応するエントリを対象としていることが、再び分かる。ここで、対応するエントリは、端末エントリであり、その結果、アルゴリズムは、bas_loc表2内の特定の行を対象としており、延長された列Fに適合するゲノム内の場所(図7のppp)は、延長された列Fに対応するbas_loc表2内の第1のエントリから始まり、読み出されることが分かる。
amt_loc表0、amt_loc表1、及びamt_loc表2の表は、いくつかの実施形態による順次レベルの階層的索引表を含むことが理解され得る。「amt_loc」表と「bas_loc」表のセット間の区別は、いくつかの実施形態による、発見された適合の数及びこれらの適合の場所に関する情報の2つの区別可能なデータ構造への分離を図示していることがさらに理解され得る。
足跡は、種々の実施形態において、始めから、中間から、またはSRの端から、選択され得る。いくつかの実施形態において、長さKの別個の足跡は、SRの始め、中間、及び/または端から選択され得、各足跡から発見された適合は、候補選択プロセスにおいて集約され得る。
DNAアラインメントにおいて、一般に、基準ゲノムに関してSRの前方方向及び「逆相補」方向の両方を考察することが必要である。逆相補方向は、SRであり、後方に読み出し、全てのA塩基をTに、T塩基をAに、C塩基をGに、かつG塩基をCに翻訳する。例えば、下記のSRセグメントは、下記の逆相補セグメントに関連付けられる:
ACGTCTGATTGACAAACTGATGCA 元
TGCATCAGTTTGTCAATCAGACGT 逆相補
したがって、足跡は、候補場所を判定するために、両方向で選択され得る。いくつかの実施形態において、逆足跡(補完でない)及び/または相補足跡(逆でない)を使用して候補選択を実行することは、さらに有利であり得る。
いくつかの実施形態において、有効性または品質スコアが、SR内の各塩基対に割り当てられ得、有効性または品質スコアは、SR内の塩基対の予測される信頼性に関する。例えば、高い信頼度または忠実度で読み出されたSR内の塩基対には、より高い有効性または品質スコアが割り当てられ得る。これらの実施形態において、足跡Fは、F内に配置された塩基対の最高に集約された品質スコアを含むSRの一部分から優先的に選択され得る。他の実施形態において、低品質スコアを有する足跡における塩基対の存在は、検索をその塩基対で分割させ得る。例えば、足跡の5番目塩基対が低品質スコアを有するCとして設計された場合、候補検索は、4つの独立した検索により進み得、5番目塩基対は、4つの独立した検索に対してA、C、G、及びTの各々として置換される。次に、これらの4つの検索の各々に対して発見された適合は、検索プロセスの最終的な出力で共に集約され得る。本実施形態は、低品質スコアに関連付けられる複数の塩基対の事例まで拡張され得ることが理解され得る。
Fと基準ゲノムとの間の正確な適合が求められる場合、アルゴリズムは、Fに対応する索引表内のエントリを調査するために、その後のレベルの索引表内のエントリに保存されたリンクを使用するように構成され得る。次に、Fに対応するエントリ内に含まれる場所が読み出され得、その後、候補評価のために使用され得る。多くの現在のDNAアラインメントアルゴリズムは、Fに適合する基準索引表内のエントリを発見するために、バイナリーまたは他の演算的に集中的な検索を実行するのに必要とされる。索引表内に保存された情報の大半よりもむしろ、索引表の関連するエントリのポインタ情報のみが、索引表内のFに対応するエントリを発見するために読み出され、かつ処理される必要があるため、本発明における索引表の系統的組織化は、演算量及び待ち時間を有意に減少させ得る。
いくつかの実施形態において、およそFに適合する基準ゲノム内の候補場所を発見することが望ましい場合がある。例えば、X個未満のFとの不適合を有する基準ゲノム内の全ての場所を保存することが望ましい場合がある。これらの事例において、候補選択を実行するためのアルゴリズムは、下記のように構成され得る。
アルゴリズムは、最初に、Fの第1のl1塩基対をM1内の各エントリと比較し得る。アルゴリズムは、X個未満のFとの不適合を含むM1内の各エントリを保存し得る。長さl1の各保存されたエントリに対して、アルゴリズムは、第2のレベルの索引表内の長さl2 の各列を付加し得、結果として生じる列をFの第1のl1+l2 塩基対と比較し得る。X個未満の不適合を生じる各かかる比較に対して、アルゴリズムは、第3のその後のレベルの索引表へとアナログ的に進み得る。このプロセスは、ストップ命令が特定のレベルの索引表内の特定のエントリに対して直面するまで、または、発見された不適合の数がX個を超えるまで、繰り返され得る。次に、直面したストップ命令に関連付けられた索引表内の各エントリに関連付けられた場所が読み出され得、候補評価のために使用され得る。
いくつかの実施形態において、アルゴリズムは、基準ゲノムとFとの間の不適合の数の累計を使用するように構成され得、候補選択に対する近似適合を判定し得る。この事例において、アルゴリズムは、先の段落と同様に実行するように構成され得るが、いくつかの変形例を有し得る。アルゴリズムは、最初に、Fの第1のl1塩基対をM1内の各エントリと比較し得る。アルゴリズムは、X個未満のFとの不適合を含むM1内の各エントリを保存し得、保存された各エントリについて記録された不適合の数の累計を保存し得る。長さl1の各保存されたエントリに対して、アルゴリズムは、長さl2の各列をFのその後のl2塩基対と比較し得、発見された不適合の数を累計に加え得る。X個未満である各累計に対して、アルゴリズムは、第3のその後のレベルの索引表へとアナログ的に進み得る。このプロセスは、ストップ命令が特定のレベルの索引表内の特定のエントリに対して直面するまで、またはX個を超えると発見されるまで(どちらかが最初に生じる)繰り返され得る。次に、直面したストップ命令に関連付けられた索引表内の各エントリに関連付けられた場所が読み出され得、候補評価のために使用され得る。
いくつかの実施形態において、先行する候補選択アルゴリズムは、迅速な並列化に適していることが理解され得る。例えば、各SRに対する候補選択プロセスは、プログラム上独立しており、一般的な索引表を使用しているため、多くのSRに対する候補選択アルゴリズムは、同時に実行され得、演算性能を有意に加速し得る。
図8−検索配列の基準データへの適合
図8は、階層的索引表を使用して、検索配列を基準データに適合させる例示的なプロセスを示すフローチャートである。
802で、階層的索引表内の検索配列の小区分を調べる。検索配列の小区分の長さは、適合プロセスの演算パラメータを改善するように、経験的に、または階層的索引表の統計的特徴付けに基づいて、選択され得る。索引表の順序付けられた数的構造に起因して、調査プロセスは、検索配列の小区分に対応する索引表内のエントリを迅速に対象とし得る。次に、このエントリは、エントリに含まれた情報を判定するために読み出され得る。
804で、802で発見されたエントリが索引表の端末エントリであるかどうかを判定し得る。端末エントリは、ストップ指令に関連付けられたエントリであり得、すなわち、端末エントリは、より高いレベルの索引表内の任意のエントリには関連付けられない場合がある。
806で、検索配列の小区分の長さは、エントリが端末エントリでないとの判定に基づいて、第1の長さで増加し得る。第1の長さは、その後のレベルの索引表に関連付けられた長さに等しいように選択され得る。
808で、増加した長さの検索配列の小区分の適合に対する階層的索引表を使用して、基準データの検索を実行する。808は、802へとアナログ的に進み得るが、検索配列の延長された小区分を有し得る。
810で、調べられたエントリが索引表の端末エントリであると判定されるまで、ステップ804〜808を反復的に繰り返し得る。ステップ804〜808の各反復は、必要に応じて、特殊な第1の長さで実行され得る。調べられたエントリが索引表の端末エントリであると発見された場合、適合プロセスは、階層的索引表から発見された適合の場所を読み出し得、候補評価へと進み得る。
候補の評価
いったん候補場所のセットが特定のSRに対して選択されると、候補評価プロセスは、SRの全体を基準ゲノムと比較するために実施され得る。候補評価プロセスにおいて、不適合(塩基が基準ゲノム内とは異なる)が許容され得、実際、生物学的に極めて興味深いものになる。一般に、有効なアラインメントとは、整列位置でのSRと基準ゲノムとの間の不適合の数が許容可能な限界内にあるもの、すなわち、不適合の数がゼロより大きいが、ある所定の閾値未満であり得るものである。この事例において、アラインメント内の不適合の特徴付け及び場所は、演算の重要な出力であり得る。
不適合は、1つの塩基対が別の塩基対と置換される、置換の形態を取り得る。不適合はまた、SRが整列位置での基準ゲノム内に生じない、挿入された1つ以上の塩基を有する、挿入であり得る。同様に、不適合は、1つ以上の塩基がSRから欠失しているが、基準ゲノム内に存在する、欠失であり得る。挿入及び欠失は、集合的に、「インデル」と称される。
例えば、24個の塩基 SR ACGTCTGATTGACAAACTGATGCAは、これらの種類のアラインメントを有し得るだろう:
Ref:ACGTCTGATTGACAAACTGATGCA
SR:ACGTCTGATTGACAAACTGATGCA
不適合:..................0個の不適合、「同一の」適合
Ref:AGGTCAGATTGACAAACTGATGCA
SR:ACGTCTGATTGACAAACTGATGCA
不適合:.!...!..................「正確な」適合内の2つの不適合
Ref:ACGTC___TGATTGACAAACTGATGCA
SR:ACGTCGGATGATTGACAAACTGATGCA
不適合:・・・..!!!...................挿入からの3つの不適合
Ref:ACGTCTGATTTACGGACAAACTGATGCA
SR:ACGTCTGATT____GACAAACTGATGCA
不適合:……….!!!!..............4欠失による不適合
上の組み合わせは、同様に生じ得、例えば:
Ref:ACGTATGATTTACGGACAAACTGCGGCA
SR:ACGTCTGATT____GACAAACTGATGCA
不適合:....!.....!!!!.........!!...6つの合計不適合
正確な適合内に不適合を配置することは、比較的容易である:塩基を1つずつ比較する必要があるだけである。挿入及び/または欠失(集合的に、インデル)を配置することは、より多くの処理を必要とするため、より複雑なアプローチを必要とする。
可能性があるインデルを含むSRの特定
第1のステップとして、SRが、候補選択を通して特定されたゲノム内の場所に関するインデルを含む可能性があるかどうかが判定され得る。このステップは、Fが、SRの始め、中間、または端から選択されたかどうかに応じて異なるように進むだろう。FがSRの始めから選択された事例において、SRの最後の位置から第1の位置までの、SRと基準ゲノムとの間の不適合の数の累計を記録し得る。インデルがSR内に存在する場合、インデルの場所よりSRの始めからさらに遠くに配置された塩基対は、平均時間の3/4の基準ゲノムとの不適合を含み得る(4つの塩基対があり、オフセットは、25%の機会でランダムにそれらを適合させるため)。SRの端から始まり、塩基対当たりの不適合の数の移動平均が記録され得る。移動平均が、所定の数のその後の塩基対に対する3/4の所定の閾値内にある場合、インデルが存在する可能性があると判定し得る。DNA配列は、ランダムな配列の塩基対を含んでおらず、他の実施形態は、3/4以外の平均不適合の割合を使用し得ることが理解される。例えば、割合は、経験的に、またはDNA配列の統計的考察から、判定され得る。
FがSRの端から選択された事例において、比較可能なプロセスを使用して、インデルの可能性のある存在を判定し得る。この事例において、SRの始めから始まり、塩基対当たりの不適合の数の移動平均を記録し得る。移動平均が、所定の数のその後の塩基対に対して3/4の所定の閾値内にある場合、インデルが存在する可能性があると判定し得る。
いくつかの実施形態において、その後の塩基対の所定の閾値及び所定の数は、必要に応じて、移動時間及びインデル識別プロセスの正確性を改善するように適合され得る。
いくつかの実施形態において、インデルの可能性のある存在は、不適合の累計を使用して、不適合の頻度の勾配変化を算出することにより確定され得る。例えば、平均不適合頻度は、SRの端からの不適合の累計を使用して算出され得る。平均不適合頻度がSR内の特定の位置で変化することが発見された場合、変化は、所定の閾値振幅より大きいと分かり、変化は、所定の範囲の塩基対に対して持続するとさらに分かり、インデルがSR内に存在する可能性があると判定し得る。可能性のある不適合は、SRの長さにわたって不適合頻度の勾配を算出し、かつ勾配がSRの範囲内で所定の閾値を超えて急上昇する場合に存在する可能性があるとインデルを考察することにより、アナログ的に特定され得る。
インデルの特徴付け及び配置
本発明の技術の一実施形態は、インデルの候補位置の評価に対する4つのステップアプローチを使用する。
ステップ1:Lo端及びHi端不適合
ステップ2:長さ及び種類
ステップ3:誤差合計
ステップ4:インデル位置
この方法論は、発見される4種類のインデル:Lo端アンカを使用した欠失、Lo端アンカを使用した挿入、Hi端アンカを使用した欠失、及びHi端アンカを使用した挿入を生じ得る。これらの種類のうちの1つ、Hi端アンカを使用した欠失は、一例に関して下で考察されている。本明細書に記載されている他の例示的な事例も同様であることに留意されたい。
「Lo端」及び「Hi端」という用語は、SRのそれぞれの端を指す。例えば、Lo端塩基は、SRのLo端での塩基である。Lo端アンカ位置の使用は、Lo端を一定の位置に保持し、塩基が削除されたか、またはSRの中間内に挿入されたかのように、Hi端位置を変化させることを意味している。同様に、Hi端アンカ位置の使用は、Hi端を一定の位置に保持し、塩基が削除されたか、またはSRの中間内に挿入されたかのように、Lo端位置を変化させることを意味している。
ステップ1:Lo端またはHi端アンカの選択
このステップにおいて、S塩基の検出器のサイズを使用して、SRのLo端及びHi端を確認し得る。SR候補アラインメント位置でのSRのLo端S塩基と基準ゲノムのLo端S塩基との間の不適合の数がカウントされ得、これらは、Lo端不適合である。同様に、SR候補アラインメント位置でのSRのHi端S塩基と基準ゲノムのHi端S塩基との間の不適合の数がカウントされ得、これらは、Hi端不適合である。Sは、可変型パラメータであり、一実施形態は、24個の塩基を使用することに留意されたい。
Lo端不適合の数が閾値Uより大きく、Hi端不適合が閾値M未満である場合、Hi端アンカ位置の使用が指摘(推奨)され得る。同様に、Hi端不適合が閾値Uより大きく、Lo端不適合が閾値M未満である場合、Lo端アンカ位置の使用が指摘(推奨)され得る。これらの状況のいずれにも当てはまらない場合、この候補位置について検索するインデルは停止し得る。U及びMは、可変型パラメータであり、一実施形態は、それぞれ、4及び6を使用することに留意されたい。
いくつかの実施形態において、候補場所が、Lo端足跡の基準ゲノムとの比較により選択された場合、Lo端が基準ゲノム内の候補場所と適切に並べられることはすでに知られているため、Lo端アンカは、自動的に選択され得る。同様に、Hi端足跡の基準ゲノムとの比較により候補場所が選択された場合、Hi端アンカは、自動的に選択され得る。SRの中間から選択された足跡を使用して特定の候補場所を選択した事例において、上に記載されているアンカ選択プロセスを実行することは有利であり得る。これらの事例において、SRの中間は、候補場所と整列され得るが、潜在的なインデルがSRのloまたはhi側上に存在するあどうかは分からない場合がある。
ステップ2:長さ及び種類
インデルが疑われる場合、次に、ステップは、インデルの長さ及び種類(挿入または欠失)の両方を判定し得る。ユーザは、検索するための最小インデル長さ(IDIST)を提供し得る。一実施形態は、インデルが疑われる場所に応じて、SRのLo端部またはHi端部(アンカ端に対向する)のいずれかを使用して、一連の不適合カウントを実行する。カウントは、B塩基を使用し得、かつD=[−IDIST..+IDIST]により候補位置を変更し得る。Bは、可変型パラメータであり、一実施形態は、8の値を使用することに留意されたい。最小数の不適合を生じ得るオフセット値Dを記録し得る。一実施形態において:
D=0の場合、インデルがなく、この候補に対する検索は、停止する。
D<0の場合、可能性のある挿入は、長さ=|D|により発見される。
D>0の場合、可能性のある欠失は、長さ=Dにより発見される。
インデルの長さ及び種類を所与として、開始位置を発見するべきである。これは、次の2つのステップ:誤差合計及びインデル位置で実行され得る。
ステップ3:誤差合計
このステップにおいて、2つの移動誤差合計を演算し得る。第1の累計は、候補位置でのSRと基準ゲノムとの間にあり得、第2の累計は、(候補+D)位置でのSRと基準ゲノムとの間にあり得、Dは、挿入事例に対して負数であり得ることに留意されたい。
ステップ4:インデル位置
最終ステップは、インデルの開始を設置することである。これは、種類に基づいた調節を使用して、2つのカウントアレイの合計の最小値を発見することにより、実行され得る。
挿入の事例において、下記を演算し得る(注意:索引は、1で開始し、0でない):
[1..塩基長さ]内のiに対して、合計[i]=(カウント2[塩基]−カウント2[長さ+i])+カウント1[i]
次に、[2..塩基長さ]内にiを有する、合計[i]の最小値を見つける。挿入の開始位置は、iである。
欠失の事例において、演算する:
[1..塩基]内のiに対して、合計[i]=(カウント2[塩基]−カウント2[i])+カウント1[i]
次に、[2..塩基]内にiを有する、合計[i]最小値を見つける。欠失の開始位置は、iである。
下記の例において、下記のSR及びSR候補位置を使用して、各ステップを実行する:
Ref:ACGTCTGATTTACGGACAAACTGATGCA
SR:ACGTCTGATTGACAAACTGATGCA
例示的なステップ1:Lo端及びHi端不適合
より典型的な100個の塩基SRの代わりに、24個の塩基SRが使用されているため、検出器のサイズ及び閾値は、これらの例示のために、S=6、U=1、M=2に調節されることに留意されたい:
Ref:ACGTCTGATTTACGGACAAACTGATGCA
SR:ACGTCTGATTGACAAACTGATGCA
Lo端不適合:・・・・・・−−−−−−−−−−−−−−−−−−Lo端不適合=0
Hi端不適合:−−−−−−−−−−−−−−−−−−!.!!!.Hi端不適合=4
Lo端不適合は、0であり(ACGTCT対ACGTCT)、Hi端不適合は、4である(GATGCA対AACTGA)。Hi端不適合>U及びLo端不適合<M[(4>1)&&(0<2)]であるため、インデルは、Lo端アンカ位置を使用して検索されるだろう。
例示的なステップ2:長さ及び種類
Lo端アンカが判定されたため、Hi端塩基を使用して、インデルの種類及び長さを判定し得る。この例に対して、B=8及びIDIST=4であることに留意されたい:
D=−4 Ref:−−−−ACGTCTGATTTACGGACAAA
SR:ACGTCTGATTGACAAACTGATGCA
不適合:−−−−−−−−−−−−−−−−.!..!!!.Hi端で4つの不適合
D=−3 Ref:−−−ACGTCTGATTTACGGACAAAC
SR:ACGTCTGATTGACAAACTGATGCA
不適合:−−−−−−−−−−−−−−−−!!!!!!!!8つの不適合
D=−2 Ref:−−ACGTCTGATTTACGGACAAACT
SR:ACGTCTGATTGACAAACTGATGCA
不適合:−−−−−−−−−−−−−−−−!!!.!!.!6つの不適合
D=−1 Ref:−ACGTCTGATTTACGGACAAACTG
SR:ACGTCTGATTGACAAACTGATGCA
不適合:−−−−−−−−−−−−−−−−!!!.!!!!7つの不適合
D=0 Ref:ACGTCTGATTTACGGACAAACTGA
SR:ACGTCTGATTGACAAACTGATGCA
不適合:−−−−−−−−−−−−−−−−.!!.!!!.5つの不適合
D=+1 Ref:CGTCTGATTTACGGACAAACTGAT
SR:ACGTCTGATTGACAAACTGATGCA
不適合:−−−−−−−−−−−−−−−−!!!!..!!6つの不適合
D=+2 Ref GTCTGATTTACGGACAAACTGATG
SR:ACGTCTGATTGACAAACTGATGCA
不適合:−−−−−−−−−−−−−−−−!!!!!!!8つの不適合
D=+3 Ref TCTGATTTACGGACAAACTGATGC
SR:ACGTCTGATTGACAAACTGATGCA
不適合:−−−−−−−−−−−−−−−−!!!!!!!!8つの不適合
D=+4 Ref CTGATTTACGGACAAACTGATGCA
SR:ACGTCTGATTGACAAACTGATGCA
不適合:−−−−−−−−−−−−−−−−・・・.・・・..0個の不適合<−−最小値
Dが>0であるため、可能性のある欠失は、長さ=+4の状態で発見されている。
例示的なステップ3:誤差合計
上に述べられている欠失事例を使用して:
Ref:候補位置でのACGTCTGATTTACGGACAAACTGA
SR:ACGTCTGATTGACAAACTGATGCA
不適合・・・・・・・・・.!..!!..!!.!!!.
カウント1:000000000011123334556788<−−不適合の累計
Ref:候補+4位置でのCTGATTTACGGACAAACTGATGCA
SR:ACGTCTGATTGACAAACTGATGCA
不適合:!!.!!.!.!!..............
カウント2:122344556777777777777777<−−不適合の累計
例示的なステップ4:インデル位置
上に記載されているように、欠失が検索されているため、本方法は、索引に対する合計[i][1..塩基長さ]を演算し得る。
7−カウント2[i]:65543322100000000000
カウント1[i]:00000000001112333455
合計[i]:65543322101112333455
最小値は、索引i=10で生じる。これは、インデル前の塩基の数が10であり、その後、4つの塩基欠失(ステップ2から)、その後、インデル後の(塩基−10)適合塩基を意味する。次に、Compact Idiosyncratic Gapped Alignment Report(CIGAR)の値は、10M4D14Mであり得、CIGAR列は、塩基長さ及び関連する操作の配列であり、どの塩基が、基準から削除され、かつ基準内にない挿入である基準と整列する(適合/不適合のいずれか)か等の項目を示すために使用される。
図9−インデルを特徴付け及び配置するための方法
図9は、インデルを特徴付け及び配置するための例示的な方法を示すフローチャートである。図9の方法は、図8に示されている方法の結論で見られる各適合上で実行され得る。
902で、検索配列のためのアンカ位置を判定する。アンカ位置は、検索配列のHi端またはLo端にあるように判定され得る。アンカ位置は、Hi端及びLo端の各々からの位置の第1の長さを基準データと比較し、かつより少ない不適合を有する端でのアンカ位置を選択することにより、判定され得る。
904で、アンカ位置を使用して、インデルの長さ及び種類を判定し得る。例えば、Lo端アンカが702で判定される場合、不適合は、所定位置に種々のオフセットを有する検索配列のHi端からカウントされ得、不適合の最小値を生じるオフセットが選択され得る。
906で、第1の移動誤差合計を演算し得る。第1の移動誤差合計は、アンカ位置から演算され得る。Lo端アンカに対して、移動誤差合計は、Lo端アンカ位置から前方に進み得る。Hi端アンカに対して、移動誤差合計は、Hi端アンカ位置から逆方向に進み得る。
908で、オフセットでの第2の移動誤差合計を演算し得る。オフセットは、704で選択されたオフセットであるように判定され得る。第2の移動誤差合計は、同様に、アンカ位置から演算され得る。
910で、インデルの開始場所を、第1及び第2の移動誤差合計の合計の最小値に基づいて判定し得る。例えば、第1及び第2の累計を共に追加し得る。第1の移動誤差合計は、アンカ位置とインデルの場所との間の検索配列の領域に対して不適合を生成する可能性がないように構築される。第2の移動誤差合計は、アンカ位置に対向する端とインデルの場所との間の検索配列の領域に対して不適合を生成する可能性がないように構築される。第1及び第2の累計を合計することにより、最低数の不適合を有する場所が、インデルの場所であるように判定され得る。
本発明の他の実施形態は、下記の番号を付された段落中に表される:
1.検索配列の小区分を基準データに適合させる方法であって、
基準データに由来する階層的索引表を保存することであって、階層的索引表が、複数の階層的レベルで複数のエントリを含む、保存することと、
検索配列に関連付けられた階層的索引表内の第1のエントリが、索引表の端末エントリでないとの判定に基づいて、検索配列の小区分の長さを増加させることと、
第1のエントリが階層的索引表の端末エントリでないとの判定に基づいて、検索配列の増加された長さの小区分に適合する階層的索引表内の第2のエントリを調べることと、を含む、検索配列の小区分を基準データに適合させる方法。
2.基準データに対する検索配列の適合を評価するための方法であって、
検索配列と基準データとの間の塩基誤差の特定に基づいて、検索配列と基準データとの間の不適合を判定することと、
検索配列内の少なくとも1つのインデルを判定することであって、
検索配列のLo端及びHi端不適合の数に基づいて、検索配列内のアンカ位置を判定すること、
アンカ位置を使用して、少なくとも1つのインデルの長さ及び種類を判定すること、
少なくとも1つのインデルの開始位置を判定することであって、
適合場所での検索配列と基準データとの間の第1の移動誤差合計を演算すること、
適合場所からのオフセットで検索配列と基準データとの間の第2の移動誤差合計を演算することであって、オフセットが、少なくとも1つのインデルの種類及び長さに基づいている、演算すること、ならびに
第1及び第2の移動誤差合計の最小値に基づいて、少なくとも1つのインデルの開始場所を判定することと、を含む、判定すること、を含む、判定することと、を含む、基準データに対する検索配列の適合を評価するための方法。
上の実施形態は、かなり詳細に記載されているが、上の開示が完全に理解されれば、多数の変更例及び変形例が当業者に明らかであろう。下記の特許請求の範囲は、全てのかかる変更例及び変形例を包含するように解釈されることが企図されている。

Claims (23)

  1. 検索配列を基準データに適合させるための方法であって、
    演算装置により、
    a)基準データをメモリ内に保存することと、
    b)前記基準データに基づいて階層的索引表を作成することであって、前記作成することが、前記階層的索引表内の複数のレベルで複数のエントリを作成することを含み、
    前記複数のレベルは第1のレベルを含み、第1のレベルのエントリは、第1の長さを有する前記基準データの複数の副配列のそれぞれのために作成され、
    それぞれのレベルnのエントリに対して、nは少なくとも1つがゼロでない正の整数であり、前記作成は、閾値より大きい前記それぞれのレベルnのエントリの適合基準に応答して、前記階層的索引表内の前記それぞれのレベルnのエントリに対するn+1レベルのエントリを作成することを含み、
    前記階層的索引表内にn+1レベルのエントリを作成することは、前記n+1レベルに対応する長さを有する前記基準データの複数の副配列のそれぞれに対するn+1レベルのエントリを作成することを含み、
    c)検索配列を特定する入力を受信することと、
    d)前記基準データへの前記検索配列の1つまたは複数の適合について前記階層的索引表を検索することとを含み、
    前記階層的索引表の前記検索は、前記階層的索引表のその後のレベルで前記検索配列の小区分の適合を反復的に検索することを含む、
    方法。
  2. 前記第1の長さを有する前記基準データの前記複数の副配列、および前記n+1レベルに対応する長さを有する前記基準データの前記複数の副配列は、それぞれの長さの副配列の網羅的なセットをそれぞれ含む、請求項1に記載の方法。
  3. 前記階層的索引表の任意のそれぞれのレベルでそれぞれのエントリを前記作成することが、
    前記基準データ内の前記それぞれのエントリに対応する前記それぞれの長さの前記副配列の適合について検索することと、
    前記階層的索引表のそれぞれのレベル内の前記それぞれのエントリに情報を保存することであって、前記情報が、前記基準データ内での前記基準データ内のそれぞれの長さの前記副配列の適合の数を特定し、前記情報が、前記基準データ内での前記適合の各々の場所をさらに特定し、保存することと、
    により実行される、請求項2に記載の方法。
  4. n+1レベルに対して、前記n+1レベルのそれぞれの前記副配列の適合について前記検索することが、nレベルにおける前記対応するエントリに関連付けられた場所で実行される、請求項3に記載の方法。
  5. 各エントリに関連付けられた前記適合の数を示すデータが、第1のデータ構造内に保存され、各エントリに関連付けられた前記適合の各々の前記場所が、第2のデータ構造内に保存され、前記第1及び第2のデータ構造が、前記階層的索引表内に各々含まれる、請求項3に記載の方法。
  6. 各それぞれのnレベルのエントリに対して、前記それぞれのnレベルのエントリに対応するn+1レベルのエントリを参照するメモリ内にポインタを保存することをさらに含む、請求項1に記載の方法。
  7. 前記基準データが、基準ゲノムを含み、前記基準データを検索することが、短い読み出し(SR)を前記基準ゲノムと整列させることを含む、請求項1に記載の方法。
  8. 短い読み出しを基準ゲノムと整列させるためのプログラム命令を含むコンピュータ読み取り可能な記憶媒体であって、前記プログラム命令が、
    a)前記基準ゲノムをメモリ内に保存することと、
    b)前記基準ゲノムに基づいて階層的索引表を作成することであって、前記作成することが、前記階層的索引表において複数のレベルのそれぞれで複数のエントリを作成することを含み、前記複数のレベルは第1のレベルを含み、第1のレベルのエントリは、第1の長さを有する前記基準ゲノムの複数の副配列のそれぞれのために作成され、各それぞれのエントリが、前記それぞれのエントリに関連付けられた塩基対の配列の前記基準ゲノム内の場所に関連する情報を含み、各それぞれのレベルnのエントリについて、少なくとも1つのゼロでない正の整数nに対して、前記作成することは、閾値より大きい前記それぞれのレベルnのエントリの適合基準に応答して、前記階層的索引表内のそれぞれのレベルnのエントリに対するn+1レベルのエントリを作成することを含む、作成することと、
    前記階層的索引表内にn+1レベルのエントリを作成することは、前記n+1レベルに対応する長さを有する前記基準ゲノムの複数の副配列のそれぞれのためにn+1レベルのエントリを作成することを含み、
    c)短い読み出しを特定する入力を受信することと、
    d)前記基準ゲノムへの前記短い読み出しの1つまたは複数の適合に対して前記階層的索引表を検索することであって、前記階層的索引表の前記検索は、前記階層的索引表のその後のレベルで前記短い読み出しの小区分の適合を反復的に検索することを含む、検索することと、
    を行うように実行可能である、コンピュータ読み取り可能な記憶媒体。
  9. 前記第1の長さを有する前記基準ゲノムの前記複数の副配列、および前記n+1レベルに対応する長さを有する前記基準ゲノムの前記複数の副配列は、それぞれの長さの副配列の網羅的なセットをそれぞれ含む、請求項8に記載の記憶媒体。
  10. 前記階層的索引表の任意のそれぞれのレベル内のそれぞれのエントリを前記作成することが、
    前記基準ゲノム内の前記それぞれのエントリに対応するそれぞれの長さのそれぞれの前記副配列の適合について検索することと、
    前記階層的索引表のそれぞれのレベルの前記それぞれのエントリ内の情報を保存することであって、前記情報が、前記基準ゲノム内のそれぞれの長さのそれぞれの前記副配列の適合の数を特定し、前記情報が、前記基準ゲノムでの前記適合の各々の前記場所をさらに特定する、保存することと、により実行される、請求項8に記載の記憶媒体。
  11. n+1レベルに対して、前記n+1レベルのそれぞれの前記副配列の適合について前記検索することが、nレベル内の前記対応するエントリに関連付けられた場所で実行される、請求項10に記載の記憶媒体
  12. 各エントリに関連付けられた前記適合の数を示すデータが、第1のデータ構造内に保存され、各エントリに関連付けられた前記適合の各々の前記場所が、第2のデータ構造内に保存され、前記第1及び第2のデータ構造が、前記階層的索引表内に各々含まれる、請求項10に記載の記憶媒体
  13. それぞれのnレベルのエントリに対して、前記それぞれのnレベルのエントリに対応するn+1レベルのエントリを参照するメモリ内にポインタを保存することをさらに含む、請求項8に記載の記憶媒体
  14. 検索配列を基準データに適合させるための方法であって、
    演算装置により、
    a)基準データをメモリ内に保存することと、
    b)前記基準データに基づいて階層的索引表を作成することであって、
    第1の長さを有する前記基準データのそれぞれの副配列の各網羅的なセットに対して、
    i)前記基準データ内の前記第1の長さの前記それぞれの副配列の適合について検索すること、ならびに
    前記階層的索引表の第1のレベルにおけるそれぞれのエントリ内の情報を保存することであって、前記情報が、前記基準データ内の前記第1の長さの前記それぞれの副配列の適合の数を特定し、前記情報が、前記基準データ内での前記適合の各々の場所をさらに特定する、保存すること、により、前記階層的索引表の第1のレベル内のそれぞれのエントリを作成すること、
    ii)それぞれの前記第1のレベル内のエントリ内の前記適合の数を第1の閾値と比較すること、ならびに
    iii)前記第1の閾値より大きい適合の数を有する前記第1のレベル内の各それぞれのエントリに対して、第2の長さを有する副配列の第2のセットに対する前記階層的索引表の第2のレベル内のそれぞれのエントリを前記作成することを実行することであって、前記第1のレベル内の各それぞれのエントリが、前記第2のレベル内のその対応するエントリに関連付けられ、副配列の前記第2のセットが、前記第2の長さを有する前記基準データの副配列の各網羅的なセットを含み、前記第2の長さを有する前記それぞれの副配列の適合について前記検索することが、前記第1のレベル内の前記対応するエントリに関連付けられた場所で実行される、実行すること、を含む、作成することと、
    c)検索配列を特定する入力を受信することと、
    d)前記基準データへの前記検索配列の小区分の1つまたは複数の適合について前記階層的索引表を検索することであって、前記階層的索引表の前記検索は、前記階層的索引表のその後のレベルで前記検索配列の小区分の適合を反復的に検索することを含む、検索することと、を実行することを含む、検索配列を基準データに適合させるための方法。
  15. 前記基準データ及び各副配列が、数字的にコード化される、請求項14に記載の方法。
  16. 前記階層的索引表の第2のレベル内のそれぞれのエントリを前記比較すること及び前記作成することが、第2の反復を含み、前記方法が、
    前記階層的索引表の1つ以上のそれぞれの追加の閾値、長さ、副配列のセット、及びレベルを使用して、1つ以上の追加の反復を実行することをさらに含む、請求項14に記載の方法。
  17. 前記基準データが、基準ゲノムを含み、前記基準データを検索することが、短い読み出し(SR)を前記基準ゲノムと整列させることを含む、請求項14に記載の方法。
  18. 各エントリに関連付けられた前記場所の数を示すデータが、第1のデータ構造内に保存され、各エントリに関連付けられた前記基準データ内の前記場所を示すデータが、第2のデータ構造内に保存され、前記第1及び第2のデータ構造が、前記階層的索引表内に各々含まれる、請求項14に記載の方法。
  19. 前記第2のレベル内の前記対応するエントリの前記第1のレベル内の前記それぞれのエントリとの前記関連付けが、前記第1のレベル内の前記それぞれのエントリ内に含まれる情報を含み、前記情報が、
    前記第2のレベル内の前記対応するエントリを指摘するリンク情報と、前記第2の長さとを含む、請求項14に記載の方法。
  20. 前記第2の反復の各々が、
    れぞれの前記閾値より大きくない適合の数を有すると発見された各それぞれの副配列に対して、
    前記それぞれの副配列に関連付けられた前記エントリ内のストップ命令を保存することであって、前記ストップ命令が、前記ストップ命令に関連付けられた前記副配列に基づいてさらなるエントリの前記作成を防止するために、前記方法により使用可能である、保存すること、をさらに含む、請求項16に記載の方法。
  21. 前記検索配列に関連付けられた前記階層的索引表内の第1のエントリが、前記階層的索引表の端末エントリではないとの判定に基づいて、前記検索配列の前記小区分の長さを増加することと、
    前記第1のエントリが、前記階層的索引表の端末エントリではないとの判定に基づいて、増加された長さの前記検索配列の前記小区分に適合する前記階層的索引表内の第2のエントリを調べることと、をさらに含む、請求項14に記載の方法。
  22. 前記基準データを検索する間に発見された各適合を評価することであって、
    各適合に対して、前記検索配列と前記基準データとの間の塩基誤差の特定に基づいて、検索配列と前記基準データとの間の不適合を判定すること、を含む、評価すること、をさらに含む、請求項14に記載の方法。
  23. 前記評価することが、
    前記検索配列内の少なくとも1つのインデルを判定することであって、
    前記検索配列のLo端及びHi端不適合の数に基づいて、前記検索配列内のアンカ位置を判定することと、
    前記アンカ位置を使用して、前記少なくとも1つのインデルの長さ及び種類を判定することと、
    前記少なくとも1つのインデルの開始位置を判定することであって、
    前記適合場所で前記検索配列と前記基準データとの間の第1の移動誤差合計を演算すること、
    前記適合場所からのオフセットで前記検索配列と前記基準データとの間の第2の移動誤差合計を演算することであって、前記オフセットが、前記少なくとも1つのインデルの前記種類及び長さに基づいている、演算すること、ならびに
    前記第1及び第2の移動誤差合計の最小値に基づいて、前記少なくとも1つのインデルの開始場所を判定すること、を含む、判定することと、をさらに含む、請求項22に記載の方法。
JP2018520481A 2015-10-21 2016-10-21 階層的転置索引表を使用したdnaアラインメント Active JP6884143B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562244541P 2015-10-21 2015-10-21
US62/244,541 2015-10-21
PCT/US2016/058183 WO2017070514A1 (en) 2015-10-21 2016-10-21 Dna alignment using a hierarchical inverted index table

Publications (3)

Publication Number Publication Date
JP2018535484A JP2018535484A (ja) 2018-11-29
JP2018535484A5 JP2018535484A5 (ja) 2019-09-05
JP6884143B2 true JP6884143B2 (ja) 2021-06-09

Family

ID=58557902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018520481A Active JP6884143B2 (ja) 2015-10-21 2016-10-21 階層的転置索引表を使用したdnaアラインメント

Country Status (7)

Country Link
US (2) US11594301B2 (ja)
EP (1) EP3365821B1 (ja)
JP (1) JP6884143B2 (ja)
KR (1) KR20180072684A (ja)
CN (2) CN114783523A (ja)
BR (1) BR112018007092B1 (ja)
WO (1) WO2017070514A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705623B2 (en) * 2009-10-02 2014-04-22 Texas Instruments Incorporated Line-based compression for digital image data
CN112948446A (zh) * 2019-11-26 2021-06-11 北京京东振世信息技术有限公司 一种匹配产品单据的方法和装置
CN111402959A (zh) * 2020-03-13 2020-07-10 苏州浪潮智能科技有限公司 一种序列比对的方法、系统、设备及可读存储介质
IL281960A (en) * 2021-04-01 2022-10-01 Zimmerman Israel A system and method for rapid statistical discovery of patterns

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272824A (ja) * 1995-03-31 1996-10-18 Hitachi Software Eng Co Ltd 遺伝子配列データ自動検索方法
US20040153255A1 (en) * 2003-02-03 2004-08-05 Ahn Tae-Jin Apparatus and method for encoding DNA sequence, and computer readable medium
WO2005096208A1 (ja) * 2004-03-31 2005-10-13 Bio-Think Tank Co., Ltd. 塩基配列検索装置及び塩基配列検索方法
US7702640B1 (en) * 2005-12-29 2010-04-20 Amazon Technologies, Inc. Stratified unbalanced trees for indexing of data items within a computer system
WO2007137225A2 (en) * 2006-05-19 2007-11-29 The University Of Chicago Method for indexing nucleic acid sequences for computer based searching
US8271206B2 (en) * 2008-04-21 2012-09-18 Softgenetics Llc DNA sequence assembly methods of short reads
WO2010104608A2 (en) * 2009-03-13 2010-09-16 Life Technologies Corporation Computer implemented method for indexing reference genome
CN101984445B (zh) * 2010-03-04 2012-03-14 深圳华大基因科技有限公司 一种基于聚合酶链式反应产物测序序列分型的实现方法和系统
US20140163900A1 (en) * 2012-06-02 2014-06-12 Whitehead Institute For Biomedical Research Analyzing short tandem repeats from high throughput sequencing data for genetic applications
US10381106B2 (en) * 2013-01-28 2019-08-13 Hasso-Plattner-Institut Fuer Softwaresystemtechnik Gmbh Efficient genomic read alignment in an in-memory database
WO2014145503A2 (en) * 2013-03-15 2014-09-18 Lieber Institute For Brain Development Sequence alignment using divide and conquer maximum oligonucleotide mapping (dcmom), apparatus, system and method related thereto
NL2011817C2 (en) 2013-11-19 2015-05-26 Genalice B V A method of generating a reference index data structure and method for finding a position of a data pattern in a reference data structure.
US9886561B2 (en) * 2014-02-19 2018-02-06 The Regents Of The University Of California Efficient encoding and storage and retrieval of genomic data
NL2013120B1 (en) * 2014-07-03 2016-09-20 Genalice B V A method for finding associated positions of bases of a read on a reference genome.

Also Published As

Publication number Publication date
BR112018007092B1 (pt) 2024-02-20
CN108140071A (zh) 2018-06-08
CN114783523A (zh) 2022-07-22
KR20180072684A (ko) 2018-06-29
WO2017070514A1 (en) 2017-04-27
US11594301B2 (en) 2023-02-28
US20240203527A1 (en) 2024-06-20
BR112018007092A2 (pt) 2018-10-23
EP3365821A4 (en) 2019-06-26
US20170116370A1 (en) 2017-04-27
EP3365821B1 (en) 2022-06-29
JP2018535484A (ja) 2018-11-29
CN108140071B (zh) 2022-04-29
EP3365821A1 (en) 2018-08-29

Similar Documents

Publication Publication Date Title
US20210313014A1 (en) Bioinformatics Systems, Apparatuses, and Methods Executed on an Integrated Circuit Processing Platform
US9014989B2 (en) Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US20240203527A1 (en) DNA Alignment using a Hierarchical Inverted Index Table
WO2016141077A1 (en) Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
WO2020124275A1 (en) Method, system, and computing device for optimizing computing operations of gene sequencing system
Huo et al. CS2A: A compressed suffix array-based method for short read alignment
US20210202038A1 (en) Memory Allocation to Optimize Computer Operations of Seeding for Burrows Wheeler Alignment
US20210217492A1 (en) Merging Alignment and Sorting to Optimize Computer Operations for Gene Sequencing Pipeline
Yang et al. An FM-Index Based High-Throughput Memory-Efficient FPGA Accelerator for Paired-End Short-Read Mapping
WO2020182173A1 (en) Method and system for merging duplicate merging marking to optimize computer operations of gene sequencing system
Mun Using Pan-Genomic Data Structures to Incoporate Diversity Into Genomic Analyses
McVicar FPGA Accelerated Bioinformatics: Alignment, Classification, Homology and Counting
Ekim Scalable sketching and indexing algorithms for large biological datasets
Kallenborn High-performance processing of next-generation sequencing data on CUDA-enabled GPUs
Mohamadi Parallel algorithms and software tools for high-throughput sequencing data
Huang Computational Methods Using Large-Scale Population Whole-Genome Sequencing Data
Lim A large-scale computational framework for comparative analyses in population genetics and metagenomics
Shivanna A fast implementation for correcting errors in high throughput sequencing data
Köster Parallelization, scalability, and reproducibility in next generation sequencing analysis
Zhao Genomic variation detection using dynamic programming methods

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190725

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201211

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: 20210420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210511

R150 Certificate of patent or registration of utility model

Ref document number: 6884143

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150