解决Amber轨迹处理中的'do'命令错误

在使用Amber进行分子动力学模拟轨迹处理时,有时会遇到类似'do'命令无效、数据集'do'未找到的错误信息。这篇文章将解释这些错误的原因,并提供解决方案。

错误原因:

Amber的输入文件语法中没有独立的'do'命令,它通常用于shell脚本中的循环结构。

解决方案:

  1. 删除多余的'do': 检查你的Amber输入文件,删除任何独立出现的'do'命令行。
  2. 检查循环结构: 确保'for'循环的语法正确,并在循环体中直接编写需要执行的命令,无需使用'do'和'done'关键字。

示例:

假设你的原始输入文件如下:

# 05/26/22 14:12:11
parm PRO_solv.prmtop 
trajin md.nc 5000 last 100
autoimage
rms fit :1-383
strip :WAT
strip :Na+,Cl-
for i in {1..50}
do
    trajout frame$i.pdb pdb nobox
    go
done

修改后的正确代码:

# 05/26/22 14:12:11
parm PRO_solv.prmtop 
trajin md.nc 5000 last 100
autoimage
rms fit :1-383
strip :WAT
strip :Na+,Cl-
for i in {1..50}
    trajout frame$i.pdb pdb nobox
    go

要点:

  • 在Amber输入文件中,'for'循环的语法不需要'do'和'done'关键字。
  • 每个循环迭代中需要执行的命令应该直接写在'for'循环体中。

通过以上修改,你应该能够解决Amber轨迹处理中遇到的'do'命令错误。如果问题仍然存在,请仔细检查输入文件的语法,并根据Amber官方文档进行调整。

解决Amber轨迹处理错误:'do'命令无效

原文地址: https://www.cveoy.top/t/topic/fU0t 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录