マクロ生物学徒の備忘録

某国立大で進化生態学を学ぶポンコツ研究者の備忘録

pyRADのインストール|OS X ElCapitan (10.11.6)

pyRADとは

集団遺伝学用の解析ツール。

次世代シーケンサで取得した大量のfastqファイルをde novoでアセンブリして、SNPs情報をアウトプットする。

アウトプットの形式は

.nex .phy .str .vcf

など、幅広く対応している。

 

似たようなソフトにStacksがあるが、pyRADはインデルを考慮してくれるという点で優れている。

pyRADの方が細かい条件設定がしやすいが、そのせいで若干わかりにくいという噂。

(Stacksは使ってないのであまり知りませんが)

 

リファレンスの指定は出来ない(たぶん)。

当然、マッピングもやってくれない。

 

pythonという言語で書かれているため、pythonの環境を整える必要がある。つまりインストールがやや面倒。

 

公式サイトはこちら↓

pyrad – Deren Eaton

ここのチュートリアルを見れば詳しい説明が書いてます。

 

流れ

OS X ElCapitan (10.11.6)に一からインストールしていく。

まず、pythonの環境を整えるために必要な諸々をインストールする。

すでにインストール済みの人は適宜とばしてください。

その後、pyRADに必要な諸々と本体をインストール。

ちなみに、この方法だとpyRADを使用する前に毎回pythonの仮想環境を立ち上げる必要がある。

 

pythonの環境を整える

もともと、最近のmacにはpython2.7がインストールされている。

なので、以下の手順は概ね仮想環境の立ちあげに必要なものをインストールするステップ。

cd ~/Analysis

インストールしたいディレクトリに移動(どこでもよい)

sudo python2.7 -m ensurepip
sudo pip2.7 install virtualenv
virtualenv -p python2.7 --no-site-packages py27
source ./py27/bin/activate

※sudoコマンドの後には、パスワードを求められる。ユーザーログインに使用しているパスワードを入力する。

→ターミナルに(py27)が表示されるようになれば成功

pip install numpy
pip install scipy

これで完了。

 

pyRADをインストールする

pyRADに必要なソフトはvsearchとmuscleの2つ。

さらにvsearchのインストールにはautoconfとautomakeの2つが必要になる。

よってこれら計4つとpyRADのインストールをおこなう。

 

まずautoconfのインストールから。

2016年8月現在、最新版は2.69。

それ以降のものをダウンロードした場合は「2.69」の部分を書き換えてもらえれば。

cd ~/Analysis

インストールしたいディレクトリに移動(どこでもよい)

curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar xvfz autoconf-latest.tar.gz
cd autoconf-2.69/
./configure
make
sudo make install

これで完了。

 

次にautomakeのインストール。

ちなみにautomakeのインストールには、先ほどのautoconfが必要になる。

2016年8月現在、最新版は1.15。

それ以降のものをダウンロードした場合は「1.15」の部分を書き換えてもらえれば。

cd ~/Analysis

インストールしたいディレクトリに移動(どこでもよい)

curl -O http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
tar xvfz automake-1.15.tar.gz
cd automake-1.15/
./configure
make
sudo make install

これで完了。

 

autoconfとautomakeがインストールできたのでvsearchをインストールする。

cd ~/Analysis

インストールしたいディレクトリに移動(どこでもよい)

git clone https://github.com/torognes/vsearch
cd vsearch
./autogen.sh
./configure
make
sudo make install

これでvsearchのインストールが完了した。

 

次にmuscleのインストール。

http://www.drive5.com/muscle/downloads.htm

ここからダウンロードできる。

それぞれにあったものをダウンロードすればよい。

ここではmuscle3.8.31_i86darwin64.tar.gzをダウンロード・解凍する。

curl -O http://www.drive5.com/muscle/downloads3.8.31/muscle3.8.31_i86darwin64.tar.gz
tar xvfz muscle3.8.31_i86darwin64.tar.gz
rm muscle3.8.31_i86darwin64.tar.gz

名前が長いので簡略化。

mv muscle3.8.31_i86darwin64 muscle

※pyRADを動かすときにmuscleを動かすコマンドを打ち込む必要がある。ここでファイル名を変更しないと、いちいち「muscle3.8.31_i86darwin64」という長ったらしいコマンドを打つはめになる。とてもめんどくさいので、ここでリネームすべし。

解凍したファイルをすでにパスが通っているところ(どこでもいい)へ移動させる。

ここでは/usr/local/bin/にパスが通っている前提で。

sudo mv muscle /usr/local/bin/

※もちろん、muscleを解凍した場所にパスを通しても良い。

 

いよいよpyRAD本体のインストール。

cd ~/Analysis

インストールしたいディレクトリに移動(どこでもよい)

git clone https://github.com/dereneaton/pyrad.git
python ./pyrad/pyrad/pyRAD.py -h

※(py27)が表示されていなければ、うまくいかない。詳細は↓に。

 →ヘルプが出れば成功

 

使用にあたって注意事項

pyRADを使用する前に必ず毎回仮想環境を立ち上げる必要がある。

つまり、ターミナル上に

(py27)

が表示されていないと使えない。

仮想環境の立ち上げのコマンドは

source ~/Analysis/py27/bin/activate

※virtualenvをインストールした場所を指定

で、仮想環境を終わらせたいときは

deactivate

と打てば終了できる。

plinkでペアワイズ連鎖不平衡解析|非モデル生物の場合

はじめに

RAD-seqやMIG-seqなどで取得できるSNP情報は、もろもろの解析に使用する前に連鎖不平衡を調べて除去してやる必要がある。

ここではplinkを使用してSNP間の相関係数をペアワイズで計算し、閾値(こちらで設定できる)よりも相関係数が大きな組み合わせを連鎖不平衡のあるSNPとして検出する。

また、今回は非モデル生物でRAD-seqやMIG-seqをおこなってde novoでアライメントした場合を想定し、各locusの染色体番号や位置情報を使わずに連鎖解析をおこなう。

plinkのインストール方法(mac)はこちら

 

インプットファイル

.pedファイルと.mapファイルが必要

.pedファイルは.strなどからPGDspiderで変換可能

ただし、同じ座位に3つ以上アリルがあるとはじかれるので、事前に取り除いておく必要がある

.mapファイルはエクセルで自分で作れる

左から順に

染色体番号|座位の番号|遺伝的距離|ポジション

を半角スペース区切りで記述していくが、de novoの場合、座位の番号以外は0と記入すれば良い

0 loc1 0 0
0 loc2 0 0
0 loc3 0 0
0 loc4 0 0

といった感じ

.pedファイルに記述されている座位と.mapファイルに記述されている座位は一致する必要があるかも

 

実行

.pedファイルと.mapファイルを同じファイル名で(拡張子は異なる)同じディレクトリに格納する

例えば、

mkdir ~/Desktop/plink

で、できたフォルダに

○○.ped
○○.map

を移すといった感じ

その後、

plink --file ○○ --r2 --ld-window 1000000 --ld-window-r2 0

※〇〇:拡張子をつけてはいけない

と打ち込めば、同ディレクトリに

plink.ld

が作成される

コマンドのオプションを解説すると、

-- file ○○ インプットファイルの指定

-- r2 相関係数の計算

-- ld-window 1000000 何個隣のSNPまで相関係数を計算するか …※

--ld-window-r2 0 相関係数が指定した数値以上のものを出力する(全て出力するときは0)

※入力したデータが実際の配列順で並んでいる場合、あまり遠くの座位と相関係数を出しても意味が無い。そのため、デフォルトでは9個隣の座位までしか相関係数を計算しないようになっている。de novoの場合、実際の配列順に並んでいるわけではないので、全てのSNPを総当りで調べる必要がある。よって、ここには手持ちのSNP数以上の数字を入れる必要がある。SNP数以上であれば数字はなんでもよい。

 

アウトプットファイル

plink.ldをmiでもエクセルでもなんでもいいので開いてみると、

CHR_A   BP_A   SNP_A   CHR_B   BP_B   SNP_B           R2 
     0              0        loc1           0               0         loc2       0.0152985
     0              0        loc1           0               0         loc3       0.0515134
     0              0        loc1           0               0         loc4                1

こんな感じになっているはず

見たままだが、loc1とloc2の相関係数が0.0152985であるという感じに読む

ちなみに、たとえば

--ld-window-r2 0

の0の数字を0.2にすれば、相関係数が0.2以上のものだけをリストアップしてくれる

plinkのインストール|OS X ElCapitan (10.11.6)

plinkとは?

GWAS解析やQTL解析などに使える便利ツール。

HW平衡からの逸脱や、連鎖不平衡の解析もやってくれるとか。

詳しくはこれから勉強するところ。

 

インストール

とても簡単。ダウンロードして、解凍して、パスを通すだけ。

 

PLINK: Whole genome data analysis toolset

ここからmac用をダウンロード

今回はplink-1.07-mac-intel.zip

 

これを好きなところに解凍する

自分の場合はここ↓

~/Analysis/plink-1.07-mac-intel

 

このディレクトリにパスを通せば完了

cd
nano .bash_profile

で、以下の一文を追加

PATH=${PATH}:"/Users/〇〇/Analysis/plink-1.07-mac-intel"

※〇〇にはusernameが入る

で、保存して再ログイン

これでターミナル上でplinkコマンドが使えるようになる

 

「PATHを通す」ってどういうこと?

はじめに

この項では、具体的にPATHを通す方法は書いてません。

「PATHを通す」とは、どういうことなのかを解説します。

 

PATHの通し方はこちら↓

PATHを通す方法|mac OS Xの場合 - マクロ生物学徒の備忘録

 

予備知識として…

macでは、ターミナルを使用して様々な作業ができる。

例えば、

mkdir test

と打ち込めば、testという名前のディレクトリができる。

 

なぜ、このようなことができるのか。

それは、あらかじめ「mkdir」というコマンドに対して「ディレクトリを作れ」という命令が情報として結びついているから。

このような情報が記述されたファイルはいつくかのディレクトリに格納されている。

(コマンドを単語だとすると、そのディレクトリはさしずめ辞書といったところ)

ターミナル上で、「mkdir」と打ち込むと、まずコンピューターはこの情報が格納されたディレクトリにアクセスし、「mkdir」というコマンドに結び付けられた命令を実行する。

(毎回コマンドの意味を辞書で調べているような感じ。)

 

パスを通すって何?

「コマンド-命令」情報が格納されたディレクトリがどこにあるのか、をコンピューターに教えてあげる必要がある。

このディレクトリの場所を教えることを、「PATHを通す」という。

 

PATHはディレクトリに通すものだが、便宜上

「コマンドにPATHを通す」

「ファイルにPATHを通す」

と言ったりもする。

これは、コマンドの意味が書いてあるファイルがあるディレクトリにPATHを通す、という意味である。

 

「mkdir」などの最初から使えるコマンドは、デフォルトで「PATHが通っている」状態である。

ちなみに場所は

/bin

/usr/bin

/usr/local/bin

だいたい、ここにある(隠しフォルダなのでFinderなどでは表示されない)。

ターミナル上でコマンドを打ち込むと、その意味が書いてあるファイルをここに探しにいくようにデフォルトでプログラムされている。

 

まとめ

PATHを通すとは、ターミナル上でコマンドが使えるようにするために、コマンドの意味が記述されたファイルの場所をコンピューターに教えること。

 

ちなみに

新しくコマンドをターミナル上で使いたい時、やり方は二通りある。

1つ目は、そのコマンドの意味が書かれたファイルがあるディレクトリにパスを通す方法。

→ PATHを通す方法|mac OS Xの場合 - マクロ生物学徒の備忘録

 

2つ目は、すでにパスが通っているディレクトリにコマンドをインストールする方法。

→ (準備中)

 

FASTX-toolkitのインストール|OS X ElCapitan (10.11.6)

FASTX-toolkitとは?

FASTX-toolkitはターミナル上で動き、次世代シーケンサによって得られるfastq形式のファイルから、クオリティの低い配列を除去してくれる便利なやつ。

アライメントソフトもクオリティが低いものは使わないようになっていることが多いが、除去の仕方が荒っぽい(?)ので、あらかじめFASTX-toolkitで細かく条件を指定して除去した方が、結局使えるリード数が増え、アライメントが上手くいきやすい。そんな気がする。

 

流れ

FASTX-toolkitのインストールの前にlibgtextutilsと最新版のpkg-configをインストールする必要がある。

この2つをダウンロード&インストールしてからFASTX-toolkitのインストールに進む。

すでに/usr/local/binにパスが通っている前提で、ここにインストールする。

 参考にしたサイト

FASTX-toolkit | FASTQクオリティコントロールやFASTAファイルへの変換など

OS X 10.11ではrootでも/usrや/bin以下に書き込みできない | スラド アップル

0から始めるNGSデータ解析メモ : FASTX-Toolkitのインストール

 

ダウンロード

FASTX-Toolkit - Download page

ここから最新版のlibgtextutils-x.x.x.tar.gzとfastx_toolkit-x.x.x.tar.bz2をダウンロードする
→今回はlibgtextutils-0.7.tar.gzとfastx_toolkit-0.0.14.tar.bz2をダウンロード

http:// https://pkg-config.freedesktop.org/releases/

ここから最新版のpkg-config-x.x.x.tar.gzをインストール
→今回はpkg-config-0.29.1.tar.gzをダウンロード

 

解凍
適当なディレクトリに解凍する
デスクトップとかは邪魔になるのでやめといた方がいい
自分は↓のようなディレクトリを作ってそこに放り込んでる
~/Analysis
→~/Analysisの中に、libgtextutils-0.7とfastx_toolkit-0.0.14とpkg-config-0.29.1がある状態

 

libgtextutilsのインストール
ターミナルを開いて解凍してできたディレクトリ(libgtextutils-0.7)の中に移動する

cd ~/Analysis/libgtextutils-0.7
sudo ./configure --prefix=/usr/local

→~/Analysis/libgtextutils-0.7の中ににMakefileというファイルができたはず

sudo make

※パスワードを要求されたらログイン時に必要なパスワードを入力する(以下同様)

sudo make install

→/usr/local/libの中にlibgtextutils-0.7.0.dylibというファイルができていれば成功
※/usrディレクトリは隠しディレクト

 

pkg-configのインストール

cd ~/Analysis/pkg-config-0.29.1/
./configure --prefix=/usr/local --with-internal-glib

→pkg-config-0.29.1ディレクトリ内にMakefileというファイルができたはず

make
sudo make install

→/usr/local/binの中にpkg-configというファイルがあるはず

pkg-config -h

→Help Optionsが表示されれば成功
※もし、./configureの時に/usr/local以外の場所を指定していたら、そこのbinディレクトリにパスを通す必要がある

 

fastx_toolkitのインストール

cd ~/Analysis/fastx_toolkit-0.0.14/
./configure --prefix=/usr/local

※pkg-configにパスが通ってなかったり、古かったりすると↓のようなエラーが表示される 

configure: error: The pkg-config script could not be found or is too old.  Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

Alternatively, you may set the environment variables GTEXTUTILS_CFLAGS
and GTEXTUTILS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

To get pkg-config, see <http://pkg-config.freedesktop.org/>.
See `config.log' for more details

エラーが出てなかったらうまくいってる

make
sudo make install
fastx_trimmer -h

→Helpが表示されれば成功