macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

リファレンスベースのNANOpore FASTQの圧縮器 RENANO

 

 ナノポア・シーケンシング技術は、短時間で大量のゲノムデータを生成できることもあり、急速に普及している(72時間以内に最大8.5TBのデータを生成)。送信や保存のコストを削減するためには、この種のデータに対する効率的な圧縮方法が必要である。ショートリード技術とは異なり、ナノポアシーケンシングでは、可変長の長いノイジーなリードが生成される。ここでは、ナノポアシーケンシング技術で生成されたFASTQファイルの圧縮に特化した、リファレンスベースのロスレスFASTQデータ圧縮機RENANOを紹介する。RENANOは、現在最先端のコンプレッサーであるENANOをベースに開発された。RENANOは、FASTQファイルのベースコール配列部分の圧縮率を向上させることに重点を置き、ENANOの他の部分はそのまま残している。第1のシナリオでは、圧縮器と解凍器の両方がリファレンスゲノムを無償で利用できる。第2のシナリオでは、リファレンスゲノムは圧縮器側でのみ利用でき、圧縮されたリファレンスゲノムのバージョンが圧縮ファイルの一部として解凍器に送信される。提案したアルゴリズムを評価するために,一般に公開されているいくつかのナノポアデータセットを用いて,RENANOとENANOを比較した。最初に検討したシナリオでは,RENANOはENANOのベースコール配列の圧縮率を,すべてのデータセットで平均40.8%向上させた。FASTQファイルの他の部分を含めた全体の圧縮率については、平均13.1%の改善が見られた。2つ目のシナリオでは,RENANOがENANOに対して行ったベースコールの圧縮の改善は,圧縮されたデータセットカバレッジに応じて15.2%から49.0%の範囲であり,トータルサイズに関しては,5.1%から16.5%の範囲であった。

 

インストール

macosでgcc9を使ってビルドした。

依存

  • g++ ( >= 4.8.1)
  • OpenMP library

#macos
brew update
brew install gcc@9

git clone https://github.com/guilledufort/RENANO.git
cd RENANO/renano
make

./renano

$ ./renano 

ERROR: Either input or output files are missing.

Renano v1.0 Author Guillermo Dufort y Alvarez, 2020-2021

 

COMPRESSION: 

> Without reference:

renano [options] [input_file [output_file]]

 

> With reference:

renano [options] -r [ref_file [paf_file]] [input_file [output_file]]

 

> With reference and making decompression independent of the reference:

renano [options] -s [ref_file [paf_file]] [input_file [output_file]]

 

COMPRESSION OPTIONS: 

-c             To use MAX COMPRESION MODE. Default is FAST MODE.

 

-k <length>    Base call sequence context length. Default is 7 (max 13).

 

-l <lenght>    Length of the DNA neighborhood sequence. Default is 6.

 

-t <num>       Maximum number of threads allowed to use by the compressor. Default is 8.

 

DECOMPRESSION: 

> Without reference:

renano -d [options] foo.enano foo.fastq

 

> With reference:

renano -d [options] -r [ref_file] foo.enano foo.fastq

 

DECOMPRESSION OPTIONS: 

-t <num>       Maximum number of threads allowed to use by the decompressor. Default is 8.

 

CREDITS :

The methods used for encoding the reads identifiers, and to model frequency counters, 

are the ones proposed by James Bonefield in FQZComp, with some modifications.

The range coder is derived from Eugene Shelwien.

The kseq library used to parse FASTA files is authored by Heng Li.

 

(base) usernoMacBook-Pro:renano user$ 

 

実行方法

1、圧縮

 リファレンスなし。nanoporeのraw fastqを指定する。

renato ONT.fq output.renano

 

リファレンスあり。fastqをリファレンスにマッピングして作成したPAFファイルを指定する。マッピングにはminimap2の使用が推奨されている。

renato -r ref.fasta ONT.paf output

 

2、解凍

 リファレンスなし

renano -d foo.renano decompressed.fastq

 

リファレンスあり

renano -d -t 8 -r ref.fasta input.renano decompressed.fastq

 

引用

RENANO: a REference-based compressor for NANOpore FASTQ files

Guillermo Dufort y Álvarez, Gadiel Seroussi, Pablo Smircich, José Sotelo, Idoia Ochoa, Álvaro Martín

bioRxiv, Posted March 29, 2021.

 

関連