计算化学公社

标题: 如何实现文件名随运行次数同步更新 [打印本页]

作者
Author:
Limk    时间: 2021-4-4 22:44
标题: 如何实现文件名随运行次数同步更新
各位老师好,我想做一个多重循环的MD模拟,初始的结构文件为0.gro, 每步MD的运行需要调用上一步MD新产生的结构文件,想请教一下如何编写shell脚本可以实现产生的结构文件[step].gro能够随着运行的step数同步更改,从而可以被下个MD过程调用?请各位老师指导,谢谢!

作者
Author:
lyj714    时间: 2021-4-4 23:43
http://bbs.keinsci.com/thread-22116-1-1.html
作者
Author:
abin    时间: 2021-4-5 09:11
app.exe < INPUT > OUTPUT
保持不变。
while 循环,
counter递增

采用 output-$counter.gro之类的文件名。
然后用cp 或者ln创建每次文件名。

我自己会这么做。

会有更好的方案。
作者
Author:
wwj    时间: 2021-4-9 10:57
#!/bin/sh
for((i=1; i<43; i++));
do
j=$[i+1];
gro1=“..." 此处结构文件路径
if [ -f "$gro1" ]; 判断是否存在结构文件
then
gmx1="gmx grompp -f def.mdp -p si.top -c def"$i".gro -t def"$i".cpt -o def"$j".tpr" 此处输入gmx grompp命令,字符串组合
echo | $gmx1
tpr="....." 此处生成的tpr文件路径
if [ -f "$tpr" ]; 判断是否存在生成tpr文件
then
md1=".....” 输入gmx mdrun命令
echo | $md1
fi
done
我是这么写的,希望能帮到你
作者
Author:
Limk    时间: 2021-4-9 14:35
wwj 发表于 2021-4-9 10:57
#!/bin/sh
for((i=1; i

学习到,非常感谢您的指导
作者
Author:
Limk    时间: 2021-4-9 14:35
abin 发表于 2021-4-5 09:11
app.exe < INPUT > OUTPUT
保持不变。
while 循环,

感谢老师指导!
作者
Author:
Limk    时间: 2021-4-9 14:36
lyj714 发表于 2021-4-4 23:43
http://bbs.keinsci.com/thread-22116-1-1.html

明白了,谢谢您的回复




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3