20240129
动力学模拟的常规流程:
packmol等做初始结构,加上参数何拓扑文件
做几何优化
升温,预平衡, 正式模拟
观看轨迹(VMD),统计分析
20240206
分子动力学模拟适合用GPU加速,计算速度提升快,纯CPU计算安装2018.8版本(功能全),GPU加速的版本安装2022.6
分子动力学模拟中GPU加速对于处理速度十分重要。
20240208
分子力场用来计算每一帧结构下体系的势能和各个原子的受力。
体系的势能一般写成成键项和非键项之和,前者描述分子内临近原子间的相互作用,后者描述分子间以及分子内非临近原子间的相互作用。
成键项:大部分用于分子体系的成键项包含键伸缩项、键角弯曲项、二面角扭曲项、improper项。
非键项:主要分为静电作用和范德华作用两部分。
力场的混用:不同力场面对的体系不同,有时需要利用多个力场才能完整提供被考察的体系中所有的参数。力场的混用要根据不同力场之间的兼容关系决定。
常见的力场:
GROMOS(烷烃、蛋白、核酸、蛋白、糖、有机小分子)
OPLS(蛋白、糖、有机小分子)
AMBER(蛋白、核酸、部分有机小分子)GAFF(各种有机小分子)GLYCAM(糖、磷脂)Lipid(磷脂、胆固醇)
加粗行可互相兼容
CHARMM(磷脂、核酸、蛋白、糖、部分有机小分子)CGenFF(各种有机小分子)
Dreding、UFF(各种类型分子和材料)
MM系列:准确计算各种有机小分子
ReaxFF(最流行的反应力场)
20240421
windows下gromacs中文教程(simulate chain A of insulin (PDB ID: 1ZNI).
超算不能进行前处理,安装win版gromacs,在win上进行前处理。生成tpr文件。
将gro、mdp、top通过grompp组成mdrun的输入文件:
gmx grompp -f md_NPT.mdp -c waterbox.gro -p waterbox.top -o md.tpr
在提交脚本中改动tpr文件的名字(不带格式,如下面的md)
#!/bin/bash
#SBATCH -p amd_256
#SBATCH -N 2
#SBATCH -n 128
source /public3/soft/module/module.sh
module load gromacs/2022.2-oneAPI.2022.1
mpirun gmx_mpi mdrun -deffnm md
sbatch提交后,可看轨迹。
删除文件中所有带#的备份文件:
rm -f *#*
去除linux中代码的黄标:
在ESC下:nohl
超算的module命令:
先source /public3/soft/module/module.sh
再module avail即可看分区下安装的软件。
按enter即可往下游览
packmol:
运行命令:
packmol < inputfile.inp
在powershell中运用<重定向命令会报错,可以在cmd中运行。
cmd便捷定向到指定文件夹的办法:
文件管理器打开到指定路径,复制路径,在文件管理器的框内输入cmd,然后enter,就会自动跳转到cmd。
能量极小化的mdp文件(运行需要删除备注的部分,会参数识别错误):
#能量极小化参数文件
define = -DFLEXIBLE #预处理控制,-DFLEXIBLE为柔性水设置
integrator = cg #cg共轭梯度法,md(默认),leap-frog做动力学,P79
nsteps = 10000 #步数上限
emtol = 100.0 #能量极小化受力收敛标准
emstep = 0.01 #最陡下降法最大步长
;
nstxout = 20 #trr轨迹文件写入的步数间隔
nstlog = 50 #log能量,属性文件写入步数间隔
nstenergy = 50 #edr能量文件写入步数间隔
;
pbc = xyz #周期性边界条件设定
cutoff-scheme = Verlet #邻居列表生成方式
coulombtype = PME #静电作用计算方式
rcoulomb = 0.9 #实空间中静电作用截断值
vdwtype = Cut-off #范德华作用计算方式(Cut-off/PME) P80
rvdw = 0.9 #范德华作用距离
DispCorr = EnerPres #范德华作用的长程校正
;
constraints = none #键的约束设定
du -sh *
显示当前目录下的文件和文件夹的大小
sbatch --gpus=8 gmxgpu.sh
VMD选择语句
在选择语句中有以下规则可以利用,通过组合、嵌套,使得选择语句无比强大
·可以写多个参数一次选择一批,彼此间用空格分隔
·可以用... to ...选择特定范围
·可以用与、或、非这些逻辑关系:and、or、not
·可以用( )或{ }指定语句处理的优先顺序
·双引号内的字符会被视为整体,并且可以使用正则表达式
·用单引号扩住则里面的字符可以避免被转义
·可以用判断语句:<, <=, =, >=, >, !=
·可以用函数:sqr(平方), sqrt(开根号), abs(绝对值), sin, cos, tan, atan, asin, acos, sinh, cosh, tanh, exp, log, log10
·支持运算符:+ - * /。可以用^或**来表示多少次方
·特殊选择方式:
within 5 of AAA:距离AAA 5埃以内的原子。选取时不考虑周期边界条件,用pbwithin则考虑
exwithin 5 of AAA :同上,但不包含AAA自身
withinbonds 2 of AAA:距离AAA不超过两个键的原子
same p as AAA:与AAA选区的p属性相同的部分
ringsize 5 from AAA:处于AAA中五元环上的原子
maxringsize 6 from AAA:处于AAA中<=六元环的原子
下面来看一些具体例子
index 5 to 200 210:序号在5~200内的原子以及210号原子
protein or nucleic:蛋白质与核酸的原子
resname ALA CYS ARG:丙氨酸、半胱氨酸、精氨酸原子
backbone not helix:除了螺旋区域以外的骨架原子
name CA CB 或 name "CA|CB" 或 name "C[AB]" 或 name "C(A|B)":名为CA和CB的原子
name "C.":名字为两个字符且第一个字符为C的原子
name "CE[1-3]":名字为CE1、CE2、CE3的原子
name 'O5*':叫O5*的原子。注意原子名带星号的在选取时要用单引号括住以免转义
resname 'CA2+':残基名是CA2+的原子(二价钙离子)。名字带正负号的也要用单引号括住以免转义
mass > 5:质量大于5的原子
abs(charge)>1:电荷大小超过1的原子
x<6 and x>3:选择x在3~6埃区域内的一层原子
x>1 and x<8 and y>24 and y<35 and z>1 and z<5:一个矩形区域内的原子
sqr(x-5)+sqr(y+4)+sqr(z) < sqr(5) :以(5,-4,0)点为中心半径5埃以内的原子
((x-33)^2+(y-14.5)^2)<12^2 and z<40 and z>10:选择以x=33、y=14.5埃为中心,半径为12埃,z范围在10~40埃的柱形区域
x+y+z<80:斜切面内侧的原子(回忆平面方程)
not {oxygen and numbonds=0}:扣除孤立的氧原子(可以用于去除X光衍射pdb文件里的结晶水)
within 6 of protein:距离蛋白质6埃以内的原子
not within 5 of resname ADP:距离名为ADP的分子5埃以外的原子
water within 5 of residue 8 to 44:距离8~44号残基5埃以内的水
withinbonds 2 of index 31:距离编号为31原子的两个键及以内的原子
maxringsize 6 from protein:蛋白当中所有六元及六元以下环上的原子
same resname as resid 33:所有与33号残基相同名称的残基
same residue as {protein within 5 of nucleic}:与核酸的原子相距5埃以内的蛋白的原子,并且把被截断的残基保留完整
x > 15 and not same fragment as {exwithin 8 of protein}:蛋白质以及蛋白质8埃范围以外的原子,保留完整片段,同时x坐标得大于15埃
以上例子中,涉及到坐标、速度变量的,属于动态选区,即随着帧号变化被选择的原子会可能发生变化。观看这些选区的时候,注意在Representation界面的Trajectory标签页里要把Update Selection Every Frame选上,否则选中的原子是对刚选中时那一帧而言的,不会随着轨迹播放被动态更新。在一些VMD的插件中,比如计算rdf的Radial Pair Distribution Function g(r)插件里,当Selection文本框里用了动态选区时,应当把Update Selections复选框选上,否则也由于不会被动态更新而和期望的不符。