Bash on Ubuntu on WindowsでSingle-cell RNA sequence解析 ①環境構築まで

  • 1
    いいね
  • 0
    コメント

※記事を読んでくださるみなさまへ

・対象はプログラミングもバイオインフォ解析も全く未経験のバイオ研究者です
・筆者は基礎研究を初めて約1年3ヶ月の大学院生です
・いわゆる”DRY”な研究を始めたのは約5ヶ月前からです
・そのため記事の内容にはとんでもない間違いやずっと良い別の方法が存在するかもしれません
・また、筆者と同じレベルの人が0から始めるときの参考になるよう、説明は結構まだるっこいです
・ご指摘の度に記事をブラッシュアップしていきたいです、よろしくお願いします

過去記事一覧
①環境構築まで
②NGSデータのダウンロードとクオリティチェック
③NGSデータのトリミング
④Pipeline (hisat2, samtools, stringtie)
⑤番外編:コードのブラッシュアップ
⑥Rによる発現解析

背景

筆者は昨年から基礎研究を始めたペーペーの研究者です。バイオインフォの解析といえばだいたいMacbook proが主流のようで、各種書籍や勉強会もMacを前提にしていることが多かったのですが、十数年間使い慣れたWindowsから鞍替えする労力にハードルを感じたこと、Macがお高かったことから、なんとか自前のSurface pro 4で解析ができないかな?と頑張ってみました。

環境
・Surface pro 4, Windows 10 pro (64ビット版), Intel Core i7-6650U @ 2.20GHz 2.21GHz, メモリ16GB, SSD 250GB
・bash on Ubuntu on windows (Ubuntu 14.04相応)
・conda 4.3.17

bash on Ubuntu on Windowsの導入

バイオインフォの解析にはLinux環境を前提としたインフラ、ソフトウェアが主流となっています。これまではVirtual boxを使った仮想化などが用いられていましたが、仕込みが煩雑であったり、SDD/HDDを無駄に圧迫するという難点がありました。

昨年から利用可能になったbash on Ubuntu on Windows (以下BoW)は、Windowsにこだわりたい基礎研究者へ思わぬ活路を開いてくれました。

まずはBoWを使えるようにしましょう。具体的な導入の方法はQiitaの↓記事を参考にしてください。

Bash on Ubuntu on Windowsをインストールしてみよう!

ではBoWを起動しましょう。まず第一歩として、もともと入っている各種パッケージをアップデートしましょう。このさいsudoという管理者権限のコマンドを使うのですが、

sudo: ホスト xxxx の名前解決ができません

と表示されます。/etc/hostsにホストネームが記載されていないことが問題のようです。アップデートの前にこれを解決しましょう。

# ホストネームの確認
hostname 

# /etc/hostsにホストネームを書き込むためのソフトを起動
sudo nano /etc/hosts 

するとnanoというテキストエディタが起動するので、127.0.0.1 localhostの行の下に

127.0.0.1 最初に調べたホストネーム

と追記して、保存終了します。これでsudoでエラーが出なくなります。

参考ページ
[http://ameblo.jp/miyou55mane/entry-12166224256.html]
[http://tooljp.com/qa/sudo-unable-to-resolve-host-hostname-5230.html]

続けて

sudo apt-get update
sudo apt-get upgrade
# パスワード入力を求められるので、表示されないが入力
# 途中でる質問はyと答える

これでアップデートが完了しました。

パッケージ管理ソフト、Biocondaの導入

パソコンを操作するための画面には、GUI、CUIと呼ばれる2つの方式があります。WindowsはGUIという、マウスをカチカチする方式を主に使って操作していると思います。普段何某かのソフトウェアをインストールするときは、目当てのWebページに行き、リンクをクリックしてダウンロードし、出てきたExeファイルをダブルクリックすればすぐにでも使える状態になります。

しかし、今回導入したBoWはLinuxというOSのCUIに準じています。マウスカチカチでの操作ができない上、ソフトウェアのインストールにはリンク先の把握、ダウンロード、コンパイル、インストール、パス通しといった全く未経験の作業を行わなければいけません。

このようなインストールの手間や、バージョン管理の手間を劇的に減らしてくれるのがパッケージ管理ソフトです。このうち、最近バイオインフォ領域で話題になっているのがBiocondaです。Minicondaという最小パッケージをインストールしたのち、必要な機能を足していきます。以下のコードをコピペしてください。

# wgetというコマンドを使って、リンク先からminicondaをダウンロード。途中の質問には全てy
wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh

# bashにインストールをやってもらう
bash Miniconda2-latest-Linux-x86_64.sh

# bashの個人設定を再読込する
source ~/.bashrc

# condaが正しくインストールされているかの確認。何も出なければOK
conda -h

# 詳しくはわかりませんが、必要な呪文
conda config --add channels conda-forge
conda config --add channels defaults
conda config --add channels r
conda config --add channels bioconda

参考ページ
biocondaを利用してNGS関連のソフトウェアを一括でインストールする
Windows10でNGS解析をやってみる - Bash on Ubuntu on Windows × Bioconda

これでバイオインフォ関連のパッケージをインストールする準備ができました。

解析に必要なパッケージのインストール

今回参考にした論文はこちらです。
Transcript-level expression analysis of RNA-seq experiments with HISAT, StringTie and Ballgown

特にHISAT2という新しいプログラムにより、メモリの小さい、比較的非力なタブレットPCですらリードマッピングが可能になったというのが売りらしいです。以下のコードをコピペしてください。

conda install hisat2
conda install stringtie
conda install samtools

また、論文には記載されていませんが、データのクオリティチェックに必要なこちらも入れましょう。

conda install fastqc

これで以降の解析に必要なもろもろの条件がそろいました。

次の記事では先の論文に記載されたテストデータを使って、データのクオリティチェック、リードデータのマッピング、発現定量、可視化をやっていこうと思います。