bowtie2: Mac へのインストール、使い方、オプションなど

informatics/bioinformatics/bowtie2
2018/02/22 更新

  1. 概要: bowtie2 とは
  2. Mac への bowtie2 のインストール
    • Overview
    • bowtie2, Homebrew のインストール
    • .bashrc の編集
    • Python などのインストール
    • make の実行
    • Samtools のインストール

  3. bowtie2 の使い方: とりあえず動かすまで
    • インデックスの作成
    • マッピング
    • 結果のチェック (.sam file)

  4. bowtie2 の使い方: 各種オプション

広告

概要: bowtie2 とは

次世代シークエンス で得られるリードを、リファレンスに対してマッピングするためのソフト。

このページに書いてあることがわかりにくい場合は、以下のリンク先が参考になります。

  1. Mac の概要
  2. ターミナルの使い方
  3. シェルスクリプトと vi エディタ
  4. 次世代シークエンス

Mac OSX High Sierra, 2018 年 2 月に以下の一連の操作を実行した。とくに注釈がない限り、リンク先はこの時点で有効だったものである。


Mac への bowtie2 のインストール

Overview

記録のため、遭遇したエラーなどもなるべく記載するようにした。実際には、以下の操作のみで十分なはず。急いでいる人は、以下の部分を拾い読みして下さい。

  1. Bowtie2, Homebrew のインストール
  2. .bashrc の編集
  3. bowtie2 folder で make

Bowtie2, Homebrew

Bowtie2 manual に従い、このページ からダウンロード。-source.zip という圧縮ファイルを展開し、cap3 とかを置いている専用のフォルダに移す。

以下のように Path を指定し、まずマップ先となる INDEX の作成を試みる。


bowtie2-build -f sequence.fasta SEQ


sequence.fasta がインデックスにする配列で、リードのマップ先の配列である。-f オプションで指定する。SEQ はこの fasta ファイルから作成するインデックスの名前で、以降は SEQ というインデックス名で貼り付け先を決定していくことになる。

しかし、以下のようなエラーが 3 項目ぐらい出てくる。

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 522, in call return Popen (*popenargs, **kwargs).wait()

エラーでググって、このページ にたどり着く。Homebrew および GNU コマンドラインツール というのが必要らしいので、Homebrew のページ にある以下のコマンドを実行。


/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


パスワード入力を求められ、多少の時間がかかる。Homebrew が無事にインストールされると、ターミナルの画面に新しく使えるようになったコマンドのリストが現れる。


.bashrc の編集

.bashrc に以下の行を追加。シェルスクリプトと vi エディタ のページを参考に。

i で編集モードへ、追加後に Esc でコマンドモードへ戻る。:wq で保存して終了。cat .bashrc で編集内容を確認できる。

export PATH="$(brew --prefix coreutils)/libexec/gnubin:/usr/local/bin:$PATH"



Python などのインストール

次は、bowtie2 のフォルダで make を実行したいのだが、これをやると色々とエラーメッセージが出てくる。

エラーメッセージと Google を参考に、以下のことを全部やると make できるようになったが、どれが本当に必要だったのかわからない。たぶん brew install bowtie2 じゃないかと思うが、確証はない。


brew install make
brew install bowtie2
brew install python


さらに、このページ から Python 2.7.13 をインストール。これは、普通にインストールパッケージをダウンロードして、それを実行する。

いったんターミナルを終了し、立ち上げる。source ~/.bashrc で .bashrc ファイルを読み込む。


make の実行

以上を行うと、bowtie2 folder に移動して make がエラーなく実行できるようになった。

確認のため which bowtie2 を実行すると、/usr/local/bin/bowtie2 となり、bin にインストールされていることがわかる。


Samtools のインストール

bowtie2 の結果を解析するためには、Samtools が便利なので、ここでインストールしておくと良い。

brew install samtools で OK。


広告

bowtie2 の使い方: とりあえず動かすまで

私が使い始めたときの状況。「とりあえずプログラムが動くまで」の話なので、ちゃんと勉強したい人は他のしっかりしたサイトを参照のこと。使えるオプションが無数にある。

インデックスの作成

sequence.fasta というファイルからインデックスを作成する。このページの最初に試したコマンド bowtie2-build が、やっと使えるようになったということ。

bowtie2-build -f sequence.fasta SEQ


拡張子 .bt2 または .bt2l のファイルが 6 個できれば成功。


マッピング

コマンド bowtie2 でマッピングする。-x でインデックスを指定、-U でマップするリードを含むファイル (input) を指定、-S で結果が保存されるファイル (output) を指定。

bowtie2bowtie2 -x SEQ -U dataset1.fastq -S dataset1.sam


インプットファイルは .fastq。-f オプションをつけると .fasta も使えるらしいが、変換するよりも fastq ファイルを使ってしまった方が早いだろう。fastq から fasta への変換には、awk を使うことができる。

アウトプットのフォーマットとして、テキスト形式の .sam およびバイナリ形式の .bam がある。.bam の方が、いろいろとメリットがありそうである。

  • -N は、許容するミスマッチの数を指定するオプション。-N 1 で 1 個。デフォルトは 0 で、0 または 1 しか指定できない。
  • リピート配列があると、マッピングはかなり影響されてしまう。これをどう取り除くかも大事。

結果のチェック

マッピングの結果の概要は、ターミナル上に以下のような形で表示される。数字は適当。

35760523 reads; of these:
  35760523 (100.00%) were unpaired; of these:
  435 (3.00%) aligned 0 times
  4212563 (96.5.00%) aligned exactly 1 time
  124532 (0.5.00%) aligned >1 times
97.02% overall alignment rate


結果を cat などで見て確認したいなら、.bam よりも .sam が良い。.sam file の見方は このページ など。

しかし、bam の方が容量が小さく、他のプログラムに受け渡して解析を続ける場合に便利なことが多い。一回、参考までに sam の中身を見てみて、その後は bam を基本とにするのが良いのではないかと思う。


広告

bowtie2 の使い方: 各種オプション

一部のみ、Bowtie2 manual を参照のこと。

-x

インデックスを指定

-U

リードを含むファイル (input) を指定。通常は .fastq ファイル。

-S

アウトプットファイルを指定。


広告

コメント欄

一言コメントをどうぞ! (基本500字まで - 100字のページもあるかも)



フォーラムを作ったので、各ページにあるコメント欄のうち、コメントがついていないものは順次消していきます。今後はフォーラムをご利用下さい。管理人に直接質問したい場合は、下のバナーからブログへ移動してコメントをお願いします。


References