小康文章阅读笔记

小康文章阅读笔记

预测突变对蛋白蛋白之间相互作用影响学习笔记

2025-11-11

预测突变对蛋白蛋白之间相互作用影响学习笔记

1. Cartesian_ddG: 更快更准确的单点突变自由能预测方法

参考1:https://zhuanlan.zhihu.com/p/65451836
参考2:https://docs.rosettacommons.org/docs/latest/cartesian-ddG
参考3:https://docs.rosettacommons.org/docs/latest/application_documentation/analysis/ddg-monomer

Rosetta安装方法见此篇文章:http://billvm.com/archives/shi-yong-dockerjin-xing-rosettaan-zhuang-bi-ji

#设置mpirun可以root运行
export OMPI_ALLOW_RUN_AS_ROOT=1
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1

1.1. 优化蛋白-蛋白复合物的结构,使用relax方法

# relax
relax.mpi.macosclangrelease -s $file.pdb \
    -relax:constrain_relax_to_start_coords \
    -ramp_constraints false \
    -relax:coord_constrain_sidechains \
    -nstruct 40 \
    -ex1 \
    -ex2 \
    -use_input_sc \
    -flip_HNQ \
    -no_optH false

# 多线程
mpirun -n 12 relax.mpi.macosclangrelease -s $file.pdb \
    -relax:constrain_relax_to_start_coords \
    -ramp_constraints false \
    -relax:coord_constrain_sidechains \
    -nstruct 40 \
    -ex1 \
    -ex2 \
    -use_input_sc \
    -flip_HNQ \
    -no_optH false

从上一步的Relax中选取能量最低的构象进行下一步Relax:

relax.mpi.linuxgccrelease -s lowest_energy.pdb \
    -nstruct 200 \
    -ex1 \
    -ex2 \
    -use_input_sc \
    -flip_HNQ -no_optH false \
    -relax:cartesian \
    -score:weights ref2015_cart \
    -crystal_refine

也可以采用官网教程的内容:

$ROSETTABIN/relax -s $pdb -use_input_sc \
-ignore_unrecognized_res \
-nstruct 20 \
-relax:cartesian \
-score:weights ref2015_cart \
-relax:min_type lbfgs_armijo_nonmonotone \
-relax:script cart2.script \
-fa_max_dis 9.0 # modify fa_atr and fa_sol behavior, really important for protein stability (default: 6). This flag needs to match what is used in the cartesian ddg options below.

with file "cart2.script":

switch:cartesian
repeat 2
ramp_repack_min 0.02  0.01     1.0  50
ramp_repack_min 0.250 0.01     0.5  50
ramp_repack_min 0.550 0.01     0.0 100
ramp_repack_min 1     0.00001  0.0 200
accept_to_best
endrepeat

1.2. 准备mutfile文件

注意!此处的89为pose序号,而非PDB中的残基号,设置错误一定会报错。(跑的时候不要带注释,新版本的app中,不能有中文和注释)

total 3 #this is the total number of mutations being made.
2 # the number of mutations made
G 1 A # the wild-type aa, the residue number, and the mutant aa
W 6 Y # the wild-type aa, the residue number, and the mutant aa
1 #the number of mutations
F 10 Y # the wild-type aa, the residue number, and the mutant aa

保存为aa.mutfile

1.3. 运行Cartesian_ddG文件

创建cartddg_flag文件,内容如下:

-ddg:iterations 3 # 默认为3,可以根据自身计算资源调整。
-ddg::cartesian
-ddg::dump_pdbs False # 是否输出突变后的蛋白PDB文件,推荐False,否则文件夹会很乱
-bbnbrs 1 # 骨架自由度,额外考虑线性邻居氨基酸的数目,1代表 邻近的3个氨基酸骨架自由度被考虑在计算中。 
-fa_max_dis 9.0 # 控制范德华和溶剂化能量计算的范围,默认为6埃以内的氨基酸被考虑。 要和上面的匹配
-score:weights ref2015_cart # 务必设为ref2015_cart
-relax:cartesian # 卡迪尔空间relax
-relax:min_type lbfgs_armijo_nonmonotone
-ex1             # 考虑额外的Rotamer
-ex2             # 考虑额外的Rotamer
-use_input_sc
-flip_HNQ        # 优化HNQ
-optimization:default_max_cycles 200
-crystal_refine # 启用优化晶体的特殊选项

运行ddg计算,打开终端并输入,这么就开始进行计算

cartesian_ddg.linuxgccrelease -s $pdbfile @cartddg_flag -ddg:mut_file aa.mutfile

2. ThermoMPNN-D: 预测蛋白稳定性方法

安装方法我采用的是docker安装具体见此方法:http://billvm.com/archives/zi-yong-dockeryi-lan#4thermompnn-d

作者提供了一个名为 v2_ssm.py 的脚本,该脚本可用于对蛋白质中所有可能的单突变或双突变进行检测。该脚本的输出结果是一个 CSV 文件,其中包含了突变类型及其对应的 ddG 值。

其包含--threshold的选项,用于决定哪些突变会被保存到磁盘上。默认情况下,ThermoMPNN仅会保存那些能够稳定分子结构的突变(其能量变化值 ddG 小于或等于 -0.5 千卡/摩尔),因为这样保存到磁盘上的速度最快。如果你想保存所有突变,包括那些会破坏分子稳定性的突变,就需要将 --threshold 的值设置得非常高(例如 100)。

使用方法:

python v2_ssm.py --mode single --pdb 1VII.pdb --batch_size 256 --out 1VII