JP7324145B2 - ゲノムシーケンスリードの効率的圧縮のための方法及びシステム - Google Patents

ゲノムシーケンスリードの効率的圧縮のための方法及びシステム Download PDF

Info

Publication number
JP7324145B2
JP7324145B2 JP2019542691A JP2019542691A JP7324145B2 JP 7324145 B2 JP7324145 B2 JP 7324145B2 JP 2019542691 A JP2019542691 A JP 2019542691A JP 2019542691 A JP2019542691 A JP 2019542691A JP 7324145 B2 JP7324145 B2 JP 7324145B2
Authority
JP
Japan
Prior art keywords
descriptor
read
class
reads
indicating
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
JP2019542691A
Other languages
English (en)
Other versions
JP2020510907A (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
Priority claimed from PCT/US2017/017842 external-priority patent/WO2018071055A1/en
Priority claimed from PCT/US2017/041579 external-priority patent/WO2018071078A1/en
Application filed by ゲノムシス エスエー filed Critical ゲノムシス エスエー
Publication of JP2020510907A publication Critical patent/JP2020510907A/ja
Application granted granted Critical
Publication of JP7324145B2 publication Critical patent/JP7324145B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/20Sequence assembly
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6809Methods for determination or identification of nucleic acids involving differential detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • G16B40/10Signal processing, e.g. from mass spectrometry [MS] or from PCR
    • 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
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
    • 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/20Heterogeneous data integration
    • 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/50Compression of genetic data
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication
    • H03M7/3095Data deduplication using variable length segments
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound

Description

本開示は、既知の従来技術の表現方法では利用できない新しい機能を提供することにより、利用される記憶領域を削減し、アクセス性能を改善するゲノムシーケンシングデータの新しい表現方法を提供する。
[関連出願の相互参照]
本出願は、2017年7月11日に出願されたPCT/US2017/041579及び2017年2月14日に出願されたPCT/US17/17842の優先権及びその利益を主張する。
ゲノムシーケンシングデータの適切な表示は、シーケンシングデータ及びメタデータを処理することによって、様々な目的で実施されるゲノム変異体の呼び出し、及び他の全ての分析等の効率的なゲノム分析アプリケーションを可能にするための基本である。
ヒトゲノムのシーケンシングは、高スループットで低コストのシーケンシング技術の出現により安価になった。このような機会は、癌の診断及び治療から遺伝性疾患の同定に至るまで、抗体の同定のための病原体サーベイランスから、新しいワクチン、薬物、及び個別化された治療のカスタマイズに至るまで、いくつかの分野における新しい展望を開くものである。
病院、ゲノミクスデータ分析プロバイダー、バイオインフォマティクス、及び大規模な生物データ保存センターは、ゲノム医療を世界規模にスケールアップすることを可能にする、安価で、迅速で、信頼性があり、相互接続されたゲノム情報処理ソリューションを探している。シーケンシングプロセスにおけるボトルネックの一つがデータの記憶になっており、圧縮形式でゲノムシーケンシングデータを表現する方法が益々研究されている。
シーケンシングデータの最もよく使用されるゲノム情報の表示は、FASQ及びSAM形式の圧縮に基づいている。その目的は、従来から使用されているファイル形式(アライメントされていないデータとアライメントされたデータについては、それぞれFASTQ及びSAMを使用)を圧縮することである。このようなファイルは、プレーンテキスト文字で構成され、LZ(LempelとZiv、最初の版を出版した作成者)方式(よく知られたzip、gzip等)等の汎用アプローチを使用して、上述のように圧縮される。gzip等の汎用喝圧縮方式を使用する場合、圧縮の結果は通常、バイナリデータの単一のかたまりとなっている。このようなモノリシック形式の情報は、特に高スループットシーケンスの場合のようにデータの量が非常に大きい場合、アーカイブ、転送、及び詳細化が非常に困難になる。BAMフォーマットは、SAMファイルによって伝達される実際のゲノム情報を抽出するよりもむしろ非効率的で、冗長なSAMフォーマットの圧縮に焦点を当て、そして各データソースの特定の性質を利用するよりもむしろgzipのような汎用テキストの圧縮アルゴリズムを採用するために、低い圧縮性能によって特徴付けられている(ゲノムデータ自体)。
あまり使用されていないが、BAMよりも効率的なゲノムデータの圧縮へのより洗練されたアプローチはCRAMである。CRAMは、リファレンス(データソースの冗長性を部分的に利用する)に関する微分コード化を採用するためのより効率的な圧縮を提供するが、増分更新、ストリーミングのサポート、及び特定クラスの圧縮データへの選択的アクセス等の機能を依然として欠いている。
これらのアプローチでは、圧縮率が低く、圧縮されるとナビゲートや操作が困難なデータ構造が生成される。簡単な操作を行うため、又はゲノムデータセットの選択された領域にアクセスするためにさえ、大きくて堅固なデータ構造を処理する必要があるため、下流の分析は非常に遅くなる可能性がある。CRAMは、CRAMレコードの概念に依存する。各CRAMレコードは、再構築に必要な全ての要素をコード化することによって、単一のマッピング済みのリード又はマッピングされていないリードを表す。
CRAMには、本明細書に記載されている発明によって解決及び克服される、次の欠点と制約がある:
1.CRAMは、特定の機能を共有するデータインデックスとデータサブセットへのランダムアクセスをサポートしていない。データのインデックスは仕様の範囲外であり(CRAMの仕様v.3.0のセクション12を参照)、別のファイルとして実装される。対照的に、本明細書に記載されている本発明のアプローチは、コード化プロセスと統合されたデータ索引方法を採用し、コード化された(すなわち圧縮された)ビットストリームに索引が埋め込まれている。
2.CRAMは、あらゆる種類のマッピングされたリード(完全に一致するリード、置換のみを伴うリード、挿入又は削除を伴うリード(「インデル(indels)」とも呼ばれる))を含むことができるコアデータブロックによって構築される。リファレンスシーケンスに関するマッピングの結果に従って、データの分類やクラス内のリードのグループ化の概念は無い。これは、特定の機能を持つリードのみが検索される場合でも、全てのデータを検査する必要があることを意味する。このような制約は、コード化の前にクラスでデータを分類及び分割する、本発明により解決される。
3.CRAMは、各リードを「CRAMレコード」にカプセル化するという概念に基づいている。これは、特定の生物学的特徴(例えば:置換を伴うが「インデル(indels)」を伴わないリード、又は完全にマッピングされたリード)によって特徴づけられるリードを検索する場合、それぞれ完全な版の「記録」を検査する必要性を意味する。
対照的に、本発明では、別々の情報ブロックに別々にコード化されたデータクラスの概念があり、各リードをカプセル化するレコードの概念はない。これにより、各(ブロックの)リードをデコード化してその特徴を検査することなく、特定の生物学的特性(例えば:置換を伴うが「インデル(indels)」を伴わないリード、又は完全にマッピングされたリード)を有するリードのセットへのより効率的なアクセスが可能になる。
4.CRAMレコードでは、各レコードフィールドは特定のフラグに関連付けられ、各CRAMレコードには異なる種類のデータを含めることができるため、コンテキストの概念がなく、各フラグは常に同じ意味を持つ必要がある。このコード化メカニズムは冗長な情報を導入し、効率的なコンテキストの塩基のエントロピーコード化の使用を妨げる。
これに対し、本発明では、データを示すフラグは、データが属する情報を「ブロック」によって本質的に定義されるので、データを示すフラグの概念は存在しない。これは、使用されるべきシンボルの数が大幅に減少し、その結果、より効率的な圧縮に帰着する情報ソースのエントロピーが減少することを意味する。このような改善が可能なのは、異なる「ブロック」を使用することにより、エンコーダが、コンテキストに応じて異なる意味を有する各ブロックにわたって同じシンボルを再利用することが可能になるためである。CRAMでは、コンテキストの概念がなく、各CRAMレコードに任意の種類のデータを含めることができるため、各フラグは常に同じ意味を持つ必要がある。
5.CRAMの置換では、挿入と削除は異なる記述子、情報ソースのアルファベットのサイズを増加させ、より高い情報ソースのエントロピーをもたらすオプションを用いて表現される。対照的に、開示された発明のアプローチは、単一のアルファベットおよび置換、挿入および欠落のためのコード化を使用する。これはコード化とデコード化プロセスをより単純にし、コード化が高圧縮性能で特徴付けられるビットストリームを生じ、エントロピーの低いソースモデルを生成する。
本発明は、コード化されるべき冗長な情報が最小化され、選択的アクセス及び増分更新のためのサポートのような特徴が圧縮ドメイン内で直接的に可能となるように、シーケンシングデータを分類及び分割することによってゲノムシーケンスを圧縮することを目的とする。
以下の請求項の特徴は、ヌクレオチドシーケンスのリードを含むゲノムシーケンスデータをコード化する方法により、既存の従来技術の解決策の問題を解決するものであり、前記方法は、
前記リードを1つ以上のリファレンスシーケンスにアラインメントさせ、それによってシーケンスリードを作成し、
前記1つ以上のリファレンスシーケンスとの指定されたマッチング規則に従って前記アライメントされたリードを分類し、それによってアライメントリードのクラスを作成し、
前記分類されたアライメントリードを、構文要素のマルチプルブロックとしてコード化し、
構文要素の前記ブロックをヘッダ情報で構成し、それによって連続的なアクセスユニットを作成すること、を含み、
前記コード化は、前記ゲノム記述子をバイナリ化及びエントロピーコード化する、
ことを含む。
コード化方法の別の態様は、前記コード化及びエントロピーコード化されたゲノム記述子は、コード化及びエントロピーコード化が異なる記述子に対して異なるようにされている。
コード化方法の別の態様は、前記記述子として、
リファレンスシーケンスのリードのマッピング位置をシグナリング(signaling)するためのpos、
アライナがマッピングロセスの結果をさらに指定できるようにするために、リードがマッピングフラグにマッピングされたDNA又はRNA鎖をシグナリングするためのrcomp、
を含む。
コード化方法の別の態様は、以下の記述子、
リファレンスシーケンスに関してアライメントされたリードのミスマッチの位置をシグナリングするためのmmpos、
前記関連付けられた位置のリファレンスシーケンスに関するミスマッチの類型をシグナリングするためのmmtype、
をコード化することをさらに含む。
コード化方法の別の態様は、ソフト又はハードクリップされたヌクレオチドをシグナリングするためのクリップ記述子をコード化することをさらに含む。
コード化方法の別の態様は、各コード化されたシーケンスリードの長さをシグナリングするためにrlen記述子をコード化することをさらに含む。
コード化方法の別の態様は、以下の記述子、
マッピング手順によって単一のリード又はペアリードに関連付けられたマルチプルマッピング位置をシグナリングするためのmmap、
スプライスされたリードが存在することの識別をシグナリングするためのmsar(すなわち、リードは、チャンクに分割された場合、リファレンスシーケンス上の単一の位置にマッピングされた単一の連続したリードとしてマッピングされた場合よりも、マッチング精度の高いマッピング位置を見つける)、
をコード化することをさらに含む。
コード化方法の別の態様は、mscore記述子をコード化して、ゲノムシーケンスリードアライナによって生成されるリード当たりのマッピング/アラインメントスコアをシグナリングする、ことをさらに含む。
コード化方法の別の態様は、前記ペアエンドリードにおいて、前記リードがどのようにペアリングされるかを示すために前記pair記述子をコード化することをされに含む。
コード化方法の別の態様は、前記リファレンスシーケンスのいずれの位置にもアライメントできなかったリードをシグナリングするためのureads記述子をコード化することをさらに含む。
コード化方法の別の態様は、指定されたマッチング精度で前記リファレンスシーケンスのどの位置にもマッピングできないシーケンスリードをコード化するために使用される前記記述子のサブセットを通知するために使用されるttype記述子をコード化することをさらに含む。
コード化方法の別の態様は、前記リードがどのリードグループに属するかを示すために、rgroup記述子をコード化することをさらに含む。
コード化方法の別の態様は、以下の記述子、
コンティグとリファレンスシーケンス間のミスマッチの位置をシグナリングするためのrftp、ミスマッチの位置は特殊なターミネータ文字で終了し、
コンティグとリファレンスシーケンス間のミスマッチの類型をシグナリングするrftt、
をコード化することをさらに含む。
コード化方法の別の態様は、
前記pos記述子は、二重切捨単項コード又は単一の二重切捨単項コードを使用してバイナリ化され、
前記rcomp記述子は、切捨単項コードを使用してバイナリ化され、
前記マッピングのflags記述子は、バイナリコード化を使用してバイナリ化される。
コード化方法の別の態様は、
リファレンスシーケンスに関するアライメントされたリードのミスマッチの位置をシグナリングするための前記mmpos記述子は、分割ユニットごとに切捨単項コードを使用してバイナリ化され、
関連する位置のリファレンスシーケンスに関してミスマッチの類型をシグナリングするための前記mmtype記述子は切捨単項コードを使用してバイナリ化される。
コード化方法の別の態様は、ソフト又はハードのクリップされたヌクレオチドをシグナリングするための前記クリップ記述子は、符号付き切捨指数ゴロム、切捨単項、符号付き指数ゴロム及びバイナリコードの連結を使用してバイナリ化される
コード化方法の別の態様は、各コード化されたシーケンスリードの長さをシグナリングするための前記rlen記述子は、分割ユニットワイズ切捨単項(Split Unit-wise Truncated Unary)コードを使用してバイナリ化される。
コード化方法の別の態様は、
マッピング手順によって単一のリード又はリードペアに関連付けられたマルチプルマッピング位置をシグナリングするための前記mmap記述子は、分割ユニットワイズ切捨単項(Split Unit-wise Truncated Unary)コードを使用してバイナリ化され、
前記スプライスされたリードの存在の識別をシグナリングするための前記msar記述子は、符号付き指数ゴロム(Signed Exponential Golomb)コードを使用してバイナリ化される。
コード化方法の別の態様は、ゲノムシーケンスリードアライナによって生成された各リードのマッピング/アライメントスコアをシグナリングする前記mscore記述子は、切捨単項(Truncated Unary)コードを使用してバイナリ化される。
コード化方法の別の態様は、前記pair記述子をシグナリングするために、ペアエンドリードの場合において、どのようにリードがペア化されたかは、バイナリコードと分割ユニットワイズ切捨単項(Split Unit-wise Truncated Unary)コードの連結を使用してバイナリ化する。
コード化方法の別の態様は、前記リファレンスシーケンスのいずれの位置にもアライメントすることができなかったリードのシグナリングに対する前記ureads記述子は、切捨単項(Truncated Unary)コードを使用してバイナリ化される。
コード化方法の別の態様は、前記rtype記述子は、指定されたマッチング精度で前記リファレンスシーケンスの任意の位置にマッピングすることができないシーケンスリードをコード化するために使用される前記記述子のサブセットの信号をシグナリングするために使用され、切捨単項(Truncated Unary)コードを使用してバイナリ化される。
コード化方法の別の態様は、前記リードがどのリードグループが属するかをシグナリングするrgroup記述子は、切捨単項(Truncated Unary)コードを用いてバイナリ化される。
コード化方法の別の態様は、
前記rftp記述子は、コンティグとリファレンスシーケンスとの間のミスマッチの位置をシグナリングするために、バイナリコード化と分割ユニットワイズ切捨単項(Split Unit-wise Truncated Unary)コードの連結を用いてバイナリ化され、
コンティグとリファレンスシーケンスの間のミスマッチのタイプをシグナリングするための前記rftt記述子は、バイナリコード化と切捨単項(Truncated Unary)コードの連結を使用してバイナリ化される。
コード化方法の別の態様は、前記記述子は、構成パラメータを構文ヘッダに挿入することによってコード化される。
コード化方法の別の態様は、前記構成パラメータは、構文ヘッダがコード化されたゲノムファイルに追加されて更新されることによって更新される。
コード化方法の別の態様は、前記構成パラメータは、コード化パラメータを参照してアクセスユニット内でコード化されたデータの種類をシグナリングするためのデータセットタイプを含む。
コード化方法の別の態様は、前記構成パラメータは、リード長が一定の場合に、シーケンスリードのヌクレオチド長をシグナリングするためのリード長をさらに含む。
コード化方法の別の態様は、前記構成パラメータは、各コード化されたヌクレオチドに関する品質値の数をシグナリングするための品質値深度パラメータをさらに含む。
コード化方法の別の態様は、前記構成パラメータは、各コード化されたアライメントに関連するアライメントスコアの数をシグナリングするためのアライメントスコア深度をさらに含む。
コード化方法の別の態様は、前記構成パラメータは、前記mmpos記述子に使用されるターミネータシンボルのバイト単位のサイズをシグナリングするためのターミネータサイズをさらに含む。
コード化方法の別の態様は、前記構成パラメータは、前記mmpos記述子に使用されるターミネータシンボルの値をシグナリングするためのターミネータ値をさらに含む。
コード化方法の別の態様は、前記構成パラメータは、前記構成パラメータを参照して全てのアクセスユニット内でコード化されたデータクラスの数をシグナリングするためのクラスの数をさらに含む。
コード化方法の別の態様は、前記構成パラメータは、本開示で定義されたデータクラスに関連付けられた識別子(P、N、M、I、HM、U)をシグナリングするクラス識別子をさらに含む。
コード化方法の別の態様は、前記構成パラメータは、前記構成パラメータを参照して、アクセスユニットに含まれる記述子の総数をシグナリングするための記述子の数をさらに含む。
コード化方法の別の態様は、前記構成パラメータは、本開示で定義されたコード化モードをシグナリングするためのコード化モード識別子をさらに含む。
コード化方法の別の態様は、前記構成パラメータは、現在のコード化パラメータを参照する全てのアクセスユニットに存在する前記rgroup記述子の異なる値の数をシグナリングするためのグループ数パラメータをさらに含む。
コード化方法の別の態様は、前記構成パラメータは、1つ以上のリードグループ識別子をシグナリングするための1つ以上のグループ名パラメータをさらに含む。
コード化方法の別の態様は、前記構成パラメータは、前記アクセスユニット内のマルチプルアライメントの存在をシグナリングするためのマルチプルアライメントフラグをさらに含む。
コード化方法の別の態様は、前記構成パラメータは、前記アクセスユニット内のスプライスされたリードの存在をシグナリングするためのスプライスされたリードフラグをさらに含む。0がセットされたときスプライスされたリードは存在しない。
コード化方法の別の態様は、前記構成パラメータは、マッピングされていないシーケンスリード(クラスU)を含むアクセスユニット内の複数のシグネチャの使用をシグナリングするためのマルチプルシグネチャ塩基フラグをさらに含む。
コード化方法の別の態様は、前記構成パラメータは、コード化されたシグネチャを表す各整数のビット単位のサイズをシグナリングするためのシグネチャサイズをさらに含む。
コード化方法の別の態様は、前記構成パラメータは、前記mscore記述子にコード化されたマルチプルアライメントスコアの指数部をコード化するために使用されるビット数をシグナリングするためのスコア指数パラメータをさらに含む。
コード化方法の別の態様は、前記構成パラメータは、前記mscore記述子にコード化されたマルチプルアライメントスコアの仮数部分をコード化するために使用されるビット数をシグナリングするためのスコア仮数パラメータをさらに含む。
本発明は、ヌクレオチドシーケンスのリードを含むゲノムシーケンスデータのコード化されたゲノムデータをデコード化する方法をさらに提供し、前記方法は、
ヘッダ情報を用いてゲノム記述子のマルチプルブロックを抽出して前記コード化されたゲノムデータを含むアクセスユニットを解析し、前記マルチプルブロックをデコード化することを含み、
前記マルチプルブロックのデコード化は、1つ以上のリファレンスシーケンスに関する分類を定義する特定のマッチング規則に従ってアライメントされたリードを抽出するために、ゲノム記述子をデコード化及びバイナリ化解除することを含む。
デコード化方法の別の態様は、前記記述子が、
リファレンスシーケンス上のリードのマッピング位置をシグナリングするためのpos記述子、
アライナがマッピングロセスの結果をさらに指定できるようにするために、リードがマッピングフラグにマッピングされたDNA又はRNA鎖をシグナリングするためのrcomp記述子、を含む。
デコード化方法の別の態様は、以下の記述子が:
リファレンスシーケンスに関してアライメントされたリードのミスマッチの位置をシグナリングするためのmmpos、
前記関連付けられた位置のリファレンスシーケンスに関するミスマッチの類型をシグナリングするためのmmtype、
をデコード化することをさらに含む。
デコード化方法の別の態様は、ソフト又はハードクリップされたヌクレオチドをシグナリングするためのクリップ記述子をデコード化することをさらに含む。
デコード化方法の別の態様は、各コード化されたシーケンスリードの長さをシグナリングするためにrlen記述子をコデード化することをさらに含む。
デコード化方法の別の態様は、以下の記述子が、
マッピング手順によって単一のリード又はペアリードに関連付けられたマルチプルマッピング位置をシグナリングするためのmmap、
スプライスされたリードが存在することの識別をシグナリングするmsar(すなわち、リードは、チャンクに分割された場合、リファレンスシーケンス上の単一の位置にマッピングされた単一の連続したリードとしてマッピングされた場合よりも、マッチング精度の高いマッピング位置を見つける)、
をデコード化することをさらに含む。
デコード化方法の別の態様は、mscore記述子をデコード化して、ゲノムシーケンスリードアライナによって生成されるリード当たりのマッピング/アラインメントスコアをシグナリングすることをさらに含む。
デコード化方法の別の態様は、前記ペアエンドリードにおいて、前記リードがどのようにペアリングされるかを示すために前記pair記述子をデコード化することをされに含む。
デコード化方法の別の態様は、前記リファレンスシーケンスのいずれの位置にもアライメントできなかったリードをシグナリングするためのureads記述子をデコード化することをさらに含む。
デコード化方法の別の態様は、指定されたマッチング精度で前記リファレンスシーケンスのどの位置にもマッピングできないシーケンスリードをコード化するために使用される前記記述子のサブセットを通知するために使用されるttype記述子をデコード化することをさらに含む。
デコード化方法の別の態様は、前記リードがどのリードグループに属するかを示すために、rgroup記述子をデコード化することをさらに含む。
デコード化方法の別の態様は、以下の記述子が、
コンティグとリファレンスシーケンス間のミスマッチの位置をシグナリングするためのrftp、ミスマッチの位置は特殊なターミネータ文字で終了し、
コンティグとリファレンスシーケンス間のミスマッチの類型をシグナリングするためのrftt、
をデコード化することをさらに含む。
デコード化方法の別の態様は、前記記述子が、構文ヘッダから構成パラメータを抽出することによりデコード化される。
デコード化方法の別の態様は、前記構成パラメータは、コード化パラメータを参照してアクセスユニット内でコード化されたデータの種類をシグナリングするためのデータセットタイプを含む。
デコード化方法の別の態様は、前記構成パラメータは、リード長が一定の場合に、シーケンスリードのヌクレオチド長をシグナリングするためのリード長をさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、各コード化されたヌクレオチドに関する品質値の数をシグナリングするための品質値深度パラメータをさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、各コード化されたアライメントに関連するアライメントスコアの数をシグナリングするためのアライメントスコア深度をさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、前記mmpos記述子に使用されるターミネータシンボルのバイト単位のサイズをシグナリングするためのターミネータサイズをさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、前記mmpos記述子に使用されるターミネータシンボルの値をシグナリングするためのターミネータ値をさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、前記構成パラメータを参照して全てのアクセスユニット内でコード化されたデータクラスの数をシグナリングするためのクラスの数をさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、本開示で定義されたデータクラスに関連付けられた識別子(P、N、M、I、HM、U)をシグナリングするクラス識別子をさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、前記構成パラメータを参照するアクセスユニットに含まれる記述子の総数をシグナリングするための記述子の数をさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、本開示で定義されたコード化モードをシグナリングするためのコード化モード識別子をさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、現在のコード化パラメータを参照する全てのアクセスユニットに存在する前記rgroup記述子の異なる値の数をシグナリングするためのグループ数パラメータをさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、1つ以上のリードグループ識別子をシグナリングするための1つ以上のグループ名パラメータをさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、前記アクセスユニット内のマルチプルアライメントの存在をシグナリングするためのマルチプルアライメントフラグをさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、前記アクセスユニット内のスプライスされたリードの存在をシグナリングするためのスプライスされたリードフラグをさらに含む。0に設定されるとスプライスされたリードは存在しない。
デコード化方法の別の態様は、前記構成パラメータは、マッピングされていないシーケンスリード(クラスU)を含むアクセスユニット内の複数のシグネチャの使用をシグナリングするためのマルチプルシグネチャ塩基フラグをさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、コード化されたシグネチャを表す各整数のビット単位のサイズをシグナリングするためのシグネチャサイズをさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、前記mscore記述子にコード化されたマルチプルアライメントスコアの指数部をコード化するために使用されるビット数をシグナリングするためのスコア指数パラメータをさらに含む。
デコード化方法の別の態様は、前記構成パラメータは、前記mscore記述子にコード化されたマルチプルアライメントスコアの仮数部分をコード化するために使用されるビット数をシグナリングするためのスコア仮数パラメータをさらに含む。
本発明は、前述のコード化方法の全ての態様を実施するためのコード化手段を備えるコード化装置をさらに提供する。
本発明は、前述のデコード化方法の全ての態様を実施するためのデコード化手段を備えるデコード化装置をさらに提供する。
本発明は、前述で定義されたゲノム記述子を含むファイル形式を提供する。
本発明は、前述のコード化方法の全ての態様を実行するための少なくとも1のプロセッサを実行させる命令を含むコンピュータ可読媒体をさらに提供する。
本発明は、前述のデコード化方法の全ての態様を実行するための少なくとも1のプロセッサを実行させる命令を含むコンピュータ可読媒体をさらに提供する。
本発明に、前述のコード化方法の全ての態様に従ってコード化されたゲノムを記憶するサポートデータをさらに提供する。
提案されるアプローチの一態様は、異なるブロックで構造化され、別々にコード化されたデータとメタデータのクラスの定義である。既存の方法に関するこのようなアプローチのより適切な改善は以下の通りである:
1.データ又はメタデータのクラスごとに効率的なソースモデルを提供することにより構成される情報ソースのエントロピーの減少による圧縮性能の向上;
2.圧縮されたデータ及びメタデータの一部に対して、圧縮されたドメイン内で直接、更なる処理目的のために選択的アクセスを行う可能性;
3.新しいシーケンシングデータ及び/又はメタデータ及び/又は特定のシーケンスリードのセットに関連する新しい解析結果を用いて、圧縮データおよびメタデータを増分的に(すなわち、デコード化と再コード化を必要としない)更新する可能性。
リードペアにおけるリード1とリード2の定義、及びマッピングされたリードにおける左端と右端のヌクレオチドの定義を示す。 アクセスユニットが、リファレンスシーケンスの連続した間隔でマッピングされたシーケンスリードを表す圧縮記述子をカプセル化する方法を示す。ヘッダ情報は、データ解析を有効にするために、圧縮された記述子の前に付加される。 タイプPのアクセスユニットがヘッダと、リードマッピング位置(pos)、逆補完情報(rcomp)、ペアになったエンドリードの場合のペア情報(pair)、可変長リードの場合のリード長(rlen)、及びマッピングフラグ(flags)を表す記述子のブロックの多重化によってどのように構成されるかを示す。クラスPのリードをコード化するために使用される。 リードペアnが位置Pにマッピングされ、リードペアn+1が位置Pにマッピングされているマッピングされたリードペアのpos記述子の計算を示す。 リファレンスシーケンスの一つの塩基の絶対マッピング位置を計算する方法を示す。 ペアエンドリードにおけるrcomp記述子の使用を示す。 リードペアのミスマッチの位置を計算する方法の例を示す。 ゲノムレコード長とペアリング距離の計算方法を示す。 スプライシングを行わないマルチプルアラインメントを示す。左端のリードにはN個のアライメントがある。Nはデコード化されるべきmmapの第1の値であり、第1のリードのアラインメントの数を示す。mmap記述子の次のN個の値がデコード化され、第2番目のリードのアライメントの数であるPを計算するために使用される。 pos、pair、及びmmap記述子を使用して、スプライスなしでマルチプルアライメントをコード化する方法を示す。左端のリードには、N個のアライメントがある。 スプライスを使用したマルチプルアライメントを示す。 スプライスを使用したマルチプルアライメントを示す。pos、pair、mmap及びmsar記述子を使用して、スプライスを使用したマルチプルアラインメントを表す。 ゲノムシーケンスをリファレンスゲノムに対してアライメントさせ、リファレンスゲノムに対してゲノムシーケンスを表す記述子を生成し、記述子の各ブロックを専用エントロピーエンコーダで圧縮する工程を含むエンコーダ装置を示す。 エントロピーコード化記述子を抽出するために入力ビットストリームを逆多重化するステップと、各種類の記述子のエントロピーデコード化と、リファレンスゲノムを使用したアライメントされたシーケンスリードのデコード化とを含む、圧縮ビットストリームのデコード化プロセスを示す。 クラスN、M及びIのデータのコード化がしきい値のベクトルで構成され、N、M、及びIのデータクラスの別々のサブクラスを生成する方法を示す。 ハーフマッピングされたリードペア(HMクラス)を使用して、長いコンティグとマッピングされていないリードをアセンブリして、リファレンスシーケンスの未知の領域を埋める方法を示す。 リファレンス変換を適用してリードのミスマッチを削除する方法を示す。場合によっては、リファレンス変換は、変換が適用される前にリファレンスを参照するときに、新たなミスマッチを生成するか、又は見つけられたミスマッチの種類を変更することがある。 ミスマッチの全て又はサブセットが除去された場合に、リファレンス変換がどのようにリードのクラスの所属先を変更できるかを示す(つまり、変換前のクラスMに属するリードは、リードの変換が適用された後にクラスPに割り当てられる)。 全てのクラスのデータが、再コード化のために同じ変換をされたリファレンスを使用することができるか、又は各クラスN、M及びI又はそれらの組み合わせに異なる変換を使用する方法を示す。
本発明に係るゲノム又はプロテオミックシーケンスには、例えば、限定ではなく、ヌクレオチドシーケンス、デオキシリボ核酸(DNA)シーケンス、リボ核酸(RNA)、及びアミノ酸シーケンスが含まれる。本明細書の説明は、ヌクレオチドシーケンスの形式のゲノム情報に関してかなり詳細であるが、当業者によって理解されるように、いくつかのバリエーションがあり、圧縮のための方法及びシステムは、他のゲノム又はプロテオームシーケンスについても同様に適用できることが理解されるであろう。
ゲノムシーケンシング情報は、高スループットシーケンシング(HTS)装置によって、規定された語彙からの文字列によって表されるヌクレオチドのシーケンス(「塩基」とも呼ばれる)の形で生成される。最小の語彙は5つの記号で表され:{A、C、G、T、N}はDNAに存在する4種類のヌクレオチド、すなわちアデニン、シトシン、グアニン、チミンを表す。RNAにおいてチミンはウラシル(U)に置換される。Nは、シーケンシング装置がいずれの塩基も呼び出せなかったとき、その位置の実際の性質が決定されていないことを示す。IUPAC曖昧性コードがシーケンシング装置によって採用される場合、シンボルに使用されるアルファベットは(A、C、G、T、U、W、S、M、K、R、Y、B、D、H、V、N、又は-)である。
シーケンシング装置によって生成されたヌクレオチドの配列は「リード」と呼ばれる。シーケンスリードは、数十から数千ヌクレオチドの長さを有する。一部の技術では、1つのリードは1つのDNA鎖から、第2のリードは他の鎖から得られた「ペア」のシーケンスリードを生成する。ペアを生成するシーケンシング処理で別のリードに関連付けられたリードは、そのメイト(mate)と呼ばれる。
一連のマッチング規則に従って、リファレンスゲノムのセグメントと類似する領域を同定するために、シーケンスリードをアレンジ(arranging)するプロセスは、「アライメント」又は「マッピング」と呼ばれる。
本開示全体を通じて、リファレンスシーケンスは、それぞれ整数座標が単一のヌクレオチドに関連する、一次元整数座標系に関連するヌクレオチドシーケンスである。座標値は0以上でなければならない。本発明のコンテキストにおけるこの座標系は、ゼロベース(すなわち、最初のヌクレオチドは座標0をもち、位置0にあるという)であり、左から右へ直線的に増加する。リファレンスシーケンスは、シーケンシング装置によって生成されたヌクレオチド配列がアライメント/マッピングされる任意のシーケンスである。シーケンスの一例は、実際には、種の遺伝子セットの代表的な例として科学者によってアセンブリされたシーケンスである「リファレンスゲノム」であり得る。例えば、GRCh37は、ゲノム・リファレンス・コンソーシアム・ヒューマン・ゲノム(Genome Reference Consortium human genome)(build 37)が、ニューヨーク州バッファローの13人の匿名のボランティアから派生している。しかしながら、リファレンスシーケンスは、それらの更なる処理の観点からリードの圧縮性を単に改善するために考えられ構築された合成シーケンスで構成することもできる。
ゲノムシーケンスリードの圧縮への効率的なアプローチの一般的な要素は、リファレンスシーケンスに関するシーケンスデータの相互利用である。ヒト集団の体細胞プロファイルが極端に多様であっても、ヒトによって異なるヌクレオチド数の実際の部分は、ゲノム全体を構成する全ヌクレオチド数の約0.1%にすぎない。したがって、個々の個体を特徴づける特徴的なゲノム情報は、ゲノム全体に含まれる全情報に関して非常に限られている。既存のリファレンスゲノムが利用可能な場合、それが以前のシーケンシングのためのものであれ、公表された「平均」コンセンサスリファレンスとしてのものであれ、情報をコード化する現在の最も一般的な方法は、リファレンスゲノムに関する差異のみを同定し、コード化することである。
一般にFASTQデータファイルの形式で表される未加工のシーケンスリードでこれを行うための、リファレンスゲノムのマッピングは予備的な前処理ステップである。適切なリファレンスゲノムが利用できない場合、又は特定のリファレンスの使用によって導入されたバイアスが望ましくない場合には、手元にあるシーケンスリードをコンティグと呼ばれるより長いシーケンスにアセンブリされることにより構築される新たなリファレンスシーケンスは、可能な代替である。
リファレンスシーケンス上のマッピングシーケンスリードの場合、そのリファレンスシーケンスは、左端の位置を位置0とする一次元座標系の軸として使用される。リファレンスシーケンスにマッピングされたリードシーケンスごとに、最小の座標番号で識別されるリファレンスシーケンスの位置にマッピングされたヌクレオチドは、通常「左端の」ヌクレオチドと呼ばれ、一方、最大の座標番号で識別されるリファレンスシーケンスの位置にマッピングされたヌクレオチドは、「右端の」ヌクレオチドと呼ばれる。これは図1に示されている。本開示を通して、ヌクレオチドは塩基とも呼ばれる。
シーケンスリードがリファレンスシーケンスにマッピングされるとき、左端にマッピングされた塩基の座標は、リファレンスシーケンス上のリードのマッピング位置を表すと言われる。
アライメントされたリードに存在し、リファレンスシーケンスには存在しない塩基(挿入(insertion)とも呼ばれる)、及びアライメントプロセスによって保存されるが、リファレンスシーケンス上にマッピングされない塩基は(ソフトクリップ(soft clips)とも呼ばれる)、マッピング位置を有しない。
シーケンスリードが、指定されたマッチング規則に従って使用されたリファレンスシーケンスのマッピングされた位置にマップできない場合、そのシーケンスはマッピングされていないと呼ばれる。
シーケンスリード間で重複する領域を探すことによって、より長いゲノムシーケンスを構築するプロセスは、アセンブリと呼ばれる。
短いリードをアセンブリして構築された長いゲノムシーケンスはコンティグと呼ばれる(https://en.wikipedia.org/wiki/Contig参照)。
アセンブリプロセス中にコンティグの構築に失敗したシーケンスリードは、アライメントされていない(unaligned)と呼ばれる。
リファレンスゲノムは、1つ以上のリファレンスシーケンスから構成され、それは、種の遺伝子セットの代表的な例として科学者によってアセンブリされる。例えば、GRCh37は、ゲノム・リファレンス・コンソーシアム・ヒューマン・ゲノム(Genome Reference Consortium human genome)(build 37)が、ニューヨーク州バッファローの13人の匿名のボランティアから派生している。しかしながら、リファレンスシーケンスは、それらの更なる処理の観点からリードの圧縮性を改善するために考えられ、単に構築された合成シーケンスから成ることもできる。
本開示において、リファレンスシーケンス上の最小座標上に塩基のマッピング(base mapping)を有するリードペアを構成するリードを「リード1」と呼び、そのメイトを「リード2」と呼ぶ。
ヌクレオチド(又は塩基)の数として表される、ペアとして生成された2つのリードを分離する距離は、現在の技術の最新のシーケンシング技術を使用するシーケンシング装置において未知であり、それは、ペア(すなわち、適切なマッチング関数の最小化)を構成する両方のリードをリファレンスシーケンスにマッピングすることによって決定される。
本開示全体を通じて、ゲノムレコードは、アラインメント情報、リード識別子、及び品質値に任意に関連した単一のシーケンスリード又はペアのシーケンスリードのいずれかをコード化するデータ構造である。
本開示全体を通じて、アクセスユニット(AU)は、ビットストリームのアクセス及び操作を容易にするために、ゲノム情報又は関連するメタデータのコード化された表現を含む論理データ構造として定義される。これは、本開示に記載された本発明を実施するデコーディング装置によってデコード化できる最小のデータ編成である。
コード化情報の種類に応じて、AUは、他のAUとは独立してデコード化することも、他のAUsに含まれる情報を用いてデコード化することもできる。
AUsは、コード化されたシーケンスデータの性質に従って、多くの種類に分類することができる。アクセスユニットは、リファレンスシーケンス又はその一部、あるいは単一クラスのデータに属するコード化されたリード又はリードペアのいずれかを含む。1つのAUに2つ以上の種類のシーケンスデータを含めることはできない。例えば、アクセスユニットは、ゲノム・リファレンス・コンソーシアムのヒトゲノム(build 37)であるGRCh37の染色体1の全体が含まれる場合がある。別のアクセスユニットには、座標50,000と150,000との間に位置するGRCh37の第1番染色体のヌクレオチドのコード化された表示を含むことができる。別のアクセスユニットには、リファレンスシーケンスに完全にマッピングされたリード又はリードペアのみが含まれ、ミスマッチは含まれない。別のアクセスユニットには、リファレンスシーケンスに対するミスマッチとして「N」個のシンボルのみを含むリード又はリードペアが含まれる場合がある。別のアクセスユニットには、任意の種類の置換を含むリード又はリードペアが含まれる場合がある(例えば、リード又はリードペアに存在する1つの塩基は、リファレンスシーケンスの対応するマッピング位置の塩基とは異なる)。別のアクセスユニットには、ミスマッチ、挿入、削除、及びソフトクリップされた塩基を含むリード又はリードペアが含まれる場合がある。別のアクセスユニットには、リファレンスシーケンスにマッピングされないリード又はリードペアのみが含まれる場合がある。別のアクセスユニットは、一方のリードがマッピングされ、他方のリードがリファレンスシーケンスにマッピングされないリードペアのみが含まれる場合がある。別の種類のアクセスユニットには、1つ以上のリファレンスシーケンス(染色体など)で構成されるリファレンスゲノムのコード化されたセグメントのみが含まれる場合がある。
アクセスユニットの本質的な特徴は、それが表すリード又はリードペアのゲノム情報(シーケンスリード又はリードペア、リファレンスシーケンス)、関連するアラインメント情報及びメタデータを再構築するのに必要な全ての要素を圧縮形式で含むことである。換言すれば、アクセスユニットによって運ばれるリード、リードペア又はリファレンスシーケンス及び関連情報を完全に再構築するためには、アクセスユニット自体、及び該当する場合には、それが参照するリファレンスシーケンスを含むアクセスユニットを検索するだけでよい。
各アクセスユニットでは、コード化されたリード又はリードのペアを表す、次のセクションに掲載された記述子は、高性能のエントロピーコード化を達成するためにそれらの同種の統計的特性を利用するために、別々のデータブロック(種類ごとに1つ)に集約される。
各アクセスユニットは、リファレンスシーケンス上のゲノム領域にマッピングされた同じクラスに属するシーケンスリード又はリードペアを表す記述子の圧縮サブセットを含む。このようなリファレンスシーケンス上のゲノム領域は、開始座標(又は開始位置)及び終了座標(又は終了位置)によって定義される。
アクセスユニットの例を図2及び図3に示す。アクセスユニットは、コード化されたゲノム記述子(次のセクションで説明する)のブロックによって構成される。ネットワーク上での転送を可能にするために、ブロックはさらにパケットに分解される。ゲノムシーケンスリードを圧縮する場合、各アクセスユニットは、リファレンスシーケンス上のゲノム区間にマッピングされたシーケンスリード又はマッピングされていないシーケンスリードのいずれかを表す圧縮記述子を含む。アクセスユニットを用いて、リファレンスゲノム又はその一部を伝送することができる。リファレンスシーケンスは、ヌクレオチドの単一の長いシーケンスとしてコードされることができ、又はマッピングされていないゲノムシーケンスリードとしてコード化されるより短いシーケンスに分割されることができる。
本開示のコンテキストにおいて、以下の定義が適用される。
アクセスユニット開始位置:アクセスユニットに含まれる全てのゲノムレコードのうち、左端のゲノムレコード位置。
アクセスユニットの終了位置:アクセスユニットに含まれる全ゲノムレコードのマッピングされた全塩基の中で右端の塩基位置。
アクセスユニット範囲:アクセスユニットに含まれる全てのゲノムレコードのうち、アクセスユニット開始位置と右端のゲノムレコード位置の間に含まれるゲノム範囲。
アクセスユニットサイズ:アクセスユニットに含まれるゲノムレコードの数。
アクセスユニットカバー領域:アクセスユニット開始位置とアクセスユニット終了位置の間に含まれるゲノム範囲。
本開示のコンテキストにおいて、1つ以上のアクセスユニットは、ゲノムデータセットと呼ばれる構造に編成される。ゲノムデータセットはヘッダとアクセスユニットを含む圧縮ユニットである。ゲノムデータセットを構成するアクセスユニットのセットは、ゲノムデータセットペイロードを構成する。
1つ以上のゲノムデータセットの集合をデータセット群と呼ぶ。
本開示のコンテキストにおいて、ゲノム記述子は、コード化されたリファレンスシーケンス、シーケンスリード及び関連するマッピング情報を再構築(すなわち、デコード化)するのに必要な情報(また、ファイルフォーマット及び/又はビットストリームの構文構造(syntax structure)の要素でもある)の一部を表す構文要素(syntax elements)である。本発明で開示されるゲノム記述子を表4に掲載する。
本発明に開示された方法によれば、リファレンスシーケンス又はその一部、シーケンスリード、及び関連するアラインメント情報は、上記にリストされた記述子のサブセットを使用してコード化され、次いで、各記述子固有の統計的特性に従って、複数のエントロピーエンコーダを使用してエントロピーコード化される。均質な統計的特性を有する圧縮された記述子のブロックは、本開示に記載される本発明を実施する装置によって操作することができる1つ以上のゲノムシーケンスの最小のコード化表現を表すアクセスユニットにおいて構造化される。
ゲノム記述子は、以下に定義されるようにブロック及びストリームに編成される。ブロックは、ヘッダとペイロードで構成されるデータ単位として定義され、同じ種類の圧縮された記述子の一部で構成される。記述子ストリームは、特定のデータクラスの記述子をデコードするために使用されるコード化記述子ブロックのシーケンスとして定義される。
シーケンシング装置では、次のようなシーケンスリードエラーが発生する可能性がある。
1.特定の塩基を呼び出す確証がないために、塩基の呼び出しをスキップする決定。これは未知の塩基と呼ばれ、「N」(「nタイプ」のミスマッチとして示される)と表示される;
2.シーケンスされたサンプルに実際に存在する核酸を表すものとは異なるシンボル(すなわち、異なる核酸を表す)の使用;これは通常「置換エラー」(「sタイプ」のミスマッチとして示される)と呼ばれる;
3.実際に存在する核酸を指し示さない追加のシンボルを1つのシーケンスリードへ挿入;これは通常、「挿入エラー」と呼ばれる(「iタイプ」のミスマッチとして示される);
4.シーケンスされたサンプルに実際に存在する核酸を表すシンボルを、1つのシーケンスリードから削除;これは通常「削除エラー」と呼ばれる(「dタイプ」のミスマッチとして示される);
5.元のシーケンスの現実を反映しない単一のフラグメントへの1つ以上のフラグメントの組換え;これは通常、アライナが塩基をクリップすると決定する結果となる(「cタイプ」のミスマッチとして示される)。
ゲノムシーケンシングにおいて、「カバレッジ」という用語は、「リファレンスシーケンス」に関するシーケンスデータの冗長性のレベルを表すために使用される。アライメントされたゲノムシーケンスデータの平均カバレッジは、リファレンスゲノムの各位置の各塩基がアライメントされたデータに存在する平均回数である。たとえば、ヒトゲノム(長さ32億塩基)で30倍のカバレッジを達成するには、シーケンシング装置が合計30×32億塩基を生成し、リファレンスの各位置が平均30回「カバー」されるようにする。
カバレッジは次のように述べられている:
・ 部分的(partial)(1×未満)は、リファレンスゲノムの一部が利用可能なシーケンスリードによってマッピングされていない場合であり;
・ シングル(single)(1×)は、リファレンスゲノムの全てのヌクレオチドが、シーケンスリードに存在する唯一のシンボルによってマッピングされる場合であり;
・ マルチプル(multiple)(2×、3×、N×)は、リファレンスゲノムの各ヌクレオチドが複数回マッピングされる場合である。
本発明は、関連情報が効率的にアクセス可能かつ移動可能であり、冗長情報の重みが低減されたゲノム情報表示フォーマットを定義することを目的とする。
開示された発明の主な革新的態様は、以下の通りである。
1 シーケンスリードは、リファレンスシーケンスに関するアラインメントの結果に従って、データクラスに分類され、区分化される。このような分類及び区分化は、アラインメント結果及びマッチング精度に関連する基準に従って、コード化データへの選択的アクセスを可能にする。
2 分類されたシーケンスリード及び関連するメタデータは、均一な統計的特性を有するブロックに編成されたゲノム記述子によって表され、低い情報エントロピーによって特徴付けられる個別の情報ソースの定義を可能にする。
3 各クラスの統計的特性に適合した個別のソースモデルを用いて、それぞれ分離された情報ソースをモデル化する可能性と、リードの各クラス内及び個別にアクセス可能なデータユニット(アクセスユニット)の各記述子ブロック内でソースモデルを変更する可能性。適切な変換、バイナリ化及びコンテキスト適応確率モデルと、各ソースモデルの統計的性質に従った関連エントロピーコード化の採用。
4 全ての情報が必要でない場合、全ての記述子ブロックをデコード化する必要なしに、シーケンシングデータ及び関連するメタデータへの選択的アクセスを可能にするための記述子ブロック間の対応関係及び依存関係の定義。
5 記述子ブロックの情報ソースのエントロピーを減少させるように、「既存の」(「外部の」とも呼ばれる)リファレンスシーケンス又は「既存の」リファレンスシーケンスに適切な変換を適用することによって得られる「変換」されたリファレンスシーケンスに関する、各シーケンスデータクラス及び関連するメタデータブロックのコード化。前記の記述子は、異なるデータクラスに分割されたリードを表す。「既存の」リファレンス又は「変換」「既存の」リファレンスシーケンスを参照して、対応する記述子を使用するリードのコード化に続いて、低エントロピーで最終的なコード化表現を見つけ、より高い圧縮効率を達成するために、種々のミスマッチの発生を使用して、リファレンスシーケンスに対する適切な変換を定義することができる。
6 一連の制約を満足しない既存のリファレンスシーケンスに関して、ある程度のマッチング精度を示すリードのクラスをコード化するために使用される一つ以上のリファレンスシーケンス(「内部の」リファレンスも呼ばれ、本明細書では「外部の」リファレンスシーケンスとも呼ばれる「既存の」リファレンスシーケンスと区別する)の構築。このような制約は、「内部の」リファレンスシーケンスに関してアライメントされたリードのクラスを圧縮形式で表現するためのコード化コスト及び「内部の」リファレンスシーケンス自体を表現するためのコストが、アライメントされていないリードのクラスを逐語的にコード化するよりも、又は変換を伴わずに又は伴う「外部の」リファレンスシーケンスを使用するよりも低いという目的で設定される。
7 ヘッダ情報の形で圧縮されたゲノムデータに埋め込まれたデータ構造によってコード化とデコード化の両方のプロセスを支配する構成パラメータの送信。このような構成パラメータは、圧縮性能を改善するために、コード化プロセス中に更新することができる。このような更新は、更新された構成データ構造の形式で圧縮されたコンテンツで伝達される。
以下、上記各態様についてさらに詳細に説明する。
[マッチング規則に基づくシーケンスリードの分類]
シーケンシング装置によって生成されたシーケンスリードは、開示された発明によって、一つ以上の「既存の」リファレンスシーケンスに関するアラインメントのマッチングの結果に従って、6つの異なる「クラス」に分類される。
ヌクレオチドのDNAシーケンスをリファレンスシーケンスに対してアライメントさせる場合、以下の場合を特定することができる:
1.リファレンスシーケンス内の領域は、エラーなしのシーケンスリードとマッチングすることがわかる(つまり、完全なマッピング)。そのようなヌクレオチドのシーケンスは、「完全にマッチングするリード」と呼ばれるか、「クラスP」と表示される。
2.リファレンスシーケンス内の領域は、シーケンスリードと、リードを生成するシーケンシング装置が塩基(又はヌクレオチド)を呼び出せなかった位置の数によってのみ決定されるミスマッチの数と類型とマッチングすることが見出される。この種のミスマッチは、未定義のヌクレオチド塩基を示すために用いられる文字である「N」によって示される。本開示では、この種のミスマッチを「nタイプ」ミスマッチと呼ぶ。このようなシーケンスは「クラスN」のリードに属する。リードが「クラスN」に属するように分類されたら、マッチングの不正確さの程度を所定の上限に制約し、有効なマッチングと見なされるものとそうでないものとの境界を設定することが有用である。したがって、クラスNに割り当てられるリードも、リードに含めることができる未定義の塩基(すなわち、「N」と呼ばれる塩基)の最大数を定義するしきい値(MAXN)を設定することによって制約される。このような分類は、クラスNに属する全てのリードが、対応するリファレンスシーケンスを参照するときに共有する必要な最小マッチング精度(又は最大マッチング度)を黙示的に定義し、これは、選択的データ検索を圧縮データに適用するための有用な基準を構成する。
3.リファレンスシーケンス中の領域は、シーケンスリードと、リードを生成するシーケンシング装置がいずれのヌクレオチド塩基も呼び出せなかった位置の数によって決定されたミスマッチの数及び類型がマッチングすることが見出される。仮に、それが存在する場合(すなわち「nタイプ」ミスマッチ)、それに加えて、リファレンス中に存在するものとは異なる塩基が呼び出されたミスマッチの数。「置換」と呼ばれるこのような種類のミスマッチは、一塩基変異(SNV)又は一塩基多型(SNP)とも呼ばれる。本開示では、この種のミスマッチは、「sタイプ」ミスマッチとも呼ばれる。シーケンスリードは「Mミスマッチリード」として参照され、「クラスM」に割り当てられる。「クラスN」の場合と同様に、「クラスM」に属する全てのリードについても、マッチングの不正確さの程度を特定の上限に設定し、有効なマッチングと見なされるものとそうでないものとの境界を設定すると便利である。したがって、クラスMに割り当てられたリードは、しきい値のセットを定義することによって制限される。もし存在するならば、その一つは「nタイプ」のミスマッチの数「n」(MAXN)、そして、もう1つは置換の数「s」(MAXS)であり、第3の制約は、数「n」と「s」の両方の関数f(n,s)によって定義されるしきい値である。このような第3の制約により、意味のある選択的アクセス基準に従って、マッチングする不正確さの上限を持つクラスを生成できる。例えば、制約としてではなく、f(n,s)は(n+s)1/2又は(n+s)又は「クラスM」に属するリードに対して許容される最大マッチング不正確レベルに境界を設定する任意の線形式又は非線形式であり得る。このような境界は、さまざまな目的のためにシーケンスリードを分析する際に、所望の選択的データ検索を圧縮データに適用するための非常に有用な基準を構成する。なぜならば、この境界は、一つの種類又は他方に適用される単純しきい値を超える「nタイプ」ミスマッチ及び「sタイプ」ミスマッチの数(置換)の任意の可能な組み合わせに対して、さらなる境界を設定することを可能にするからである。
4.第4のクラスは、「挿入」、「削除」(インデル(indels)とも呼ばれる)、及び「クリップ」のいずれかの種類の少なくとも1つのミスマッチを示すシーケンスリードで構成され、クラスN又はMに属するミスマッチのタイプが存在する場合、このようなシーケンスは「リードミスマッチ」と呼ばれ、「クラスI」に割り当てられる。挿入は、リファレンスに存在しないがリードシーケンスには存在する1つ以上のヌクレオチドの追加のシーケンスによって構成される。本開示では、このタイプのミスマッチは「iタイプ」のミスマッチと呼ばれる。文献においては、挿入されたシーケンスがシーケンスの端にある場合、それは「ソフトクリップ」とも呼ばれる(すなわち、ヌクレオチドはリファレンスにマッチングしていないが、廃棄される「ハードクリップ」ヌクレオチドとは対照的に、アライメントされたリードにおいて保持される)。本開示では、この種のミスマッチは「cタイプ」ミスマッチと呼ばれる。ヌクレオチドの保持又は廃棄は、シーケンシング装置又はその後のアライメント段階によって決定されるリードを受信及び処理する本発明で開示されるリードの識別子によってではなく、アライメント段階によって行われる決定である。削除は、リファレンスに関するリードの「ホール」(ヌクレオチドの欠落)である。本開示では、このタイプのミスマッチは「dタイプ」のミスマッチと呼ばれる。クラス「N」及び「M」の場合と同様に、マッチングの不正確さに対する制約を定義することは可能でありかつ適切である。「クラスI」に対する一連の制約の定義は、「クラスM」に使用されたものと同じ原則に基づいており、表2の最後の行に表される。クラスIのデータに対して許容される各タイプのミスマッチに対するしきい値の他に、さらなる制約は、ミスマッチの数「n」、「s」、「d」、「i」及び「c」、w(n,s,d,i,c)の関数によって決定されるしきい値によって定義される。そのような追加の制約により、意味のあるユーザー定義の選択的アクセス基準に従って、マッチングの不正確さの上限を持つクラスを生成できる。例えば、これに限定されるものではないが、w(n,s,d,i,c)は、(n+s+d+i+c)1/5又は(n+s+d+i+c)、又は「クラスI」に属するリードに対して許容される最大マッチング不正確レベルに境界を設定する任意の線形式又は非線形式であり得る。このような境界は、さまざまな目的のためにシーケンスリードを解析するとき、所望の選択的データ検索を圧縮データに適用するための非常に有用な基準を構成する。なぜならば、この境界は、許容可能なミスマッチの各類型に適用される単純なしきい値を超えて、「クラスI」のリードにおいて許容可能なミスマッチの数の任意の可能な組み合わせに対して、さらなる境界を設定することを可能にするからである。
5.第5のクラスは、リファレンスシーケンスを参照するときに各データクラスに対して有効であると考えられるマッピング(すなわち、表2で指定された最大マッチング精度の上限を定義するマッチング規則のセットを満たしていない)を見つけない全てのリードを含むこのようなシーケンスは、リファレンスシーケンスを参照するときに「非マッピング」と呼ばれ、「クラスU」に属するものとして分類される。
6.ペアエンドリードの場合、第6のクラスが定義され、その中では、ペアの一方のリードはリファレンスゲノムのいずれの位置にもマッピングすることができず(クラスUに属する)、他方のリードはP、N、M、Iクラスのいずれかに属する。このようなクラスは、ハーフマッピングから「HMクラス」と呼ばれる。
[マッチング規則によるリードペアの分類]
前のセクションで指定した分類は、単一のシーケンスリードに関するものである。2つのリードが可変長の未知のシーケンスで分離されていることがわかっているペアでリードを生成するシーケンシング技術(すなわち、イルミナ社)の場合、ペア全体を単一のデータクラスに分類することを検討するのが適切である。他にリードと結合されたリードは、その「メイト(mate)」と呼ばれている。
両方のペアリードが同じクラスに属している場合、ペア全体のクラスへの割り当ては次のようになる。ペア全体は、任意のクラスの同じクラスに割り当てられる(P、N、M、I、U等)。2つのリードが異なるクラスに属しているが、いずれも「クラスU」に属していない場合、ペア全体が、次の式に従って定義された最も高い優先順位を持つクラスに割り当てられる。
P<N<M<I
ここで、「クラスP」の優先順位が最も低く、「クラスI」の優先順位が最も高くなる。
一つのリードだけが「クラスU」に属し、その組み合わせがクラスP、N、M、I、のいずれかに属している場合、第6番目のクラスは「HMクラス」を表す「ハーフマッピング」として定義される。
このような特定のクラスのリードの定義及び関連する割り当ての規則は、このようなデータがリファレンスゲノムのギャップ又は未知の領域(ほとんど知られていない領域とも呼ばれる)を究明しようとするために用いられるという事実によって動機づけられる。このような領域は、既知の領域にマッピングすることができるペアリードを使用してエッジでペアをマッピングすることによって再構成される。マッピングされていないメイトは、図16に示すように、未知の領域のいわゆる「コンティグ」を作るのに使われる。したがって、このような類型のリードペアのみに選択的アクセスを提供することは、関連する計算負荷を大幅に低減し、最新技術のソリューションを使用する場合に、完全な検査をする必要がある大量のデータセットに起因するデータの非常に効率的な処理が可能になる。
以下の表は、各リードが属するデータのクラスを定義するために、リードに適用されるマッチング規則を示す。この規則は、ミスマッチの種類(n、s、d、i、c型ミスマッチ)の有無に関して、表の最初の5列で定義される。第6の列は、それぞれのミスマッチの類型に対する最大しきい値、及び起こり得るミスマッチの類型の任意の関数f(n,s)及びw(n,s,d,i,c)に関す規則ルを提供する。
表1.各シーケンスリードが、本発明の開示において定義されるデータクラスに分類されるために満足しなければならないミスマッチの類型および制約のセット
Figure 0007324145000001

[マッチング精度の異なるサブクラスを伴うシーケンスリードデータ・クラスN、M、及びIのマッチング規則・パーティション]
前のセクションで定義されたタイプN、M、及びIのデータクラスは、さらに、マッチング精度の程度が異なる任意の数の別個のサブクラスに分解することができる。このようなオプションは、より細かい粒度を提供する上で重要な技術的利点であり、その結果、各データクラスへのより効率的な選択的アクセスを提供する。例えば、これに限定されるものではないが、N個のクラスをk個のサブクラス(サブクラスN、・・・、サブクラスN)に分割するために、MAXN<MAXN<・・・MAXN(k-1)<MAXN(k)という条件で、対応するコンポーネントMAXN、MAXN、・・・、MAXN(k-1)、MAXN(k)を持つベクトルを定義する必要があり、ベクトルの各要素を評価するときに、表2で指定された制約を満たす最下位のサブクラスに各リードを割り当てる必要がある。これは、図15に示されており、データ分類ユニット1501は、クラスP、N、M、I、U、HMのエンコーダ及び注釈及びメタデータ用のエンコーダを含む。クラスNのエンコーダは、N個のデータ(1506)のk個のサブクラスを生成するMAXNからMAXNk1502までのしきい値のベクトルで構成される。
タイプMとタイプIのクラスにおいて、MAXMとMAXTOTにそれぞれ同じ特性を持つベクトルを定義することによって同じ原理が適用され、関数f(n,s)と関数w(n,s,d,I,c)が条件を満たすかどうかをチェックするためのしきい値として、各ベクトル成分が使用される。タイプNのサブクラスの場合と同様に、条件が満たされている最下位のサブクラスに割り当てられる。各クラスの類型に対するサブクラスの数は独立しており、細別の任意の組み合わせが許容される。これは図15に示されており、クラスMのエンコーダ1503及びクラスIのエンーダ1504は、それぞれ、しきい値MAXMからMAXM及びMAXTOTからMAXTOTのベクトルで構成されている。2つのエンコーダはそれぞれM個のデータ(1507)のj個のサブクラスとI個のデータ(1508)のh個のサブクラスを生成する。
ペア内の2つのリードが同じサブクラスに分類される場合、そのペアは同じサブクラスに属する。
ペア内の2つのリードが異なるクラスのサブクラスに分類される場合、そのペアは次の式に従って優先順位の高いクラスのサブクラスに属する。
N<M<I
ここで、Nが最も優先度が低く、Iが最も優先度が高い。
2つのリードが、クラスN、M、又はIのうちの1つの異なるサブクラスに属している場合、そのペアは、次の式に従って、最も高い優先順位を持つサブクラスに属する。
<N<・・・<N
<M<・・・<M
<I<・・・<I
ここで、最も高いインデックスが最も高い優先順位を有する。
[「外部の」リファレンスシーケンスの変換]
クラスN、M、Iに分類されたリードで見つかったミスマッチを使用して、リード表現をより効率的に圧縮するために使用される「変換」されたリファレンスを作成できる。
クラスN、M又はI(RSとして示される「既存の」(すなわち「外部の」)リファレンスシーケンスに関して)に属すると分類されたリードは、「変換された(transformed)」リファレンスとの実際のミスマッチの発生に従って、「変換された」リファレンスシーケンスRSに関してコード化することができる。例えば、クラスMに属するread in(クラスMの第i番目のリードとして示される)がリファレンスシーケンスRSとの間にミスマッチを含む場合、「変換」の後に、A(Ref)=Refn+1を用いてread in=read i(n+1)を得ることができ、ここで、AはリファレンスシーケンスRSnからリファレンスシーケンスRSn+1への変換である。
図19は、リファレンスシーケンス1(RS)に対するミスマッチ(クラスMに属する)を含むリードを、ミスマッチ位置に対応する塩基を修正することによって、RSから得られるリファレンスシーケンス2(RS)に対する完全にマッチングするリードに変換する方法の例を示す。これらは分類されたままで、同じデータクラスアクセスユニットで他のリードと一緒にコード化されるが、コード化はクラスPのリードに必要な記述子と記述子値のみを使用して行われる。この変換は、次式:
RS=A(RS
として表すことができる。
RSに適用されたときにRSを生成する変換Aの表現に、リードペアRSの表現を加えたものが、クラスMに対するRSのリードの表現よりも低いエントロピーに対応する場合、データ表現のより高い圧縮が達成されるので、変換Aの表現及びリードペアRSの対応する表現を伝送することが有利である。
圧縮ビットストリームにおける伝送のための変換Aのコード化は、以下の表に定義されるように、2つの追加の構文要素の定義を必要とする。
Figure 0007324145000002
図18は、マッピングされたリードでコード化されるミスマッチの数を減らすために、リファレンス変換がどのように適用されるかの例を示す。
場合によっては、リファレンス変換が適用されることに注意しなければならない。
・ 変換を適用する前にリファレンスを参照したときに存在しなかったリードの表現にミスマッチが生じることがある。
・ ミスマッチの類型を変更することができ、リードにはGの代わりにAが含まれ、他の全てのリードにはGの代わりにCが含まれるが、ミスマッチは同じ位置に残る。
・ 異なるデータクラス及び各データクラスのデータのサブセットは、同じ「変換された」リファレンスシーケンス、又は同じ既存のリファレンスシーケンスに異なる変換を適用することによって取得されたリファレンスシーケンスを参照する場合がある。
図19はさらに、リファレンス変換が適用され、リードが「変換された」リファレンスを使用して表された後に、リードが適切な記述子セット(例えば、クラスPの記述子を使用してクラスMからのリードをコード化する)によって、あるデータクラスから別のクラスにコード化の類型を変更する方法の例を示す。これは、たとえば、変換がリードに実際に存在する塩基のリードのミスマッチに対応する全ての塩基を変更し、クラスM(元の「変換されていない」リファレンスシーケンスを参照する場合)に属するリードをクラスP(「変換された」リファレンスを参照する場合)の仮想リードに仮想的に変換するときに発生する。データの各クラスに使用される記述子のセットの定義については、次のセクションで説明する。
図19は、異なるクラスのデータが、同一の「変換された」リファレンスR=A(R)(1900)を使用してリードを再コード化し、又は異なる変換A(1901)、A(1902)、A(1903)を各クラスのデータに別々に適用して、異なるリファレンスゲノムR、R、Rを生成する方法を示す。
[ゲノム・データセット・ヘッダ]
リードの分類がクラスの定義で完了すると、さらなる処理は、所定のリファレンスシーケンス上にマッピングされているとして表されるときに、リードシーケンスの再構築を可能にする残りの情報を表す別個の構文要素のセットを定義することからなる。これらの構文要素のデータ構造は、デコード化エンジンによって使用されるグローバルパラメータ及びメタデータの記憶を必要とする。これらのデータは、以下の表に示すゲノム・データセット・ヘッダ(Genomic Dataset Header)で構成されている。データセットは、単一のゲノムシーケンス決定ラン及び以下の全ての分析に関連するゲノム情報を再構築するのに必要なコード化のエレメントの集合として定義される。同一のゲノム試料を2回の個別の実行で2回シーケンシングする場合、得られたデータは2つの個別のデータセットにコード化される。
表2.ゲノム・データセット・ヘッダ
Figure 0007324145000003
Figure 0007324145000004
Figure 0007324145000005

[ゲノム記述子]
所定のリファレンスシーケンスを参照するシーケンスリード(すなわちDNAセグメント)は、以下の記述子の様々な組合せから形成されるサブセットを任意に使用して完全に表現することができる。
表3.ゲノム記述子とその意味
Figure 0007324145000006
Figure 0007324145000007
クラスUの場合、clips記述子は、指定されたマッチング精度の制約のセットと「内部の」リファレンスとマッチングしないリード部分(通常はエッジ)を識別する。
ureads記述子は、既存の(すなわち、実際のリファレンスゲノムのような「外部の」)リファレンスシーケンス又は「内部の」リファレンスシーケンスであるため、使用可能なリファレンスにマップできないリードを逐語的にコード化するために使用される。
この分類は、ゲノムシーケンスリードを一義的に表現するために用いることができる記述子(構文要素)のグループを作り出す。次の表は、「外部の」(すなわち「既存の」)又は「内部の」(すなわち「構築済みの」)リファレンスにアライメントされた各リードクラスに必要な構文要素をまとめたものである。アスタリスク「*」は、各クラスの全てのコード化されたリードで常に存在する必須な記述子を示す。
表4.各クラスのデータを表すために必要なゲノム記述子
Figure 0007324145000008
クラスPに属するリードは特徴付けられ、位置、逆相補情報(reverse complement information)、およびメイトペア、いくつかのフラグ、リード長を生成するシーケンシング技術によって取得された場合のメイト間のオフセットのみによって完全に再構築できる。
次のセクションでは、これらの記述子がクラスP、N、M、Iに対してどのように定義されるかを詳細に説明し、クラスUについては、以下のセクションで説明する。
クラスHMはリードペアにのみ適用され、一方のリードがクラスP、N、M、又はIに属し、もう一方のリードがクラスUに属する特殊なケースである。
[pos記述子]
pos記述子は、ゲノムレコードの左端にマッピングされた塩基のリファレンスシーケンス上の絶対マッピング位置を計算するために使用される。各pos記述子の値は、ゲノムレコードの左端にマッピングされた塩基と、その前にマッピングされた塩基のリファレンスシーケンス上の座標の差を表す。図4は、マッピングされたリードペアのpos記述子の計算例を示す。
各コード化されたブロック内のpos記述子の第1番目の値は、アクセスユニット内でコード化された第1番目にマッピングされたリード又はリードペアに対して微分コード化が不可能であるため、常に0である。アクセスユニットにコード化された最初のマッピング済みのリード/リードペアの絶対位置は、アクセスユニットヘッダに含まれる。
したがって、第n番目のゲノムレコードの左端にマッピングされた塩基のリファレンスシーケンス上の絶対位置は、次のように計算される:
Figure 0007324145000009

ここで、pは、アクセスユニットの最初のゲノムレコードに対して、アクセスユニットヘッダから検索されたマッピング値である。
塩基のリファレンスシーケンス上の絶対位置を計算するために、次の公式が適用される:
Figure 0007324145000010

ここで、
・ pは、塩基の基準シーケンス上の絶対位置であり、
・ pstartは、塩基を含むゲノムレコードのマッピング位置であり、
・ ninsは、同じゲノムレコード内の塩基の前に挿入された塩基の数であり、
・ ndelは同じゲノムレコード内の塩基に先行する欠欠落した塩基の数であり、
・ dstartは、ゲノムレコード位置からのゲノムレコード内の塩基のオフセットであり、
・ デルタ(delta)は、リードペアにおける2つのリード間の(符号付き(signed))ペアの距離である。これはゲノムレコードの2回目のリードにおける位置に対してのみ使用されなければならない。
注記 ペアエンドリードの場合、ゲノム記録位置からオフセットdstartを計算するとき、2つのリードは連続していると見なされる。相対的なリードの位置は、deltaを追加するときに考慮される。
リファレンスシーケンス上の1つの塩基に対するマッピング位置pの計算の例は、図5に示される。
[rcomp記述子]
rcomp記述子は、リードの階層性に関する情報を伝達する。デコード化されたrcomp記述子の各ビットは、リードが順方向(0に設定されたビット)又は逆方向(1に設定されたビット)のどちらのストランドで行われたかを示すフラグである。図6は、ペアになったエンドリードのためのrcomp記述子の値と意味づけを示す。図では、r1がリード1、r2がリード2となっている。各リードのマッピング位置に応じて、rcomp記述子は4つの異なる値を持つことができる。
表5.rcomp記述子の値と意味
Figure 0007324145000011

[flags記述子]
flags記述子は、表7で説明するフラグのセットである。
表6.flags記述子の各ビットのセマンティクス
Figure 0007324145000012

[mmpos]
mmpos記述子は、リード又はリードペア内で、リファレンスシーケンスに対するミスマッチの位置を表す。その位置は、ゲノムレコードにおける以前のミスマッチの位置からの距離として表される。第1番目のミスマッチの位置はゲノムレコードの左端にマッピングされた塩基からの距離として表される。
ペアリードの場合、又は複数のゲノムセグメントを含む一般的なレコードでは、連続するセグメント間のギャップは、連続するミスマッチ間の距離の計算では考慮されない。
コード化されたペアにリード1とリード2の両方が含まれている場合、リード2のミスマッチの位置はリード1の長さだけオフセットされる。例えば、100に等しい一定長さを有するリードの場合、ペアにおける最初のミスマッチが位置44でリード2にある場合、このゲノムレコードについてデコード化された最初のmmpos記述子は、値144を仮定する。
記述されたペアがリード1を欠いている場合(別のブロックにコード化されているか、リード2がペアになっていないかのいずれか)、ミスマッチ位置はリード1の長さだけオフセットされない。例えば、リード長が100に固定された場合、リード2の最初の変異が位置44にあり、リード2がペアになっていない場合、このゲノムレコードについてコード化された最初のmmpos記述子の値は44を仮定する。
各mmpos記述子は、mmposを使用して計算された位置でコード化されたリード又はリードペアで発生するミスマッチの類型を表すmmtype記述子に関連付けられる。
リードペアにおけるミスマッチ位置の計算方法の例を図7に示し、ここで、lenはリード1の長さを示す。
ゲノムレコードにおける第i番目のミスマッチのリファレンスシーケンス上の絶対位置は、表7に示されるように計算される。
表7.ゲノムレコードのミスマッチの絶対位置を計算する方法
Figure 0007324145000013
表7では、以下の変数が定義されている。
・ mmabsiは、リード又はリードペアにおける第i番目のミスマッチの基準シーケンスにおける絶対位置であり、
・ mmposiはゲノムレコードのmmpos記述子の第i番目の値であり、
・ len1は、リードペアのリード1の長さであり、
・ deltaは、ペア記述子に対して定義され、図5に示すように計算されたリード1とリード2との間のペアリング距離である。
ゲノムレコードを参照するmmpos記述子のシーケンスは、ミスマッチ位置として解釈できない予め定められたターミネータ値で終了する。
[mmtype]
mmtype記述子は、関連するmmpos記述子を使用して計算された位置でデコード化されたリードで発生するミスマッチの類型を指定する。
各ゲノムレコードが同じ数のmmtypeとmmpos記述子を含むので、mmtype記述子はターミネータのために予め定められた値を持たない。
表8は、使用されるアルファベットに従って、mmtype記述子の値と対応する意味を掲載する。
表8.使用されるアルファベットに従ったmmtype記述子の値とセマンティクス
Figure 0007324145000014

[clips]
clips記述子は、マッピングされたリード又はリードペアのクリップされた塩基(ソフトクリップ又はハードクリップとも呼ばれる)を表すために使用される。この記述子は、リード又はリードペアのクリップされた塩基の位置を識別するための追加のエレメントを持つASCII文字のシーケンスとして、ソフトクリップをエンコードする。ハードクリップの場合は、クリップされた塩基の位置と数だけがコード化される。各記述子は、ゲノムレコード識別子と、ゲノムレコードにおけるクリッピングされた塩基の位置、及びソフトクリップの場合の実際のクリッピングされた塩基に関連する情報を含む。
clips記述子の構文及び意味を、表9及び表10に示す。
表9.clips記述子を構成するフィールド
Figure 0007324145000015
表10.clips記述子の構文
Figure 0007324145000016
recorf_idは、現在のアクセスユニットでエンコードされたゲノムレコードのカウンタである。
clips_posは、リード又はリードペアの次のクリップされた塩基の位置を表す。位置(position)の値の意味は次のとおりである:
Figure 0007324145000017
soft_clipped_basesは、alphabet_idで識別されるアルファベットのシンボルの1つである。
hard_clipped_basesは、対応するclips_posによって示される位置にあるハードクリップされた塩基の数を表す;
[ureads]
ureads記述子は、alphabet_idで識別される現在使用されているアルファベットに属するASCII文字のシーケンスとして、逐語的にリードを表す。
[rlen]
rlen記述子は、本開示で定義されるパラメータセットでread_length=0のときに、可変長のリードの場合にのみ使用される。
デコード化されたrlen記述子は、ソフトクリップを含む塩基の数として、現在のシーケンスリードの長さを表す。
[pair]
ペアリードの再構築に必要な情報は、pair記述子を使用してコード化される。1つのゲノムセグメントと別のゲノムセグメントとを結びつけるペアリング情報は、次の3つの方法で表すことができる。
1.両方のリードが同じリファレンスにマッピングされ、同じゲノムレコードにコード化される場合、ペアリング距離は、リード1の左端にマッピングされた塩基とリード2の左端にマッピングされた塩基との間の距離として定義される。ペアリング距離の例を図8に示す。
2.第1のリードと同じリファレンスシーケンス上の第2のリードの絶対マッピング位置として。
3.第1のリードのリファレンスシーケンスとは異なるリファレンスシーケンス上の第2のリードのリファレンスシーケンスの絶対マッピング位置として。
ペアリング情報は、デコード化されたpair記述子の最初の2つのバイトが表11に掲載された値の一つを有するとき、上記ポイント2及び3に記述されるようにコード化される。
図8は、リード又はリードペアの左端にマッピングされた塩基と、右端にマッピングされた塩基とを分離するリファレンスシーケンス上のゲノム位置(genomic positions)の数として、ゲノムレコード長がどのように定義されるかを示す。リードペアの場合、これは、両方のリードが同じリファレンスシーケンス上にマッピングされているときに、リード1の左端の塩基をそのペアのリード2の右端の塩基から分離するリファレンスシーケンス上のゲノム位置の数である。「ペアリングの距離」は、リード1の左端の位置とリード2の左端の位置との差として定義される。「ペアリングの距離」は、pair記述子の符号付き整数値として表される。
リードをリファレンスシーケンスにアライメントさせる場合、リード2をリード1のマッピング位置よりも小さい位置(例えば、左側)にマッピングでき;この場合、上記のケース1で使用した対距離は負になる。これは、リードのストランド性(strandedness)に関する情報がペアリング距離記述子の符号でコード化されていることを意味する。
表11.リードペアがどのようにコード化されたかをシグナリングするリード距離記述子(read distance descriptors)の予め定められた値
Figure 0007324145000018

[リード距離]
リード距離は、2バイトの符号付きの整数でコード化される。
・ LSBは符号(符号ビットが0の場合、数値は負ではなく、符号ビットが1の場合、数値は負である)を表すために使用され、
・ 残りの15ビットは、ペアリング距離の絶対値を表すために使用される。
このアプローチは、-32766から32766の範囲のペアリング距離を表すことを可能にする。リードが大きなギャップによって分離される場合、絶対位置は表12の中で定義される特殊な値0x7ffd又は0x8003の後のpair記述子の中でコード化され、そして2つのリードは2つの別々のゲノムレコード(つまり、ペアは「分割(split)」である)の中でコード化される。
[リード距離のデコード化プロセス]
リード距離のデコード化プロセスは以下に示される:
Figure 0007324145000019

[mscore]
mscore記述子はアラインメントごとのスコアを提供する。それはゲノムシーケンスリードアライナによって生成されたリード当たりのマッピング/アライメントスコアを表すために使用される。
スコアは、指数部及び仮数部を用いて表示される。指数部及び仮数部を表すために使用されるビット数は、コード化パラメータ(下記のパラメータセットを参照)の中で指定される。表13は、11ビットの指数部と52ビットの仮数部について、IEEEE RFC754でどのように規定されているかを示す。
各アラインメントのスコアは次のように表す:
・ 1つの符号ビット(S)
・ 指数部の11ビット(E)
・ 少数部の53ビット(S)
表12.アライメントスコアは、64ビット倍精度浮動小数点で表される
Figure 0007324145000020
スコアの計算に使用される塩基(基数)が10の場合、スコアは次のように計算される。
スコア=-1×10×M
[rgroup]
rgroup記述子は、ゲノムレコードが属するリードグループを識別する。0からnum_groups-1までの符号なしの8ビットの整数である。アクセスユニット内のリードグループの存在は、以下で定義されるパラメータセットで定義されるように、パラメータセット内のnum_groups>0によって通知される。
[msar]
msar(マルチプルセグメントのアライメントレコード)記述子は、スプライスされたリードと、インデル(indels)又はソフトクリップを含む代替のセカンダリアライメントをサポートする。
msarは、次の情報を伝達することを目的としている。
・ マッピングされたセグメント長
・ セカンダリアライメント及び/又はスプライスされたリードのための異なるマッピング連続性(例:CIGAR文字列)
msarは、アラインメントされたリードデータのミスマッチ、挿入、欠落、ストランド性(strandedness)、セカンダリアラインメントのクリッピングされた基底を表現するために使用できる。
[マルチプルアライメント]
マルチプルアラインメントをサポートするために、次の記述子が定義されている。
[mmap]
mmap記述子は、ペアのリード又は左端のリードがアライメントされた位置の数を通知するために使用される。マルチプルアラインメントを含むゲノムレコードは、1つのマルチバイトのmmap記述子に関連付けられる。mmap記述子の最初の2バイトは符号なしの整数Nを表し、これはリードを単一のセグメント(本開示で定義されているようにspliced_reads_flag=0の場合)として参照するか、代わりにいくつかの可能なアライメントのためにリードがスプライスされた全てのセグメント(spliced_reads_flag=1の場合)を参照する。Nの値は、現在のレコードのテンプレート用にコード化されたpos記述子の値の数を表す。Nの後には、本開示に記載の1つ以上の8ビット符号なしの整数Mが続く。
[マルチプルアライメントのストランド性]
マルチプルアラインメントの場合、本開示で定義されるrcomp記述子は、上記で指定されたものと同じ構文を使用して、各リードアラインメントのストランド性(strandedness)を指定するために使用される。
[マルチプルアライメントのスコア]
マルチプルアライメントの場合、本開示で定義される1つのmscoreが各アライメントに割り当てられる。
[スプライス無しのマルチプルアライメント]
アクセスユニットにスプライスが存在しない場合、spliced_read_flagは設定が解除される。
ペアエンドシーケンシングにおいては、mmap記述子は、16ビットの符号無しの整数Nとそれに続く1つ以上の8ビットの符号無し整数Mで構成され、iは1から第1の(ここでは左端)のリードアライメントの完全な数を想定している。スプライスされたか否かにかかわらず、それぞれ第1のリードアライメントに対して、Mは、第2のリードアライメントをするために使用されるセグメントの数(この場合、スプライスがなければ、これは線形の数に等しくなる)、及び、第1のリードアライメントに対してコード化されるpair記述子の値の数を通知するために使用される。
の値を用いて第2のリードのアライメントの数を表す
Figure 0007324145000021

を計算する。
(M=0)の特別な値は、左端のリードの第i番目のアライメントが、k<i(上式とマッチングする新しいアラインメントは検出されない)を有する左端のリードの第k番目のアライメントとすでにペアになっている右端のリードのアライメントとペアになっていることを示す。
たとえば、最も単純な場合は次のようになる:
1.左端のリード位置に1つのアライメントがあり、右端のアライメントに2つの代替アライメントがある場合、Nは値1を、Mは値2をとる。
2.左端のリードで2つの代替アライメントが検出され、右端のアライメントのみが検出された場合、Nは値2を、Mは値1を、Mは値0をとる。
が0であるとき、ペアに関連する値は、既存の第2のリードアライメントにリンクしなければならない;そうしないと構文エラーが発生し、アラインメントが壊れたとみなされる。
例:先に述べたように、第1のリードが2つのマッピング位置を有し、第2のリードが1つのみである場合、Nは2であり、Mは1であり、Mは0である。これに続いて、テンプレート全体に対する別の代替のセカンダリマッピングが行われる場合、Nは値3をとり、Mは値1をとる。
図9は、スプライスのないマルチプルアラインメントの場合のN、P、Mの意味を示し、図10は、マルチプルアラインメント情報をコード化するためにpos、pair、mmap記述子がどのように使用されるかを示す。
10については、以下が適用される:
・ 右端のリードは
Figure 0007324145000022

個のアライメントを有する。
・ 左端のリードの第i番目のアラインメントが、k<iの左端のリードの第k番目のアラインメントと既にペアになっている右端のリードのアラインメントとペアになっている場合、Mのいくつかの値は=0になることがある。
・ ペア記述子の1つの予め定められた値は、他のAUの範囲に属するアライメントを通知するために存在することができる。もし、それが存在する場合は、常に現在のレコードの最初のペア記述子である。
[スプライスを伴うマルチプルアライメント]
データセットがスプライスされたリードでコード化される場合、msar記述子は、本開示において定義されるように、スプライスの長さ及び並び方の表現を可能にする。
mmap及びmsar記述子をデコード化した後、デコーダは、マルチプルマッピングを表すためにコード化されたリード又はリードペアの数、及び各リード又はリードペアのマッピングを構成しているセグメントの数を認識する。これを図11と図12に示す。
図11を参照すると、以下が適用される。
・ 左端のリードは、N個のスプライス(N≦N)を伴うN個のアライメントを有する。
・ Nは、左端のリードの全てのアラインメントに存在するスプライスの数を表し、mmap記述子の最初の値としてコード化される。
・ 右端のリードは、
Figure 0007324145000023

個のスプライスであり、ここで、Mは、左端のリードの第i番目のアラインメントに対応する、右端のリードのスプライスの数である(1≦i≦N1)。換言すれば、Pは、右端のリードのスプライスの数を表し、mmap記述子の最初の値に続くN個の値を用いて計算される。
・ N及びNは、第1及び第2のリードのアラインメントの数を表し、msar記述子のN+P値を使用して計算される。
図12を参照すると、以下が適用される:
・ 左端にはN個のアライメントとN個のスプライス(N≦N)がある。N=N及びN=Pの場合、スプライスは存在しない。
・ 右端のリードは、
Figure 0007324145000024

個のスプライスt(1≦j≦P)及びN(N≦P)個のアライメントを有する。
・ pair記述子の数は、NP=Max(N1,P)+Mとして計算でき、ここで、
・ Mは、値が0のMの数であり
・ NPは、1つの特別なpair記述子が他のAUにアラインメントが存在することを示す場合に1だけ増分する必要がある。
[アライメントスコア]
mscore記述子を使用すると、アラインメントのマッピングスコアをシグナリング(signaling)することができる。シングルエンドシーケンシングでは、テンプレートごとにNの値を有し;ペアエンドシーケンスでは、テンプレート全体のアラインメントごとに値を持つ(すなわち、M-1>0の場合、第1のリードアライメントの異なるアライメントの数+さらなる第2のリードアライメントの数)。
スコアの数(Number of scores)=MAX(N,N)+M
ここで、MはM=0の総数を表す。
各アラインメントに関連するスコアの数は、本開示において定義されるように、コード化パラメータas_depthによって示される。
[スプライスのないマルチプルアライメントの記述子]
表13.スプライスの無いマルチプルアラインメントの場合に、1つのゲノムレコードでマルチプルアラインメントを表すのに必要な記述子の数を計算する方法。
Figure 0007324145000025

[プライスを有するマルチプルアライメントの記述子]
表14は、スプライスを有するマルチプルアラインメントの場合に、一つのゲノムレコード中のマルチプルアラインメントを表すのに必要な記述子の数を計算する方法を示している。
表14.マルチプルアライメントと関連スコアを表すために使用される記述子
Figure 0007324145000026

[異なるシーケンス上のマルチプルアライメント]
アライメントプロセスで、プライマリマッピングが配置されているリファレンスシーケンスとは別のリファレンスシーケンスへの代替マッピングが見つかることがある。
ユニークにアライメントされたリードペアについては、例えば、別の染色体上のメイトとのキメラ配列がある場合、絶対的なリード位置を表すためにpair記述子を使用しなければならない。pair記述子は、リファレンスと、同じテンプレートに対する更なるアラインメントを含む次のレコードとの位置を通知するために使用される。最後のレコード(例えば、代替マッピングが3つの異なるAUでコード化されている場合、第3番目)は、最初のレコードのリファレンス及び位置を含む。
ペアの中で左端のリードに対する一つ以上のアラインメントが、現在コード化されたAUに関連するものとは異なるリファレンスシーケンス上に存在する場合、pair記述子の予め定められた値が使用される(独自のアライメントの場合、別のリファレンスに存在するアライメントに使用されるものとは異なる)。予め定められた値の後には、リファレンスシーケンスの識別子と、次のAUに含まれる全ての中で左端のアライメントの位置(つまり、そのレコードのpos記述子の最初のデコード化された値)が続く。
[挿入、削除、マッピングされていない部分を含むマルチプルアラインメント]
代替のセカンダリマッピングが、シーケンスがアライメントされるリファレンス領域の連続性を保存しない場合、実際のシーケンス(及び、置換やインデル(indels)などのミスマッチに関連する記述子)はプライマリアライメントについてのみコード化されるので、アライナによって生成された正確なマッピングを再構築することは不可能である。msar記述子は、それらがインデル(indels)及び/又はソフトクリップを含む場合に、セカンダリアライメントがリファレンスシーケンス上でどのようにマッピングするかを表現するために使用される。msarがセカンダリアライメントのための特殊な記号「*」によって表現される場合、デコーダは、プライマリアライメント及びセカンダリアライメントのマッピング位置からセカンダリアライメントを再構築する。
[未加工のデータ]
未加工のリードは、クラスUにのみ属する。これらは、アライメントされたデータセット内でマッピングされていないリードとしてコード化される。外部リファレンス又は内部リファレンスにアライメントされたリード用に定義された記述子の一部は、未加工のリードのコード化に使用される。これは、未加工のリードが、コード化されるべきデータから、構築されたリファレンスシーケンスを使用してコード化されるという事実に基づいている。
Figure 0007324145000027

[ureads]
ureads記述子は、現在使用されているアルファベットに属するASCII文字のシーケンスとして、逐語的なシーケンスリード表す。
[rtype]
rtype記述子は、表15に示すように、ゲノムレコード内の1つのマッピングされていないリード又はリードペアをコード化するために使用される記述子のサブセットを通知するために使用される。
rtype記述子を使用すると、同じデータセット内でリファレンスに基づく圧縮及びリファレンスに基づかない圧縮を混在させることもできる。このシナリオでは、rtype=0はリファレンスベースのコード化されたレコードを示し、rtype>0はリファレンスレス圧縮(この場合、記述子は必要に応じて計算されたリファレンスを参照する)に使用される記述子のセットを示す。
表15.rtype記述子の意味
Figure 0007324145000028

[記述子のバイナリ化]
本発明の一実施形態では、ゲノム記述子の圧縮のためにコンテキスト対応バイナリ算術コード化(CABAC)を使用する。CABACはまず、コード化される全てのシンボルをバイナリ表現に変換する。バイナリ化プロセスは、算術コード化に先立って、非バイナリシンボル(例えば、マッピング位置、マッピングされたリード長、又はミスマッチの類型)をバイナリコードに変換する。
各記述子の統計的性質に適合した適切なバイナリ化の選択は、異種要素のブロックに適用された汎用コンプレッサに基づく既存フォーマットよりも良好な圧縮比を提供する。
次の項では、これらの変数を定義する。
・ symVal:バイナリ化されるべきゲノム記述子の非バイナリ値。
・ cLength:値がバイナリ化されるビット数を表す。
・ cMax:バイナリ化できる最大値。大きい値は切り捨てられる。
以下のバイナリ化テーブルは、これらの変数の固定値について計算されるが、本発明の原理はこれらの値に限定されず、従って、本発明の原理の趣旨を維持しつつ、他の値も本発明の原理に従って使用することができることを理解されたい。
本開示で使用される各バイナリ化アルゴリズムは、表16に示される識別子によって識別される。
表16.バイナリ化の種類と対応する識別子
Figure 0007324145000029

[バイナリコード化(BI)]
これは、各数値がそのバイナリ表現でコード化される標準のバイナリ表現である。変数cLength-binarization_id=0の場合に表29に示される変数cLength-は、その値が表現されるビット数を表す。
[切捨単項(TU)バイナリ化]
TUバイナリ文字列は、symValに1つのゼロが続くものを連結したものである。symVal=cMaxの場合、末尾の0ビットは破棄される。表18は、cMax=3のこの切捨単項バイナリ化のバイナリ文字列を示す。
表17.cMax=3の切捨単項バイナリ化のバイナリ文字列
Figure 0007324145000030
このバイナリ化プロセスと算術的なデコード化の構文を以下に説明する。
Figure 0007324145000031

binValueはバイナリ化された値で、0又は1のいずれかである。
[指数ゴロム(EG)のバイナリ化]
この手法を使用してバイナリ化されたゲノム記述子の解析プロセスは、ビットストリームの現在の位置から始まり、最初の非ゼロビットまでのビットを読み取り、0に等しい先頭ビットの数をカウントすることから始まる。
このプロセスは次のように特定される:
Figure 0007324145000032

変数symValは以下のように割り当てられる:
Figure 0007324145000033

ここで、read_bits関数の呼び出しは、入力として渡されたパラメータに等しいビット数を記憶媒体から読み取る。read_bits(「leadingZeroBits」)から返された値は、最上位ビットが最初に書き込まれる符号なしの整数のバイナリ表現として解釈される。
表18は、ビット列を「prefix」ビットと「suffix」ビットに分けることによって、Exp-Golombコードの構造を示す。「prefix」ビットは、leadingZeroBitsの計算のために上記のように解析されるビットであり、表18のビット列列列において0又は1のいずれかとして示される。「suffix」ビットは、symvalの計算において解析されるビットであり、表18においてxとして示され、iは0から先頭のZeroBits-1までの範囲にある。各xは、0又は1に等しくなる。
表18.0から62までのsymVal値のバイナリ表現
Figure 0007324145000034
表19は、symVal値へのビット文字列の明示的な割り当てを示す。
表19.指数ゴロムのビットストリームと明示的な形式のsymVal
Figure 0007324145000035
ゲノム記述子に応じて、バイナリ化された構文要素の値は、次のいずれかの方法を使用してデコード化される。
・ デコード化されたゲノム記述子の値は、バイナリ化された記述子に対応するsymVal値に等しい
・ デコード化されたゲノム記述子の値は、例えばhttps://en.wikipedia.org/wiki/Exponential-Golomb_codingで定義されたように、symValを入力として符号付き0次指数ゴロムデコーディングを適用することによって計算される。
[符号付き指数ゴロム(SEG)のバイナリ化]
このバイナリ化方法によれば、ゲノム記述子は、構文要素をその絶対値で昇順に並べ、与えられた絶対値に対する正の値をより低いsymValで表すことによって、symValに関連付けられる。表20に、割り当て規則を示す。
表20.符号付き指数ゴロムのコード化されたゲノム記述子に対するsymValへの構文要素の割り当て
Figure 0007324145000036

[切捨指数ゴロム(TEG)のバイナリ化]
このバイナリ化プロセスでは、バイナリ化の計算方法を定義する追加の入力パラメータtegParamを使用する必要がある。
このプロセスの出力は、構文要素のTEGのバイナリ化である。
TEGのバイナリ文字列は、1(symVal=0の場合)又は2(symVal>0の場合)の種類のバイナリ化の連結である。
・ 値Min(symVal、tegParam)に対してcMac=tegParamとなる切捨単項バイナリ化
・ symVal !=0の場合、Abs(symVal-tegParam)値に対する指数ゴロムのバイナリ化
表21は、tegParam=2を使用したこの切捨指数ゴロムのバイナリ化のバイナリ文字列を示す。
表21.tegParam=2の切捨指数ゴロムのバイナリ化のバイナリ文字列
Figure 0007324145000037

[符号付き切捨指数ゴロム(STEG)のバイナリ化]
このバイナリ化プロセスでは、追加の入力パラメータstegParamを使用する必要がある。
STEGバイナリ文字列は、1(その場合、symVal=0)又は2(他の場合)のバイナリ化の連結である。
1.Abs(symVal)の切捨指数ゴロムのバイナリ化
2.symVal !=0の場合、1(symVal<0の場合)又は0(symVal>0の場合)に等しい1ビットのフラグ
表22は、stegParam=2でのこの符号付き切捨指数ゴロムのバイナリ化のバイナリ文字列を示す。
表22.stegParam=2の符号付き切捨指数ゴロムのバイナリ化におけるバイナリ文字列
Figure 0007324145000038

[分割ユニットワイズ切捨単項(SUTU)バイナリ化]
このバイナリ化プロセスでは、2つの入力パラメータsplitUnitSizeとoutputSymSizeを使用する必要がある。outputSymSizeは、常にsplitUnitSizeの倍数である必要がある。
SUTUバイナリ文字列は、繰り返されるTUバイナリの連結であり、ここで、各TUバイナリ化は、splitUnitSizeビット長であるsymValの部分に適用される。つまり、symValは、TUバイナリ化で得られたxバイナリ文字列(x=outputSymSize/splitUnitSize)で表される。各バイナリ文字列のcMaxパラメータは、xMax=(1<<splitUmitSize)-1と定義される。
表23は、splitUnitSize=2及びoutputSymSize=8を使用した、分割ユニットワイズ切捨単項バイナリ文字列を示す。
表23.splitUnitSize=2及びoutputSymSize=8の分割ユニットワイズ切捨単項バイナリ化のバイナリ文字列
Figure 0007324145000039
このバイナリ化プロセスのためのビットストリーム構文を以下に説明する。
表24.TUバイナリ化のためのCABACデコード化プロセス
Figure 0007324145000040

[符号付き分割ユニットワイズ切捨単項(SSUTU)バイナリ化]
このバイナリ化プロセスでは、2つの入力パラメータsplitUnitSizeとoutputSymSizeを使用する必要がある。
SSUTUバイナリ文字列は、別々のフラグとしてコード化されたsymValの符号を有するSUTUバイナリ化プロセスの拡張によって得られる。
・ 値Abs(symVal)に対するSUTUバイナリ化。
・ symVal !=0の場合、1に等しい(symVal<0の場合)か、0に等しい(symVal>0の場合)の1ビットフラグである。
表25は、splitUnitSize=2、outputSymSize=8を使用した符号付き分割ユニットワイズ切捨単項のバイナリ文字列を示す。
表25.splitUnitSize=2、outputSymSize=8を使用した符号付き分割ユニットワイズ切捨単項のバイナリ化におけるバイナリ文字列。
Figure 0007324145000041
このバイナリ化プロセスの構文を以下に説明する。
Figure 0007324145000042
sign_flagは、ctxIdxによって識別されるコンテキスト変数のビットのcabacデコード化を表す。
decode_cabac_SUTU()は、SUTUバイナリ化のためのcabacデコード化プロセスを表す。

[二重切捨単項(DTU)バイナリ化]
このバイナリ化プロセスでは、2つの入力パラメータsplitUnitSizeとoutputSymSizeを使用する必要がある。
DTUバイナリ文字列は、2つのバイナリ化、すなわちTUバイナリ化及びSUTUバイナリ化の連結である。TUバイナリ化にはパラメータcMAxが使用され、SUTUバイナリ化にはパラメータsplitUnitSizeとoutputSymSizeが使用される(ここで、cMAxは内部的に派生する)。
・ 値Min(Abs(symVal)、cMax)に対するTUバイナリ化の第1の例。
・ Abs(symVal)>cMAxの場合、Abs(symVal)-cMaxに対するSUTUバイナリ化の第2の例。
表26は、cMAx=1、splitUnitSize=2、outputSymSize=8を使用した二重切捨単項バイナリ化のバイナリ文字列を示す。
表26.cMAx=1、splitUnitSize=2、outputSymSize=8の二重切捨単項バイナリ化のバイナリ文字列
Figure 0007324145000043
このバイナリ化プロセスを以下に説する。
Figure 0007324145000044

decode_cabac_TU()は、TUバイナリ化のためのcabacデコード化プロセスを表す。
decode_cabac_SUTU()は、SUTUバイナリ化のためのcabacのデコード化プロセスを表す。
[符号付き二重切捨単項(SDTU)バイナリ化]
このバイナリ化プロセスは、2つの追加入力パラメータsplitUnitSizaeとoutputSymSizeを使用する必要がある。
SDTUバイナリ文字列は、フラグとしてコード化されたsymValの符号付きDTUバイナリ化プロセスの拡張により得られる。
・ 値Abs(symVal)に対するDTUバイナリ化。
・ symVal !=0の場合、1に等しい(symVal<0の場合)か、0に等しい(symVal>0の場合)の1ビットのフラグである。
表27は、cMax=1、splitUnitSizae=2、outputSymSize=8を使用した、二重切捨単項バイナリ化のバイナリ文字列を示す。
表27.cMax=1、splitUnitSizae=2、outputSymSize=8の場合の二重切捨単項バイナリ化のバイナリ文字列
Figure 0007324145000045
このバイナリ化プロセスの構文を以下に説明する。
Figure 0007324145000046

sign_flagは、ctxTdxによって識別されるコンテキスト変数のビットのcabacデコード化を表す。
decode_cabac_DTU()は、DTUバイナリ化によるcabacデコード化を表す。
[バイナリ化のパラメータ]
前のセクションで紹介した各バイナリ化アルゴリズムは、コード化及びデコード化の終了時に構成パラメータを必要とする。一実施形態では、前記の構成パラメータは、表28に記載のデータ構造にカプセル化される。各バイナリ化アルゴリズムは、表16に記載の識別子によって識別される。
表28.バイナリ化パラメータの構成
Figure 0007324145000047
表28では、次の意味(semantics)が適用される。
cMaxは、バイナリ化される最大値を表す。大きい値は切り捨てられる。
cLengthは、バイナリ化される値のビット数を表す。
tegParamは、本開示においてTEGバイナリ化用に定義されるtegParam変数を表す。
stegParamは、本開示においてSTEGバイナリ化用に定義されるstegParam変数を表す。
splitUnitSizeは、本開示でSUTU、SSUTU及びDTUバイナリ化用に定義されるsplitUnitSize変数を表す。
outputSymSizeは、本開示でSUTU、SSUTU、DTU及びSDTUバイナリ化用に定義されるoutputSymSize変数を表す。
[本発明の技術的利点の証拠]
表29に示されるように、示されたCABACバイナリ化をそれぞれのゲノム記述子に適用することによって、表30に示される圧縮性能を得ることができる。本開示に記載された方法の圧縮性能の改善は、BAM及びCRAMアプローチの対応するファイルサイズ、及びDeeZ(ヌマヤギッチ,I.(Numanagic, I.)、他、「高スループットシーケンシングデータ圧縮ツールの比較(Comparison of high-throughput sequencing data compression tools)」、ネイチャーメソッド(Nature Methods)(ISSN:1548-7091)、vol.13、p.1005-1008、ロンドン:ネイチャーパブリッシンググループ、2016)として知られている文献における最良のコンプレッサのうちの一つと比較することによって評価することができる。DeeZ、BAM及びCRAMの圧縮性能は、圧縮されたゲノムシーケンスデータのサイズにアラインメントに使用される圧縮リファレンスゲノムのサイズを加えることによって計算されることを理解されたい。本開示の原理によれば、リファレンスゲノムは圧縮ファイルに埋め込まれる。今日では、圧縮リファレンスゲノムは、GZIP、LZMA、Bzip2などの汎用コンプレッサを用いて圧縮されたFASTA(ASCIIテキスト)ファイルであると述べられている。提案された比較では、リファレンスゲノムhs37d5.faを最大圧縮(-9)のオプション付きのxz Linux(登録商標)コマンドを使って圧縮した。
[記述子に適用されるバイナリ化]
表30は、本開示において定義されるゲノム記述子に適用されるバイナリ化を示す。いくつかのバイナリ化の連結が示される場合、異なるバイナリ化は、本開示で定義されるように、各記述子を構成する異なる要素に適用される。
表29.各ゲノム記述子に関連付けられたバイナリ化
Figure 0007324145000048

[rftp及びrftt]
rftp及びrfttのバイナリ化の例を本セクションで示し、図10に示す。
コンティグとアラインメントに用いたリファレンスゲノムとの間の5つのミスマッチに関連する記述子を以下に示す。
Figure 0007324145000049
各ヌクレオチドのシンボルは整数コードに関連付けられている。
Figure 0007324145000050
変換後の値は次のようになる。
Figure 0007324145000051
rftpのバイナリ化された値は次のように計算される。
1.ターミネータ(terminator)の値は、0又は1としてバイナリ化できる。この例では、0を選択している。
2.ターミネータ(terminator)=0の場合、splitUnitSize=4でのバイナリ化No.6が使用され、outputSymbolSize=12が使用され、次のバイナリ文字列がrftpの値に関連付けられる。
a. 5=11110
b. 2=110
c. 5=11110
d. 1=10
e. 2=110
rfttのバイナリ化された値は、次のように計算される。
1.リファレンスゲノム中に存在するヌクレオチドを知っていれば、コード化される可能性のある記号から対応する記号を取り除く。すなわち。この例の最初のミスマッチでは、リファレンス内の対応するシンボルが「G」である場合、コード化される可能性のあるシンボルのスペースは0、1、3、4である。
2.コード化されるデータ上のミスマッチの類型のシンボルの頻度が測定され、0から3のインデックスが付けられる。インデックス0は最も頻度の高いミスマッチに影響され、インデックス3はより頻度の低いミスマッチに影響される。この例では、インデックス作成は次のようになる。{0=>3、1=>0、2=>4、3=>1}
3.与えられた例では、5つのミスマッチは以下のようにTUバイナリ化を使用してバイナリ化される:
Figure 0007324145000052
上記のバイナリ化アプローチにより、以下の圧縮結果が得られる:
表30.最先端のソリューションに関する圧縮パフォーマンス(バイト単位のサイズ)
Figure 0007324145000053

*本開示の原則に従って、圧縮された表現で既に利用可能であるため、追加情報は必要ない。
[コード化パラメータ]
一実施形態では、各アクセスユニットをコード化及びデコード化するのに必要なパラメータは、表31に定義されるパラメータセットという名前のデータ構造でカプセル化される。
表31.ゲノム記述子のコード化パラメータ
Figure 0007324145000054
Figure 0007324145000055
[コード化装置]
図13は、本発明の原理に基づくコード化装置を示す。コード化装置は、リファレンスゲノム1302、及び、例えばゲノムシーケンシング装置によって生成された非アライメントゲノムシーケンス1300を入力として受け取る。ゲノムシーケンシング装置は、イルミナHiSeq2500、Thermo-Fisher Ion Torrentの装置又はOxfordNanopore MinIONのような当技術分野において公知である。アライメントされていないシーケンスデータ1300は、リードアライメントユニット1301に供給され、それは、リファレンスゲノム1302上のシーケンスをマッピングする。次いで、アライメントされたゲノムシーケンス303は、マッピングされた及びマッピングされていないゲノムシーケンスの両方を表すゲノム記述子1306を生成するリファレンスに基づくコンプレッサ1305に供給される。リファレンスに基づくコンプレッサ1305によって生成されたゲノム記述子1306は、最初にいくつかのバイナリ化ユニット1307によってバイナリ化され、次にいくつかのエントロピーエンコーダ1308によってエントロピーコード化される。エントロピーコード化ゲノム記述子は、次に、多重化装置1310に供給され、圧縮ビットストリーム1311を構成する一つ以上のアクセスユニットを構築する。多重化されたビットストリームは、コード化パラメータエンコーダ1309によって構築されたコード化パラメータ構造130をも含む。各アクセスユニットは、本開示において定義されるように、アライメント情報及び1つのクラスのデータに属するシーケンスリードを表すエントロピーコード化記述子を含む。
[デコード化装置]
図14は、本開示の原理に基づくデコード化装置を示す。多重分離ユニット1401は、ネットワーク又は記憶素子から多重化ビットストリーム1400を受信し、当該ビットストリームを構成するアクセスユニットのエントロピーコード化ペイロードを抽出する。エントロピーデコーダ1402は、抽出されたペイロードを受信し、異なるタイプのゲノム記述子をそれらのバイナリ表現にデコード化する。次いで、前記バイナリ表現は、ゲノム記述子1405を生成するいくつかのバイナリデコーダ1404に供給される。コード化パラメータデコーダ1403は、ゲノム情報と多重化されたコード化パラメータを受信し、デコードユニット1406に供給する。ゲノムシーケンスリードを表すゲノム記述子1405は、シーケンスリード再構築ユニット1406に供給され、それは、利用可能なリファレンスゲノム1408を用いて、アライメントされたゲノムシーケンス1407を再構築する。
本明細書に開示された本発明の技術は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実施することができる。ソフトウェアで実現される場合、これらは、コンピュータ媒体に記憶され、ハードウェア処理ユニットによって実行されてもよい。ハードウェア処理ユニットは、1つ以上のプロセッサ、デジタルシグナルプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路又は他の個別論理回路を含むことができる。
本開示の技術は、携帯電話、デスクトップコンピュータ、サーバ、タブレット及び同様のデバイスを含む様々なデバイス又は装置で実施することができる。

Claims (27)

  1. ヌクレオチドシーケンスのリードを含むゲノムシーケンスデータをコード化する方法であって、
    前記リードを1つ以上のリファレンスシーケンスにアライメントし、それによってシーケンスリードを作成し、
    前記1つ以上のリファレンスシーケンスとの指定されたマッチング規則に従ってアライメントされたリードを異なるクラスに分類し、
    前記分類は、
    前記リファレンスシーケンス内のある領域が、前記アライメントされたリードとミスマッチすることなく一致することが判明した場合、前記アライメントされたリードの1つ以上を第1のクラス(クラスP)に分類し、
    前記リファレンスシーケンス内のある領域が、前記リードを生成するシーケンシング装置がどの塩基も読み出すことができなかった位置の数によってのみ決定されるタイプ及びミスマッチの数で前記アライメントされたリードとマッチングすることが判明した場合、前記アライメントされたリードの1つ以上を第2のクラス(クラスN)に分類し、
    前記リファレンスシーケンス内のある領域が、前記リードを生成するシーケンシング装置がどの塩基も読み出すことができなかった位置の数に加え、前記リファレンスシーケンスに存在するものとは異なるヌクレオチドが呼び出されたミスマッチの数によってのみ決定されるタイプ及びミスマッチの数で前記アライメントされたリードとマッチングすることが判明した場合、前記アライメントされたリードの1つ以上を第3のクラス(クラスM)に分類し、
    前記アライメントされたリードの1つ以上を、挿入、欠落、クリッピングのうち少なくとも1つのミスマッチと、前記第2のクラス(クラスN)又は前記第3のクラス(クラスM)に属するミスマッチとが存在する場合、前記アライメントされたリードを第4のクラス(クラスI)に分類し、
    ここで、前記挿入は、前記リファレンスシーケンスには存在しないが、前記アライメントされたリードに存在する1つ以上のヌクレオチドの追加のシーケンスにより構成され、 ここで、前記欠落は、前記リファレンスシーケンスに対して前記アライメントされたリードのヌクレオチドの欠落を構成し、
    ここで、前記クリッピングは、前記リファレンスシーケンスとマッチングせず、前記アライメントされたリードに保持され、前記アライメントされたリードの端に挿入されたヌクレオチドシーケンスを示すソフトクリッピングされたヌクレオチドと、前記アライメントされたリードから破棄されるハードクリップされたヌクレオチドと、を含み、
    前記第1乃至第4のクラスのいずれにもマッチングしない場合、前記アライメントされたリードの1つ以上を第5のクラス(クラスU)に分類し、
    それによって、ゲノムシーケンスのリードを一義的に表し、均質な統計的特性を有するブロックに配置されたゲノム記述子のグループによって表されるアライメントされたリードのクラスを作成し、
    前記記述子は、前記第1のクラス(クラスP)において、
    前記リファレンスシーケンス内のリードのマッピング位置を示すpos記述子、
    前記リードがマッピングされたDNA又はRNA鎖を示すrcomp記述子、及び
    アライナが前記マッピングの結果をさらに特定できるようにするためのマッピングフラグ、を含み、
    前記記述子は、前記第2のクラス(クラスN)において、
    前記リファレンスシーケンスに対するアライメントされたリードのミスマッチの位置を示すmmpos記述子、を含み、
    前記記述子は、第3のクラス(クラスM)において、
    前記mmpos記述子で示される前記位置の前記リファレンスシーケンスに対するミスマッチのタイプを示すmmtype記述子、を含み、
    前記記述子は、前記第4のクラス(クラスI)において、
    ソフトクリップ又はハードクリップされたヌクレオチドを示すclips記述子、を含み、
    前記記述子は、前記第5のクラス(クラスU)において、
    利用可能なリファレンスシーケンスにマッピングできない塩基の逐語的なシーケンスリードを示すureads記述子、を含み、
    前記分類された、前記ゲノムシーケンスのリードを一義的に表し、均質な統計的特性を有するブロックに配置されたゲノム記述子のグループによって表されるアライメントされたリードを、構文要素からなる複数のブロックとしてコード化し、
    前記構文要素からなる複数のブロックをヘッダ情報で構成し、それによって連続的なアクセスユニットを作成すること、を含み、
    前記コード化は、前記ゲノム記述子をバイナリ化及びエントロピーコード化し、
    前記ゲノム記述子の前記バイナリ化及びエントロピーコード化は、前記記述子の少なくとも1つの記述子に対するバイナリ化及びエントロピーコード化が、前記記述子の少なくとも1つの他の記述子に対するバイナリ化及びエントロピーコード化とは異なるように行われる、
    ことを含む方法。
  2. 前記ゲノム記述子の前記バイナリ化及びエントロピーコード化は、前記記述子の少なくとも1つの記述子に対するエントロピーコード化が、前記記述子の少なくとも1つの他の記述子に対するエントロピーコード化と異なるように行われる、
    請求項1に記載の方法。
  3. 以下に示す、
    個々のコード化されたシーケンスリードの長さを示すrlen記述子、
    マッピングによって1つのリード又はリードペアに関連付けられた複数のマッピング位置を示すためのmmap記述子、
    スプライスされたリードが存在することを示すmsar記述子(すなわち、チャンクに分割されたとき、リファレンスシーケンス内の単一の位置にマッピングされた単一の連続したリードとしてマッピングされたときよりも高いマッチング精度でマッピング位置を検出するリード)、
    ゲノムシーケンスリードアライナによって生成された、リードごとのマッピング/アライメントスコアを示すためのmscore記述子、
    ペアリングされたエンドリードの場合に、前記リードがどのようにペアリングされたかを示すpair記述子、
    前記リファレンスシーケンスの任意の位置に指定されたマッチング精度でマッピングすることができないシーケンスリードのコード化に使用される記述子のサブセットを示すために使用されるrtype記述子、
    前記リードがどのリードグループに属するかを示すためのrgroup記述子、
    コンティグとリファレンスシーケンスのミスマッチの位置を示すrftp記述子(ミスマッチの位置は特殊な終端文字で終端される)、
    コンティグとリファレンスシーケンスのミスマッチの種類を示すためのrftt記述子、
    の1つ以上の記述子をコード化することをさらに含む、
    請求項1又は2に記載の方法。
  4. 前記pos記述子は、二重に切り捨てられた単項コード(Double Truncated Unary code)又は符号付き二重に切り捨てられた単項コード(Signed Double Truncated Unary code)を使用してバイナリ化され、
    前記rcomp記述子は、切り捨てられた単項コード(Truncated Unary code)を使用してバイナリ化され、
    前記マッピングフラグは、バイナリコード化(Binary coding)を使用してバイナリ化
    され、
    前記リファレンスシーケンスに対して前記アライメントされたリードのミスマッチの位置を示すための前記mmpos記述子は、分割単位ごとに切り捨てられた単項コード(Split Unit-wise Truncated Unary code)を使用してバイナリ化され、
    前記リファレンスシーケンスの関連する位置のミスマッチのタイプを示す前記mmtype記述子は、切り捨てられた単項コード(Truncated Unary code)を使用してバイナリ化され、
    ソフトクリップ又はハードクリップされたヌクレオチドを示す前記clips記述子は、符号付き切捨指数ゴロム(Signed Truncated Exponential Golomb)、切り捨てられた
    単項コード(Truncated Unary code)、符号付き指数ゴロム(Signed Exponential Golomb)及びバイナリコードの連結を使用してバイナリ化される、
    請求項1乃至3のいずれか一項に記載の方法。
  5. 以下に示す前記記述子の1つ以上が、
    個々のコード化されたシーケンスリードの長さを示す前記rlen記述子は、分割単位ごとに切り捨てられた単項コード(Split Unit-wise Truncated Unary code)を使用してバイナリ化され、
    前記マッピングによって単一のリード又はリードペアに関連付けられた複数のマッピング位置を示す前記mmap記述子は、分割単位ごとに切り捨てられた単項コード(Split Unit-wise Truncated Unary code)を使用してバイナリ化され、
    前記スプライスされたリードを識別するための前記msar記述子は、符号付き指数ゴロムコード(Signed Exponential Golomb code)を使用してバイナリ化され、
    前記ゲノムシーケンスリードアライナによって生成されたリードごとのマッピング/アライメントスコアを示す前記mscore記述子は、切り捨てられた単項コード(Truncated Unary code)を使用してバイナリ化され、
    ペアリングされたエンドリードの場合に、該リードがどのようにペアになっているかを示す前記pair記述子は、バイナリコードと分割単位ごとに切り捨てられた単項コード(Split Unit-wise Truncated Unary code)の組み合わせを使用してバイナリ化され、
    前記リファレンスシーケンスのいずれの位置でもアライメントすることができなかったリードを示す前記ureads記述子は、切り捨てられた単項コード(Truncated Unary code)を使用してバイナリ化され、
    指定されたマッチング精度で前記リファレンスシーケンスの任意の位置にマッピングすることができないシーケンスリードをコード化するために使用される前記記述子のサブセットの示すために使用される前記rtype記述子は、切り捨てられた単項コード(Truncated Unary code)を使用してバイナリ化され、
    前記リードがどのリードグループに属するかを示す前記rgroup記述子は、切り捨てられた単項コード(Truncated Unary code)を用いてバイナリ化され、
    前記コンティグとリファレンスシーケンスとの間のミスマッチの位置を示す前記rftp記述子は、バイナリコード化(Binary coding)と分割単位ごとの切り捨てられた単
    項コード(Split Unit-wise Truncated Unary code)の組み合わせでバイナリ化され、
    前記コンティグとリファレンスシーケンスの間のミスマッチのタイプを示す前記rftt記述子は、バイナリコード化(Binary coding)と切り捨てられた単項コード(Truncated Unary code)の組み合わせでバイナリ化される、
    請求項3に記載の方法。
  6. 前記記述子は、構成パラメータを構文ヘッダに挿入することによってコード化される、請求項3又は5に記載の方法。
  7. 前記構成パラメータは、前記構文ヘッダがコード化されたゲノムファイルに追加されて更新されることによって更新される、
    請求項6に記載の方法。
  8. 前記構成パラメータは、以下に示す、
    前記構成パラメータを参照してアクセスユニットでコード化されたデータの種類を示すデータセットのタイプ、
    リードの長さが一定の場合に、シーケンスリードのヌクレオチド長を示すリード長、
    個々のコード化されたヌクレオチドに関する品質値の値を示す品質値深度パラメータ、
    個々のコード化されたアライメントに関連するアライメントスコアの値を示すアライメントスコア深度、
    前記mmpos記述子に使用されるターミネータシンボルのバイト単位のサイズを示すターミネータのサイズ、
    前記mmpos記述子に使用されるターミネータシンボルの値を示すターミネータの値、
    前記構成パラメータを参照して全てのアクセスユニットにコード化されたデータクラスの数を示すクラスの数、
    個々のデータクラスに関連付けられた識別子を示すクラス識別子、
    前記構成パラメータを参照して、アクセスユニットに含まれる記述子の総数を示す記述子の数、
    異なるコード化モードに対応するコード化モード識別子、
    現在の構成パラメータを参照する全てのアクセスユニットに存在する前記rgroup記述子の異なる値の数を示すグループ数パラメータ、
    1つ以上のリードグループ識別子を示す1つ以上のグループ名パラメータ、
    前記アクセスユニット内のマルチプルアライメントの存在を示すマルチプルアライメントフラグ、
    前記アクセスユニット内のスプライスされたリードの存在を示すスプライスされたリードフラグ、
    の1つ以上を含む、
    請求項6又は7記載の方法。
  9. 前記構成パラメータは、マッピングされていないシーケンスリード(クラスU)を含むアクセスユニット内の複数のシグネチャの使用を示すマルチプルシグネチャ塩基フラグをさらに含む、
    請求項6乃至8のいずれか一項に記載の方法。
  10. 前記構成パラメータは、コード化されたシグネチャを表す個々の整数のビット単位のサイズを示すシグネチャサイズをさらに含む、
    請求項9に記載の方法。
  11. 前記構成パラメータは、前記mscore記述子にコード化されたマルチプルアライメントスコアの指数部をコード化するために使用されるビット数を示すスコア指数パラメータをさらに含む、
    請求項6乃至10のいずれか一項に記載の方法。
  12. 前記構成パラメータは、前記mscore記述子にコード化されたマルチプルアライメントスコアの仮数部分をコード化するために使用されるビット数を示すスコア仮数パラメータをさらに含む、
    請求項11に記載の方法。
  13. ヌクレオチドシーケンスのリードを含むゲノムシーケンスデータのコード化されたゲノムデータをデコード化する方法であって、
    ヘッダ情報を用いてゲノム記述子の複数のブロックを抽出し、前記コード化されたゲノムデータを含むアクセスユニットを解析し、前記複数のブロックをデコード化することを含み、
    前記複数のブロックのデコード化は、均質な統計的特性を有するブロックに配置されたゲノム記述子のバイナリ化解除及びエントロピーデコード化からなり、1つ以上のリファレンスシーケンスに関する分類を定義する特定のマッチング規則に従って、アライメントされたリードを抽出することを含み、
    前記アライメントされたリードの1つ以上が第1のクラス(クラスP)に分類されているとき、前記アライメントされたリードの抽出は、ミスマッチのない1つ以上のアライメントされたリードにマッチングする前記リファレンスシーケンス内の領域に基づいて行われ、
    前記アライメントされたリードの1つ以上が第2のクラス(クラスN)に分類されているとき、前記アライメントされたリードの抽出は、前記アライメントされたリードの1つ以上とマッチングする前記リファレンスシーケンス内の領域で、前記リードを生成するシーケンシング装置がどの塩基も呼び出すことができなかった位置の数によってのみ決定されるタイプ及びミスマッチの数に基づいて行われ、
    前記アライメントされたリードの1つ以上が第3のクラス(クラスM)に分類されているとき、前記アライメントされたリードの抽出は、前記アライメントされたリードの1つ以上とマッチングする前記リファレンスシーケンス内の領域で、前記リードを生成するシーケンシング装置がいずれの塩基も呼び出すことができなかった位置の数に加えて、前記リファレンスシーケンス内に存在するものとは異なるヌクレオチドが呼び出されたミスマッチの数によってのみ決定されるタイプ及びミスマッチの数に基づいて行われ、
    前記アライメントされたリードの1つ以上が第4のクラス(クラスI)に分類されているとき、前記アライメントされたリードの抽出は、挿入、欠落、クリッピングのうち少なくとも1つ以上のタイプのミスマッチに加え、前記第2のクラス(クラスN)又は前記第3のクラス(クラスM)に属するタイプのミスマッチが存在する場合には、それを示す前記アライメントされたリードの1つ以上に基づいて行われ、
    前記挿入は、前記リファレンスシーケンス内に存在しないが、前記アライメントされたリード内に存在する1つ以上のヌクレオチドの追加のシーケンスによって構成され、
    前記欠落は、前記リファレンスシーケンスに対してアライメントされたリードのヌクレオチドの欠落を構成し、
    前記クリッピングは、前記リファレンスシーケンスとマッチングしないが前記アライメントされたリードの端に挿入されたヌクレオチドシーケンスを示すソフトクリッピングヌクレオチドと、前記アライメントされたリードから破棄されるハードクリップされたヌクレオチドで構成され、
    前記アライメントされたリードの1つ以上が第5のクラス(クラスU)に分類されているとき、前記アライメントされたリードの抽出は、前記第1乃至第4のクラスのいずれにも対応するマッチングが存在しないことに基づいて行われ、
    前記記述子は、前記第1のクラス(クラスP)において、
    前記リファレンスシーケンス内のリードのマッピング位置を示すpos記述子、
    前記リードがマッピングされたDNA又はRNA鎖を示すrcomp記述子、及び
    アライナがマッピング処理の結果をさらに特定できるようにするためのマッピングフラグ、を含み、
    前記記述子は、前記第2のクラス(クラスN)において、
    前記リファレンスシーケンスに対して前記アライメントされたリードのミスマッチの位置を示すmmpos記述子、を含み、
    前記記述子は、前記第3のクラス(クラスM)において、
    前記リファレンスシーケンスの対応する位置におけるミスマッチのタイプを示すmmtype記述子、を含み、
    前記記述子は、前記第4のクラス(クラスI)において、
    ソフトクリップ又はハードクリップされたヌクレオチドを示すclps記述子、を含み、
    前記記述子は、前記第5のクラス(クラスU)において、
    利用可能な全てのリファレンスシーケンスにマッピングできない塩基の逐語的なシーケンスリードを示すureads記述子、を含み、
    前記ゲノム記述子のバイナリ化解除及びエントロピーデコード化は、前記記述子の少なくとも1つの記述子について、前記記述子の少なくとも1つの他の記述子について使用されるバイナリ化解除及びエントロピーデコード化とは異なるバイナリ化解除及びエントロピーデコード化を採用することを含む、
    方法。
  14. 以下に示す、
    個々にコード化されたシーケンスリードの長さを示すrlen記述子、
    マッピングによって1つのリード又はリードペアに関連付けられた複数のマッピング位置を示すためのmmap記述子、
    スプライスされたリードが存在することの識別を示すmsar識別子(すなわち、チャンクに分割されたとき、リファレンスシーケンス内の単一の位置にマッピングされた単一の連続したリードとしてマッピングされたときよりも高いマッチング精度でマッピング位置を検出するリード)、
    ゲノムシーケンスリードアライナによって生成された、リードごとのマッピング/アライメントスコアを示すmscore記述子、
    ペアリングされたエンドリードの場合に、前記リードがどのようにペア化されたかを示すpair記述子、
    前記リファレンスシーケンスにアライメントすることができなかったリードを示すureads記述子、 前記リファレンスシーケンスの任意の位置に指定されたマッチング精度でマッピングすることができないシーケンスリードのコード化に使用される記述子のサブセットを示すために使用されるrtype記述子、
    前記リードがどのリードグループに属するかを示すためのrgroup記述子、
    コンティグとリファレンスシーケンスのミスマッチの位置を示すrftp記述子(ミスマッチの位置は特殊な終端文字で終端される)、
    コンティグとリファレンスシーケンスのミスマッチの種類を示すためのrftt記述子、
    の1つ以上をデコード化することをさらに含む、
    請求項13に記載の方法。
  15. 前記記述子は、構文ヘッダから構成パラメータを抽出することによりデコード化される、
    請求項14に記載の方法。
  16. 前記構成パラメータは、以下に示す、
    前記構成パラメータを参照してアクセスユニットでコード化されたデータの種類を示すデータセットのタイプ、
    リード長を一定とした場合のシーケンスリードの長さをヌクレオチド単位で示すリード長、
    個々のコード化されたヌクレオチドに関連する品質値の値を示すための品質値深度パラメータ、
    個々のコード化されたアライメントに関連するアライメントスコアの値を示すためのアライメントスコア深度、
    前記mmpos記述子に使用されるターミネータシンボルのサイズをバイト単位で示すターミネータサイズ、
    前記mmpos記述子に使用されるターミネータシンボルの値を示すターミネータ値、
    前記構成パラメータを参照して全てのアクセスユニット内でコード化されたデータクラスの数を示すクラス数、
    個々のデータクラスに関連付けられた識別子を示すクラス識別子、
    前記構成パラメータを参照するアクセスユニットに含まれる記述子の総数を示す記述子の数、
    コード化モードを示すコード化モード識別子、
    現在の構成パラメータを参照するすべてのアクセスユニットに存在する前記rgroup記述子の異なる値の数を示すグループ数パラメータ、
    1つ以上のリードグループの識別子を示す1つ以上のグループ名パラメータ、
    前記アクセスユニット内のマルチプルアライメントの存在を示すマルチプルアライメントフラグ、
    前記アクセスユニット内のスプライスされたリードの存在を示すスプライスされたリードフラグ(ここで0が設定されるとスプライスされたリードは存在しないことを示す)、
    を1つ以上含む、
    請求項15に記載の方法。
  17. 前記構成パラメータは、マッピングされていないシーケンスリード(クラスU)を含むアクセスユニット内の複数のシグネチャの使用を示すマルチプルシグネチャ塩基フラグをさらに含む、
    請求項15又は16に記載の方法。
  18. 前記構成パラメータは、コード化されたシグネチャを表す各整数のビット単位のサイズを示すシグネチャサイズをさらに含む、
    請求項15乃至17のいずれか一項に記載の方法。
  19. 前記構成パラメータは、前記mscore記述子にコード化されたマルチプルアライメントスコアの指数部をコード化するために使用されるビット数を示すスコア指数パラメータをさらに含む、
    請求項15乃至18のいずれか一項に記載の方法。
  20. 前記構成パラメータは、前記mscore記述子にコード化されたマルチプルアライメントスコアの仮数部分をコード化するために使用されるビット数を示すスコア仮数パラメータをさらに含む、
    請求項15乃至19のいずれか一項に記載の方法。
  21. 前記エントロピーデコード化及びゲノム記述子のバイナリ化解除は、前記記述子の少なくとも1つの記述子について、前記記述子の少なくとも1つの他の記述子について使用されるエントロピーデコード化と異なるエントロピーデコード化を使用する、
    請求項13乃至20のいずれか一項に記載の方法。
  22. 請求項1乃至12のいずれか一項に記載のコード化方法を実施するためのコード化手段を備えるコード化装置。
  23. 請求項13乃至21のいずれか一項に記載のデコード化方法を実施するためのデコード手段を備えるデコード化装置。
  24. 請求項1乃至12のいずれか一項に記載のコード化方法を実行するための命令を含むコンピュータプログラム。
  25. 請求項13乃至21のいずれか一項に記載のデコード化方法を実行するための命令を含むコンピュータプログラム。
  26. 請求項24に記載のコンピュータプログラムを保存するためのストレージ。
  27. 請求項25に記載のコンピュータプログラムを保存するためのストレージ。
JP2019542691A 2017-02-14 2017-12-15 ゲノムシーケンスリードの効率的圧縮のための方法及びシステム Active JP7324145B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
PCT/US2017/017842 WO2018071055A1 (en) 2016-10-11 2017-02-14 Method and apparatus for the compact representation of bioinformatics data
USPCT/US2017/017842 2017-02-14
PCT/US2017/041579 WO2018071078A1 (en) 2016-10-11 2017-07-11 Method and apparatus for the access to bioinformatics data structured in access units
USPCT/US2017/041579 2017-07-11
PCT/US2017/066863 WO2018151788A1 (en) 2017-02-14 2017-12-15 Method and systems for the efficient compression of genomic sequence reads

Publications (2)

Publication Number Publication Date
JP2020510907A JP2020510907A (ja) 2020-04-09
JP7324145B2 true JP7324145B2 (ja) 2023-08-09

Family

ID=69374527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019542691A Active JP7324145B2 (ja) 2017-02-14 2017-12-15 ゲノムシーケンスリードの効率的圧縮のための方法及びシステム

Country Status (5)

Country Link
EP (1) EP3583250B1 (ja)
JP (1) JP7324145B2 (ja)
EA (1) EA201991907A1 (ja)
MX (1) MX2019009681A (ja)
WO (1) WO2018151788A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4179539A1 (en) * 2020-07-10 2023-05-17 Koninklijke Philips N.V. Genomic information compression by configurable machine learning-based arithmetic coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299396A (ja) 2006-04-27 2007-11-15 General Electric Co <Ge> 患者の再識別のためのシステムおよび方法
US20150227686A1 (en) 2014-02-12 2015-08-13 International Business Machines Corporation Lossless compression of dna sequences

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160100177A1 (en) * 2014-10-06 2016-04-07 Qualcomm Incorporated Non-uniform exponential-golomb codes for palette mode coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299396A (ja) 2006-04-27 2007-11-15 General Electric Co <Ge> 患者の再識別のためのシステムおよび方法
US20150227686A1 (en) 2014-02-12 2015-08-13 International Business Machines Corporation Lossless compression of dna sequences

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"CRAM format specification (version 3.0)",[online],[令和2年12月7日検索],2016年04月25日,https://web.archive.org/web/20160425054143/http://samtools.github.io/hts-specs/CRAMv3.pdf,インターネット
"SAM",[online],[令和2年12月7日検索],2015年03月11日,https://web.archive.org/web/20150311045750/http://davetang.org/wiki/tiki-index.php?page=SAM,インターネット

Also Published As

Publication number Publication date
EP3583250A1 (en) 2019-12-25
WO2018151788A1 (en) 2018-08-23
EA201991907A1 (ru) 2020-01-20
MX2019009681A (es) 2019-10-09
JP2020510907A (ja) 2020-04-09
EP3583250A4 (en) 2020-12-16
EP3583250B1 (en) 2023-07-12

Similar Documents

Publication Publication Date Title
CN110678929B (zh) 用于高效压缩基因组序列读段的方法和系统
EP4075438B1 (en) Efficient data structures for bioinformatics information representation
EP3583249B1 (en) Method and systems for the reconstruction of genomic reference sequences from compressed genomic sequence reads
JP7362481B2 (ja) ゲノムシーケンスデータをコード化する方法、コード化されたゲノムデータをデコード化する方法、ゲノムシーケンスデータをコード化するためのゲノムエンコーダ、ゲノムデータをデコードするためのゲノムデコーダ、及びコンピュータ読み取り可能な記録媒体
AU2018221458B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
CN110168652B (zh) 用于存储和访问生物信息学数据的方法和系统
US20200051664A1 (en) Method and apparatus for compact representation of bioinformatics data
JP7324145B2 (ja) ゲノムシーケンスリードの効率的圧縮のための方法及びシステム
CN110663022B (zh) 使用基因组描述符紧凑表示生物信息学数据的方法和设备
AU2017399715A1 (en) Method and systems for the reconstruction of genomic reference sequences from compressed genomic sequence reads
NZ757185B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
EA043338B1 (ru) Способ и устройство для компактного представления биоинформационных данных с помощью нескольких геномных дескрипторов
EA040022B1 (ru) Способ и устройство для компактного представления данных биоинформатики

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

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230508

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230728

R150 Certificate of patent or registration of utility model

Ref document number: 7324145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150