计算化学公社

标题: 【已解决】想通过Multiwfn实现当前及下属目录批量转fchk到inp报错 [打印本页]

作者
Author:
hdhxx123    时间: 2021-5-1 09:35
标题: 【已解决】想通过Multiwfn实现当前及下属目录批量转fchk到inp报错
本帖最后由 hdhxx123 于 2021-5-1 15:27 编辑

老师们好,我之前通过修改sob老师的chk2gbw.sh文件实现了fchk2gbw形成inp文件的功能,现在想把该功能推广到当前及下属目录,想在外面嵌套一个遍历目录的循环语句,但是发现简单复制一个sob老师给的提交高斯输入文件的循环不成报错(报错里这些文件夹都是存在的,下属也有fchk文件),没有理解应当如何去修改,先感谢老师们的帮助了

作者
Author:
lyj714    时间: 2021-5-1 10:11
肯定不能够连续cd啊,你每次cd后当前工作路径就已经变了。全部都用绝对路径
作者
Author:
hdhxx123    时间: 2021-5-1 10:21
本帖最后由 hdhxx123 于 2021-5-1 10:38 编辑
lyj714 发表于 2021-5-1 10:11
肯定不能够连续cd啊,你每次cd后当前工作路径就已经变了。全部都用绝对路径

不是很理解您的意思,报错不是Multiwfn的报错呀,Sob老师的例子里就是用cd进入目录提交高斯输入文件的,这里是cd进去做个循环再出来,为什么说是连续cd呢。
作者
Author:
lyj714    时间: 2021-5-1 11:11
本帖最后由 lyj714 于 2021-5-1 11:21 编辑
hdhxx123 发表于 2021-5-1 10:21
不是很理解您的意思,报错不是Multiwfn的报错呀,Sob老师的例子里就是用cd进入目录提交高斯输入文件的, ...

报错就是没有目录,你开始进入了./La这个目录。下一次循环你又cd  ./La/1,这个命令指的是进去当前路径下的La/1,而你的当前可是在La路径下(上一次cd的啊),显然不正确。全部都cd绝对路径准没错。或者一次循环完成以后都cd返回到脚本所在目录也行,比如最前面得到pwd的路径
作者
Author:
冰释之川    时间: 2021-5-1 11:59
可以参考我之前分享的脚本中的写法:
《批量转换量子化学软件I/O文件以及提取输出信息的Shell脚本》
http://bbs.keinsci.com/thread-16231-1-1.html
作者
Author:
hdhxx123    时间: 2021-5-1 13:17
本帖最后由 hdhxx123 于 2021-5-4 14:02 编辑
lyj714 发表于 2021-5-1 11:11
报错就是没有目录,你开始进入了./La这个目录。下一次循环你又cd  ./La/1,这个命令指的是进去当前路径下 ...

了解您的意思了,谢谢老师,明白了,我是漏看了sob老师脚本里的一句"cd - > /dev/null",现在这个代码fchk2gbw.sh用您这种方式已经搞定了,同时附上批量运行这些inp的脚本allfolder_runall.sh,大家需要可以自取定制(别偷懒忘记改fchk2gbw.sh来改变关键词以及机子的正确orca和Multiwfn的路径以及allfolder_runall.sh中orca的路径,例:只要在fchk2gbw.sh的最后一个EOF后另起一行加入
  1. sed -i 's/grid4 gridx4 tightSCF/grid5 gridx4 FinalGrid6 slowconv tightSCF/g' $inp
复制代码

即可将“grid4 gridx4 tightSCF”改为“grid5 gridx4 FinalGrid6 slowconv tightSCF")。allfolder_runall.sh中有调用fchk2gbw.sh的语句,将两个脚本放在一起时改好fchk2gbw.sh后可以直接
  1. sh allfolder_runall.sh
复制代码

便会自动会将下属所有目录下的fchk文件转化为gbw文件再调用orca进行运算同时输出信息到屏幕)

2021.5.4 补充:fchk2gbw如果有报错的问题,把数字为100那一行前加一空行能解决



作者
Author:
hdhxx123    时间: 2021-5-1 13:18
本帖最后由 hdhxx123 于 2021-5-1 13:20 编辑
冰释之川 发表于 2021-5-1 11:59
可以参考我之前分享的脚本中的写法:
《批量转换量子化学软件I/O文件以及提取输出信息的Shell脚本》
http ...

冰佬的这个脚本太好用了!在各个转换模块后加几个sed输入文件就都能自己定制了,赛高!




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