Alphafold3开源
写在前面的
DeepMind于2024年5月9日正式发布Alphafold3,作为其前身AlphaFold2的升级版本Alphafold3采用了扩散模型来生成最终的三维结构。该模型通过加噪和去噪的过程,从随机噪声中逐步生成清晰的原子坐标。这一过程强调了局部和全局结构的学习,能够在不同的尺度上理解蛋白质的构象。同时Alphafold3采用了Pairformer模块取代了AlphaFold2中的Evoformer模块,专注于处理成对表示(pair representation),并通过成对特征的交互来更新单一特征(single representation)。这一模块的设计使得信息流动更加高效,能够更好地捕捉分子间的相互作用使得AlphaFold3在蛋白质及其他生物分子的结构预测方面具有更高的准确性和广度。此前,DeepMind并未公开Alphafold3的源代码,而是提供了一个在线的AlphaFold Server,用户可以在该平台上进行蛋白质结构预测。用户只需注册并登录,即可提交蛋白质序列进行预测。由于源代码未公开,同时受到网络的限制,国内用户想使用Alphafold3完成蛋白质与其他生物大分子或小分子的预测非常困难。最近,DeepMind公司公开了Alphafold3的源代码https://github.com/google-deepmind/alphafold3,使得蛋白质及其他生物分子的相互作用可以批量在本地进行。
Alphafold3安装
要安装AlphaFold3,需要遵循以下步骤。请注意,AlphaFold3仅支持Linux操作系统,并且需要具备一定的硬件要求,包括NVIDIA GPU和足够的内存。
安装步骤
1.准备环境:
确保服务器是Linux操作系统,推荐使用Ubuntu 22.04 LTS。需要至少64 GB的RAM和NVIDIA GPU(计算能力8.0或更高)。
通过Docker安装
更新包管理器并安装必要的依赖
sudo apt-get update
sudo apt-get install ca-certificates curl
添加Docker的GPG密钥并安装Docker:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.安装NVIDIA驱动
安装NVIDIA驱动以支持GPU:
sudo ubuntu-drivers install
sudo nvidia-smi
通过github安装
git clone https://github.com/google-deepmind/alphafold3.git
cd alphafold3
数据库下载
使用提供的Python脚本下载所需的基因数据库:确保下载目录有足够的存储空间(约252 GB的下载大小)。
python3 fetch_databases.py --download_destination=<DATABASES_DIR>
Alphafold3使用方法
使用前测试
{
"name": "2PV7",
"sequences": [
{
"protein": {
"id": ["A", "B"],
"sequence": "GMRESYANENQFGFKTINSDIHKIVIVGGYGKLGGLFARYLRASGYPISILDREDWAVAESILANADVVIVSVPINLTLETIERLKPYLTENMLLADLTSVKREPLAKMLEVHTGAVLGLHPMFGADIASMAKQVVVRCDGRFPERYEWLLEQIQIWGAKIYQTNATEHDHNMTYIQALRHFSTFANGLHLSKQPINLANLLALSSPIYRLELAMIGRLFAQDAELYADIIMDKSENLAVIETLKQTYDEALTFFENNDRQGFIDAFHKVRDWFGDYSEQFLKESRQLLQQANDLKQG"
}
},
],
"modelSeeds": [1],
"dialect": "alphafold3",
"version": 1
}
基于命令行运行方法
#基于docker的使用方法
docker run -it \
--volume $HOME/af_input:/root/af_input \
--volume $HOME/af_output:/root/af_output \
--volume <MODEL_PARAMETERS_DIR>:/root/models \
--volume <DATABASES_DIR>:/root/public_databases \
--gpus all \
alphafold3 \
#基于python源码的使用方法
python run_alphafold.py \
--json_path=/root/af_input/fold_input.json \
--model_dir=/root/models \
--output_dir=/root/af_output
Alphafold3的硬件依赖
AlphaFold 3 不支持其他操作系统,目前只支持Linux操作系统。安装完整版Alphafold3(包含数据库和预训练等库)需要高达 1 TB 的磁盘空间保存(建议使用 SSD 存储)和具有计算能力 8.0 或更高版本的 NVIDIA GPU(具有更多内存的 GPU 可以预测更大的蛋白质结构)。Deepmind团队已经验证,单个 NVIDIA A100 80 GB 或单个 NVIDIA H100 80 GB 可以容纳多达 5,120 个令牌的输入。我们已经在 NVIDIA A100 和 H100 GPU上验证了数值准确性。特别是对于长序列对象,序列搜索阶段可能会消耗大量运行内存,建议至少使用大于64GB的RAM运行。Deepmind公司提供了具有 NVIDIA A100 80 GB GPU 和纯净版Ubuntu 22.04 LTS 安装的计算机的安装说明。
A100显卡要求
Mon Nov 11 12:00:00 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.120 Driver Version: 550.120 CUDA Version: 12.6 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA A100-SXM4-80GB Off | 00000000:00:05.0 Off | 0 |
| N/A 34C P0 51W / 400W | 1MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
基于Docker安装的NVIDIA支持
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-get update
sudo apt-get install -y nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
systemctl --user restart docker
sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place
docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu22.04 nvidia-smi
Linux NIVDIA显卡驱动安装
sudo apt-get -y install alsa-utils ubuntu-drivers-common
sudo ubuntu-drivers install
sudo nvidia-smi --gpu-reset
nvidia-smi # Check that the drivers are installed.

