圧縮したファイルで処理する

NGSデータ解析の出発点は、シーケンサーやSRA (Sequence Read Archive)から取得したFASTQ形式のファイルなのは同じだろうが、これを圧縮しない(ファイル拡張子が.fqや.fastqのことが多いが、ようするにテキスト形式のファイル)まま、入力として使っているだろうか?配列解析プログラムの多くは、gzip圧縮やbzip2圧縮したファイル(ファイル拡張子は、それぞれ.gzと.bz2)を直接読み込めるようになっていることもあるので、まずファイル解凍するのではなく、圧縮形式から実行可能かどうか、確かめたほうがよい。解凍するプロセスがなくなり、作業効率が格段に向上するからだ。

  • v2.2.0のTrinity、入力のFASTQファイルがgzippedでも対応しているのを確認(20160506)

また、データ解析する際に中間ファイルが多数出てくる。そして、そのファイル群は多くの場合、テキスト形式のファイルで、ファイル圧縮もかかっておらず、サイズがでかい。それらをそのまま置いておくとHDやSSDの肥やしになるし、その都度ファイルを解凍してから処理するのも面倒だし。かといって消してしまうと後で困ることも。というわけで、どうせ圧縮するのなら前にも触れた並列版bzip2のpbzip2を使って圧縮し、ディスクスペースをどんどん空けていこう。

それらの中間ファイルをテキスト処理するには、例えばPerlだと以下の様な感じでちょっとコードを変えるだけで済む。参考まで。

[perl] my $files = "hoge.txt.bz2"; open(FILE, "bzcat $filez |") or die "$filez:$!n"; while() { ... } close FILE; [/perl]


Written by bonohu in misc on 日 17 4月 2016.