Skip to content

Latest commit

 

History

History
152 lines (116 loc) · 13.3 KB

README_ja.md

File metadata and controls

152 lines (116 loc) · 13.3 KB

LocalColabFold

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

インストール方法

Linux+GPUの場合

  1. ターミナル上でcurl, gitwgetコマンドがすでにインストールされていることを確認します。存在しない場合は先にこれらをインストールしてください。Ubuntuの場合はtype sudo apt -y install curl git wgetでインストールできます。
  2. 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を参照してください。
  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の場合"と同様です.

予測を行っているときに以下のようなメッセージが現れます:

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

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