前言

AlphaFold 3https://github.com/google-deepmind/alphafold3 )是 DeepMind 与 Isomorphic Labs 于2024 年 5 月发布的 AI 模型,是 AlphaFold 2 的全面升级,可原子精度预测蛋白质、DNA、RNA、小分子、离子及其复合物的三维结构

AlphaFlod3 提供了在线试用的路径——https://alphafoldserver.com/

AlphaFlod3 也支持本地部署——alphafold3/docs/installation.md at main · google-deepmind/alphafold3 · GitHub

安装步骤

在运行软件前,首先要准备好三个前提条件: 镜像构建、数据集获取、模型参数获取

镜像构建

# 下载项目
git clone https://github.com/google-deepmind/alphafold3

# 设置docker的http_proxy
cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"

systemctl restart docker

# 打包镜像
cd alphaflod3
docker build -t alphafold3 -f docker/Dockerfile .

打包出来的镜像笔者上传至: ccr.ccs.tencentyun.com/bio-tech/alphafold:3-latest  (对应的commitId: b712a3d )

数据集获取

# 设置proxy
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"

# 在 alphaflod3 项目根目录下执行
bash fetch_databases.sh

留意磁盘使用情况 !!!

模型参数获取

AlphaFold 3 的代码开源,但模型权重(参数)不开源,官方必须向 Google DeepMind 单独申请,且仅限非商业用途。一般需要用非商业机构邮箱申请。

已经工作的同学,可以在找在学校的朋友帮忙,或者到小红书等平台上找好心人。

运行镜像

运行镜像时通过“--volume”参数,将模型文件、数据库、要输入的序列等文件 挂载进容器。

docker run -it \
    --volume $HOME/af_input:/root/af_input \
    --volume $HOME/af_output:/root/af_output \
    --volume <MODEL_PARAMETERS_DIR>:/root/models \
    --volume <DB_DIR>:/root/public_databases \
    --gpus all \
    alphafold3 \
    python run_alphafold.py \
    --json_path=/root/af_input/fold_input.json \
    --model_dir=/root/models \
    --output_dir=/root/af_output

如果所使用的显示不是第 8 代 CUDA 架构的(如T4是7代的),需要给容器指定 XLA_FLAGS 环境变量。

--env XLA_FLAGS="--xla_disable_hlo_passes=custom-kernel-fusion-rewriter"

如果类似报错:“Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.50GiB (rounded to 1610612736)requested by op”,可尝试指定 TF_GPU_ALLOCATOR 进行解决。

--env TF_GPU_ALLOCATOR="cuda_malloc_async"

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐