gromacs运行报错——不能自动生成更新后的top文件

一、问题描述

在添加水分子后,top文件的分子个数和类型会被添加到新的top文件中。

 gmx solvate -cp F:\biosoftware\gromacs\MD\clyl\clyl_box.gro -cs F:\biosoftware\gromacs\gmx2020.3_GPU\bin\spc216.gro -p F:\biosoftware\gromacs\MD\clyl\clylc.top -o F:\biosoftware\gromacs\MD\clyl\clyl_water.gro

然而运行添加水分子的代码后,出现如下报错:

Number of solvent molecules:  22928

Processing topology

Adding line for 22928 solvent molecules with resname (SOL) to topology file (F:\biosoftware\gromacs\MD\clyl\clyl.top)

Back Off! I just backed up F:\biosoftware\gromacs\MD\clyl\clyl.top to F:\biosoftware\gromacs\MD\clyl/#clyl.top.1#

GROMACS reminds you: "No matter how important you are, you are not as important as lunch." (Randy Pausch)

有意思的是同样的程序换到有些服务器上又完全没有问题,而且是同样的windows系统。

二、解决方案

1.将上述添加水分子的代码写成test.bat文件后,放在D盘(与输出文件不同的磁盘(F:))中,双击运行后出现以下结果,输出文件中没有形成新的top文件,旧的top文件名改为#旧top文件名.1#

通过细心观察我们发现在test.bat所在文件夹中生成了一个临时文件temp.topa02584,打开后我们发现其内容是top文件,也就是说本该出现在F盘的top文件,搁浅在D盘了。

2.将上述添加水分子的代码写成test.bat文件后,放在E盘(与输出文件不同的磁盘(F:))中,双击运行后出现以下结果,输出文件中没有形成新的top文件,旧的top文件名改为#旧top文件名.1#

同样我们发现在test.bat所在文件夹中生成了一个临时文件temp.topa13272。

3.继续尝试,将上述添加水分子的代码写成test.bat文件后,放在F盘(与输出文件相同的磁盘(F:))中,双击运行后出现以下结果,输出文件中形成新的top文件,旧的top文件名改为#旧top文件名.1#

同样G盘我们也尝试了,出现了与D、E相同的情况。具体就不赘述了。

5.继续尝试,将上述添加水分子的代码写成test.bat文件后,放在C盘(与输出文件相同的磁盘(F:))中,双击运行后出现以下结果,输出文件中形成新的top文件,并直接覆盖旧的top文件,这种情况使我们最希望看到的,即生成符合要求的top文件,又不会产生带#号的废弃文件。

三、总结

     top文件不能生成的问题困扰了我2年之久,之前也是通过手动修改,或者添加python代码解决。但是每次在不同系统或者电脑上需要修改路径等等问题,感觉有点麻烦,亦或者是安装linux的版本的gromacs,也算是能解决。但在windows上存在的这一问题,令我如鲠在喉,今天算是彻底知道问题所在了。

    显然代码所在路径的权限对于新文件的生成迭代是有显著影响的,这就是为什么有些软件指定在C盘安装,这样他就有了完全的权限,不会影响后续程序的运行。我们的这个代码也是一样,为了bat文件能正常运行,我们可以将bat文件置于C盘,或者将bat文件放到和输出文件相同的储存盘,这样就不影响top文件的生成以及后续代码的运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值