This commit is contained in:
root
2024-10-05 15:26:01 +08:00
parent e33f462d15
commit 57ef07370b

167
README.md
View File

@@ -52,9 +52,12 @@ Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
## 模拟教程
http://www.mdtutorials.com/gmx/
官方模拟教程 [GROMACS Tutorials](http://www.mdtutorials.com/gmx/)
## [给小分子生成top学文件的工具](http://bbs.keinsci.com/thread-428-1-1.html)
## topol文件生成
[给小分子生成top学文件的工具总结帖](http://bbs.keinsci.com/thread-428-1-1.html)
Sobtophttp://sobereva.com/soft/Sobtop
这是我开发的GROMACS拓扑文件产生工具主要产生GAFF、AMBER力场的拓扑文件但由于其力场库可以自行非常方便地修改和扩充因此Sobtop本质上是完全普适、通用的。Sobtop可谓是最理想、最灵活、最易用的产生GROMACS拓扑文件的工具。此程序用起来超级简单什么额外的程序以及特殊的运行环境都不需要装解压即用。Sobtop使用极其方便照着屏幕上的提示敲几下键盘itp、top和gro文件就产生了另外也可以要求产生rtp文件。Sobtop的主页有非常详细的产生各类体系拓扑文件的例子并给出了详细的相关要点的说明。从例子中你会体会到Sobtop的设计特别注重兼顾便利和灵活初级用户会体会到它极其便利而高级用户则会体会到通过Sobtop构建复杂体系拓扑文件特别灵活好用。
@@ -67,7 +70,7 @@ Sobtophttp://sobereva.com/soft/Sobtop
生成拓扑topology文件的流程涉及多个步骤通常包括分配原子类型、确定分子内的相互作用参数以及生成最终的拓扑文件。以下是一个通用的流程总结
1. 准备分子结构文件
1. 准备分子结构文件优先准备mol2格式
输入文件: 提供分子结构文件,常见格式包括 .mol2、.pdb、.xyz 等。这些文件通常包含分子中各个原子的坐标和连接信息。
2. 分配原子类型
选择力场: 决定使用哪种力场(如 AMBER、GAFF、UFF 等)来分配原子类型。
@@ -94,7 +97,7 @@ LJ_param.dat 文件: 检查并确保所使用的 LJ_param.dat 文件中包含所
进一步优化: 如果有需要,可以使用其他工具或手动编辑拓扑文件以进行进一步优化。
使用拓扑文件: 将生成的拓扑文件与力场参数、坐标文件结合使用,开始分子动力学模拟或其他计算。
amber 立场原子查看:https://emleddin.github.io/comp-chem-website/AMBERguide-AMBER-atom-types.html
amber [立场原子](https://emleddin.github.io/comp-chem-website/AMBERguide-AMBER-atom-types.html)
## 文件介绍
@@ -111,150 +114,12 @@ amber 立场原子查看https://emleddin.github.io/comp-chem-website/AMBERgui
用途: .top 文件是系统的主拓扑定义文件GROMACS 在模拟过程中会根据该文件来了解系统中的所有分子及其相互作用。
## [小分子复合物合并](http://bbs.keinsci.com/thread-45791-1-1.html)
## [小分子复合物合并](https://www.jianshu.com/p/d1ae60c96b33)
1.预处理受体蛋白、配体分子
//将受体蛋白另存为
protein.pdb
//将配体分子进行合适的质子化后另存为
mol.mol2
2.为小分子生成top文件和gro文件
打开sobtop把mol.mol2拖入sobtpo
//选择1生成top文件
//选择3尽可能使用GAFF力场
//选择0进入下一步
//选择4如果可能预先构建成键参数任意猜测缺少的选项
//回车生成的top文件生成在sobtop软件根目录下
//回车生成的itp位置限制文件在sobtop软件根目录下
//选择2生成gro文件
//回车生成的gro文件在sobtop软件根目录下
//回车退出sobtop软件
//将sobtop软件中的
mol.gro
mol.itp
mol.top
//三个文件剪切到实验工作环境目录下
3.产生蛋白质连带一个离子的拓扑文件
gmx pdb2gmx -f protein.pdb -o protein.gro -p topol.top
//选择AMBER99SB-ILDN力场和TIP3P水(注意,如果静电荷不为零: Total charge in system x.000 e 则需要添加抗衡离子)
//得到的topol——Protein_chain_ A.itp对应蛋白topol_Ion_chain_A2.itp对应离子,posre开头的文件对应限制势itp
4.合并gro文件另存为complex.gro文件
//将mol.gro加入到pdb2gmx产生的protein.gro的末尾并将第二行的原子数改为蛋白质原子数+小分子原子数),建议作图确认结构合理性,注意文件中的空格和回车问题
//注意protein.gro文件末尾的三个小数是晶格的坐标不要删除或大幅修改
//蛋白质的限制势itp文件在pdb2gmx的时候已经产生但小分子的没有genrestr是对输入的结构产生坐标或距离限制势itp文件的工具接下来运行命令进行限制势的产生
gmx genrestr -f mol.gro -o posre_mol.itp
//选择组的时候选择0system默认的位置限制势常数是1000kJ/mol/nm2已经足够大
//将下列语句插入到mol.itp文件的末尾注意复制时连“#”井号一同复制,最好在末尾添加之前空一行,方便检查文件错误
#ifdef POSRES
#include "posre_mol.itp"
#endif
//这样当mdp中使用define = -DPOSRES的时候配体的位置也会被限制了
//把配体的itp文件引入整体的拓扑文件topol.top把分子数也设置好
//注意在引入的时候需要将小分子的mol.itp文件引入到蛋白质链之前因为mol.itp最开头定义了[atomtypes]因此这个itp要最优先被引入
//将下列语句插入到引入蛋白质的itp文件引入之前
#include "mol.itp"
并在末尾的[molecules]中引入mol 1将topol.top的格式与complex.gro中分子出现的顺序对应
//即topol.top中应该是类似这样的顺序
; Include forcefield parameters
#include "amber99sb-ildn.ff/forcefield.itp"
; Include chain topologies
#include "mol.itp"
#include "topol_Protein_chain_A.itp"
#include "topol_Ion_chain_A2.itp"
; Include water topology
#include "amber99sb-ildn.ff/tip3p.itp"
#ifdef POSRES_WATER
; Position restraint for each water oxygen
[ position_restraints ]
; i funct fcx fcy fcz
1 1 1000 1000 1000
#endif
; Include topology for ions
#include "amber99sb-ildn.ff/ions.itp"
[ system ]
; Name
CATIONIC TRYPSIN in water
[ molecules ]
; Compound #mols
Protein_chain_A 1
Ion_chain_A2 1
mol 1
//注意末尾的mol和1之间有一个空格且下一步添加溶剂后有可能会缺失回车需要纠正
5.设定盒子,加水,加离子,能量极小化
//设定盒子
gmx editconf -f complex.gro -o complex_box.gro -d 0.8 -bt cubic
//设定的盒子是立方盒子,可能会增加计算量,但是不容易产生边界相互作用的问题
//加水
gmx solvate -cp complex_box.gro -o complex_SOL.gro -p topol.top
//注意这一步加水后有可能topol.top文件最后一行的SOL可能会串行需要手动添加回车避免其与mol 1连在同一行容易在后续处理中报错
//将mdp模板中的em.mdp,pr.mdp,md.mdp拷贝到当前目录
//产生临时tpr文件
gmx grompp -f em.mdp -c complex_SOL.gro -p topol.top -o em.tpr -maxwarn 1
//这里如果警告较多可以将maxwarn的数值改大一些
//加离子,使得整个体系变为电中性(与第三步中的电荷数相对应)
gmx genion -s em.tpr -p topol.top -o system.gro -neutral
//这里选择分组时选择SOL对应的分组
//产生的带有离子且电中性的体系为system.gro
//能量极小化
gmx grompp -f em.mdp -c system.gro -p topol.top -o em.tpr
gmx mdrun -v -deffnm em
6.限制性动力学100ps
gmx grompp -f pr.mdp -c em.gro -p topol.top -r em.gro -o pr.tpr
gmx mdrun -v -deffnm pr
//注意对于复杂体系如果用常规2fs步长可能模拟刚开始就会崩溃因此此处做限制性动力学期间步长用较小的1fs以求稳妥。
7.产生索引文件
gmx make_ndx -f pr.gro
依次输入:
x1|x2|x3定义“蛋白-离子-配体”组新的组号接在原有的组号之前组号为Rlijilo注释|为右大括号右侧的按键用“shift”+“、”便可输入该符号)
!R(把其他部分定义为一个组新的组号为R+1)
name R protein_lig(改名为蛋白_配体)
name R+1 envir改名为环境
q
//得到的index。ndx里的组名就和模板文件里面的md.mdp中的组对应了
8.常规动力学1ns
gmx grompp -f md.mdp -c pr.gro -p topol.top -o md.tpr -n index.ndx -maxwarn 10
//如果这里警告多可以将maxwarn后的数值改大一些
gmx mdrun -v -deffnm md
//由于配体、离子与蛋白的相互作用较为明显,所以这里任务之中将他们一起作为一个控温组和同一个消除屏东转动的组
//如果需要跑较长时间的动力学需要修改md.mdp文件
9.分析RMSD
gmx rms -f md.xtc -s md.tpr -o rmsd_protein.xvg
//两次都选骨架部分protein
//注意观测在模拟过程中骨架的RMSD波动是否较大
gmx rms -f md.xtc -s md.tpr -o rmsd_lig.xvg
//第一次选择骨架部分protein第二次选择配体MOL
//可以消除蛋白质整体的运动,观察小分子配体相对于蛋白质的运动
.gro、.top和.itp文件[准备](https://blog.csdn.net/CocoCream/article/details/124001309)
准备工具是ORCA+Multiwfn+sobtop
小分子蛋白模拟参考[简书教程](https://www.jianshu.com/p/d1ae60c96b33)
## 由于sobtop有点问题
@@ -262,7 +127,13 @@ gmx rms -f md.xtc -s md.tpr -o rmsd_lig.xvg
### RESP 原子电荷生成
利用 ORCA+Multiwfn 生成小分子的 RESP 原子电荷假设要计算FAD.mol2
后续准备.gro、.top和.itp文件相关工具都准备到了docker镜像orca_resp.tar
下载 orca_resp.tar 导入镜像启动容器后启动需要AXV512 指令集的CPU处理器进行量化计算。
利用 ORCA+Multiwfn 生成小分子的 RESP 原子电荷假设要计算mole.mol2
默认axv2指令集运行核心数目12
@@ -271,6 +142,8 @@ cd /root/workdir
./RESP_ORCA.sh mole.mol2
```
script/RESP_ORCA.sh 这个脚本用于 小分子处理准备.gro、.top和.itp文件
ps: `RESP_ORCA.sh` 我进行了调整官方用的版本是界面版本,我用的是 `Multiwfn_noGUI`
可以参考源码仓库的 `RESP_ORCA.sh` 文件。