用AlphaFold3预测已知点位的共价抑制剂-蛋白复合物结构教学(超算版)

使用本作之前请先看非共价AlphaFold3的使用教程!

准备自己的文件夹

可以让工程师在自己的账号下面安装,也可以直接用scxj506账号(联系紫玉师姐开权限)。用超算记得提前和老师打个招呼。AF3的目录叫做run,在run下面建一个自己的文件夹。
cd run/
mkdir -p (你的名字)

准备输入文件

 接下来准备输入文件(以谢贺新老师组陈娜师姐的复合物为例)
  • vim 8DE0_IV38.json #师姐的蛋白PDB ID叫做8DE0,他们合成的抑制剂叫做IV38

  • {
  •  "name": "8DE0_IV38",
  •  "modelSeeds": [1, 2, 3],
  •  "dialect": "alphafold3",
  •  "version": 1,
  •  "sequences": [
  •  {
  •  "protein": {
  •  "id": "A",
  •  "sequence": "GHPETLVKVKDAEDQLGARVGYIELDLNSGKILESFRPEERFPMMSTFKVLLCGAVLSRVDAGQEQLGRRIHYSQNDLVEYSPVTEKHLTDGMTVRELCSAAITMSDNTAANLLLTTIGGPKELTAFLHNMGDHVTRLDRWEPELNEAIPNDERDTTTPAAMATTLRKLLTGELLTLASRQQLIDWMEADKVAGPLLRSALPAGWFIADKSGAGERGSRGIIAALGPDGKPSRIVVIYTTGSQATMDERNRQIAEIGASLIKHW" #8DE0蛋白序列
  •  }
  •  },
  •  {
  •  "ligand": {
  •  "id": "L",
  •  "ccdCodes": ["IV38"]
  •  }
  •  }
  •  ],
  •  "bondedAtomPairs": [
  • [["A", 46, "OG"], ["L", 1, "C36"]] 
  • #这一条定义了蛋白和配体形成的共价键。8DE0的46位是催化丝氨酸,它的70位是别的氨基酸。SER70是其他某个β内酰胺酶的70号被拿来作为领域内的参考说法,但是AF3并不知道,只认输入序列中的信息。因此在AF3的输入中必须将共价修饰位点改成SER46。这一句的意思是“蛋白ID’A’上的46号残基上的OG原子和配体,和’L’上的1号残基(配体只有1个残基)上的C36号形成了共价键”。
  •  ],
  •  "userCCD": "...(此处省略)..." 
  • #之前的教程是用SMILES式比较简单,但无法满足共价抑制剂的需求,无法指定共价键。userCCD是用户自定义的分子,用mmCIF格式写的。AF3官方给的mol_to_ccd_cif生产的是精简版CCD,只包含原子表和键表,直接写到json里会报KeyError,需要手动补充一些,大部分是占位符或固定值,让AI写一个就行。
  • }
 

 提交任务

 把json文件复制到你的文件夹下,然后写启动的脚本
  • #!/bin/bash
  • #SBATCH --job-name=AF3_test
  • #SBATCH --nodes=1
  • #SBATCH --ntasks=1
  • #SBATCH --gpus=1
  • #SBATCH --partition=gpu_4090#根据目前计算资源调配
  • #SBATCH --time=48:00:00
  • #SBATCH --output=test_%j.out
  • #SBATCH --error=test_%j.err

  • module purge
  • module load alphafold/3.0.0-4090

  • cd ~/run/wxy/chenna

  • python /data/apps/alphafold3/3.0.0/3.0.0_run/run_alphafold.py \
  •     --json_path=TEST-8DE0_IV38/8DE0_IV38.json \
  •     --model_dir=/data/public/datasets/alphafold3/3.0.0/model \
  •     --db_dir=/data/public/datasets/alphafold3/3.0.0/dataset \
  •     --pdb_database_path=/data/public/datasets/alphafold3/3.0.0/dataset/pdb_2022_09_28_mmcif_files.tar \
  •     --output_dir=TEST-8DE0_IV38/output
  • sbatch -p gpu_4090 --gpus=1 run_AF3_test.sh
一定要在启动命令行显式指定partition和gpus,不然任务直接就没了。

可视化检查与处理

后续可以用python批量查找pLDDT最高的结构,下载下来作为最终结果。随后加载到pymol里进行可视化检查。
可视化检查结果时发现其中一个复合物的配体出现了断键。AF3对于配体经常会出现预测不准的情况。用AF3应该多选几个种子,多生成几个结构,排除随机性。