個人用パソコンまたはmacOSで動かすColabFold。
- 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.1以降であることを確認します。
$ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2020 NVIDIA Corporation Built on Mon_Oct_12_20:09:46_PDT_2020 Cuda compilation tools, release 11.1, V11.1.105 Build cuda_11.1.TC455_06.29190527_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の場合"と同様です.
予測を行っているときに以下のようなメッセージが現れます:
You are using an experimental build of OpenMM v7.5.1.
This is NOT SUITABLE for production!
It has not been properly tested on this platform and we cannot guarantee it provides accurate results.
このメッセージはApple Silicon上で動作させる時のみ現れますが、たぶん無視して大丈夫です。
ColabFoldはいまだ開発途中であるため、最新の機能を利用するためにはこのlocalcolabfoldも頻繁にアップデートする必要があります。そこでお手軽にアップデートするためのスクリプトを用意しました。
アップデートはcolabfold_batch
ディレクトリで以下のように入力するだけです。
$ ./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
$ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/update_${OS}.sh
$ chmod +x update_${OS}.sh
$ ./update_${OS}.sh /path/to/your/colabfold_batch
- お使いのパソコンに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