chemdraw技巧

solid bond

  • 按住alt则拉出任意键长
  • 放在原子上面直接按元素命名,按数字2,3单双键

lasso/marquee

  • 选择多个整体对象:marquee或者lasso按住shift 双击某个键;双击反应式的箭头选择整个反应

  • marquee时按住alt,则变成lasso功能

排版

  • 优化结构位置:ctrl+shift+k(多按几次),如果是反应就ctrl+shift+x
  • 随后用acs模板,再进行对齐
  • ctrl+alt+shift+m 上下居中对齐
  • ctrl+Alt+shift+l c r 左中右对齐
  • 水平、竖直移动: 按住shift
    • ctrl+shift+alt+h水平翻转
    • ctrl+shift+alt+v垂直翻转
    • 不加alt就做平面对称

      p.s

  • 文字转结构:ctrl+shift+n

  • 复制结构:按住ctrl

  • 平行复制结构:ctrl+shift

  • 热键更改:hotkeys.xml文件,位置在file-preference-directory-chemdraw items 默认隐藏在programdata里

    • keys

    • bond

    • generic
      原则:
      1.文件改了名失效(做备份)
      2.一次修改一个,确认有效再下一个

gmx入门-2.探索nm

方向

安装双精度

  1. su -
  2. yum install epel-release
    • yum install cmake3
    • 一路 y
    • cmake3 /V 如果显示出了3.x的版本号就说明没问题了
  3. http://www.fftw.org/fftw-3.3.8.tar.gz,移到/usr/local/ 下,gromacs也在这里
    • tar -zxf fftw-3.3.8.tar.gz
    • cd fftw-3.3.8
    • ./configure —prefix=/hfy/fftw338 —enable-sse2 —enable-avx —enable-float —enable-shared —enable-avx2 (这是单精度,双精度从这里开始,流程再走一遍,删掉—enable-float)
    • make -j install
  4. cd gromacs-2019.6
    • mkdir build
    • cd build
    • export CMAKE_PREFIX_PATH=/hfy/fftw338
    • cmake3 .. -DCMAKE_INSTALL_PREFIX=/sob/gmx2019.6 -DGMX_GPU=off (在有GPU机器上需要加-DGMX_GPU=off命令,因默认编写gpu版本,再加上-DGMX_DOUBLE=ON命令)
    • make -j install
  5. 修改用户目录下.bashrc ,末尾加入 source /hfy/gmx2019.6/bin/GMXRC
    • gmx -version 确认

Hessian

  • Hessian mdp文件(感觉也差不多,但emtol应该0.01或者更小)不过此前的Fmax可能设得太大了
    define = -DFLEXIBLE
    constraints = none
    integrator = nm
    nsteps = 10000

    emtol = 1.0 ;这里不确定
    emstep = 0.01

ns_type             =  grid
pbc                 =  xyz
nstlist             =  5
rlist               =  0.9
coulombtype         =  PME

vdwtype             =  Cut-off
rvdw                =  0.9

Tcoupl = no
Pcoupl = no
gen_vel = no
  • 准备
    gmx grompp -f Hessian.mdp -c npt-pr.gro -p fws.top -o Hessian.tpr
    • 感觉不应该,因为这是升温后的结果,应该用能量最小化才能算hessian

因为log里报:
Maximum force: 3.60376e+03
The force is probably not small enough to ensure that you are at a minimum.
Be aware that negative eigenvalues may occur
when the resulting matrix is diagonalized.
Finished mdrun on rank 0 Sun May 2 21:56:50 2021
所以全流程重来,在VM里emtol里就降低力的最大值,先试试emtol 100,并在做一次共轭cg,并直接进行真空模拟
1k次收敛到700,3.5k次收敛100

  1. gmx_d pdb2gmx -f fws.pdb -o fws.gro -p fws.top -i fws.itp -ff amber99sb-ildn -water tip3p -ignh
  2. gmx_d editconf -f fws.gro -o fws-PB.gro -bt dodecahedron -d 1.2
  3. gmx grompp -f fws-VM1.mdp -c fws-PB.gro -p fws.top -o fws-VM1.tpr -maxwarn 1

    • 如果这里就使用gmx_d 的话不能快速的收敛,一万步收到94 force,而gmx能3.5k步略多收到400,9.8k步收到25 force,15k步最小化到20
    • fws-VM1.mdp
      ; 传递给预处理器的一些定义
      define = -DFLEXIBLE ; 使用柔性水模型而非刚性模型, 这样最陡下降法可进一步最小化能量

      ; 模拟类型, 结束控制, 输出控制参数
      integrator = steep ; 指定使用最陡下降法进行能量最小化. 若设为cg则使用共轭梯度法
      emtol = 20 ; 若力的最大值小于此值则认为能量最小化收敛(单位kJ mol^-1^ nm^-1^)
      emstep = 0.01 ; 初始步长(nm)
      nsteps = 4000 ; 在能量最小化中, 指定最大迭代次数
      nstenergy = 10 ; 能量写出频率
      energygrps = System ; 要写出的能量组

      ; 近邻列表, 相互作用计算参数
      nstlist = 1 ; 更新近邻列表的频率. 1表示每步都更新
      ns_type = grid ; 近邻列表确定方法(simple或grid)
      coulombtype = PME ; 计算长程静电的方法. PME为粒子网格Ewald方法, 还可以使用cut-off
      rlist = 1.0 ; 短程力近邻列表的截断值
      rcoulomb = 1.0 ; 长程库仑力的截断值
      vdwtype = cut-off ; 计算范德华作用的方法
      rvdw = 1.0 ; 范德华距离截断值
      constraints = none ; 设置模型中使用的约束
      pbc = xyz ; 3维周期性边界条件
      cutoff-scheme = Verlet ; 版本不加这个会有一个note提醒

  4. gmx mdrun -v -deffnm fws-VM1

  5. gmx_d grompp -f fws-VM2.mdp -c fws-VM1.gro -p fws.top -o fws-VM2.tpr -maxwarn 1

    • fws-VM2.mdp
      ; 传递给预处理器的一些定义
      define = -DFLEXIBLE ; 使用柔性水模型而非刚性模型, 这样最陡下降法可进一步最小化能量

      ; 模拟类型, 结束控制, 输出控制参数
      integrator = cg ; 指定使用最陡下降法进行能量最小化. 若设为cg则使用共轭梯度法
      emtol = 1.0 ; 若力的最大值小于此值则认为能量最小化收敛(单位kJ mol^-1^ nm^-1^)
      emstep = 0.01 ; 初始步长(nm)
      nsteps = 10000 ; 在能量最小化中, 指定最大迭代次数
      nstenergy = 20 ; 能量写出频率
      energygrps = System ; 要写出的能量组

      ; 近邻列表, 相互作用计算参数
      nstlist = 1 ; 更新近邻列表的频率. 1表示每步都更新
      ns_type = grid ; 近邻列表确定方法(simple或grid)
      coulombtype = PME ; 计算长程静电的方法. PME为粒子网格Ewald方法, 还可以使用cut-off
      rlist = 1.0 ; 短程力近邻列表的截断值
      rcoulomb = 1.0 ; 长程库仑力的截断值
      vdwtype = cut-off ; 计算范德华作用的方法
      rvdw = 1.0 ; 范德华距离截断值
      constraints = none ; 设置模型中使用的约束
      pbc = xyz ; 3维周期性边界条件

  6. gmx_d mdrun -v -deffnm fws-VM2

    • 没装双精度报错:
      Energy minimization has stopped, but the forces have not converged to the
      requested precision Fmax < 1 (which may not be possible for your system). It
      stopped because the algorithm tried to make a new step whose size was too
      small, or there was no change in the energy since last step. Either way, we
      regard the minimization as converged to within the available machine
      precision, given your starting configuration and EM parameters.

      Double precision normally gives you higher accuracy, but this is often not
      needed for preparing to run molecular dynamics.

      writing lowest energy coordinates.

      Polak-Ribiere Conjugate Gradients converged to machine precision in 3590 steps,
      but did not reach the requested Fmax < 1.
      Potential Energy = -3.9830898e+03
      Maximum force = 3.4626892e+01 on atom 493
      Norm of force = 4.0448758e+00

    • 9.6k步收敛到1
  7. Hessian mdp

     define              =  -DFLEXIBLE
     constraints         =  none
     integrator          =  nm
     nsteps              =  10000
    
     emtol               =  0.01 
     emstep              =  0.01
    
    ns_type             =  grid
    pbc                 =  xyz
    nstlist             =  5
    rlist               =  0.9
    coulombtype         =  PME

    vdwtype             =  Cut-off
    rvdw                =  0.9
  1. gmx_d grompp -f Hessian.mdp -c fws-VM2.gro -p fws.top -o Hessian.tpr -maxwarn 1
    • 报错,需要后续修正
      WARNING 1 [file fws.top, line 4771]:
      You are using Ewald electrostatics in a system with net charge. This can
      lead to severe artifacts, such as ions moving into regions with low
      dielectric, due to the uniform background charge. We suggest to
      neutralize your system with counter ions, possibly in combination with a
      physiological salt concentration.
  2. gmx_d mdrun -v -s Hessian.tpr -o H-traj.trr -c confout.gro -e ener.edr -g md.log -mtx nm.mtx
    • 突然报错,因为maximum force 691 所以不给我做了……,也不是不给,就是生成的特别小一个matrix,而且很明显这个力太大了,应该0.01以下的
    • 试试VM1,2阶段再小点
    • VM1 23k步到极限了,
    • 试试gmx VM1然后 gmx_d VM1-1继续小,然后gmx_d VM2
      • VM1 13k到 17 设为20
      • gmx_d VM1-1 45k步到8 设为9
      • gmx_d VM2 cg法 17k步<0.1 47k步0.086
    • 然而跑了又报错maximum force 671……
    • 不过也许没事
  3. gmx_d nmeig -f nm.mtx -s Hessian.tpr -of eigenfreq.xvg -ol eigenval.xvg -os spectrum.xvg -v eigenvec.trr -last -1
  • 有人建议使用elastic model,但是由于电势不来自实验,EF是任意的,不过网站还在架构中
  • 编译时默认就是编译出能单机并行的,你一看CPU占用率就知道。计算时默认会用机子上所有核心,人为指定要用的核数的话用-nt选项。
  • 只出50个结果,溶剂条件全是0,真空下有4个0,是低频结果

  • “电子能量”包括四项:(1)电子的动能(2)电子与电子间的库仑互斥能(3)核与核之间的库仑互斥能(4)电子与核之间的库仑吸引能。所以一般所说的“电子能量”其实并不完全是它的字面意思,因为也把核之间的互斥能包含了进去。

    • 电子能量的能量零点是假设核与电子都没有动能,体系中所有电子和原子核都被分离到无穷远的情况的能量。这个能量也可以被视为是体系的绝对能量
    • 单点能:某一构型的电子总能量,不包括零点能 总能量 = 单点能 + 零点能(振动频率和的一半,忽略非谐性)
        = V0 + 1/2 h(k/m)^0.5
        = 单点能 + 1/2 v
      

改进思路

问题:freq全是0,得不到数值

  1. 师兄说可能是蛋白质结构没有能量最小化,也可能是结构异常
    1.1 确证有无能量最小化

     1.1.1 报maximum force错误,教程里有建议跑很久
     1.1.2 试图消除报的错
         1.1.2.1 加一个cutoff-scheme   = Verlet,再加一个genion,邻居搜索改成0(真空),但看漏斗网蜘蛛毒素溶剂化研究教程里,指出如果进行真空溶剂化,就需要这样
         1.1.2.2 直接真空把emtol放到10以内很难实现,应该要跑很久,所以现收敛到500,在正式模拟中再提高精度,似乎以前没有做最后一步成品模拟
         - 生成拓扑文件
         - 真空能量最小化
         - 做6w cg法最大力下降到0.01
             期间使用
             gmx energy -f file.edr -o file.xvg
             xmgrace file.xvg
             查看能量下降图(可以中途使用editconf -f file.gro -o file.pdb 进行转换
         - 再做hessian还是力700,大了
         - 试着11.5w步,进一步下降到0.001 emtol最大力为732,反而之前的最大力为713……
         VM1:力 713.357   VM2 828 VM2-1 713.04 VM3 819.37 VM3-1 749.25 VM3-2 731.95
         使用dump中途输出一下frequency(看是否可用)
             gmx dump -f xxx.trr -om xxx.mdp >>xxx.txt
         试试用大的计算一下?
             gmx nmeig nm.mtx
    

    1.2 检查结构