解决Amber轨迹处理错误:'do'命令无效
解决Amber轨迹处理中的'do'命令错误
在使用Amber进行分子动力学模拟轨迹处理时,有时会遇到类似'do'命令无效、数据集'do'未找到的错误信息。这篇文章将解释这些错误的原因,并提供解决方案。
错误原因:
Amber的输入文件语法中没有独立的'do'命令,它通常用于shell脚本中的循环结构。
解决方案:
- 删除多余的'do': 检查你的Amber输入文件,删除任何独立出现的'do'命令行。
- 检查循环结构: 确保'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官方文档进行调整。
原文地址: https://www.cveoy.top/t/topic/fU0t 著作权归作者所有。请勿转载和采集!