シーケンシングコストの低下に伴って巷ではヒトゲノムプロジェクト以来のバイオインフォブームの再来があるようですが、そうやって時代が進む間も野山に混じりて蟲を採りつつよろづのことを調べにけりみたいな現場主義いきものメインな人が長年の憧れだったメタゲノム解析に手を出すまでの道のりです。
とりあえず環境中のメタゲノム情報に対して系統解析を行うことを目標として進めます。
手に入る書籍がモデル生物に対する発現解析関係ばかりなので、非モデル生物の分子系統解析がメインの文献があればほしい(切実)。
#メタゲノム解析ツールは基本的にLinux OSかMac OS環境じゃないと使えない
あの本とかこの本ではとりあえずMac使えって書かれてますね。そんなお金ないよ。なのでLinux環境を利用することになりますが、Linux専用機を用意できるはずもないので手元のWindows機内にLinux環境を構築することにしました。
仮想環境の構築となるとVirtualBoXやDockerを使うことになるかと思いますが、今回はWindows Subsystem for Linux (WSL)を使用します。Windows homeでも動くし軽そうだし。
#環境構築
今回は手元のWindows機にWSLを導入してUbuntuをインストール、Linux向けのメタゲノム解析ツールを導入していく。
##WSLおよびUbuntuの導入
こことかここを参考にしてWSL(無印のWSL1の方)を入れた。
Linux環境のホームディレクトリにWin環境のデスクトップへのシンボリックリンクを作成しておくとファイルのやり取りなどが楽になるのでおすすめ
ln -s /mnt/c/Users/"username"/Desktop ~/Desktop
※"username"部分にはwindowsアカウントの名前を入れる
日本語化とかもできるけど解析ツールはどうせ英語だし日本語と英語が入り乱れると脳がバグるよわよわパーソンなのでそのままにした。文字化け防止に日本語の言語パックをインストールだけした。
##導入するUbuntuのバージョンについて
ここによるとWSL1にUbuntu20.04を入れると不具合が発生し、すぐには修正が難しい問題であるらしく安定した動作を求める人は18.04LTSを入れた方が良いとのこと。私は既に20.04に色々インストールしてしまってから知ったのでそのまま使った(めんどくさいし)。Ubuntuを開きながらChromeでウェブブラウンジグしてるとしばしばWindowsがクラッシュするが解析かけて放置した場合は今のところ大丈夫なので、WindowsとUbuntuで同時に作業しなければ大丈夫じゃないかなと思う(願望)。パッチはよ。
##Miniconda
公式のドキュメントを参考にしてMinicondaをインストールした。インストール後にconda --help
がcommand not foundだったのでcondaのPATHを環境変数$PATHに追記した記憶があるのでけどうろ覚え。
うちの環境の$PATHを確認したら
/home/"username"/miniconda3/condabin
だった。
###biocondaチャンネルの登録
この本を参考にして
conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda
以上のチャンネルを登録した。
#解析に必要なツールの導入
色々試したけど最終的に使ったものだけ
##SRA-toolkit
公式ドキュメントを参考にしてインストールした。確かインストール後にこのアドレスにPATHを通せ的なことが表示されたはずなのでそれに従って環境変数$PATHに追記した。
今確認するとうちの環境では
/usr/local/ncbi/sra-tools/bin
だった。
###configの設定
fastq-dumpなどのコマンドを使うにはconfigの設定が必要なので公式ドキュメントを参考にして設定した。
vdb-config -i
でコンフィグ画面が開くので適当に設定。キャッシュなどを置いとく場所を聞かれるので適当に作った空のディレクトリを指定する。
##SqueezeMeta
こことここを参考にした。
今回はcondaからインストール
conda create -n SqueezeMeta -c bioconda -c fpusan squeezemeta
conda activate SqueezeMeta
###データベースの構築
SqueezeMetaのインストールが終わったらtest_install.pl
を実行するとデータベースがあるか確認して、なければデータをダウンロードして構築してくれる。このときデータベースをインストールする場所を聞かれるので指定する。とりあえず/download/path
にしといた。ダウンロードと構築にだいたい2日くらいかかった。
#とりあえず動かしてみる
SqueezeMetaは自動で色々やってくれるのでとりあえず適当なデータをパイプラインに流してみた
##配列の取得
今回はJi et al. (2018)の登録配列を使用した。
prefetch SRR5223441
でsraファイルを取得
fastq-dump --split-files SRR5223441.sra
でペアエンドファイルに変換。SRR5223441_1.fastq
とSRR5223441_2.fastq
というファイルが生成された。
これをSqueezeMetaによる解析に使う。
##SqueezeMetaによる解析
適当な作業ディレクトリを作ってペアエンドファイルを移動した。
解析にはサンプルごとにfastqファイルを指定した.samplesファイルが必要なので作った
touch list.sampls
touchコマンドでファイルを作成して
vim list.samples
vimで編集した
Sample1 SRR5223441_1.fastq pair1
Sample1 SRR5223441_2.fastq pair2
中身はこんな感じ。blank spaceはダメなのでtab区切りを使う。
今回Sample1としている部分の名前を変えていけば複数サンプルを連続で処理してくれるらしい。
今回はカレントディレクトリに必要なファイルを全部置いて解析を実行した
SqueezeMeta.pl -m coassembly -p "projectname" -s ./list.samples -f ./
coassemblyモードではプロジェクトネーム(-pで指定)のディレクトリが生成されそこに結果が保存される。すでに同じ名前のディレクトリが存在すると別のプロジェクトネームにしろと怒られる(た)。
解析が終わったらディレクトリごとデスクトップにコピーするとやりやすい
cp -r "projectname" ~/Desktop
resultsの中に02."projectname".16S.txt
と19."projectname".bintable
がある。
メモ帳でも開けるけど読み辛いので適当なスプレッドシートに流し込んだ。これらのファイルにアノテーションとビニングで見つかった生き物が記録されている。
とりあえず以上の手順でSqueezeMetaが動いた。