AlphaFold のインストール(Ubuntu 上)

概要

AlphaFold は,Google DeepMind による,AI を用いたタンパク質の立体構造予測ソフトウェアである.Ubuntu 上で Docker を使って動作させる.

目次

関連する外部ページ

第1章 前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.これは,パッケージ情報を最新の状態に保ち,インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである.

Ubuntu のインストールはこちらの別ページで説明する.
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新(依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now

Docker のインストール

AlphaFold の公式手順は Docker 上での実行を前提としている.Docker と,GPU を Docker から利用するための NVIDIA Container Toolkit を,あらかじめインストールしておく.

# Docker のインストール
curl -fsSL https://get.docker.com | sudo sh

# 現在のユーザーを docker グループへ追加(sudo なしで docker コマンドを使うため)
sudo usermod -aG docker $USER
# 反映のため,一度ログアウトしてログインし直す

# NVIDIA Container Toolkit のインストール
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

次のコマンドで,Docker から GPU を認識できているか確認する.GPU の一覧が表示されれば成功である.

docker run --rm --gpus all nvidia/cuda:12.8.0-base-ubuntu24.04 nvidia-smi

第2章 AlphaFold のインストール(Ubuntu 上)

https://github.com/google-deepmind/alphafold に記載の手順に従う.

  1. AlphaFold のソースコードと reduced データベースのダウンロード
    cd /usr/local
    sudo rm -rf alphafold
    sudo git clone https://github.com/google-deepmind/alphafold.git
    sudo chown -R $USER alphafold
    
    sudo apt install -y aria2 rsync
    
    sudo mkdir /usr/local/reduced_genetic_db
    sudo chown $USER /usr/local/reduced_genetic_db
    cd /usr/local/alphafold
    scripts/download_all_data.sh /usr/local/reduced_genetic_db reduced_dbs
    

    ダウンロードには時間がかかるため,上記コマンドをバックグラウンドで実行することが推奨される.また,ダウンロード先ディレクトリ(/usr/local/reduced_genetic_db)は,AlphaFold のリポジトリディレクトリの下に置いてはならない.下に置くと,Docker イメージのビルド時に巨大なデータベースがビルドコンテキストへコピーされ,ビルドが遅くなる.

  2. Docker イメージのビルドと,run_docker.py の依存パッケージのインストール
    cd /usr/local/alphafold
    docker build -f docker/Dockerfile -t alphafold .
    
    pip3 install -U --no-user -r docker/requirements.txt
    

    docker build は,AlphaFold の実行に必要なライブラリ一式を含む Docker イメージを作成する.pip3 install は,Docker コンテナを呼び出す側の制御スクリプト run_docker.py を動かすために,ホスト側の Python 環境へ必要な依存パッケージを入れるものである.AlphaFold 本体は,この Docker イメージの中で動作する.

  3. AlphaFold を実行する

    your_protein.fasta のところには,予測したいタンパク質の配列を記述した FASTA ファイル名を指定する.

    python3 docker/run_docker.py \
      --fasta_paths=your_protein.fasta \
      --max_template_date=2022-01-01 \
      --db_preset=reduced_dbs \
      --data_dir=/usr/local/reduced_genetic_db \
      --output_dir=/home/user/absolute_path_to_the_output_dir
    

    --data_dir には,手順1でダウンロードしたデータベースのディレクトリを指定する.--db_preset=reduced_dbs は,reduced データベースを使う設定であり,手順1でダウンロードしたデータベースの種類と一致させる.--output_dir には,予測結果の出力先ディレクトリを絶対パスで指定する.実行が終わると,出力先ディレクトリの下に,予測された立体構造(PDB形式ファイル)などが生成される.