Skip to content

Latest commit

 

History

History
143 lines (110 loc) · 13 KB

README_ja.md

File metadata and controls

143 lines (110 loc) · 13 KB

LocalColabFold

個人用パソコンまたは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の重みパラメータは初回の実行時に自動的にダウンロードされます。

インストール方法

Linux+GPUの場合

  1. ターミナル上でcurl, gitwgetコマンドがすでにインストールされていることを確認します。存在しない場合は先にこれらをインストールしてください。Ubuntuの場合はtype sudo apt -y install curl git wgetでインストールできます。
  2. 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を参照してください。
  3. 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の中にあるかもしれません。
  4. このリポジトリにあるinstall_colabbatch_linux.shをダウンロードします。
    $ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_linux.sh
    これをインストールしたいディレクトリの上に置いた後、以下のコマンドを入力します:
    $ bash install_colabbatch_linux.sh
    およそ5分後にcolabfold_batchディレクトリができます。インストール後はこのディレクトリを移動させないでください。
  5. cd colabfold_batchを入力してこのディレクトリに入ります。
  6. 環境変数PATHを追加します。
    # For bash or zsh
    # e.g. export PATH="/home/moriwaki/Desktop/colabfold_batch/bin:$PATH"
    export PATH="<COLABFOLDBATCH_DIR>/bin:$PATH"
    この1行を~/.bashrcまたは~/.zshrcに追記しておくと便利です。
  7. 以下のコマンドでColabFoldを実行します。
    colabfold_batch --amber --templates --num-recycle 3 inputfile outputdir/ 
    結果のファイルはoutputdirに生成されます. 詳細な使い方はcolabfold_batch --helpコマンドで確認してください。

macOSの場合

注意: 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って表示されますけれど……今のところこれには対応していません。)

以上の結果を踏まえて適切なインストーラーを選択してください。

Intel CPUのMacの場合

  1. Homebrewをインストールします:
    $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Homebrewでwget, gnu-sed, HH-suitekalignをインストールします
    $ brew install wget gnu-sed
    $ brew install brewsci/bio/hh-suite brewsci/bio/kalign
  3. install_colabbatch_intelmac.shをこのリポジトリからダウンロードします:
    $ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_intelmac.sh
    これをインストールしたいディレクトリの上に置いた後、以下のコマンドを入力します:
    $ bash install_colabbatch_intelmac.sh
    およそ5分後にcolabfold_batchディレクトリができます。インストール後はこのディレクトリを移動させないでください。
  4. 残りの手順は"Linux+GPUの場合"と同様です.

Apple Silicon (M1 chip)のMacの場合

Note: 依存するPythonパッケージのほとんどがまだApple Silicon Macで十分にテストされていないため、このインストーラーによる動作は試験的なものです。

  1. Homebrewをインストールします:
    $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. いくつかのコマンドをHomebrewでインストールします。(現在kalignはM1 macでインストールすることはできないみたいですが、問題ありません):
    $ brew install wget cmake gnu-sed
    $ brew install brewsci/bio/hh-suite
  3. miniforgeをHomebrewでインストールします:
    $ brew install --cask miniforge
  4. インストーラー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が出るかもしれませんが大丈夫です。インストール後はこのディレクトリを移動させないでください。
  5. 残りの手順は"Linux+GPUの場合"と同様です.

アップデートのやり方

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

LocalColabFoldを利用する利点

  • お使いのパソコンにNvidia GPUとCUDAドライバがあれば、AlphaFold2による構造推論(Structure inference)と構造最適化(relax)が高速になります。
  • Google Colabは90分アイドルにしていたり、12時間以上の利用でタイムアウトしますが、その制限がありません。また、GPUの使用についても当然制限がありません。
  • データベースをダウンロードしてくる必要がないです

FAQ

  • インストールの事前準備は?
    • curl, wgetコマンド以外は不要です
  • BFD, Mgnify, PDB70, Uniclust30などの巨大なデータベースを用意する必要はありますか?
    • 必要ないです
  • AlphaFold2の最初の動作に必要なMSA作成はどのように行っていますか?
    • MSA作成はColabFoldと同様にMMseqs2のウェブサーバーによって行われています。
  • ColabFoldで表示されるようなpLDDTスコアやPAEの図も生成されますか?
    • はい、生成されます。
  • ホモ多量体予測、複合体予測も可能ですか?
  • 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のバージョンを確認してみてください。
  • Windows 10の上でも利用することはできますか?
    • WSL2を入れればWindows 10の上でも同様に動作させることができます。
  • (New!) 自作したA3Mファイルを利用して構造予測を行いたい。
    • 現在ColabFoldはFASTAファイル以外にも様々な入力を受け取ることが可能です。詳細な使い方はヘルプメッセージを読んでください。手持ちのA3Mフォーマットファイル、FASTAフォーマットで入力された複数のアミノ酸配列を含む1つのfastaファイル、さらにはディレクトリ自体をインプットに指定する事が可能です。

Tutorials & Presentations

  • ColabFold Tutorial presented at the Boston Protein Design and Modeling Club. [video] [slides].

Acknowledgments

How do I reference this work?

  • 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

DOI