個人用パソコンまたはmacOSで動かすColabFold。
- 2024年1月30日, ColabFold 1.5.5 (Compatible with AlphaFold 2.3.2). CUDA 11.8 or laterが必要となりました。
- 2023年2月5日, version 1.5.0-preリリース。
- 2022年6月18日, version 1.4.0 リリース。Release v1.4.0
- 2021年12月9日, β版。簡単に使えるアップデートスクリプトを追加。アップデートのやり方を参照。
- 2021年12月4日, LocalColabFoldは最新版のpipでインストール可能なColabFoldに対応しました。このリポジトリではrelax(構造最適化)処理を行うために必要な他のパラメータファイルとともにColabFoldをインストールするためのスクリプトを提供しています。AlphaFoldとAlphaFold-Multimerの重みパラメータは初回の実行時に自動的にダウンロードされます。
- ターミナル上で
curl
,git
とwget
コマンドがすでにインストールされていることを確認します。存在しない場合は先にこれらをインストールしてください。Ubuntuの場合はtypesudo apt -y install curl git wget
でインストールできます。 - Cuda compilerのバージョンが11.8以降であることを確認します。
$ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Wed_Sep_21_10:33:58_PDT_2022 Cuda compilation tools, release 11.8, V11.8.89 Build cuda_11.8.r11.8/compiler.31833905_0
バージョンチェックの時にnvidia-smi
コマンドを使わないでください。こちらでは不正確です。
まだCUDA Compilerをインストールしていない場合は、NVIDIA CUDA Installation Guide for Linuxを参照してください。 - GNU compilerのバージョンが4.9以降であることを確認します。 動作上、
GLIBCXX_3.4.20
が必要になるためです。$ gcc --version gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
もしバージョンが4.8.5以前の場合は(CentOS 7だとよくありがち)、新しいGCCをインストールしてそれにPATHを通してください。スパコンの場合はEnvironment moduleのmodule avail
の中にあるかもしれません。 - このリポジトリにある
install_colabbatch_linux.sh
をダウンロードします。$ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_linux.sh
これをインストールしたいディレクトリの上に置いた後、以下のコマンドを入力します:$ bash install_colabbatch_linux.sh
およそ5分後にcolabfold_batch
ディレクトリができます。インストール後はこのディレクトリを移動させないでください。 cd colabfold_batch
を入力してこのディレクトリに入ります。- 環境変数
PATH
を追加します。# For bash or zsh
この1行を
# e.g. export PATH="/home/moriwaki/Desktop/colabfold_batch/bin:$PATH"
export PATH="<COLABFOLDBATCH_DIR>/bin:$PATH"~/.bashrc
または~/.zshrc
に追記しておくと便利です。 - 以下のコマンドでColabFoldを実行します。
colabfold_batch --amber --templates --num-recycle 3 inputfile outputdir/
結果のファイルはoutputdir
に生成されます. 詳細な使い方はcolabfold_batch --help
コマンドで確認してください。
注意: macOSではNvidia GPUとCUDAドライバがないため、構造推論部分がLinux+GPU環境に比べて5〜10倍ほど遅くなります。テスト用のアミノ酸配列(58アミノ酸)ではおよそ30分ほど計算に時間がかかります。ただ、Linux+GPU環境を準備する前にこれで遊んでみるのはありかもしれません。
また、自身の持っているMacがIntel CPUのものか、M1 chip入りのもの(Apple Silicon)かを先に確認してください。ターミナルでuname -m
の結果でどちらかが判明します。
$ uname -m
x86_64 # Intel
arm64 # Apple Silicon
(Apple SiliconでRosetta2を使っている場合はApple Siliconでもx86_64って表示されますけれど……今のところこれには対応していません。)
以上の結果を踏まえて適切なインストーラーを選択してください。
- Homebrewをインストールします:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Homebrewで
wget
,gnu-sed
, HH-suiteとkalignをインストールします$ brew install wget gnu-sed
$ brew install brewsci/bio/hh-suite brewsci/bio/kalign install_colabbatch_intelmac.sh
をこのリポジトリからダウンロードします:$ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_intelmac.sh
これをインストールしたいディレクトリの上に置いた後、以下のコマンドを入力します:$ bash install_colabbatch_intelmac.sh
およそ5分後にcolabfold_batch
ディレクトリができます。インストール後はこのディレクトリを移動させないでください。- 残りの手順は"Linux+GPUの場合"と同様です.
Note: 依存するPythonパッケージのほとんどがまだApple Silicon Macで十分にテストされていないため、このインストーラーによる動作は試験的なものです。
- Homebrewをインストールします:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- いくつかのコマンドをHomebrewでインストールします。(現在kalignはM1 macでインストールすることはできないみたいですが、問題ありません):
$ brew install wget cmake gnu-sed
$ brew install brewsci/bio/hh-suite miniforge
をHomebrewでインストールします:$ brew install --cask miniforge
- インストーラー
install_colabbatch_M1mac.sh
をこのリポジトリからダウンロードします:$ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_M1mac.sh
これをインストールしたいディレクトリの上に置いた後、以下のコマンドを入力します:$ bash install_colabbatch_M1mac.sh
およそ5分後にcolabfold_batch
ディレクトリができます。途中色々WarningsやErrorが出るかもしれませんが大丈夫です。インストール後はこのディレクトリを移動させないでください。 - 残りの手順は"Linux+GPUの場合"と同様です.
ColabFoldはいまだ開発途中であるため、最新の機能を利用するためにはこのlocalcolabfoldも頻繁にアップデートする必要があります。そこでお手軽にアップデートするためのスクリプトを用意しました。
アップデートはlocalcolabfold
ディレクトリで以下のように入力するだけです。
$ ./update_linux.sh . # if Linux
$ ./update_intelmac.sh . # if Intel Mac
$ ./update_M1mac.sh . # if M1 Mac
また、もしすでに1.2.0-beta以前からlocalcolabfoldをインストールしていた場合は、まずこれらのアップデートスクリプトをダウンロードしてきてから実行してください。例として以下のような感じです。
# set your OS. Select one of the following variables {linux,intelmac,M1mac}
$ OS=linux # if Linux
# navigate to the directory where you installed localcolabfold, e.g.
$ cd /home/moriwaki/Desktop/localcolabfold/
$ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/update_${OS}.sh
$ chmod +x update_${OS}.sh
$ ./update_${OS}.sh /path/to/your/localcolabfold
- お使いのパソコンにNvidia GPUとCUDAドライバがあれば、AlphaFold2による構造推論(Structure inference)と構造最適化(relax)が高速になります。
- Google Colabは90分アイドルにしていたり、12時間以上の利用でタイムアウトしますが、その制限がありません。また、GPUの使用についても当然制限がありません。
- データベースをダウンロードしてくる必要がないです。
- インストールの事前準備は?
curl
,wget
コマンド以外は不要です
- BFD, Mgnify, PDB70, Uniclust30などの巨大なデータベースを用意する必要はありますか?
- 必要ないです。
- AlphaFold2の最初の動作に必要なMSA作成はどのように行っていますか?
- MSA作成はColabFoldと同様にMMseqs2のウェブサーバーによって行われています。
- ColabFoldで表示されるようなpLDDTスコアやPAEの図も生成されますか?
- はい、生成されます。
- ホモ多量体予測、複合体予測も可能ですか?
- はい、可能です。配列の入力方法はColabFold: AlphaFold2 using MMseqs2のやり方と同じです。
- jackhmmerによるMSA作成は可能ですか?
- 現在のところ対応していません。
- 複数のGPUを利用して計算を行いたい。
- AlphaFold, ColabFoldは複数GPUを利用した構造予測はできないようです。1つのGPUでしか計算できません。
- 長いアミノ酸を予測しようとしたときに
ResourceExhausted
というエラーが発生するのを解決したい。- 上と同じissueを読んでください。
CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered
というエラーメッセージが出る- CUDA 11.1以降にアップデートされていない可能性があります。
nvcc --version
コマンドでCuda compilerのバージョンを確認してみてください。
- CUDA 11.1以降にアップデートされていない可能性があります。
- Windows 10の上でも利用することはできますか?
- WSL2を入れればWindows 10の上でも同様に動作させることができます。
- (New!) 自作したA3Mファイルを利用して構造予測を行いたい。
- 現在ColabFoldはFASTAファイル以外にも様々な入力を受け取ることが可能です。詳細な使い方はヘルプメッセージを読んでください。手持ちのA3Mフォーマットファイル、FASTAフォーマットで入力された複数のアミノ酸配列を含む1つのfastaファイル、さらにはディレクトリ自体をインプットに指定する事が可能です。
- The original colabfold was first created by Sergey Ovchinnikov (@sokrypton), Milot Mirdita (@milot_mirdita) and Martin Steinegger (@thesteinegger).
- Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S and Steinegger M. ColabFold - Making protein folding accessible to all.
Nature Methods (2022) doi: 10.1038/s41592-022-01488-1 - If you’re using AlphaFold, please also cite:
Jumper et al. "Highly accurate protein structure prediction with AlphaFold."
Nature (2021) doi: 10.1038/s41586-021-03819-2 - If you’re using AlphaFold-multimer, please also cite:
Evans et al. "Protein complex prediction with AlphaFold-Multimer."
BioRxiv (2021) doi: 10.1101/2021.10.04.463034v1 - If you are using RoseTTAFold, please also cite:
Minkyung et al. "Accurate prediction of protein structures and interactions using a three-track neural network."
Science (2021) doi: 10.1126/science.abj8754