JP2022552779A - ゲノム配列データの圧縮のための方法 - Google Patents
ゲノム配列データの圧縮のための方法 Download PDFInfo
- Publication number
- JP2022552779A JP2022552779A JP2022515895A JP2022515895A JP2022552779A JP 2022552779 A JP2022552779 A JP 2022552779A JP 2022515895 A JP2022515895 A JP 2022515895A JP 2022515895 A JP2022515895 A JP 2022515895A JP 2022552779 A JP2022552779 A JP 2022552779A
- Authority
- JP
- Japan
- Prior art keywords
- read
- encoding
- mismatch
- mismatches
- reads
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/10—Sequence alignment; Homology search
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B20/00—ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
- G16B20/20—Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/20—Sequence assembly
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B45/00—ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/50—Compression of genetic data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Evolutionary Biology (AREA)
- Biotechnology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Chemical & Material Sciences (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Analytical Chemistry (AREA)
- Genetics & Genomics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
Abstract
本発明は、配列決定マシンによって生成されたゲノム配列データの圧縮のための参照ベースの方法に関する。参照配列に以前にアラインメントされているヌクレオチド又は塩基の配列は、参照配列で完全にマッピングされているか、不完全にマッピングされているか、又はマッピングされていないと決定され、次いで、当該決定によってコードされる。決定する工程は、不完全にマッピングされた各配列について、配列決定マシンによって生成されたゲノム配列データの圧縮のための当該比較方法の結果に応じて、当該参照配列と参照配列との間のミスマッチ数を参照閾値と比較することと、別個の符号化プロセスにより、不完全にマッピングされた配列を符号化することとを含む。
Description
本分野は、概ね、配列決定マシンによって生成されたゲノム配列決定データの表示方法に関し、より詳細には、このようなゲノム配列決定データの圧縮のためのコンピュータ実装方法に関する。本開示は、参照ベースの圧縮方法であって、情報の喪失を引き起こさない一方で高速の圧縮及び解凍を可能にし、高い圧縮比を有する、圧縮方法、を提供する。
次世代配列決定マシンは今日では、安価に膨大な量の配列決定データを生成する。最近のシステムは、20個の全ヒトゲノムの配列決定に十分な、60億個を超える150ヌクレオチド長の配列を36時間の単回実行で生成する。このことは、人々のゲノム特異性に基づいて治療を採用することを目的とした、遺伝性疾患の診断のための、かつ個別化医療の開発のための多くの新たな展望を開く。
しかしながら、このことはまた、新しい課題、特に膨大な量のデータの記憶に関するコストも伴う。生の(アラインメントされていない)配列データの最も使用されるファイル形式は、配列データ(リードとも呼ばれるA、C、T、Gヌクレオチドからなる鎖)、クオリティ値(各ヌクレオチドについて配列決定プラットフォームが配列決定エラーを作った確率)及び配列名を保持する、FASTQ形式である。これは、通常、汎用テキスト圧縮スキームLZ(Lempel-Zivスキーム、gzipソフトウェア内に実装)で圧縮された単純なASCIIテキストファイルである。しかしながら、このような圧縮方法の使用は、いくつかの問題、
-データの冗長性が完全には使用されていないことによる、低い圧縮比
-遅い圧縮及び解凍
を伴う。
-データの冗長性が完全には使用されていないことによる、低い圧縮比
-遅い圧縮及び解凍
を伴う。
参照ベース又は非参照ベースの方法で分割された、FASTQ符号化に特化した圧縮方法もまた存在する。しかしながら、a)参照ベースの方法は、良好な圧縮比を有するが遅く、b)非参照ベースの方法は、より高速だが、圧縮比がより低いので、いずれも完全に条件を満たすものではない。このような非参照ベースの方法の例は、ソフトウェアSPRINGによって提供されており、このソフトウェアは、FASTQファイルのための参照非含有コンプレッサ(ワールドワイドウェブアドレス:github.com/shubhamchandak94/SPRING)である。しかしながら、ソフトウェアSPRINGによって提供される圧縮方法は、低い圧縮比を有する。
参照ベースの圧縮方法のうち、配列アラインメントを使用し、良好な圧縮比でより高速であることを目的としたいくつかの方法が提案されてきた。しかしながら、このような方法は、いくつかの問題に悩まされているが、特に、主要な課題は、これらの問題が完全にはなくならないことである。このような公知の参照ベースの圧縮方法は、例えば、特許文書の国際公開第2018/068829(A1)号に説明されている。説明された方法では、1つ以上の参照配列にアラインメントされた後、ヌクレオチドの配列は、精度の程度を一致させること(それにより、アラインメントされたリードのクラスを作成すること)によって分類され、次いで、データが分割される各層について異なるソースモデル及びエントロピーコーダを使用して、多数の層の構文要素としてコードされる。したがって、データのクラスは別々に符号化され、異なる層の構文要素で構成されており、各層は、当該層の分類かつアラインメントされたリードを一意的に表示する記述子を含む。本方法は、情報エントロピーの低減に伴う別個の情報ソースを取得することを意図しており、それによって、圧縮性能の増大と、圧縮データのうちの特定のクラスへの選択的アクセスと、を可能にする。しかしながら、このような圧縮方法は、リードアラインメント工程の終了時に取得された順序とは異なる順序で、リードを再順序付けする(すなわち、リードは、これらのクラスにより再順序付けされる)。次いで、いくつかの情報は、圧縮プロセス、特に、最初の配列順序付けにおいて失われる。それゆえに、いくつかの解析結果の再現性が影響を受ける可能性があるのは、いくつかの下流解析ソフトウェアは、リードの順序に依存する可能性があるからである。このほか、リードの初期順序とは異なる順序でデータを解凍することにより、非圧縮ファイルが初期ファイルと同一であることを確認することがはるかにより困難となる。更に、このような圧縮方法は、特に最新技術の非参照ベースの圧縮方法と比較するとき、比較的遅い。
以下の独立請求項の特徴は、ゲノム配列データの圧縮のための方法を提供することによって、既存の先行技術の解決策の問題を解決する。一態様では、配列決定マシンによって生成されたゲノム配列データの圧縮のためのコンピュータ実装方法であって、当該ゲノム配列データが、参照配列に対してアラインメントされたヌクレオチド又は塩基の配列のリードを含み、それによって、アラインメントされたリードを作成し、当該アラインメントされたリードが、初期ファイル内のリードのリストとして記憶される、方法であって、コンピュータ実装方法は、
-各アラインメントされたリードについて、当該リードが当該参照配列で完全に若しくは不完全にマッピングされているかどうか、又は当該リードが当該参照配列でマッピングされていないかどうかを決定することと、
-当該決定によってリードを符号化することであって、完全にマッピングされていると決定されたリードは、第1の符号化プロセスによって符号化され、マッピングされていないと決定されたリードは、第2の符号化プロセスによって符号化される、符号化することと、を含み、
-決定する工程は、各不完全にマッピングされたリードについて、当該リードと当該参照配列との間のミスマッチ数を閾値と比較することを含み、
-符号化する工程において、不完全にマッピングされていると決定されたリードは、第2の符号化プロセス又は第3の符号化プロセスによって符号化され、不完全にマッピングされたリードは、当該ミスマッチ数が閾値よりも大きいとき、第2の符号化プロセスによって符号化され、不完全にマッピングされたリードは、当該ミスマッチ数が閾値よりも小さいとき、第3の符号化プロセスによって符号化され、
-当該第2の符号化プロセスにおいて、リードの各ヌクレオチド又は塩基は、個別に符号化され、
-当該第1の符号化プロセス及び当該第3の符号化プロセスは、別個のセットの記述子を含み、各セットの記述子は、対応する符号化プロセスに関連付けられたリードを一意的に表示し、当該第1の符号化プロセス及び当該第3の符号化プロセスの各々は、情報ソースエントロピー低減の符号化プロセスである。
-各アラインメントされたリードについて、当該リードが当該参照配列で完全に若しくは不完全にマッピングされているかどうか、又は当該リードが当該参照配列でマッピングされていないかどうかを決定することと、
-当該決定によってリードを符号化することであって、完全にマッピングされていると決定されたリードは、第1の符号化プロセスによって符号化され、マッピングされていないと決定されたリードは、第2の符号化プロセスによって符号化される、符号化することと、を含み、
-決定する工程は、各不完全にマッピングされたリードについて、当該リードと当該参照配列との間のミスマッチ数を閾値と比較することを含み、
-符号化する工程において、不完全にマッピングされていると決定されたリードは、第2の符号化プロセス又は第3の符号化プロセスによって符号化され、不完全にマッピングされたリードは、当該ミスマッチ数が閾値よりも大きいとき、第2の符号化プロセスによって符号化され、不完全にマッピングされたリードは、当該ミスマッチ数が閾値よりも小さいとき、第3の符号化プロセスによって符号化され、
-当該第2の符号化プロセスにおいて、リードの各ヌクレオチド又は塩基は、個別に符号化され、
-当該第1の符号化プロセス及び当該第3の符号化プロセスは、別個のセットの記述子を含み、各セットの記述子は、対応する符号化プロセスに関連付けられたリードを一意的に表示し、当該第1の符号化プロセス及び当該第3の符号化プロセスの各々は、情報ソースエントロピー低減の符号化プロセスである。
本発明は、情報の喪失を引き起こさない一方で、高速の圧縮及び解凍を可能にすること、並びに高い圧縮比を提供することによって、従来の圧縮方法の欠点を克服する。より詳細には、本発明は、最も高頻度の事例を最もコンパクトな方法で符号化することに焦点を当てており、このことが、稀有な最も低頻度の事例について、低下させた符号化モードを採用することを意味する場合であってもそうである。このことは、圧縮性能の多大なる上昇につながる。更に、本発明において使用されるゲノム情報表示形式により、本発明による方法によって実行される圧縮はより高速となる。最後になったが、本発明による方法は、リードの初期順序をそのように保持し、リードのクラスによってリードを再順序付けしない。結果として、プロセスの間に情報が喪失されず、これにより、解凍工程後のより容易な下流解析と、効率的な整合性チェックが可能となる。
本発明のこれらの特徴及び利点並びに他の特徴及び利点は、添付の図面及び後続の発明を実施するための形態からより明らかとなるであろう。加えて、閾値は、本明細書では超過されているか又は超過されていないものであるとして称され得るが、このような閾値は、それらの閾値評価を実施するために使用される数字又は値が正又は負の値を使用して説明されているかどうかに関係なく、このような閾値が満たされるか、合致するか、又はそうでなければ検出されるかどうかを決定するように、概念的に採用することができることが理解される。
本開示の1つの革新的な態様に従って、ゲノム配列データを圧縮するための方法が開示される。一態様では、本方法は、1つ以上のコンピュータによるソフトウェア命令の実行を介した1つ以上の演算の実行を含むことができ、演算は、1つ以上のコンピュータによって、リード記録を取得することと、1つ以上のコンピュータによって、リード記録が、参照配列に対して完全にマッピングされているか又は参照配列に対して不完全にマッピングされているリードに相当するかどうかを、1つ以上のコンピュータによって、リード記録が参照配列に対して不完全にマッピングされたリードに相当すると決定することに基づいて決定することと、1つ以上のコンピュータによって、不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数を満たしているかどうかを決定することと、ミスマッチ数が所定のミスマッチ閾値数を満たしていると決定することに基づいて、1つ以上のコンピュータによって、不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することと、を含むことを含む。
他の態様は、コンピュータ可読記憶デバイス上に符号化された命令によって定義されるような、本明細書に開示されるような方法のアクションを実行するための、対応するシステム、装置、及びコンピュータプログラムを含む。
これらの及び他のバージョンは、任意選択で、以下の特徴のうちの1つ以上を含んでもよい。例えば、いくつかの実装形態では、1つ以上のコンピュータによって、不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数を満たすかどうかを決定することは、1つ以上のコンピュータによって、不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数よりも大きいかどうかを決定することを含むことができる。
いくつかの実装形態では、各リード記録は、参照配列に関してアラインメントされたリードの絶対開始位置を示すデータと、リードの長さを示すデータと、リードが完全にマッピングされたか又は不完全にマッピングされたかを示すデータと、リード内で特定されたミスマッチ数を示すデータと、リード内の当該可能なミスマッチの各々の相対的な位置を示すデータと、を含むことができる。
いくつかの実装形態では、不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することは、各特定のミスマッチについて、1つ以上のコンピュータによって、参照配列における対応する参照ヌクレオチド又は参照塩基の代わりに、リード内に存在する代替のヌクレオチド又は塩基を表示するデータを含むように、1バイトのうちの最初の2ビットを符号化することと、参照配列におけるミスマッチの位置を表示するデータを含むように、1バイトのうちの残りの6ビットを符号化することと、を含み、当該位置は、リードの先行ミスマッチからのオフセットとして計算される。
いくつかの実装形態では、本方法は更に、1つ以上のコンピュータによって、オフセットが最大符号化可能値よりも大きいかどうかを決定することと、オフセットが最大符号化値よりも大きいと決定することに基づいて、1つ以上のコンピュータによって、特定のミスマッチと先行ミスマッチとの間に少なくとも1個の偽ミスマッチを挿入することと、を含むことができる。
いくつかの実装形態では、本方法は更に、ミスマッチ数が所定のミスマッチ閾値数を満たしていないと決定することに基づいて、1つ以上のコンピュータによって、情報エントロピー低減の符号化プロセスを用いて、参照配列に対するミスマッチの各々の位置に対応する参照配列の位置のリストを符号化することを含むことができる。
いくつかの実装形態では、本方法は更に、リード記録が参照配列に完全にマッピングされたリードに相当すると決定することに基づいて、1つ以上のコンピュータによって、情報エントロピー低減の符号化を用いて、リード記録の少なくとも一部分を符号化することを更に含むことができる。
いくつかの実装形態では、1つ以上のコンピュータは、1つ以上のハードウェアプロセッサを含むことができる。
いくつかの実装形態では、1つ以上のハードウェアプロセッサは、1つ以上のフィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)を含むことができる。
いくつかの実装形態では、ゲノム配列データを圧縮するための方法は、1つ以上のハードウェアプロセッサによって実行することができる。このような実装形態では、ハードウェアプロセッサは、1つ以上の演算を実行するように構成されたハードウェア処理回路を含むことができる。一態様では、演算は、ハードウェア処理回路によって、リード記録を取得することと、ハードウェア処理回路によって、リード記録が、参照配列に対して完全にマッピングされているか又は参照配列に対して不完全にマッピングされているリードに相当するかどうかを決定することと、ハードウェア処理回路によって、リード記録が参照配列に対して不完全にマッピングされたリードに相当すると決定することに基づいて、1つ以上のコンピュータによって、不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数を満たしているかどうかを決定することと、ミスマッチ数が所定のミスマッチ閾値数を満たしていると決定することに基づいて、ハードウェア処理回路によって、不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することと、を含むことができる。
本発明のこれらの特徴及び利点並びに他の特徴及び利点は、添付の図面及び後続の発明を実施するための形態からより明らかとなるであろう。
いくつかの実装形態では、各リード記録は、参照配列に関してアラインメントされたリードの絶対開始位置を示すデータと、リードの長さを示すデータと、リードが完全にマッピングされたか又は不完全にマッピングされたかを示すデータと、リード内で特定されたミスマッチ数を示すデータと、リード内の当該可能なミスマッチの相対的な位置を示すデータと、を含むことができる。
いくつかの実装形態では、ハードウェア処理回路によって、不完全にマッピングされたリードのミスマッチ数が所定のミスマッチ閾値数を満たすかどうかを決定することは、ハードウェア処理回路によって、不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数よりも大きいかどうかを決定することを含むことができる。
いくつかの実装形態では、不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することは、各特定のミスマッチ符号化について、ハードウェア処理回路によって、参照配列における対応する参照ヌクレオチド又は参照塩基の代わりに、リード内に存在する代替のヌクレオチド又は塩基を表示するデータを含むように、1バイトのうちの最初の2ビットを符号化することと、参照配列におけるミスマッチの位置を表示するデータを含むように、1バイトのうちの残りの6ビットを符号化することと、を含むことができ、当該位置は、リードの先行ミスマッチからのオフセットとして計算される。
いくつかの実装形態では、ハードウェアプロセッサ回路は更に、1つ以上のハードウェア処理回路によって、オフセットが最大符号化可能値よりも大きいかどうかを決定することと、オフセットが最大符号化値よりも大きいと決定することに基づいて、ハードウェア処理回路によって、特定のミスマッチと先行ミスマッチとの間に少なくとも1個の偽ミスマッチを挿入することと、を含む演算を実行するように構成されている。
いくつかの実装形態では、ハードウェアプロセッサ回路は更に、ミスマッチ数が所定のミスマッチ閾値数を満たしていないと決定することに基づいて、ハードウェア処理回路によって、情報エントロピー低減の符号化プロセスを用いて、参照配列に対するミスマッチの各々の位置に対応する参照配列の位置のリストを符号化することを含む演算を実行するように構成されている。
いくつかの実装形態では、ハードウェアプロセッサ回路は更に、リード記録が参照配列に完全にマッピングされたリードに相当すると決定することに基づいて、ハードウェア処理回路によって、情報エントロピー低減の符号化を用いて、リード記録の少なくとも一部分を符号化することを含む演算を実行するように構成されている。
いくつかの実装形態では、ハードウェア処理回路は、1つ以上のフィールドプログラマブルゲートアレイ(FPGA)を含む。
本開示の別の革新的な態様によると、配列決定マシンによって生成されたゲノム配列データの圧縮のためのコンピュータ実装方法であって、当該ゲノム配列データは、参照配列に対してアラインメントされたヌクレオチド又は塩基の配列のリードを含み、それによって、アラインメントされたリードを作成し、当該アラインメントされたリードが、初期ファイル内のリードのリストとして記憶される、方法。一態様では、本方法は、アラインメントされた各リードについて、当該リードが、当該参照配列と完全にマッピングされているか若しくは不完全にマッピングされているか、又は当該リードが、当該参照配列でマッピングされていないかどうかを決定することと、当該決定によってリードを符号化することと、のアクションを含むことができ、完全にマッピングされていると決定されたリードは、第1の符号化プロセスによって符号化され、マッピングされていないと決定されたリードは、第2の符号化プロセスによって符号化され、決定する工程は、不完全にマッピングされた各リードについて、当該リードと当該参照配列との間のミスマッチ数を閾値と比較することを含み、符号化する工程において、不完全にマッピングされていると決定されたリードは、第2の符号化プロセス又は第3の符号化プロセスによって符号化され、当該ミスマッチ数が閾値よりも大きいとき、不完全にマッピングされたリードは、第2の符号化プロセスによって符号化され、当該ミスマッチ数が閾値よりも小さいとき、不完全にマッピングされたリードは、第3の符号化プロセスによって符号化され、当該第2の符号化プロセスでは、リードの各ヌクレオチド又は塩基は、個別に符号化され、当該第1の符号化プロセス及び当該第3の符号化プロセスは、別個のセットの記述子を含み、各セットの記述子は、対応する符号化プロセスに関連付けられたリードを一義的に表示し、当該第1の符号化プロセス及び当該第3の符号化プロセスの各々は、情報源エントロピー低減の符号化プロセスである。
他の態様は、コンピュータ可読記憶デバイス上に符号化された命令によって定義されるような、本明細書に開示されるような方法のアクションを実行するための、対応するシステム、装置、及びコンピュータプログラムを含む。
これらの及び他のバージョンは、任意選択で、以下の特徴のうちの1つ以上を含んでもよい。例えば、いくつかの実装形態では、決定する工程は、リードが参照配列で不完全にマッピングされていると決定され、閾値よりも小さいミスマッチ数を有するとき、リードが当該参照配列でグローバルマッピングされているか又はローカルマッピングされているかに関する更なる決定を含むことができ、第3の符号化プロセスは、第1の符号化サブプロセス及び第2の符号化サブプロセスを含み、グローバルマッピングされていると決定されたリードは、第1の符号化サブプロセスによって符号化され、ローカルマッピングされていると決定されたリードは、第2の符号化サブプロセスによって符号化され、当該第1の符号化サブプロセス及び当該第2の符号化サブプロセスは、別個のセットの記述子を含み、各セットの記述子は、対応する符号化サブプロセスに関連付けられたリードを一義的に表示する。
いくつかの実装形態では、当該第1の符号化サブプロセスの当該記述子は、参照配列におけるアラインメント開始位置と、リード長と、記号の置換によるミスマッチのリストと、を含むことができ、当該第2の符号化サブプロセスの当該記述子は、参照配列におけるローカルアラインメント開始位置と、リード長と、記号の置換によるミスマッチのリストと、アラインメントの一部ではないリードのクリップされた部分の長さと、を含む。
いくつかの実装形態では、符号化する工程において、第2の符号化サブプロセスによって符号化されることになるリードのクリップされた部分は、連結されており、当該クリップされた部分の各ヌクレオチド又は塩基は、個別に符号化される。
いくつかの実装形態では、符号化する工程において、不完全にマッピングされたリードの各ミスマッチは、1バイトへ符号化される。
いくつかの実装形態では、符号化する工程において、不完全にマッピングされたリードの各ミスマッチは、1バイトのうちの2つの最初のビットが、参照配列内の対応する参照ヌクレオチド又は参照塩基の代わりに、リード内に存在する代替のヌクレオチド又は塩基を符号化するために使用され、1バイトのうちの6つの最後のビットが、参照配列内のミスマッチの位置を符号化するために使用されて符号化され、当該位置は、リードの先行ミスマッチからのオフセットとして計算される。
いくつかの実装形態では、符号化する工程において、付与されたミスマッチと先行ミスマッチとの間で計算されたオフセットが最大符号化可能値よりも大きな場合、少なくとも1個の偽ミスマッチは、当該ミスマッチの各々と少なくとも1個の偽ミスマッチとの間のあらゆるオフセットが当該最大符号化可能値よりも低くなるまで当該2つのミスマッチ間に挿入され、偽ミスマッチは、ミスマッチを符号化するために、又は参照配列内の対応する参照ヌクレオチド若しくは参照塩基に等しいヌクレオチド若しくは塩基を符号化するために1バイトのうちのビットが使用されるミスマッチとして定義される。
いくつかの実装形態では、リードのリストをリードのブロックへと分割する初期工程は、各ブロックが、ブロックを解読するために必要とされる情報を含有するヘッダで始まり、当該圧縮方法は、ブロックごとに実行される。
いくつかの実装形態では、リードのブロックは、同じブロックサイズを有する。
いくつかの実装形態では、圧縮ファイルを提供する最終工程は、符号化されたリードのリストを含み、当該符号化されたリードは、初期ファイル内に記憶されたリードの順序と同じ順序で圧縮ファイル内に記憶される。
いくつかの実装形態では、当該閾値は、31に等しい。
いくつかの実装形態では、アラインメントされた各リードについて、当該リードが配列決定マシンがいかなる塩基又はヌクレオチドもコールすることができなかった場合に対応する、少なくとも1個のミスマッチを含むかどうかを決定する工程。
いくつかの実装形態では、配列決定マシンがいかなる塩基又はヌクレオチドもコールすることができなかった場合に対応する、少なくとも1個のミスマッチを含む各リードについて、このようなミスマッチ数を決定する工程、及び当該数を参照閾値と比較する工程。
いくつかの実装形態では、符号化する工程において、このようなミスマッチ数が参照閾値よりも大きい場合、第2の符号化プロセスによって符号化されることになるリードの各ヌクレオチド又は塩基は、4ビットへ個別に符号化され、このようなミスマッチ数が参照閾値よりも小さい場合、第2の符号化プロセスによって符号化されることになるリードの各ヌクレオチド又は塩基は、2ビットへ個別に符号化され、符号化する工程は、参照配列に沿った位置のリストを符号化することを更に含み、当該位置は、参照配列内のこのようなミスマッチの位置に対応する。
本発明において言及されるゲノム配列は、例えば、限定としてではないが、ヌクレオチド配列、デオキシリボ核酸(Deoxyribonucleic acid、DNA)配列、リボ核酸(Ribonucleic acid、RNA)、及びアミノ酸配列を含む。本明細書における説明は、ヌクレオチド配列の形態のゲノム情報に関してかなり詳細であるが、当業者によって理解されるように、いくつかの変形例があるものの、本発明による圧縮方法が、他のゲノム配列について実施することができることは理解されよう。
ゲノム配列決定情報は、定義されたボキャブラリからの文字列によって表されるヌクレオチド(又はより一般的には、塩基)の配列の形態で配列決定マシンによって生成される。最小のボキャブラリは、DNA中に存在する4つの種類のヌクレオチド、すなわち、アデニン、シトシン、グアニン、及びチミンを表す5つの記号(A、C、G、T、N)によって表される。RNAでは、チミンはウラシル(U)によって置き換えられている。Nは、配列決定マシンがいかなる塩基もコールすることができなかったことを示し、そのため、その位置の実体は決定されない。
配列決定マシンによって生成されたヌクレオチド配列は、「リード」と呼ばれる。配列リードは、数十から数千のヌクレオチド長であり得る。いくつかの技術は、配列リードを対にして生成し、対の1つのリードが1つのDNA鎖由来であり、第2のリードが他の鎖由来である。本開示の全体を通して、「参照配列」は、配列決定マシンによって生成されたヌクレオチド又は塩基配列をアラインメント/マッピングする任意の配列である。このような参照配列の一例は、実際には参照ゲノム、すなわち、遺伝子の種のセットの代表例として科学者によって組み立てられた配列であり得る。しかしながら、参照配列はまた、リードの更なる処理を考慮して、リードの圧縮性を単に改善するよう作られた合成配列からなる場合もある。配列決定マシンは、配列リードにエラーを導入し、特に、配列決定された試料中に実際に存在する核酸又は塩基を表すために(すなわち、異なる核酸を表す)誤った記号の使用を導入する可能性がある。これは通常、置換エラー又は「ミスマッチ」と呼ばれる。
本発明は、入力としてヌクレオチド又は塩基の配列のリードを受信する参照ベースの圧縮方法であり、このようなリードは、参照配列に既にアラインメントされることによってアラインメントされたリードを作成する。次いで、アラインメントされたリードは、初期ファイル内のリードのリストとして記憶される。リードをアラインメントし、いったんアラインメントされればリードを初期ファイル内に記憶する方法は、本発明にとって重要ではなく、本開示の目的ではない。次いで、各リードは、参照配列上の位置及び当該参照配列との差異のリストとして符号化される。次いで、各リードは、本発明により構成された適切な解凍ソフトウェアによって、アラインメント符号化情報及び参照配列から再構成することができる。
好ましくは、リードを圧縮ソフトウェア及び装置に入力として提供する前に、リードを処理し、リードを参照配列に整列させるアライメントソフトウェアは、例えば、挿入エラー又は欠失エラーなど、配列リードにおいて導入された特定のタイプのエラーを考慮しない。挿入エラーは、実際に存在するいかなる核酸も指すものではない1つ以上の追加の記号の1つの配列リードにおける挿入にある。欠失エラーは、配列決定された試料中に実際に存在する核酸を表す1つ以上の記号からなる1つ以上の配列リードからの欠失にある。より正確には、付与された配列リード内の挿入エラー又は欠失エラーの場合、アラインメントソフトウェアは、結果として生じる誤った核酸を、「ミスマッチ」とも呼ばれる置換エラーとみなすこととなる。アラインメントソフトウェア構成についてのこの優先的選択によって、より迅速な後続のコード化が可能となり、速度と圧縮比との間のより良好な妥協点を提供する。
アラインメントソフトウェアは、各リードに対して、対応するリード記録を圧縮ソフトウェア及び装置に提供する。各リード記録は、少なくとも以下の情報:参照配列に関するアラインメントされたリードの絶対開始位置、リードの長さ、リードのアラインメントのタイプ、リード内で特定されたミスマッチ数、及びリード内の当該可能なミスマッチの相対的な位置(必要に応じて)などを含有する。
ここで、本発明による圧縮方法を図1を参照して説明する。方法は、例えば、図2に示される装置20によって実行される。装置は、コンピューティングデバイスを形成するために、少なくとも1つのプロセッサ22と、プロセッサ22に動作可能に連結された1つのメモリ24と、を備える。メモリ24は、コンピュータ実行可能命令を含むコンピュータプログラムコード又はソフトウェア26を記憶してもよく、コンピュータ実行可能命令は、プロセッサ22によって実行されると、プロセッサ22に、本発明による圧縮方法の工程を含む動作を実行させる。
アラインメントされたリードがリードのリストとして記憶される初期ファイルは、例えば、装置20のメモリに記憶される。図1に戻ると、方法は、好ましくは、アラインメントされたリードの初期リストをリードのブロックに分割する初期工程2を含む。典型的には、アラインメントされたリードのリストは、50,000個のリードのブロックに分割され、この特定の値は、他の値と同じように適用され得る本発明の範囲を限定するものとして解釈されるものではない。好ましくは、リードのブロックは、同じブロックサイズを有する。リードの各ブロックは、例えば、ブロックの内容のバイトのサイズ、及び/又はブロック若しくはその内容の識別子、及び/又はブロックに含有されるリードの数など、ブロックを復号するために必要な情報を含有するヘッダで開始する。これにより、圧縮ファイルの連結のための支持、及びストリーミング能力(リードの各ブロックが、ブロックのリードを復号するために必要なすべての情報を含有する)が可能となる。そのほか、圧縮方法は次いで、何ブロックも実行することができるので、これにより、リードのブロックにおけるマルチスレッド処理も可能となり、それによって、処理時間における並列化及び結果として生じるいくらかの利得が可能となる。与えられたブロックのすべてのリードが同じ長さを有する場合、リード長もまたヘッダ内に記憶され、そうでなければ、各リード長のリストは、圧縮方法の間に明示的に記憶される。
各リード記録は、リードのアラインメントのタイプについての情報を含有する。典型的には、2つの主要なタイプのアラインメント、すなわち、完全なアラインメント及び不完全なアラインメント、並びに「マッピングされていない」リードに対応する追加のタイプを特定することができる。「不完全なアラインメント」とは、リードがN以外の少なくとも1つのミスマッチを含む一方で、リードの少なくとも一部が参照配列の一部と一致することを意味する(この定義によれば、不完全にマッピングされたリードは、1つ以上の他のミスマッチもまた含有する場合、1つ以上のNを含有し得る)。例示的な実施形態では、各リード記録は、以下のビットフラグから始まり、各ビットフラグは、2つの可能な値の間の1つの値を有する:
-参照配列に対する順向き又は逆向きを示す第1のビットフラグ、
-完全なアラインメントか又はそうでないかを示す第2のビットフラグ、
-リードが少なくとも1個のNを含有するかどうかを示す第3のビットフラグ、
-位置情報が16ビット又は32ビットで符号化されているかどうかを示す第4のビットフラグ。
-参照配列に対する順向き又は逆向きを示す第1のビットフラグ、
-完全なアラインメントか又はそうでないかを示す第2のビットフラグ、
-リードが少なくとも1個のNを含有するかどうかを示す第3のビットフラグ、
-位置情報が16ビット又は32ビットで符号化されているかどうかを示す第4のビットフラグ。
以下の工程4~12は、リードのブロックに対して次々と実行され、ブロック内のリードに対して次々と実行される。
方法は、各アラインメントされたリードに対して、当該リードが参照配列で完全にマッピングされているか若しくは不完全にマッピングされているかどうか、又は当該リードが参照配列でマッピングされていないかどうかを決定する次の工程4を含む。この決定する工程4は、不完全にマッピングされた各リードについて、当該リードと参照配列との間のミスマッチ数を閾値と比較すること(4A)を含むことができる。好ましい実施形態では、本発明の範囲を限定するものとして解釈されるべきではないが、当該閾値は31に等しい。この特定値は、工程12に関して後により良く理解されるように、十分にコンパクトにミスマッチ数を記憶するために、最良の可能な妥協点を提供するように意図的に選択されている。実際、大部分の事例では、不完全にマッピングされたリードが31個未満のミスマッチを有することが統計的に観察されている。その選択の背後にある原理は、最もコンパクトな方法で、いくらか非常に少数の低下させた事例を有したままである最も高頻度の事例を符号化することにある。リードが、閾値よりも小さいミスマッチ数で不完全にマッピングされていると決定された場合、決定する工程4はまた、リードが、参照配列でグローバルマッピングされているか又はローカルマッピングされているかに関する更なる決定を含む。「グローバルマッピングされたリード」とは、リードの開始及び終止を含む配列全体が、参照配列で不完全にマッピングされている、不完全にマッピングされたリードである。「ローカルマッピングされたリード」とは、参照配列で不完全にマッピングされたヌクレオチド又は塩基のセグメントを含有する、不完全にマッピングされたリードである。したがって、ヌクレオチド又は塩基の当該セグメントは、最初のリードの一部に相当する。
好ましくは、方法は、各アラインメントされたリードについて、当該リードが少なくとも1個のNを含むかどうか、すなわち、当該リードが、配列決定マシンがいかなる塩基又はヌクレオチドもコールすることができなかった事例に相当する少なくとも1個のミスマッチを含むかどうかを決定する工程6を更に含む。次いで、本方法は、少なくとも1個のNを含む各リードについて、このようなNミスマッチの数を決定する工程8と、Nミスマッチの当該数を参照閾値と比較する工程10と、を含む。好ましい実施形態では、本発明の範囲を限定するものとして解釈されるべきではないが、当該参照閾値は31に等しい。
決定する工程4の結果が何であれ、本方法は、少なくとも当該決定によってリードを符号化する次の工程12を含む。より正確には、参照配列で完全にマッピングされていると決定されたリードは、Nを含まないにせよ、又は参照閾値よりも小さいNの数を有するにせよ、第1の符号化プロセスによって符号化される。マッピングされていないと決定されたリード、又は完全にマッピングされていると決定されているが、参照閾値よりも大きいNの数を有するリードは、各ヌクレオチド又は塩基が個々に符号化される第2の符号化プロセスによって、当該ヌクレオチド又は塩基がアラインメントされているか又はアラインメントされていないかにかかわらず、符号化される。不完全にマッピングされていると決定されたリードは、第2の符号化プロセス又は第3の符号化プロセスによって符号化される。より正確には、閾値よりも大きいミスマッチ数で不完全にマッピングされていると決定されたリードは、第2の符号化プロセスによって符号化される。リードが、閾値よりも小さいミスマッチ数で不完全にマッピングされていると決定された場合、当該リードがNを含まないか又は参照閾値よりも小さいNの数を有する場合、当該リードは、第3の符号化プロセスによって符号化される。そうでない場合、すなわち、リードが参照閾値よりも大きいNの数を有する場合、当該リードは、第2の符号化プロセスによって符号化される。
与えられたリードが完全にマッピングされている、不完全にマッピングされている、又はマッピングされていないと決定されるにせよ、当該リードが少なくとも1個のNを含むが、参照閾値よりも小さいNの数を有する場合、符号化する工程12は、参照配列に沿った位置のリストを符号化することを含み、当該位置は、参照配列内のNの位置に対応する。次いで、位置のリストは、コンピューティングデバイスのメモリ内に記憶され、当該デバイスは、圧縮方法を実装する。リードが少なくとも1個のNを含むが、参照閾値よりも小さいNの数を有し、第2の符号化プロセスによって符号化されることになる場合、リードの各ヌクレオチド又は塩基は、2ビットで個別に符号化される。
リードが少なくとも1個のNを含むが、参照閾値よりも大きいNの数を有する場合、当該リードは、いずれの事例においても、第2の符号化プロセスによって符号化され、リードの各ヌクレオチド又は塩基は、4ビットで個別に符号化される。この場合、符号化する工程12は、参照配列内のNの位置のリストを符号化し、記憶することを含まない。実際、各Nミスマッチは、リードの他のヌクレオチド又は塩基と非常に同じ方法で、第2の符号化プロセスによって直接符号化される。
第1の符号化プロセス及び第3の符号化プロセスは、別個のセットの記述子を含む。各セットの記述子は、対応する符号化プロセスに関連付けられたリードを一意的に表示し、第1の符号化プロセス及び第3の符号化プロセスの各々は、情報エントロピー低減の符号化プロセスである。より正確には、第3の符号化プロセスは、第1の符号化サブプロセスと、第2のコード化サブプロセスと、を含む。工程4の間にグローバルマッピングされていると決定された不完全にマッピングされたリードは、第1の符号化サブプロセスによって符号化される。工程4の間にローカルマッピングされていると決定された不完全にマッピングされたリードは、第2の符号化サブプロセスによって符号化される。第1の符号化サブプロセス及び第2の符号化サブプロセスは、別個のセットの記述子を含み、各セットの記述子は、対応する符号化サブプロセスに関連付けられたリードを一意的に表示する。
各リードについて符号化し、リード配列全体の再構成をデータの解凍の間に可能にするアラインメント情報は次いで、当該リードについて使用される対応する符号化プロセス又はサブプロセスに依存する。例えば、第1の符号化プロセスに使用される記述子は、
○ 16ビット又は32ビットで符号化された)参照配列に関して完全にマッピングされたリードの絶対開始位置と、
○ (2ビット~34ビットの範囲の可変長コードを有する、先行リードの長さに対して差分コード化で符号化された)リードの長さと、
であり得る。
○ 16ビット又は32ビットで符号化された)参照配列に関して完全にマッピングされたリードの絶対開始位置と、
○ (2ビット~34ビットの範囲の可変長コードを有する、先行リードの長さに対して差分コード化で符号化された)リードの長さと、
であり得る。
第1の符号化サブプロセスに使用される記述子は、
○ (16ビット又は32ビットで符号化された)参照配列に関して不完全にマッピングされたリードの絶対開始位置と、
○ (2ビット~34ビットの範囲の可変長コードを有する、先行リードの長さに対して差分コード化で符号化された)リードの長さと、
○ リードのミスマッチのリストと、
であり得る。
○ (16ビット又は32ビットで符号化された)参照配列に関して不完全にマッピングされたリードの絶対開始位置と、
○ (2ビット~34ビットの範囲の可変長コードを有する、先行リードの長さに対して差分コード化で符号化された)リードの長さと、
○ リードのミスマッチのリストと、
であり得る。
第2の符号化サブプロセスに使用される記述子は、
○ (16ビット又は32ビットで符号化された)、ローカルアラインメント開始位置とも称する、参照配列に関してリードの不完全にマッピングされた部分の絶対開始位置と、
○ (2ビット~34ビットの範囲の可変長コードを有する、先行リードの長さに対して差分コード化で符号化された)リードの長さと、
○ リードのミスマッチのリストと、
○ (各クリップされた部分について8ビットで符号化された)アラインメントの一部ではないリードのクリップされた部分の長さと、
であり得る。
○ (16ビット又は32ビットで符号化された)、ローカルアラインメント開始位置とも称する、参照配列に関してリードの不完全にマッピングされた部分の絶対開始位置と、
○ (2ビット~34ビットの範囲の可変長コードを有する、先行リードの長さに対して差分コード化で符号化された)リードの長さと、
○ リードのミスマッチのリストと、
○ (各クリップされた部分について8ビットで符号化された)アラインメントの一部ではないリードのクリップされた部分の長さと、
であり得る。
好ましくは、第1及び第2のサブプロセスで符号化されたミスマッチのリストは、ヘッダ(1バイトで符号化されたビットフラグ)を含む。1バイトのうちの5つの最初のビットを使用して、リードに含まれるミスマッチの数を符号化する(閾値が31に等しい好ましい実施形態において、当該数は[0~31]の範囲内である)。その後、1つのビットを使用して、不完全にマッピングされたリードがグローバルマッピングされているか又はローカルマッピングされているかを符号化することができる。別のビットを使用して、2ビットモードが第2の符号化プロセスについて有効化されているかどうかを符号化することができる。最後のビットを使用して、4ビットモードが第2の符号化プロセスについて有効化されているかどうかを符号化することができる。好ましくは、符号化する工程12の間に第2の符号化サブプロセスにより符号化される各リードについて、当該リードのクリップされた部分(すなわち、ローカルアラインメントの一部ではない部分)が連結され、当該クリップされた部分の各ヌクレオチド又は塩基は、個別に符号化される。好ましい実装形態では、リードのこのようなクリップされた部分の各ヌクレオチド又は塩基は、2ビットで個別に符号化される。
好ましい実装形態では、不完全にマッピングされたリードのミスマッチのリストにおいて符号化された(すなわち、第1の符号化サブプロセス又は第2の符号化サブプロセスによって符号化された)各ミスマッチは、1バイトで符号化される。より正確には、第1の符号化サブプロセス又は第2の符号化サブプロセスによって符号化されることになる不完全にマッピングされたリードの各ミスマッチは、以下のように符号化されてもよい。
○ 1バイトのうちの2つの最初のビットが、参照配列内の対応する参照ヌクレオチド又は参照塩基の代わりに、リード内に存在する代替のヌクレオチド又は塩基を符号化するために使用され、
○ 6つの最後のビットが、参照配列におけるミスマッチの位置を符号化するために使用され、当該位置は、リードの先行ミスマッチからのオフセットとして計算される(絶対位置が符号化されるリードの第1のミスマッチを除く、ミスマッチの相対位置)。それゆえ、6ビットで符号化されたこのオフセットの範囲は、[0~63]である。
○ 1バイトのうちの2つの最初のビットが、参照配列内の対応する参照ヌクレオチド又は参照塩基の代わりに、リード内に存在する代替のヌクレオチド又は塩基を符号化するために使用され、
○ 6つの最後のビットが、参照配列におけるミスマッチの位置を符号化するために使用され、当該位置は、リードの先行ミスマッチからのオフセットとして計算される(絶対位置が符号化されるリードの第1のミスマッチを除く、ミスマッチの相対位置)。それゆえ、6ビットで符号化されたこのオフセットの範囲は、[0~63]である。
図3は、第1の符号化サブプロセスによるリードのミスマッチの符号化の例を提供する。このリードは、参照配列でグローバルマッピングされた、不完全にマッピングされたリードである。このリードは、2つのミスマッチ、
○ リード内のTヌクレオチドによる参照配列内のAヌクレオチドの置換にある、リード内の12番目の位置に配置された第1のミスマッチと、
○ リード内のGヌクレオチドによる参照配列内のCヌクレオチドの置換にある、リード内の21番目の位置に配置された第2のミスマッチと、
を有する。
○ リード内のTヌクレオチドによる参照配列内のAヌクレオチドの置換にある、リード内の12番目の位置に配置された第1のミスマッチと、
○ リード内のGヌクレオチドによる参照配列内のCヌクレオチドの置換にある、リード内の21番目の位置に配置された第2のミスマッチと、
を有する。
次いで、リードのミスマッチのリストは、
○ <12,T>、つまりリード内の第1のミスマッチの絶対位置に対応する値「12」、及び
○ <9,G>、つまりリード内の第2のミスマッチの相対位置に対応する値「9」、すなわち第2のミスマッチと第1のミスマッチとの間のオフセット、
として符号化される。
○ <12,T>、つまりリード内の第1のミスマッチの絶対位置に対応する値「12」、及び
○ <9,G>、つまりリード内の第2のミスマッチの相対位置に対応する値「9」、すなわち第2のミスマッチと第1のミスマッチとの間のオフセット、
として符号化される。
<12,T>は、例えば、(1バイトで符号化された)値「51」へと変換されてもよく、<9,G>は、(1バイトで符号化された)値「38」へと変換されてもよい。このような1バイト符号化は、
オフセット位置×4+ヌクレオチド値(A=0、C=1、G=2、T=3)
により取得される。
オフセット位置×4+ヌクレオチド値(A=0、C=1、G=2、T=3)
により取得される。
好ましくは、第1の符号化サブプロセス又は第2の符号化サブプロセスによって符号化される各不完全にマッピングされたリードについて、リードの与えられたミスマッチと先行ミスマッチとの間で計算されたオフセットが、最大符号化可能値よりも大きな場合、当該2つのミスマッチの各々と少なくとも1個の「偽」ミスマッチ」との間のあらゆるオフセットが当該最大符号化可能値よりも低くなるまで、当該2つのミスマッチ間に少なくとも1個の「偽」ミスマッチが挿入される。「偽」ミスマッチは、ミスマッチを符号化するために使用されるバイトのビットが、参照配列中の対応する参照ヌクレオチド又は塩基に等しいヌクレオチド又は塩基を符号化するミスマッチとして定義される。好ましい実施形態では、本発明の範囲を限定するものとして解釈されるべきではないが、最大符号化可能値は、63に等しく、6ビットで符号化可能な最大値に対応する。
図4は、「偽」ミスマッチを挿入する必要がある事例における、第1の符号化サブプロセスによるリードのミスマッチの符号化の例を提供する。このリードは、参照配列でグローバルマッピングされた、不完全にマッピングされたリードである。このリードは、2つのミスマッチ、
○ リード内のTヌクレオチドによる参照配列内のAヌクレオチドの置換にある、リード内の22番目の位置に配置された第1のミスマッチと、
○ リード内のGヌクレオチドによる参照配列内のCヌクレオチドの置換にある、リード内の134番目の位置に配置された第2のミスマッチと、
を有する。
○ リード内のTヌクレオチドによる参照配列内のAヌクレオチドの置換にある、リード内の22番目の位置に配置された第1のミスマッチと、
○ リード内のGヌクレオチドによる参照配列内のCヌクレオチドの置換にある、リード内の134番目の位置に配置された第2のミスマッチと、
を有する。
第2のミスマッチと第1のミスマッチとの間の位置オフセットは、112であり、これは、63という最大符号化可能値よりも大きい。それゆえ、「偽」ミスマッチは、2つのミスマッチ間に挿入される必要があり、それにより、ミスマッチの各々と「偽」ミスマッチとの間のあらゆるオフセットは、当該最大符号化可能値よりも小さい。Tヌクレオチド(参照配列内の「実際の」Tヌクレオチドに相当)を用いる「偽」ミスマッチは、例えば、リード内の85番目の位置に挿入される。「偽」ミスマッチと第1のミスマッチとの間で計算された位置オフセットは、最大符号化可能値に相当する63である。第2のミスマッチと「偽」ミスマッチとの間で計算された位置オフセットは、49であり、これは63よりも小さい。
次いで、リードのミスマッチのリストは、
○ <22,T>、つまりリード内の第1のミスマッチの絶対位置に対応する値「22」、
○ <63,T>、つまりリード内の「偽」ミスマッチの相対位置に対応する値「63」、すなわち「偽」ミスマッチと第1のミスマッチとの間のオフセット、及び
○ <49,G>、つまりリード内の第2のミスマッチの相対位置に対応する値「49」、すなわち第2のミスマッチと「偽」ミスマッチとの間のオフセット、
として符号化される。
○ <22,T>、つまりリード内の第1のミスマッチの絶対位置に対応する値「22」、
○ <63,T>、つまりリード内の「偽」ミスマッチの相対位置に対応する値「63」、すなわち「偽」ミスマッチと第1のミスマッチとの間のオフセット、及び
○ <49,G>、つまりリード内の第2のミスマッチの相対位置に対応する値「49」、すなわち第2のミスマッチと「偽」ミスマッチとの間のオフセット、
として符号化される。
<22,T>は、例えば、(1バイトで符号化された)値「91」へと変換されてもよく、<63,T>は、(1バイトで符号化された)値「255」へと変換されてもよく、<49,G>は、(1バイトで符号化された)値「198」へと変換されてもよい。このような1バイト符号化は、
オフセット位置×4+ヌクレオチド値(A=0、C=1、G=2、T=3)
により取得される。
オフセット位置×4+ヌクレオチド値(A=0、C=1、G=2、T=3)
により取得される。
本方法は、符号化されたリードのリストを含む圧縮ファイルを提供する最終工程14を含む。符号化されたリードは、初期非圧縮ファイル内に記憶されたリードと同じ順序で圧縮ファイル内に記憶される。次いで、各リードは、本発明により構成された適切な解凍ソフトウェア及び/又は方法によって、アラインメント符号化情報及び参照配列から再構成することができる。
(例示目的のために図2に示した)コンピューティングデバイス20の例示的なアーキテクチャに関して説明したが、本明細書で開示される本発明の技術は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて実装されてもよい。ソフトウェア内に実装されるとき、コンピュータプログラムコードは、コンピュータ媒体に記憶され、図2のデバイス20を用いる場合のように、1つ以上のプロセッサを含むハードウェア処理ユニットによって実行されてもよい。本明細書で使用する場合、「プロセッサ」という用語は、信号プロセッサ、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又は他のタイプの処理回路、及びこのような回路要素の部分又は組み合わせを含む、1つ以上の処理デバイスを含むことを意図するものと理解すべきである。また、本明細書で使用される場合の「メモリ」という用語は、ランダムアクセスメモリ(random access memory、RAM)、読み出し専用メモリ(read-only memory、ROM)、又は他のタイプのメモリなどの、プロセッサに関連付けられた電子メモリを任意の組み合わせで含むことを意図している。
したがって、本明細書に説明する方法論及びプロトコルを実行するためのソフトウェア命令又はコードは、関連付けられたメモリデバイス、例えば、ROM、固定式又は取り外し可能なメモリのうちの1つ以上に記憶され得、利用される準備ができたときに、RAM内にロードされて、プロセッサによって実行され得る。
本開示の技術は、例えば、携帯電話、コンピュータ、サーバ、タブレット、及び同様のデバイスを含む、広範な種々のデバイス又は装置内に実装され得る。
本発明の例示的な実施形態は、添付の図面を参照して本明細書で説明されてきたが、本発明は、当該図面の精確な実施形態に限定されず、様々な他の変更及び修正が、本発明の範囲又は趣旨から逸脱することなく、当業者によって行われ得ると理解するものとする。
本発明による圧縮方法の統計的及び数値的な例
以下の比較例は、ヌクレオチドの4800万個のリード又は配列を含有する非圧縮データファイルに関して実行された。
○ 非圧縮データファイルのサイズ:35,770MB(メガバイト)
○ gzipソフトウェアで圧縮されたファイルのサイズ:6,649MB
○ 非参照ベースのSPRINGソフトウェアで圧縮されたファイルのサイズ:1,402MB
○ 本発明による参照ベースの圧縮方法で圧縮されたファイルのサイズ:1,179MB
○ 非参照ベースのSPRINGソフトウェアでの圧縮時間:1,722秒
○ 本発明による参照ベースの圧縮方法での圧縮時間:181秒
○ 非圧縮データファイル(ASCII符号化)のビット/ヌクレオチドの平均サイズ:8ビット/ヌクレオチド
○ 4つの可能な文字A、T、C、Gに適合したコーディングで圧縮されたファイルのビット/ヌクレオチドの平均サイズ:2ビット/ヌクレオチド
○ 本発明による参照ベースの圧縮方法で圧縮されたファイルのビット/ヌクレオチドの平均サイズ:0.33ビット/ヌクレオチド
以下の比較例は、ヌクレオチドの4800万個のリード又は配列を含有する非圧縮データファイルに関して実行された。
○ 非圧縮データファイルのサイズ:35,770MB(メガバイト)
○ gzipソフトウェアで圧縮されたファイルのサイズ:6,649MB
○ 非参照ベースのSPRINGソフトウェアで圧縮されたファイルのサイズ:1,402MB
○ 本発明による参照ベースの圧縮方法で圧縮されたファイルのサイズ:1,179MB
○ 非参照ベースのSPRINGソフトウェアでの圧縮時間:1,722秒
○ 本発明による参照ベースの圧縮方法での圧縮時間:181秒
○ 非圧縮データファイル(ASCII符号化)のビット/ヌクレオチドの平均サイズ:8ビット/ヌクレオチド
○ 4つの可能な文字A、T、C、Gに適合したコーディングで圧縮されたファイルのビット/ヌクレオチドの平均サイズ:2ビット/ヌクレオチド
○ 本発明による参照ベースの圧縮方法で圧縮されたファイルのビット/ヌクレオチドの平均サイズ:0.33ビット/ヌクレオチド
先に示した数値の例は、本発明が、高い圧縮比を提供しながら、高速の圧縮及び解凍を可能にすることを示している。
Claims (48)
- 配列決定マシンによって生成されたゲノム配列データの圧縮のためのコンピュータ実装方法であって、前記ゲノム配列データは、参照配列に対してアラインメントされたヌクレオチド又は塩基の配列のリードを含み、それによって、アラインメントされたリードを作成し、前記アラインメントされたリードが、初期ファイル内のリードのリストとして記憶される、方法であって、前記方法は、
各アラインメントされたリードについて、前記リードが、前記参照配列で完全に若しくは不完全にマッピングされているかどうか、又は前記リードが、前記参照配列でマッピングされていないかどうかを決定することと、
前記決定によって前記リードを符号化することであって、完全にマッピングされていると決定された前記リードが、第1の符号化プロセスによって符号化され、前記マッピングされていないと決定されたリードが、第2の符号化プロセスによって符号化される、符号化することと、を含み、
前記決定する工程は、各不完全にマッピングされたリードについて、前記リードと前記参照配列との間のミスマッチ数を閾値と比較することを含み、
前記符号化する工程において、前記不完全にマッピングされていると決定されたリードは、前記第2の符号化プロセス又は第3の符号化プロセスによって符号化され、前記不完全にマッピングされたリードは、前記ミスマッチ数が前記閾値よりも大きいとき、前記第2の符号化プロセスによって符号化され、前記不完全にマッピングされたリードは、前記ミスマッチ数が閾値よりも小さいとき、前記第3の符号化プロセスによって符号化され、
前記第2の符号化プロセスにおいて、前記リードの各ヌクレオチド又は塩基は、個別に符号化され、
前記第1の符号化プロセス及び前記第3の符号化プロセスは、別個のセットの記述子を含み、各セットの記述子は、前記対応する符号化プロセスに関連付けられたリードを一意的に表示し、前記第1の符号化プロセス及び前記第3の符号化プロセスの各々は、情報ソースエントロピー低減の符号化プロセスである、方法。 - 前記決定する工程は、リードが参照配列で不完全にマッピングされていると決定され、前記閾値よりも小さいミスマッチ数を有するとき、前記リードが前記参照配列でグローバルマッピングされているか又はローカルマッピングされているかに関する更なる決定を含み、前記第3の符号化プロセスは、第1の符号化サブプロセス及び第2の符号化サブプロセスを含み、前記グローバルマッピングされていると決定されたリードは、前記第1の符号化サブプロセスによって符号化され、前記ローカルマッピングされていると決定されたリードは、前記第2の符号化サブプロセスによって符号化され、前記第1の符号化サブプロセス及び前記第2の符号化サブプロセスは、別個のセットの記述子を含み、各セットの記述子は、前記対応する符号化サブプロセスに関連付けられたリードを一義的に表示する、請求項1に記載の方法。
- 前記第1の符号化サブプロセスの前記記述子は、前記参照配列におけるアラインメント開始位置と、リード長と、記号の置換によるミスマッチのリストと、を含み、前記第2の符号化サブプロセスの前記記述子は、前記参照配列におけるローカルアラインメント開始位置と、リード長と、記号の置換によるミスマッチのリストと、アラインメントの一部ではない前記リードのクリップされた部分の長さと、を含む、請求項2に記載の方法。
- 前記符号化する工程において、前記第2の符号化サブプロセスによって符号化されることになる、前記リードのクリップされた部分は、連結されており、前記クリップされた部分の各ヌクレオチド又は塩基は、個別に符号化される、請求項3に記載の方法。
- 前記符号化する工程において、不完全にマッピングされたリードの各ミスマッチは、1バイトへ符号化される、請求項1~4のいずれか一項に記載の方法。
- 前記符号化する工程において、不完全にマッピングされたリードの各ミスマッチは、
・前記1バイトのうちの2つの最初のビットが、前記参照配列内の対応する参照ヌクレオチド又は参照塩基の代わりに、前記リード中に存在する代替のヌクレオチド又は塩基を符号化するために使用され、
・前記1バイトのうちの6つの最後のビットを使用して、前記参照配列内の前記ミスマッチの位置を符号化し、前記位置が、前記リードの先行ミスマッチからのオフセットとして計算されて、符号化される、請求項5に記載の方法。 - 前記符号化する工程において、与えられたミスマッチと前記先行ミスマッチとの間で計算された前記オフセットが、最大符号化可能値よりも大きい場合、少なくとも1個の偽ミスマッチは、前記ミスマッチの各々と前記少なくとも1個の偽ミスマッチとの間のあらゆるオフセットが前記最大符号化可能値よりも小さくなるまで前記2つのミスマッチ間に挿入され、偽ミスマッチは、前記ミスマッチを符号化するために、又は前記参照配列内の前記対応する参照ヌクレオチド若しくは参照塩基に等しいヌクレオチド若しくは塩基を符号化するために前記1バイトのうちのビットが使用されるミスマッチとして定義される、請求項6に記載の方法。
- 各ブロックが、前記ブロックを解読するために必要とされる情報を含有するヘッダで始まる、前記リードのリストをリードのブロックへと分割する初期工程を更に含み、前記圧縮方法は、ブロックごとに実行される、請求項1~7のいずれか一項に記載の方法。
- 前記リードのブロックは、同じブロックサイズを有する、請求項8に記載の方法。
- 符号化されたリードのリストを含む圧縮ファイルを提供する最終工程を更に含み、前記符号化されたリードは、前記初期ファイル内に記憶された前記リードの順序と同じ順序で前記圧縮ファイル内に記憶される、請求項1~9のいずれか一項に記載の方法。
- 前記閾値は、31に等しい、請求項1~10のいずれか一項に記載の方法。
- アラインメントされた各リードについて、前記リードが、前記配列決定マシンがいかなる塩基又はヌクレオチドもコールすることができなかった場合に対応する少なくとも1個のミスマッチを含むかどうかを決定する工程を更に含む、請求項1~11のいずれか一項に記載の方法。
- 前記配列決定マシンがいかなる塩基又はヌクレオチドもコールすることができなかった場合に対応する少なくとも1個のミスマッチを含む各リードについて、このようなミスマッチの数を決定する工程と、前記数を参照閾値と比較する工程と、を更に含む、請求項12に記載の方法。
- 前記符号化する工程において、このようなミスマッチの前記数が前記参照閾値よりも大きい場合、前記第2の符号化プロセスによって符号化されることになるリードの各ヌクレオチド又は塩基は、4ビットへ個別に符号化され、前記このようなミスマッチ数が前記参照閾値よりも小さい場合、前記第2の符号化プロセスによって符号化されることになるリードの各ヌクレオチド又は塩基は、2ビットへ個別に符号化され、前記符号化する工程は、前記参照配列に沿った位置のリストを符号化することを更に含み、前記位置は、前記参照配列内のこのようなミスマッチの位置に相当する、請求項13に記載の方法。
- コンピュータ可読記憶媒体で具現化されたコンピュータプログラム製品であって、前記コンピュータプログラム製品は、プロセッサによって実行されると、前記プロセッサに、請求項1~14のいずれか一項に記載の方法の工程を含む演算を実行させるコンピュータ実行可能命令を含む、コンピュータプログラム製品。
- プロセッサによって実行されると、前記プロセッサに、請求項1~14のいずれか一項に記載の方法の工程を含む演算を実行させるコンピュータ実行可能命令を有する、コンピュータ可読記憶媒体。
- 装置であって、
プロセッサと、
前記プロセッサに動作可能に連結されてコンピューティングデバイスを形成するメモリであって、前記メモリが、少なくとも前記プロセッサ上で実行されることに基づいて、前記プロセッサに、請求項1に記載の方法の工程を含む演算を実行させる、プロセッサ実行可能命令を記憶する、メモリと、を備える、装置。 - ゲノム配列データを圧縮するための方法であって、前記方法は、
1つ以上のコンピュータによって、リード記録を取得することと、
前記1つ以上のコンピュータによって、前記リード記録が、参照配列に完全にマッピングされたか又は前記参照配列に不完全にマッピングされたリードに相当するかどうかを決定することと、
前記1つ以上のコンピュータによって、前記リード記録が前記参照配列に不完全にマッピングされたリードに相当すると決定することに基づいて、前記1つ以上のコンピュータによって、前記不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数を満たすかどうかを決定することと、
前記ミスマッチ数が、前記所定のミスマッチ閾値数を満たすと決定することに基づいて、前記1つ以上のコンピュータによって、前記不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することと、を含む、方法。 - 前記1つ以上のコンピュータによって、前記不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数を満たすかどうかを決定することは、
前記1つ以上のコンピュータによって、前記不完全にマッピングされたリードの前記ミスマッチ数が、前記所定のミスマッチ閾値数よりも大きいかどうかを決定することを含む、請求項18に記載の方法。 - 各リード記録は、
前記参照配列に関してアラインメントされたリードの絶対開始位置を示すデータと、
前記リードの長さを示すデータと、
前記リードが完全にマッピングされているか又は不完全にマッピングされているかを示すデータと、
前記リードにおいて特定されたミスマッチ数を示すデータと、
前記リードにおける前記可能なミスマッチの各々の相対的な位置を示すデータと、を含む、請求項18に記載の方法。 - 前記不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することは、各特定のミスマッチについて、
前記1つ以上のコンピュータによって、前記参照配列内の対応する参照ヌクレオチド又は塩基の代わりに、前記リード中に存在する代替のヌクレオチド又は塩基を表示するデータを含むように、前記1バイトのうちの最初の2ビットを符号化することと、
1つ以上のコンピュータによって、前記参照配列内のミスマッチの位置を表示するデータを含むように、前記1バイトのうちの残りの6ビットを符号化することと、を含み、前記位置は、前記リードの先行ミスマッチからのオフセットとして計算される、請求項18に記載の方法。 - 前記方法は、
1つ以上のコンピュータによって、前記オフセットが最大符号化可能値よりも大きいかどうかを決定することと、
前記オフセットが前記最大符号化値よりも大きいと決定することに基づいて、1つ以上のコンピュータによって、前記特定のミスマッチと前記先行ミスマッチとの間に少なくとも1個の偽ミスマッチを挿入することと、を更に含む、請求項21に記載の方法。 - 前記方法は、
前記ミスマッチ数が、前記所定のミスマッチ閾値数を満たしていないと決定することに基づいて、1つ以上のコンピュータによって、情報エントロピー低減の符号化プロセスを用いて、前記参照配列に対する前記ミスマッチの各々の位置に対応する前記参照配列の位置のリストを符号化することを更に含む、請求項18に記載の方法。 - 前記方法は、
前記リード記録が前記参照配列に完全にマッピングされたリードに相当すると決定することに基づいて、1つ以上のコンピュータによって、情報エントロピー低減の符号化を用いて、前記リード記録の少なくとも一部分を符号化することを更に含む、請求項18に記載の方法。 - 前記1つ以上のコンピュータは、1つ以上のハードウェアプロセッサを備える、請求項18に記載の方法。
- 前記1つ以上のハードウェアプロセッサは、1つ以上のフィールドプログラマブルゲートアレイ(FPGA)を含む、請求項25に記載の方法。
- 1つ以上の演算を実行するように構成されたハードウェア処理回路を含むハードウェアプロセッサであって、前記1つ以上の演算は、
前記ハードウェア処理回路によって、リード記録を取得することと、
前記ハードウェア処理回路によって、前記リード記録が、参照配列に完全にマッピングされたか又は前記参照配列に不完全にマッピングされたリードに相当するかどうかを決定することと、
前記ハードウェア処理回路によって、前記リード記録が、前記参照配列に不完全にマッピングされたリードに相当すると決定することに基づいて、前記1つ以上のコンピュータによって、前記不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数を満たすかどうかを決定することと、
前記ミスマッチ数が前記所定のミスマッチ閾値数を満たすと決定することに基づいて、前記ハードウェア処理回路によって、前記不完全にマッピングされたリードの各ミスマッチを、1ビットのサイズを有する記録へと符号化することと、を含む、ハードウェアプロセッサ。 - 各リード記録は、
前記参照配列に関して前記アラインメントされたリードの絶対開始位置を示すデータと、
前記リードの長さを示すデータと、
前記リードが完全にマッピングされているか又は不完全にマッピングされているかを示すデータと、
前記リードにおいて特定されたミスマッチ数を示すデータと、
前記リードにおける前記可能なミスマッチの相対的な位置を示すデータと、を含む、請求項27に記載のハードウェアプロセッサ。 - 前記不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することは、各特定のミスマッチについて、
前記ハードウェア処理回路によって、前記参照配列内の対応する参照ヌクレオチド又は参照塩基の代わりに、前記リード中に存在する代替のヌクレオチド又は塩基を表示するデータを含むように、前記1バイトのうちの最初の2ビットを符号化することと、
前記ハードウェア処理回路によって、前記参照配列内のミスマッチの位置を表示するデータを含むように、前記1バイトのうちの残りの6ビットを符号化することと、を含み、前記位置は、前記リードの先行ミスマッチからのオフセットとして計算される、請求項27に記載のハードウェアプロセッサ。 - 前記ハードウェアプロセッサ回路は、
前記ハードウェア処理回路によって、前記オフセットが最大符号化可能値よりも大きいかどうかを決定することと、
前記オフセットが前記最大符号化値よりも大きいと決定することに基づいて、前記ハードウェア処理回路によって、前記特定のミスマッチと前記先行ミスマッチとの間に少なくとも1個の偽ミスマッチを挿入することと、を含む演算を実行するように更に構成されている、請求項29に記載のハードウェアプロセッサ。 - 前記ハードウェアプロセッサ回路は、
前記ミスマッチ数が前記所定のミスマッチ閾値数を満たしていないと決定することに基づいて、前記ハードウェア処理回路によって、情報エントロピー低減の符号化プロセスを用いて、前記参照配列に対する前記ミスマッチの各々の位置に対応する前記参照配列の位置のリストを符号化することを含む演算を実行するように更に構成されている、請求項27に記載のハードウェアプロセッサ。 - 前記ハードウェアプロセッサ回路は、
前記リード記録が前記参照配列に完全にマッピングされたリードに相当すると決定することに基づいて、前記ハードウェア処理回路によって、情報エントロピー低減の符号化を用いて、前記リード記録の少なくとも一部分を符号化することを含む演算を実行するように更に構成されている、請求項27に記載のハードウェアプロセッサ。 - 前記ハードウェア処理回路は、1つ以上のフィールドプログラマブルゲートアレイ(FPGA)を含む、請求項24に記載のハードウェアプロセッサ。
- 前記ハードウェア処理回路によって、前記不完全にマッピングされたリードのミスマッチ数が所定のミスマッチ閾値数を満たすかどうかを決定することは、
前記ハードウェア処理回路によって、前記不完全にマッピングされたリードの前記ミスマッチ数が、前記所定のミスマッチ閾値数よりも大きいかどうかを決定することを含む、請求項18に記載のハードウェアプロセッサ。 - ゲノム配列データを圧縮するためのシステムであって、前記システムは、
1つ以上のコンピュータと、命令を記憶する1つ以上の記憶デバイスと、を含み、前記命令は、前記1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに、
前記1つ以上のコンピュータによって、リード記録を取得することと、
前記1つ以上のコンピュータによって、前記リード記録が、参照配列に完全にマッピングされたか又は前記参照配列に不完全にマッピングされたリードに相当するかどうかを決定することと、
前記1つ以上のコンピュータによって、前記リード記録が前記参照配列に不完全にマッピングされたリードに相当すると決定することに基づいて、前記1つ以上のコンピュータによって、前記不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数を満たすかどうかを決定することと、
前記ミスマッチ数が、前記所定のミスマッチ閾値数を満たすと決定することに基づいて、前記1つ以上のコンピュータによって、前記不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することと、を含む演算を実行させるように動作可能である、システム。 - 各リード記録は、
前記参照配列に関してアラインメントされたリードの絶対開始位置を示すデータと、
前記リードの長さを示すデータと、
前記リードが完全にマッピングされているか又は不完全にマッピングされているかを示すデータと、
前記リードにおいて特定されたミスマッチ数を示すデータと、
前記リードにおける前記可能なミスマッチの各々の相対的な位置を示すデータと、を含む、請求項35に記載のシステム。 - 前記不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することは、各特定のミスマッチについて、
1つ以上のコンピュータによって、前記参照配列内の対応する参照ヌクレオチド又は参照塩基の代わりに、前記リード中に存在する代替のヌクレオチド又は塩基を表示するデータを含むように、前記1バイトのうちの最初の2ビットを符号化することと、
1つ以上のコンピュータによって、前記参照配列内のミスマッチの位置を表示するデータを含むように、前記1バイトのうちの残りの6ビットを符号化することと、を含み、前記位置は、前記リードの先行ミスマッチからのオフセットとして計算される、請求項35に記載のシステム。 - 前記演算は、
前記1つ以上のコンピュータによって、前記オフセットが最大符号化可能値よりも大きいかどうかを決定することと、
前記オフセットが前記最大符号化値よりも大きいと決定することに基づいて、1つ以上のコンピュータによって、前記特定のミスマッチと前記先行ミスマッチとの間に少なくとも1個の偽ミスマッチを挿入することと、を更に含む、請求項37に記載のシステム。 - 前記演算は、
前記ミスマッチ数が、前記所定のミスマッチ閾値数を満たしていないと決定することに基づいて、1つ以上のコンピュータによって、情報エントロピー低減の符号化プロセスを用いて、前記参照配列に対する前記ミスマッチの各々の位置に対応する前記参照配列の位置のリストを符号化することを更に含む、請求項35に記載のシステム。 - 前記演算は、
前記リード記録が前記参照配列に完全にマッピングされたリードに相当すると決定することに基づいて、1つ以上のコンピュータによって、情報エントロピー低減の符号化を用いて、前記リード記録の少なくとも一部分を符号化することを更に含む、請求項35に記載のシステム。 - 前記1つ以上のコンピュータは、1つ以上のハードウェアプロセッサを含む、請求項35に記載のシステム。
- 前記1つ以上のハードウェアプロセッサは、1つ以上のフィールドプログラマブルゲートアレイ(FPGA)を含む、請求項41に記載のシステム。
- 命令を記憶したコンピュータ可読記憶デバイスであって、前記命令は、データ処理装置によって実行されると、前記データ処理装置に、ゲノム配列データを圧縮するための演算を実行させ、前記演算は、
リード記録を取得することと、
前記リード記録が、参照配列に完全にマッピングされたか又は前記参照配列に不完全にマッピングされたリードに相当するかどうかを決定することと、
前記リード記録が前記参照配列に不完全にマッピングされたリードに相当すると決定することに基づいて、前記不完全にマッピングされたリードのミスマッチ数が、所定のミスマッチ閾値数を満たすかどうかを決定することと、
前記ミスマッチ数が前記所定のミスマッチ閾値数を満たすと決定することに基づいて、前記不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することと、を含む、コンピュータ可読記憶デバイス。 - 各リード記録は、
前記参照配列に関してアラインメントされたリードの絶対開始位置を示すデータと、
前記リードの長さを示すデータと、
前記リードが完全にマッピングされているか又は不完全にマッピングされているかを示すデータと、
前記リードにおいて特定されたミスマッチ数を示すデータと、
前記リードにおける前記可能なミスマッチの各々の相対的な位置を示すデータと、を含む、請求項43に記載のコンピュータ可読記憶デバイス。 - 前記不完全にマッピングされたリードの各ミスマッチを、1バイトのサイズを有する記録へと符号化することは、各特定のミスマッチについて、
1つ以上のコンピュータによって、前記参照配列内の対応する参照ヌクレオチド又は参照塩基の代わりに、前記リード中に存在する代替のヌクレオチド又は塩基を表示するデータを含むように、前記1バイトのうちの最初の2ビットを符号化することと、
1つ以上のコンピュータによって、前記参照配列内のミスマッチの位置を表示するデータを含むように、前記1バイトのうちの残りの6ビットを符号化することと、を含み、前記位置は、前記リードの先行ミスマッチからのオフセットとして計算される、請求項43に記載のコンピュータ可読記憶デバイス。 - 前記演算は、
前記1つ以上のコンピュータによって、前記オフセットが最大符号化可能値よりも大きいかどうかを決定することと、
前記オフセットが前記最大符号化値よりも大きいと決定することに基づいて、前記1つ以上のコンピュータによって、前記特定のミスマッチと前記先行ミスマッチとの間に少なくとも1個の偽ミスマッチを挿入することと、を更に含む、請求項45に記載のコンピュータ可読記憶デバイス。 - 前記演算は、
前記ミスマッチ数が前記所定のミスマッチ閾値数を満たしていないと決定することに基づいて、情報エントロピー低減の符号化プロセスを用いて、前記参照配列に対する前記ミスマッチの各々の位置に対応する前記参照配列の位置のリストを符号化することを更に含む、請求項43に記載のコンピュータ可読記憶デバイス。 - 前記演算は、
前記リード記録が前記参照配列に完全にマッピングされたリードに相当すると決定することに基づいて、情報エントロピー低減の符号化を用いて、前記リード記録の少なくとも一部分を符号化することを更に含む、請求項43に記載のコンピュータ可読記憶デバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/567,211 | 2019-09-11 | ||
US16/567,211 US20210074381A1 (en) | 2019-09-11 | 2019-09-11 | Method for the compression of genome sequence data |
PCT/US2020/050584 WO2021051019A1 (en) | 2019-09-11 | 2020-09-11 | Method for the compression of genome sequence data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022552779A true JP2022552779A (ja) | 2022-12-20 |
Family
ID=72521682
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022515895A Pending JP2022552779A (ja) | 2019-09-11 | 2020-09-11 | ゲノム配列データの圧縮のための方法 |
JP2022515563A Pending JP2022549580A (ja) | 2019-09-11 | 2020-09-11 | ゲノム配列データの圧縮のための方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022515563A Pending JP2022549580A (ja) | 2019-09-11 | 2020-09-11 | ゲノム配列データの圧縮のための方法 |
Country Status (14)
Country | Link |
---|---|
US (2) | US20210074381A1 (ja) |
EP (3) | EP4029022A1 (ja) |
JP (2) | JP2022552779A (ja) |
KR (2) | KR20220061990A (ja) |
CN (2) | CN114402314A (ja) |
AU (2) | AU2020347285A1 (ja) |
BR (2) | BR112022003488A2 (ja) |
CA (2) | CA3148960A1 (ja) |
DK (1) | DK4029023T3 (ja) |
ES (1) | ES2964351T3 (ja) |
FI (1) | FI4029023T3 (ja) |
IL (2) | IL291012A (ja) |
MX (2) | MX2022002930A (ja) |
WO (2) | WO2021051019A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10902937B2 (en) * | 2014-02-12 | 2021-01-26 | International Business Machines Corporation | Lossless compression of DNA sequences |
WO2018068829A1 (en) | 2016-10-11 | 2018-04-19 | Genomsys Sa | Method and apparatus for compact representation of bioinformatics data |
WO2018071054A1 (en) * | 2016-10-11 | 2018-04-19 | Genomsys Sa | Method and system for selective access of stored or transmitted bioinformatics data |
-
2019
- 2019-09-11 US US16/567,211 patent/US20210074381A1/en not_active Abandoned
-
2020
- 2020-09-11 MX MX2022002930A patent/MX2022002930A/es unknown
- 2020-09-11 US US17/642,519 patent/US20220415441A1/en active Pending
- 2020-09-11 EP EP20780856.9A patent/EP4029022A1/en active Pending
- 2020-09-11 KR KR1020227009038A patent/KR20220061990A/ko active Search and Examination
- 2020-09-11 EP EP20788695.3A patent/EP4029023B1/en active Active
- 2020-09-11 WO PCT/US2020/050584 patent/WO2021051019A1/en active Application Filing
- 2020-09-11 MX MX2022002929A patent/MX2022002929A/es unknown
- 2020-09-11 BR BR112022003488A patent/BR112022003488A2/pt unknown
- 2020-09-11 CA CA3148960A patent/CA3148960A1/en active Pending
- 2020-09-11 KR KR1020227009039A patent/KR20220061991A/ko active Search and Examination
- 2020-09-11 JP JP2022515895A patent/JP2022552779A/ja active Pending
- 2020-09-11 WO PCT/US2020/050586 patent/WO2021051021A1/en active Application Filing
- 2020-09-11 DK DK20788695.3T patent/DK4029023T3/da active
- 2020-09-11 AU AU2020347285A patent/AU2020347285A1/en active Pending
- 2020-09-11 CA CA3148976A patent/CA3148976A1/en active Pending
- 2020-09-11 CN CN202080062683.7A patent/CN114402314A/zh active Pending
- 2020-09-11 AU AU2020346961A patent/AU2020346961A1/en active Pending
- 2020-09-11 JP JP2022515563A patent/JP2022549580A/ja active Pending
- 2020-09-11 BR BR112022003494A patent/BR112022003494A2/pt unknown
- 2020-09-11 ES ES20788695T patent/ES2964351T3/es active Active
- 2020-09-11 EP EP23195421.5A patent/EP4318479A3/en active Pending
- 2020-09-11 CN CN202080062727.6A patent/CN114341988A/zh active Pending
- 2020-09-11 FI FIEP20788695.3T patent/FI4029023T3/fi active
-
2022
- 2022-03-01 IL IL291012A patent/IL291012A/en unknown
- 2022-03-01 IL IL291011A patent/IL291011A/en unknown
Also Published As
Publication number | Publication date |
---|---|
MX2022002930A (es) | 2022-05-24 |
AU2020346961A1 (en) | 2022-02-24 |
KR20220061991A (ko) | 2022-05-13 |
ES2964351T3 (es) | 2024-04-05 |
DK4029023T3 (da) | 2023-11-27 |
AU2020347285A1 (en) | 2022-02-24 |
CN114402314A (zh) | 2022-04-26 |
EP4318479A2 (en) | 2024-02-07 |
US20220415441A1 (en) | 2022-12-29 |
IL291012A (en) | 2022-05-01 |
CA3148960A1 (en) | 2021-03-18 |
WO2021051019A1 (en) | 2021-03-18 |
FI4029023T3 (fi) | 2023-11-28 |
CN114341988A (zh) | 2022-04-12 |
EP4029022A1 (en) | 2022-07-20 |
BR112022003488A2 (pt) | 2022-05-24 |
IL291011A (en) | 2022-05-01 |
JP2022549580A (ja) | 2022-11-28 |
WO2021051021A1 (en) | 2021-03-18 |
CA3148976A1 (en) | 2021-03-18 |
EP4029023A1 (en) | 2022-07-20 |
BR112022003494A2 (pt) | 2022-05-24 |
US20210074381A1 (en) | 2021-03-11 |
MX2022002929A (es) | 2022-06-08 |
KR20220061990A (ko) | 2022-05-13 |
EP4029023B1 (en) | 2023-09-06 |
EP4318479A3 (en) | 2024-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2608096B1 (en) | Compression of genomic data file | |
CN110603595B (zh) | 用于从压缩的基因组序列读段重建基因组参考序列的方法和系统 | |
US10090857B2 (en) | Method and apparatus for compressing genetic data | |
JP2020534633A (ja) | Dnaベースのデータストレージ及びデータ取り出し | |
KR101969848B1 (ko) | 유전자 데이터를 압축하는 방법 및 장치 | |
EP2595076B1 (en) | Compression of genomic data | |
US11763918B2 (en) | Method and apparatus for the access to bioinformatics data structured in access units | |
JP7362481B2 (ja) | ゲノムシーケンスデータをコード化する方法、コード化されたゲノムデータをデコード化する方法、ゲノムシーケンスデータをコード化するためのゲノムエンコーダ、ゲノムデータをデコードするためのゲノムデコーダ、及びコンピュータ読み取り可能な記録媒体 | |
KR20190113971A (ko) | 다중 게놈 디스크립터를 이용한 생명정보학 데이터의 압축 표현 방법 및 장치 | |
JP2020503580A (ja) | バイオインフォマティクスデータのコンパクトな表現のための方法および装置 | |
JP2022552779A (ja) | ゲノム配列データの圧縮のための方法 | |
RU2807474C1 (ru) | Способ сжатия данных последовательности генома | |
RU2815860C1 (ru) | Способ сжатия данных последовательности генома | |
JP2020510907A (ja) | ゲノムシーケンスリードの効率的圧縮のための方法及びシステム | |
CN115497569A (zh) | 生物序列标识符的压缩方法及装置、解压方法及装置 | |
NZ757185B2 (en) | Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20220310 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230911 |