Skip to content

AlphaFold2 集群使用方法

AlphaFold2 是用于蛋白质三维结构预测的工具。平台已提供 AlphaFold2 运行环境和公共数据库,用户准备好 FASTA 输入文件后,可以通过 Slurm 提交 GPU 作业运行预测。

运行前请修改脚本中的个人路径

示例脚本中的输出目录、FASTA 文件路径和邮箱地址需要按本人实际情况修改后再提交。

使用前准备

准备 FASTA 文件

将待预测序列保存为 FASTA 文件,例如:

text
>protein_example
MKTAYIAKQRQISFVKSHFSRQDILDLWIYHTQGYFP

建议放在个人目录下:

bash
/hpcfs/fhome/用户名/alphafold2/input/protein.fasta

输出目录建议单独创建:

bash
mkdir -p /hpcfs/fhome/用户名/alphafold2/output

确认公共数据库

平台 AlphaFold2 公共数据库路径:

bash
/hpcfs/fpublic/database/alphafold/data4run

一般用户不需要自行下载数据库。

Slurm 作业脚本

将下面内容保存为 job.slurm

bash
#!/bin/bash
#SBATCH --job-name=af2
#SBATCH --partition=qgpu_3090
#SBATCH --nodes=1
#SBATCH --ntasks=16
#SBATCH --gres=gpu:1
#SBATCH --mem=32G
#SBATCH --time=24:00:00
#SBATCH --output=af2_%j.out
#SBATCH --error=af2_%j.err
#SBATCH --mail-type=END,FAIL
#SBATCH --mail-user=你的邮箱地址

set -euo pipefail

echo "Run job ${SLURM_JOB_ID} on node ${SLURM_JOB_NODELIST}"
date

source /etc/profile.d/conda.sh
conda activate /hpcfs/fpublic/app/anaconda3/envs/env_af2

AF2_DIR="/hpcfs/fpublic/aiapp/alphafold"
DATA_DIR="/hpcfs/fpublic/database/alphafold/data4run"
OUTPUT_DIR="/hpcfs/fhome/用户名/alphafold2/output"
FASTA_FILE="/hpcfs/fhome/用户名/alphafold2/input/protein.fasta"
MAX_TEMPLATE_DATE="2022-05-14"

mkdir -p "${OUTPUT_DIR}"
cd "${AF2_DIR}"

bash "${AF2_DIR}/run_alphafold.sh" \
  -d "${DATA_DIR}" \
  -o "${OUTPUT_DIR}" \
  -f "${FASTA_FILE}" \
  -t "${MAX_TEMPLATE_DATE}"

date
echo "AlphaFold2 job finished."

需要重点修改:

参数说明
--partition=qgpu_3090GPU 队列名称,请按账号权限和任务需求调整
--mail-user接收作业通知的邮箱,可按需保留或删除
OUTPUT_DIR预测结果输出目录
FASTA_FILE待预测的 FASTA 文件
MAX_TEMPLATE_DATE模板搜索日期,按任务需求设置

提交和查看作业

提交作业:

bash
sbatch job.slurm

查看排队或运行状态:

bash
squeue -u $USER

查看日志:

bash
cat af2_作业号.out
cat af2_作业号.err

结果查看

预测结果会保存在 OUTPUT_DIR 指定目录下。常见输出包括:

  • 预测结构文件
  • 排名结果
  • 置信度相关文件
  • 标准输出和错误日志

如果输出目录没有结果,优先查看 af2_作业号.err 中是否有路径、数据库、显存或输入格式相关报错。

视频示例

AlphaFold2 提交示例

常见问题

FASTA 文件路径报错

请使用完整绝对路径,并确认当前账号对该文件有读取权限。路径中尽量避免空格和特殊字符。

作业一直排队

GPU 队列资源紧张时会排队。可以通过 squeue -u $USER 查看状态,或根据任务需求选择其他可用 GPU 队列。

任务运行失败或显存不足

序列过长、多聚体任务或数据库搜索压力较大时,可能需要更多内存、显存或运行时间。建议先用较小输入测试流程,再提交正式任务。

Copyright 2021 All Rights Reserved 生物设计中心 版权所有