# 環境構築 ## Windowsの人 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 ``` ## Mac (intel)の人 比較的新しい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 ``` ## Mac (M1以降)の人 (2020年後半以降のMac) 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``` # 本の内容修正項目 ## SRA tools (prefetch, fastq-dump) ``` conda install -c bioconda sra-tools ``` でインストールされるバージョンは古いので、 ``` brew install sratoolkit ``` を使う。 ## fastq_screen ``` 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 .. ``` ## wasabi まず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") ``` ## kallisto 普通にconda installしていれば大丈夫なのだけど、 ``` conda create -c bioconda -c conda-forge -n kallisto-env kallisto ``` とconda-forgeも使うようにしてしまっていると、古めのCPUだとコアダンプするバイナリがインストールされてしまうので注意。(-c conda-forgeをつけなければOK)