软件支持
SPONGE(Simulation Package tOward Next GEneration molecular modelling)是由北京大学高毅勤课题组开发的分子动力学模拟程序。安装教程
XPONGE 使用python编写的分子动力学模拟前后处理工具。简易安装:pip install git+https://gitee.com/gao_hyp_xyj_admin/xponge.git
DSDP 使用GPU开发的蛋白-分子对接工具。
目录
- 应用场景简述;
- DSDP:蛋白-配体对接;
- XPONGE:蛋白-配体建模,加溶剂;
- SPONGE:能量极小化-NVT-NPT-正式模拟;
- XPONGE:数据简单后处理。
1. 应用场景简述
研究蛋白与药物分子结合的体系中,模拟盒子包含以下几个部分:A.蛋白 + B.有机配体分子 + C. 溶剂水分子。这一过程包括以下几个步骤:
a. DSDP:蛋白-配体对接(可选)如果蛋白-配体之间不在合适的位置,可以使用分子对接算法将两者坐标调整到正确的位置上。输入:蛋白pdb+配体mol2;输出:蛋白pdb+配体mol2(对接坐标)
b. XPONGE:蛋白-配体建模,加溶剂(必选)将蛋白、配体和溶剂分别加载对应力场,加入到体系中,生成SPONGE模拟引擎可读文件。输入:蛋白pdb+配体mol2(对接坐标);输出:一系列文本文件+体系pdb
c. SPONGE:分子动力学模拟(必选)体系经过能量极小化优化氢原子位置,升温到反应温度,加压到反应压强,然后运行成品模拟。输入:一系列文本文件;输出:轨迹(二进制文件)
d. XPONGE:数据简单后处理(可选)统计轨迹中的体系稳定性信息(RMSD、Rg、RMSF)及氢键数等基础信息。输入:轨迹+体系pdb;输出:统计文件txt
数据预清洗(1AE5-HUP作用对,点击下载原文件):
PDB数据库中下载的PDB文件(1ae5_pdbraw.pdb)除了蛋白的PDB结构之外,往往还会带有额外稳定结构的配体或者结晶水等我们不需要的信息,需要进行预清洗。
这里我们使用Xponge.pdb_filter函数来获得简化的文件,其中前两个参数分别是输入和输出的文件名,heads指定需要的表头部分,hetero_residues指定需要的非蛋白残基(这个例子没有)。
##>>python
import Xponge
Xponge.pdb_filter("1ae5_pdbraw.pdb", "1ae5_protein.pdb", heads=["ATOM", "SEQRES", "TER"], hetero_residues=[])
小分子配体mol2文件(HUP.mol2)有可能会存在氢原子缺失的情况,若是,可使用openbabel对mol2进行加氢处理,设置pH为7。
##>>bash
obabel HUP.mol2 -O HUP_ligand.mol2 -p 7
确认蛋白-配体相对位置:
可通过分子可视化软件(例如pymol,vmd等)确认蛋白与配体的相对位置,坐标是否匹配,分以下两种情况:
2. DSDP:蛋白-配体对接
下面以1AE5-HUP作用对为例,演示对接操作:
安装DSDP
复制prepare_receptor4.py和prepare_ligand4.py到DSDP.yaml所在的文件夹中进行操作:
##>>bash
mkdir runpdb
cd runpdb
mkdir 1ae5
#根据蛋白名新建文件夹
cd 1ae5
#将蛋白文件(1ae5_protein.pdb)和配体文件(HUP_ligand.mol2)复制到当前文件夹
pythonsh ../../prepare_receptor4.py -r 1ae5_protein.pdb -A hydrogens -o 1ae5_protein.pdbqt
pythonsh ../../prepare_ligand4.py -l HUP_ligand.mol2 -A hydrogens -o 1ae5_ligand.pdbqt
#此时文件夹中会多出1ae5_protein.pdbqt和1ae5_ligand.pdbqt两个文件
cd ../../
./DSDP_redocking/DSDP \
--ligand ./run_pdb/1ae5/1ae5_ligand.pdbqt \
--protein ./run_pdb/1ae5/1ae5_protein.pdbqt \
--box_min -20 -10 0 \
--box_max 30 50 60 \
--exhaustiveness 384 --search_depth 40 --top_n 1 \
--out ./results/DSDP_dataset/redocking/1ae5_out.pdbqt \
--log ./results/DSDP_dataset/redocking/1ae5_out.log
#定位到生成的文件夹中
cd results/DSDP_dataset/redocking
#此处需要通过其他软件转换pdbqt文件回到mol2格式,教程采用openbabel进行格式转换
obabel -ipdbqt 1ae5_out.pdbqt -opdb -O 1ae5_out.pdb
#查看配体pdb结构,发现-NH2基团键级错误(来自autodock-MGLtool的prepare_ligand4.py脚本在格式转换过程中误识别成-NH3+),补救措施为手动删除1ae5_out.pdb的id=22的氢原子(删除第29&51行,并删去第48行的“22 ”字符,且第40行CONNECT应该多加一个“13”,第41行CONNECT应该多加一个“12”,若有更优的解决方法欢迎讨论),再转mol2格式
obabel -ipdb 1ae5_out.pdb -omol2 -O 1ae5_HUP_ligand.mol2 -p 10
#通常加氢应该是加到ph=7,此处配体分子式(C15H18N2O)对应-NH2,而非-NH3+,故采用ph=10保存配体分子
#将pdbqt文件转回mol2文件,复制到工作文件夹
再次查看配体位置,发现已经对接到蛋白口袋。
3.XPONGE:蛋白-配体建模,加溶剂
将蛋白文件(1ae5_protein.pdb)和配体文件(1ae5_HUP_ligand.mol2)复制到工作文件夹。【文件直接下载】
##>>bash
mkdir 1ae5
#创建空文件夹用于保存SPONGE输入文件(因为子文件数量较多(10+),放在一个文件夹目录下方便一起拷贝)
##>>python3
import Xponge
import Xponge.forcefield.amber.gaff as gaff
assign1 = Xponge.Get_Assignment_From_Mol2("1ae5_HUP_ligand.mol2")
assign1.Determine_Atom_Type("gaff")
assign1.Calculate_Charge("resp")
HUP = assign1.toResidueType("HUP")
gaff.parmchk2_gaff(HUP, "HUP.frcmod")
Xponge.save_mol2(HUP, "HUP.mol2")
#保存HUP分子力场用于后续调用
import Xponge.forcefield.amber.ff14sb
C = Xponge.load_pdb("1ae5_protein.pdb", ignore_hydrogen=False, ignore_unknown_name=True, ignore_seqres=True)
C.add_missing_atoms()
HUP = Xponge.load_mol2("HUP.mol2")
gaff.parmchk2_gaff(HUP, "HUP.frcmod")
a = C | HUP
#如果是真空体系的话,可以采用下面命令行保存,同样需要在外部创建空文件夹1ae5V
#Xponge.save_pdb(a, "1ae5_pro_lig.pdb")
#Xponge.save_sponge_input(a, "1ae5V/1ae5")
#正常模拟生理状态加水的话,用下面的命令行
import Xponge.forcefield.amber.tip3p
Xponge.addSolventBox(a, WAT, 5)
#此处加溶剂水为tip3p水,参数5代表蛋白距离盒子边界5A,通常模拟会选更大的距离,以避免边界效应
print(C.charge+int(round(HUP.charge)))
#此处显示体系带3个单位负电荷,需要加入离子补到电中性#思考题,若要达到生理盐水的离子浓度,此处电荷数量是怎样算出来的?
Xponge.Solvent_Replace(a, WAT, {CL:8})
Xponge.save_pdb(a, "1ae5_pro_lig_sol.pdb")
Xponge.save_sponge_input(a, "1ae5/1ae5")
AtomId | ResId | ResCount | |
---|---|---|---|
Protein | 0-3351 | 0-222 | 223 |
Ligand | 3352-3387 | 223 | 1 |
Iron | 3388-3395 | 224-231 | 8 |
Water | 3396-12650 | 232-3316 | 3085 |
[To be continued...]
标签:教程,1ae5,mol2,SPONGE,HUP,配体,pdb,蛋白 From: https://www.cnblogs.com/bgalang/p/18316362/SPONGE