Smina对接记录

服务器22202-zjxu
1、受体准备
#激活pdb2pqr环境蛋白质加氢加电荷生成pqr文件
conda activate pdb2pqr
pdb2pqr_cli --ff=amber --ffout=amber --with-ph=7.4 pro.pdb pro.pqr
#激活mgltools环境合并非极性氢生成受体的pdbqt文件
conda activate mgltools
prepare_receptor4.py -r pro.pqr -o pro.pdbqt  
2、小分子准备
#采用mgltools给小分子加氢加电荷合并非极性氢的电荷到键连的非极性碳原子上,删除非极性氢,保留极性氢,生成配体的pdbqt格式文件(输入文件为mol2,若是sdf文件需要用obabel转成mol2文件)
obabel -isdf lig.sdf -omol2 -O lig.mol2
conda activate mgltools
prepare_ligand4.py -l lig.mol2 -o lig.pdbqt
3、Smina对接
对接盒子的选择:
(1)对接方式一:以晶体中的配体作为对接盒子中心
如果晶体结构中存在配体,则以配体的位置作为对接盒子中心,在Pymol命令行中输入:centerofmass sele就能知道盒子质心(center_x、center_y、center_z)
/home/zjxu/prog/smina-code/build/linux/release/smina --seed 0 --autobox_ligand lig-rec.pdb --autobox_add 8 -r pro.pdbqt -l lig.pdbqt -o pro-lig-result.sdf --exhaustiveness 32 --num_modes 10
注意:
lig-rec.pdb原晶体结合口袋中已有的配体文件结构,用于定位坐标
autobox_add指往各维度拓展多少距离(单位为A,默认是4)
(2)对接方式二:自定义盒子位置
/home/zjxu/prog/smina-code/build/linux/release/smina --seed 0 --config conf.txt -r pro.pdbqt -l lig.pdbqt -o pro-lig-result.sdf
#用for循环设置多个seed
for seed in $(seq 0 5); do smina --seed $seed --config conf.txt -r pro.pdbqt -l lig.pdbqt -o result-$seed.sdf; done
注意:conf.txt包含对接盒子、对接精度exhaustiveness、输出构象数num_modes、随机种子seed等参数文件,建立如下格式的txt文件:center指对接盒子中心,size指对接盒子的长宽高,num_modes=10表示输出10个对接构象
---------------------------------------------------------
center_x = 
center_y =
center_z =
size_x =
size_y =
size_z =
num_modes = 10
exhaustiveness = 32
-----------------------------------------------------------
其中的center_x,center_y, center_z可以在pymol中获得:
选中配体小分子在PyMOL命令行输入:centerofmass sele
就可以知道盒子质心(center_x,center_y, center_z)
#smina对接参数
  • # arg表示该参数后面需要加参数
  •  -r [--receptor] arg刚性受体(PDBQT)
  •  --flex arg      柔性侧链(PDBQT)
  •  -l [--ligand] arg  配体(s)
  •  --flexres arg  特别的柔性侧链,通过逗号分隔 chain:resid
  •  --flexdist_ligand arg 用于flexdist的配体
  •  --flexdist arg  该参数表示flexdist配体多少距离以内设为柔性配体

  •  搜寻空间 (required):
  •   --center_x arg        X中心坐标
  •   --center_y arg        Y中心坐标
  •   --center_z arg        Z中心坐标
  •   --size_x arg          X尺寸大小 (Angstroms)
  •   --size_y arg          Y尺寸大小 (Angstroms)
  •   --size_z arg          Z尺寸大小 (Angstroms)
  •   --autobox_ligand arg  自动创建盒子的配体
  •   --autobox_add arg     若为自动创建盒子,那么缓冲空间的数量,默认为+4
  •   --no_lig              无配体;对于取样/最小化柔性残基

  • 评分和最小化设置:
  •   --custom_scoring arg         自定义得分文件
  •   --score_only                 配体姿势得分
  •   --local_only                 使用盒子进行局部搜索 (可能需要附带使用 --minimize)
  •   --minimize                   能量最小化
  •   --randomize_only             生成随机姿势,避免空间位阻
  •   --minimize_iters arg (=0)    最陡下降法迭代数量,默认值是无法收敛的,我用的ahr为5000,可以用gmx等软件查看收敛系数
  •   --accurate_line              使用精确的线性搜索
  •   --minimize_early_term        S最小化搜索的终止能量 
  •   --approximation arg          使用的近似 (linear, spline, or exact)
  •   --factor arg                 近似因子: finer-grained效果较好
  •   --force_cap arg              最大允许力,低值对于最小化clashing结构更好
  •   --user_grid arg              用户计算若需要用到的格点文件Autodock map 文件
  •   --user_grid_lambda arg (=-1) 缩放user_grid和功能得分
  •   --print_terms                打印所有项目和默认值
  •   --print_atom_types           打印所有可用原子类型

  • 输出设置 (optional):
  •   -o [ --out ] arg      输出文件,格式根据后缀来
  •   --out_flex arg        对于柔性残基的输出文件
  •   --log arg             可设置的log文件
  •   --atom_terms arg      可设置的输出每个残基的联系值
  •   --atom_term_data      封装每个残基的联系值进入sd数据
  • Misc (optional):
  •   --cpu arg                  使用的cpu数量,默认全使用
  •   --seed arg                 随机种子
  •   --exhaustiveness arg (=8)  用尽一切的全局搜索
  •   --num_modes arg (=9)      最大结合模式生成数量
  •   --energy_range arg (=3)   最好和最低结合之间的数值设置(kcal/mol)
  •   --min_rmsd_filter arg (=1) rmsd阈值
  •   -q [ --quiet ]             禁止输出消息
  •   --addH arg                 自动加氢(默认是执行的)
  •   --flex_hydrogens           开启氢键转角

  • 设置文件 (optional):
  •   --config arg          以上的设置可以放入这个文件

  • 信息 (optional):
  •   --help                展示帮助
  •   --help_hidden         展示包含隐藏设置的帮助
  •   --version             版本