3.1.1. conda#

バイオインフォマティクスの分野で conda が広く愛用されている最大の理由は、Bioconda という巨大なリポジトリが存在することです。Bioconda には、ゲノム解析やトランスクリプトーム解析などに用いられる数多くの専門的ソフトウェアが登録されており、本来であればインストールや依存関係の調整が難しいツールであっても、conda を使えばコマンド一つで簡単に導入できます。この「環境構築に悩む時間を大幅に減らせる」点は、研究を進めるうえで非常に大きな利点です。

conda を利用するための配布形態にはいくつかの種類がありますが、選択には注意が必要です。広く知られている Anaconda や Miniconda は、学術機関を含めて大規模な組織や企業での利用が有償化されています。そのため、現在ではオープンソースであり、商用利用・学術利用を問わず完全に無料で利用できる Miniforge を選択するのが賢明です。

Miniforge は、コミュニティ主導で品質管理されているパッケージ群を最初から優先的に利用するよう設定されています。その結果、パッケージ間の衝突や不具合が比較的少なく、安定した解析環境を構築しやすいというメリットがあります。本書では、この Miniforge を用いた conda 環境の構築を前提として解説を進めます。

3.1.1.1. Miniforge のインストール#

Miniforge のインストールは、GitHub 上で公開されている Miniforge リリースから、利用している OS に対応したインストーラーをダウンロードして実行します。macOS や Linux の場合は、ターミナルを開き、以下のコマンドを実行することでインストールできます。

wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh

ここで使われている wget はインターネット上のファイルをダウンロードする命令であり、bash はダウンロードしたインストールプログラムを実行するための命令です。

インストール中は、使用規約や初期設定が表示されます。「Welcome to Miniforge3」が表示されたら、 Enter キーを押して進めます。

# Welcome to Miniforge3 ...
# 
# In order to continue the installation process, please review the license
# agreement.
# Please, press ENTER to continue
# >>> 

ライセンスが表示されるので、スペースキーで最後までスクロールして yes を入力。

# Miniforge installer code uses BSD-3-Clause license as stated below.
# ...
# ...
# Do you accept the license terms? [yes|no]
# >>>

次にインストール先を聞かれます。特別な理由がなければデフォルトのまま Enter を押します。通常はユーザーのホームディレクトリに miniforge3 フォルダが作られます。

# Miniforge3 will now be installed into this location:
# /home/USERNAME/miniforge3
#
#  - Press ENTER to confirm the location
#  - Press CTRL-C to abort the installation
#  - Or specify a different location below
#
# [/home/USERNAME/miniforge3] >>>

インストール後、conda を常時利用可能にするか聞かれます。no に設定します。no にしない場合は、システムの基本環境が書き換えられることがあります。

# ...
# Transaction finished
# 
# installation finished.
# Do you wish to update your shell profile to automatically initialize conda?
# This will activate conda on startup and change the command prompt when activated.
# If you'd prefer that conda's base environment not be activated on startup,
#    run the following command when conda is activated:
# 
# conda config --set auto_activate_base false
# 
# You can undo this by running `conda init --reverse $SHELL`? [yes|no]
# [no] >>> 

次のようなメッセージが表示されれば、インストールが完了です。

# You have chosen to not have conda modify your shell scripts at all.
# To activate conda's base environment in your current shell session:
# 
# eval "$(/home/USERNAME/miniforge3/bin/conda shell.YOUR_SHELL_NAME hook)"
# 
# To install conda's shell functions for easier access, first activate, then:
# 
# conda init
# 
# Thank you for installing Miniforge3!

最後にインストールスクリプトを削除して完了です。

rm Miniforge3-$(uname)-$(uname -m).sh

3.1.1.2. Miniforge の起動#

Miniforge はターミナル(あるいはプロンプト)を介して利用します。Ubuntu および macOS の場合は、ターミナルを起動し、次のコマンドを実行します。

eval "$(~/miniforge3/bin/conda shell.$(basename $SHELL) hook)"

これでターミナル上で conda が使えるようになります。このコマンドは、ターミナルを起動するたびに実行する必要があります。

3.1.1.3. 仮装環境の利用#

3.1.1.3.1. 仮想環境の構築#

conda create コマンドで仮想環境を作ります。例えば、icecream というプロジェクト名で仮想環境を作る場合は、次のようにします。

conda create -n icecream

しばらく待つと、依存パッケージのインストール確認が出るので y を入力します。仮想環境が完成すると、次のメッセージが表示されます。

#
# To activate this environment, use
#
#     $ conda activate icecream
#
# To deactivate an active environment, use
#
#     $ conda deactivate

なお、仮装環境で Python を利用できるようにするには、次のように、Python のバージョンを指定して仮想環境を作成します。

conda create -n icecream python=3.14

3.1.1.3.2. 仮想環境の利用#

環境を構築しただけでは利用できません。仮装環境を利用するには、それをアクティベートする必要があります。icecream 環境をアクティベートするには次のようにします。

conda activate icecream

アクティベート後、ターミナルの左側に (icecream) が表示されます。これ以降、インストールしたパッケージは、システムや他の仮想環境には影響しません。たとえば、RNA-seq 解析でよく利用されると samtools をインストールする場合は次のようにします。

conda install -c bioconda samtools

仮想環境を終了する場合は、ターミナルを閉じるだけで大丈夫です。

3.1.1.3.3. 仮想環境の削除#

不要になった仮想環境は次のコマンドで削除できます。ただし、仮装環境を削除する場合は、削除対象の環境を deactivate する必要があります。ここに書いてあることがよくわからなければ、Ubuntu/macOS ならばターミナルを再起動して conda 環境を呼び出して、以下の作業を行えば大丈夫です。

conda remove -n icecream --all