macでインフォマティクス

macでインフォマティクス

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

WIGファイルの圧縮と解凍を行う smallWig

 NGSのシークエンシング技術の発達により、DNA / RNAのシーケンスと発現解析のコストが劇的に減少した。 RNA-seqは、様々な種および生物、ならびに異なる器官および細胞集団の全トランスクリプトーム情報を提供する、重要かつ安価な技術になった。RNA-seq実験によって生成された膨大な量のデータは、データ記憶コストおよび通信帯域幅の要求を大幅に増加させる。 bigWigやcWigなどのRNA-seqデータ用の現在の圧縮ツールは、汎用の圧縮器(gzip)を使用しているが、最適な圧縮方式については改善の余地がある。著者らはsmall-wigというWIGデータ用のロスレス圧縮方式を新たに開発した。

 RNA-seq WIGファイルに対してsmallWig圧縮アルゴリズムのさまざまなバリエーションをテストした。その結果、smallWigは平均して18倍の圧縮率向上、最大2.5倍の圧縮時間の改善、bigWigと比較した場合の1.5倍の減圧時間の改善を示している。テストされたファイルでは、アルゴリズムのメモリ使用量は決して90 KBを超えなかった。考案された形式は、視覚化、要約統計解析、圧縮ファイルからの高速照会を可能にするランダムアクセス機能を備えており、bigWigと比較して桁違いの改善をもたらし、圧縮率がcWigによって生成されるもののほんの一部にすぎないことを示している。

 

 

インストール

cent OS6に導入した。

Github

git clone https://github.com/brushyy/smallWig.git
cd smallWig/
make 

> ./smallwig2wig

$ ./smallwig2wig 

To use:

 smallwig2wig [InputFile] [OutputFile] 

options: 

-s [ChrmName (e.g. chr1)] [Query Start (integer)] [Query End (integer)] 

subsequence query 

-p [total number of processes]

parallel realization, only availabe if -s is disabled and -r is enabled in encoding

> ./wig2smallwig 

$ ./wig2smallwig 

To use:

wig2smallwig InputFile OutputFile 

options: 

-m [N=0..9, uses 3 + 3*2^N MB memory, decompress should use same N] 

context mixing 

-r [B, encode block size from 8 to 32]

random access and encode by blocks of size 2^B

-p [total number of processes] 

parallel realization, only available if -r is enabled and -m is disabled

 

ラン

bamからwiggle形式への変換(紹介)(*1 )。

bam2wig input.bam

出力ディレクトリが作られ、中に input.wigができる。 

 

4スレッドパラレルに使い、smallwigに変換。

wig2smallwig input.wig out.swig -p 4
  •  -m [N=0..9, uses 3 + 3*2^N MB memory, decompress should use same N] 

 

全て解凍する。

smallwig2wig in.swig out.wig

chr1の300-500だけ解凍する。

smallwig2wig in.swig out.wig -s chr1 300 500

 

引用

smallWig: parallel compression of RNA-seq WIG files.

Wang Z, Weissman T, Milenkovic O.

Bioinformatics. 2016 Jan 15;32(2):173-80.

 

*1

似たコマンドが他にも存在するので注意してください。