AlphaFold3

36 downloads 2 likes on ModelScope updated

Model card

AlphaFold3

模型介绍

AlphaFold3 是 Google DeepMind 和 Isomorphic Labs 提出的生物分子结构预测模型,可预测蛋白质、DNA、RNA、小分子配体等分子及其复合物的三维结构与相互作用。

论文:Accurate structure prediction of biomolecular interactions with AlphaFold 3
https://www.nature.com/articles/s41586-024-07487-w

模型描述

AlphaFold3 采用 Pairformer 与扩散模型预测生物分子复合物结构。本模型包提供 JAX / Flax 推理工程和数据搜索脚本,并配套发布 ModelScope 数据集 OneScience/AlphaFold3_dataset。

适用场景

场景 说明
已有特征直接推理 输入包含 MSA / template 等特征的 AlphaFold3 JSON,输出结构预测结果
蛋白结构预测 输入蛋白序列,结合搜索数据库生成特征并预测结构
生物分子复合物建模 输入蛋白、DNA、RNA、配体等多组分对象,预测复合物空间构象
数据搜索流程验证 使用 Jackhmmer / Nhmmer 或 MMseqs 流程检查数据库路径和搜索工具连通性
ModelScope / OneCode 运行 下载模型工程和完整数据集后,在生物领域运行环境中快速验证脚本连通性

使用说明

1. OneCode 使用

可通过 OneCode 在线环境体验智能化一键式 AI4S 编程:

点击体验智能化一键式 AI4S 编程

2. 手动安装使用

硬件要求

  • 推荐使用 GPU 或 DCU 运行。
  • CPU 可以用于导入和小配置连通性验证,完整训练和推理速度较慢。
  • DCU 用户需要预先安装 DTK,建议使用 DTK 25.04.2 以上版本或与当前集群匹配的 OneScience 推荐版本。

环境检测

  • NVIDIA GPU:
nvidia-smi
  • 海光 DCU:
hy-smi

下载模型包

modelscope download --model OneScience/AlphaFold3 --local_dir ./AlphaFold3
cd AlphaFold3

安装运行环境

DCU环境

# 请首先激活DTK及CONDA
conda create -n onescience311 python=3.11 -y
conda activate onescience311
# 支持uv安装
pip install onescience[bio-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai

安装完成后回到模型包目录:

cd ./AlphaFold3

如当前环境尚未构建 AlphaFold3 C++ 扩展和运行数据文件,可执行:

python -m onescience.flax_model.alphafold3.build_extension
python -m onescience.flax_models.alphafold3.build_data

训练与推理数据介绍

OneScience 社区已将 AlphaFold3 推理与数据搜索所需的完整数据上传至 ModelScope:OneScience/AlphaFold3_dataset。本模型包不包含训练入口,该数据集主要用于 MSA / template 特征构建和推理前的数据搜索。

modelscope download --dataset OneScience/AlphaFold3_dataset --local_dir ./data/alphafold3

训练权重

权重即将上传

准备权重

请将 AlphaFold3 模型权重放置在以下目录,或通过环境变量指定:

weight/
  AlphaFold3/
    ...

默认查找顺序为:

  • ALPHAFOLD3_MODEL_DIR
  • ${ONESCIENCE_MODELS_DIR}/AlphaFold3
  • weight/AlphaFold3

示例:

export ALPHAFOLD3_MODEL_DIR=/path/to/AlphaFold3

直接推理

当输入 JSON 已包含 MSA、template 等特征时,可直接运行:

bash scripts/infer.sh

等价的 Python 命令示例:

python scripts/run_alphafold.py \
  --json_path inputs/7r6r_data.json \
  --model_dir weight/AlphaFold3 \
  --output_dir outputs \
  --run_data_pipeline=false \
  --flash_attention_implementation=triton

输出会写入 outputs/,包含最佳结构、不同 seed / sample 的结构结果、ranking score CSV 和输入 JSON 副本。

Jackhmmer / Nhmmer 数据搜索

当输入 JSON 仅包含序列、需要本地数据库搜索时,可使用:

bash scripts/infer_jackhmmer.sh

常用环境变量:

export ALPHAFOLD3_DATASET_ROOT=/path/to/alphafold3
export ALPHAFOLD3_MODEL_DIR=/path/to/AlphaFold3
export ALPHAFOLD3_JSON_PATH=inputs/t1119_search.json
export ALPHAFOLD3_OUTPUT_DIR=outputs
export ALPHAFOLD3_RUN_INFERENCE=false

其中 ALPHAFOLD3_DATASET_ROOT 默认需要包含 public_databases/、jackhmmer_split/ 和 mmseqsDB/ 等数据库目录。

MMseqs 数据搜索

如运行环境提供 MMseqs 程序和 MMseqs 数据库,可使用:

bash scripts/infer_mmseqs.sh

常用环境变量:

export ALPHAFOLD3_MMSEQS_HOME=/path/to/mmseqs
export ALPHAFOLD3_DATASET_ROOT=/path/to/alphafold3
export ALPHAFOLD3_MMSEQS_DB_DIR=/path/to/alphafold3/mmseqsDB
export ALPHAFOLD3_RUN_INFERENCE=false

如需搜索后继续推理,可将 ALPHAFOLD3_RUN_INFERENCE 设为 true,并确保权重目录可用。

数据格式

AlphaFold3 输入采用 JSON 格式,基本结构如下:

{
  "dialect": "alphafold3",
  "version": 1,
  "name": "example",
  "sequences": [
    {
      "protein": {
        "id": "A",
        "sequence": "..."
      }
    }
  ],
  "modelSeeds": [100],
  "bondedAtomPairs": null,
  "userCCD": null
}

本仓库提供两个示例:

  • inputs/7r6r_data.json:包含序列、MSA 和 template 等信息,适合直接推理。
  • inputs/t1119_search.json:仅包含序列,适合数据搜索流程验证。

ModelScope 完整数据集 OneScience/AlphaFold3_dataset 建议下载到模型包下的 data/alphafold3/。数据搜索流程默认读取的相对结构如下:

data/
  alphafold3/
    public_databases/
      mmcif_files/
      pdb_seqres_2022_09_28.fasta
      ...
    jackhmmer_split/
      bfd-first_non_consensus_sequences.fasta@64
      mgy_clusters_2022_05.fa@512
      uniprot_cluster_annot_2021_04.fa@256
      uniref90_2022_05.fa@128
    mmseqsDB/
      small_bfd_db
      mgnify_db
      uniprot_cluster_annot_db
      uniref90_db

验证

静态导入检查:

python tests/check_import_boundaries.py

OneScience 官方信息

平台 OneScience 主仓库 Skills 仓库
Gitee https://gitee.com/onescience-ai/onescience https://gitee.com/onescience-ai/oneskills
GitHub https://github.com/onescience-ai/OneScience https://github.com/onescience-ai/oneskills

引用与许可证