bowtie メモリー関連のエラー Warning: Exhausted best-first chunk memory for read

bowtieを–bestモードで実行したところ、メモリーに関するワーニング(警告)が大量に表示されました。エラーではないので処理は進んでいくのですが、「マッピング結果に影響を与えないか?」という点がとても気になりました。そこで、–chunkmbsオプションでメモリーの割り当てを増やして、bowtieを再実行しました。すると、ワーニングを1つも表示することなしに、マッピング処理を正常終了することができました。その解決方法についてまとめます。

bowtieでメモリー関連の警告が発生した場合の対処法 –bestモードと–chunkmbs

bowtieを実行する際、–bestオプションを指定すると品質の良い順に結果が並びます。更に、–best –strataと指定するとベストヒットが選出さます。これらのオプションは、bowtieを実行する際に必ずといって良いほど、よく指定されるオプションです。

しかし、–bestオプションを指定した場合に注意すべき点があります。動作は少し遅くなり、より多くのメモリを消費するようになります。設定に注意しないで実行すると、メモリーが不足して処理中に大量のワーニング(警告)が発生する場合があるからです。

bowtie –bestモードを指定した場合の挙動

–bestを指定すると、bowtieの結果は品質の良い順に並び替えられます。

–bestを指定しない場合 -a

全ての候補を表示します。

$ ./bowtie -a -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
-   gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
-   gi|110640213|ref|NC_008253.1|   2852852 8:T>A
-   gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
-   gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
+   gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T

 Reporting Modes (新しいタブで開く)">Bowtie Manual > Reporting Modes より

–bestを指定した場合 -a –best

全ての候補を品質の良い順に表示します。

$ ./bowtie -a --best -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
-   gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+   gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T
-   gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
-   gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
-   gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G

 Reporting Modes (新しいタブで開く)">Bowtie Manual > Reporting Modes より

ベストヒットの選出 -a –best –strata

ベストヒットを表示します。

$ ./bowtie -a --best --strata -v 2 --suppress 1,5,6,7 e_coli -c ATGCATCATGCGCCAT
-   gi|110640213|ref|NC_008253.1|   2852852 8:T>A

 Reporting Modes (新しいタブで開く)">Bowtie Manual > Reporting Modes より

bowtie –bestモードと一緒に–chunkmbsを設定する

bowtieを–bestモードで使用してメモリー関連の警告が表示された場合の解決法は、bowtieに大きめのメモリー確保をオプションで指示することです。

メモリーに関係する–chunkmbsオプションの説明を読むと、「–bestモードでチャンクメモリが使い果たされたことを示すエラーメッセージが表示された場合は、このパラメータを調整して、より多くのメモリを記述子に割り当ててみてください。」と、解決のアドバイスが書かれています。–chunkmbsオプションも一緒に指定すると、ワーニングが表示されなくなる場合があります。

bowtie -m 3 -a --sam --best --strata genome/hg19 -1 d1_1.fq,d2_1.fq -2 d1_2.fq,d2_2.fq --threads 16 --chunkmbs 1024 > data.sam

–chunkmbsを指定しない場合のデフォルト値は64です。もし、指定しないで警告が大量に発生する場合は、64より大きい整数値を指定します。使用可能なメモリーサイズにもよりますが、1024を使うケースが多いようです。状況に応じて、256, 512, 1024などを指定すると良いと思います。

bowtie メモリー関連のオプション –chunkmbs

--chunkmbs int

The number of megabytes of memory a given thread is given to store path descriptors in --best mode. Best-first search must keep track of many paths at once to ensure it is always extending the path with the lowest cumulative cost. Bowtie tries to minimize the memory impact of the descriptors, but they can still grow very large in some cases. If you receive an error message saying that chunk memory has been exhausted in --best mode, try adjusting this parameter up to dedicate more memory to the descriptors. Default: 64.

bowtie manualより 



カテゴリー

今週よく読まれている記事

  1. 学会・会議で英語が絶望的にできなくて困るケース | オンライン開催で「英語力のなさ」を痛感した場合の対処法

    学会・会議で英語ができなくてに困るケース学会やイベント・会議などが、オンラインで開催される…
  2. r tidyverse 使い方 | 列 filter 絞り込み select関数 – dplyrパッケージ

    tidyverseで1つのデータフレームの列の絞り込みは、dplyrパッケージのselect関数を…
  3. プログラミングで疲れた脳をリフレッシュ 〜 鬼滅の刃「感動」と「やる気アップ」でストレス発散!

    ストレス発散は鬼滅で。「50%OFF」で読む!脳のパフォーマンスを上げるには、適度な休憩と…
  4. AWS ディスク容量不足 新しいボリュームを追加する

    バイオインフォマティクスでは大きなファイルを扱うことがあるので、ディスク不足に陥ることがあります。…
  5. 「知っている」と「知らない」とでは、もしものとき、大違いになる – コロナうつ対策

    コロナうつなどという言葉を聞くようになりましたが、派遣切り、解雇、リストラは、これから本格化します…

人気記事

  1. Excel, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…
  2. R言語

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  3. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…

おすすめ記事

  1. シェルスクリプト

    シェルスクリプト | ファイル存在チェック・空ファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  2. awk, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…
  3. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…