Palmsonntagmorgen

NGSデータを使った解析と、その周辺。

Bowtie2が system CPU を大量に消費している件で

Bowtie2の最新バージョンは2017/10/10 時点でVersion 2.3.3.1となっています。

Change logを見ると、version 2.3.0 において major updateが施され、 マルチスレッドを使用した場合のスケーラビリティを改善したとあります。 具体的には、利用するライブラリをTBBに変更したようです。

http://bowtie-bio.sourceforge.net/bowtie2/index.shtml

ところがその後、bowtie2で -p 12 など多数のCPUを指定した場合に、Systemが多量のCPUを消費してしまい、 実際のマッピングの速度が非常に遅くなるという現象が報告されています。

bowtie2 use high sys %Cpu . · Issue #62 · BenLangmead/bowtie2 · GitHub

私の手元でも確認しています。

f:id:rnakato:20171010172635p:plain

Systemがマッピングの倍くらいCPUを消費しています。

bowtie2のマニュアルによると、ソース(bowtie2-2.3.3.1-source.zip)をダウンロードしたうえで NO_TBB=1オプションを付けて makeでコンパイルすると TBBをオフにできるとのことなので、そのようにしたところ、この現象は改善しました。

f:id:rnakato:20171010173010p:plain

major update前のVersion2.2.9を使っても改善しますが、古いバージョンはfastq.gz形式をそのままでは受け付けないので、上記の方法の方がよいと思います。 この現象は今年の2月時点で対応中ということになっていますが、現在の最新バージョンでも根本的解決には至っていないようです。

なお、version2.3.0以降で怪しげなバグが他にも報告されているので、まだ問題が残っているかもしれません。。。 しばらく様子を見たいと思います。