rna-seq入門_2023

環境構築

1. ターミナルを開いてwsl --install (初回インストール時は再起動が必要)

2.condaのインストール

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
#最後にPATHに追加するかと聞かれるのでyesにしておく

3.Homebrew for Linuxのインストール

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#PATHへbrewコマンドを追加 #環境によって変わるのでbrewをインストールしたときに最後に出てくるメッセージをちゃんと読んでおく
(echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> $HOME/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
    
#brew用にツールをインストール(Ubuntuの場合)
sudo apt update
sudo apt install build-essential
brew install gcc

condaよりもbrewを後でインストールすることで、brewでインストールしたPATHのほうを優先するように設定する。(more $HOME/.bashrcで開いたファイルに、condaよりも後にeval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"が出てくれば大丈夫)

4.Dockerの代わりにPodmanのインストール

本の中でdockerと書かれている箇所は全てdocker→podmanと変更すればOK

brew install podman

brew services start podman

#この状態でpodman pull alpineしてもError: command required for rootless mode with multiple IDs: exec: "newuidmap": executable file not found in $PATHと出るので、下記のツールをインストールしておく
sudo apt install uidmap

#動作確認用コマンド
podman run -it --rm alpine uname -a
#Linux b9041c6983fd 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 Linux

比較的新しいOSのバージョンまでアップデートしておかないと使えないツールが出てくる。Xcodeの最新版をインストール出来るかどうかが肝だと思われる。

1.condaのインストール

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
bash Miniconda3-latest-MacOSX-x86_64.sh

2.Homebrew for Macのインストール

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#PATHへbrewコマンドを追加 #環境によって変わるのでbrewをインストールしたときに最後に出てくるメッセージをちゃんと読んでおく
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> $HOME/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"

condaよりもbrewを後でインストールすることで、brewでインストールしたPATHのほうを優先するように設定する。(more $HOME/.zshrcで開いたファイルに、condaよりも後にeval "$(/opt/homebrew/bin/brew shellenv)"が出てくれば大丈夫)

3.Dockerの代わりにPodmanのインストール

本の中でdockerと書かれている箇所は全てdocker→podmanと変更すればOK

brew install podman
#podmanの仮想マシンをダウンロード。cpu数、メモリー量は各自のPCに合わせて。volumeは実際に解析するときに使用するフォルダーの絶対パスを指定しておく。(下記はCPU数4、メモリー4GBで、現在のフォルダで解析を行う場合の例)
podman machine init --cpus 4 --memory 4096 --volume "$PWD:$PWD"
#podmanの仮想マシンをスタート(OS再起動時は毎回行う)
podman machine start

#もし後からCPUやメモリー量、podmanで使いたいフォルダーを変更・追加するときは、下記のCPUやメモリー、マウントボリュームのパラメータを変更する
podman machine stop
podman machine set --cpus 4 --memory 4096 --volume "$PWD:$PWD"
podman machine start

1.condaのインストール

x86_64でインストールするのが大事。armでインストールしてしまうと、condaにはほとんどパッケージがない

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
arch -x86_64 /bin/bash Miniconda3-latest-MacOSX-x86_64.sh #arch -x86_64で実行するのを忘れずに!

2.Homebrew for Macのインストール

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#PATHへbrewコマンドを追加 #環境によって変わるのでbrewをインストールしたときに最後に出てくるメッセージをちゃんと読んでおく
#Homebrewはarm版も充実しているのでそのままインストールして問題なさそう
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> $HOME/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"

condaよりもbrewを後でインストールすることで、brewでインストールしたPATHのほうを優先するように設定する。(more $HOME/.zshrcで開いたファイルに、condaよりも後にeval "$(/opt/homebrew/bin/brew shellenv)"が出てくれば大丈夫)

3.Dockerの代わりにPodmanのインストール

本の中でdockerと書かれている箇所は全てdocker→podmanと変更すればOK

brew install podman
#podmanの仮想マシンをダウンロード。cpu数、メモリー量は各自のPCに合わせて。volumeは実際に解析するときに使用するフォルダーの絶対パスを指定しておく。(下記はCPU数4、メモリー4GBで、現在のフォルダで解析を行う場合の例)
podman machine init --cpus 4 --memory 4096 --volume "$PWD:$PWD"
#podmanの仮想マシンをスタート(OS再起動時は毎回行う)
podman machine start

#もし後からCPUやメモリー量、podmanで使いたいフォルダーを変更・追加するときは、下記のCPUやメモリー、マウントボリュームのパラメータを変更する
podman machine stop
podman machine set --cpus 4 --memory 4096 --volume "$PWD:$PWD"
podman machine start

#動作確認用コマンド
podman run -it --rm alpine uname -a
#Linux 83d8b1007fde 6.5.6-200.fc38.aarch64 #1 SMP PREEMPT_DYNAMIC Fri Oct  6 19:34:05 UTC 2023 aarch64 Linux
#x86_64用のコンテナの場合は勝手にx86_64を使ってくれるみたい
podman run -it --rm c2997108/centos7:3-java uname -a
#Linux 66968c5f1f05 6.5.6-200.fc38.aarch64 #1 SMP PREEMPT_DYNAMIC Fri Oct  6 19:34:05 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

研究室のサーバで実行する人向けの補足

研究室のサーバには予めcondaとpodmanがインストールされています。brewは研究室のサーバでは使用することが出来ません。もしbrewでしかインストール出来ないツールをソースコードからインストールすることが出来ない場合は吉武まで連絡してください。

研究室のサーバでは、condaコマンドよりも高速なmambaをインストールしているので、conda installが遅いと感じた場合は、mamba installを使ってください。(mambaはcreateとinstallは実行できますが、mamba activateはできないのでconda activateを使ってください。)

各章の始めに

各章の最初のconda installコマンドを下記のように変更しておくと競合が発生しづらい。

例:Chapter3-1のconda install -c bioconda fastpの場合

conda create -n chapt3-1 -c bioconda fastp
conda activate chapt3-1

解析を途中で止めて再度ターミナルを開いたときは、conda activate chapt3-1として環境を呼び出す必要があるので注意。

ツールのインストール

基本的には

brew install sratoolkit

conda install sra-tools

で良いけど、condaでツールをインストールしすぎるとツールのバージョン制限を解消できない時があって、次のようなエラーが出たりする。

 % conda install -c bioconda trim-galore
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: /
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - trim-galore -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.9,<3.10.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']

Your python: python=3.11

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

その場合、新しい環境を作ってあげると良い。

conda create -n trim-galore -c bioconda trim-galore

新しくtrim-galore環境をインストールしてもそのままでは使えないので、下記のコマンドを実行して環境を切り替える

conda activate trim-galore

もとの環境に戻すなら

conda deactivate

Dockerコマンドは

全てpodmanに置換

例:

docker run --rm -v `pwd`:`pwd` trinityrnaseq/trinityrnaseq Trinity

podman run --rm -v `pwd`:`pwd` trinityrnaseq/trinityrnaseq Trinity

本の内容修正項目

conda install -c bioconda sra-tools

でインストールされるバージョンは古いので、

brew install sratoolkit

を使う。

conda install -c bioconda fastq-screen

ではデータベースなどがインストールされないので、別途インストールする必要がある。

Bowtie2のインデックスが次のページにあるので、例えばその中から適当なものを拾ってくる

https://benlangmead.github.io/aws-indexes/bowtie

#ヒトやシロイヌナヅナ、ゼブラフィッシュなどを登録する場合の例
mkdir db
cd db
wget https://genome-idx.s3.amazonaws.com/bt/WBcel235.zip
wget https://genome-idx.s3.amazonaws.com/bt/BDGP6.zip
wget https://genome-idx.s3.amazonaws.com/bt/R64-1-1.zip
wget https://genome-idx.s3.amazonaws.com/bt/TAIR10.zip
wget https://genome-idx.s3.amazonaws.com/bt/GRCz11.zip
wget https://genome-idx.s3.amazonaws.com/bt/GRCh38_noalt_as.zip
for i in *.zip; do unzip $i; done

(echo "BOWTIE2 `which bowtie2`
THREADS         8"
for i in $PWD/*/*.rev.1.bt2; do echo DATABASE `basename $i .rev.1.bt2` `echo $i|sed 's/.rev.1.bt2$//'`; done) > $(realpath `which fastq_screen`).conf

cd ..

まずRをどうやってインストールするかについては、Ubuntuの場合はターミナルで下記を実行してシステムライブラリーをインストールします。

sudo apt install r-base
sudo apt install libssl-dev libfontconfig1-dev libcurl4-openssl-dev libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev

そして、Rを実行して、Rのライブラリーをインストールします。

R
install.packages("devtools", repos="http://cran.r-project.org")

install.packages("BiocManager")
BiocManager::install("rhdf5")

devtools::install_github("COMBINE-lab/wasabi")

普通にconda installしていれば大丈夫なのだけど、

conda create -c bioconda -c conda-forge -n kallisto-env kallisto

とconda-forgeも使うようにしてしまっていると、古めのCPUだとコアダンプするバイナリがインストールされてしまうので注意。(-c conda-forgeをつけなければOK)


Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 4096 bytes) in /home/webpark1634/www/yosh/lib/plugins/authplain/auth.php on line 441

Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 65536 bytes) in /home/webpark1634/www/yosh/inc/ErrorHandler.php on line 34