计算化学公社

 找回密码 Forget password
 注册 Register
Views: 11517|回复 Reply: 33
打印 Print 上一主题 Last thread 下一主题 Next thread

[shell脚本] 如何批量生成gjf文件?

[复制链接 Copy URL]

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

本帖最后由 算一算 于 2019-3-1 02:16 编辑

想在Linux上生成一大批相似的gjf文件,每个文件其它部分相同,只有角坐标里的角度、chk文件名、gjf文件名不同。
期待结果:某个特定的角的角度从20°开始,每隔两度生成一个文件,直到60°。相应的%chk=20,%chk=22,...直到60。gjf文件名也是相应的从20到60。文件的其它部分都保持不变(当然,受那个角影响的其它角也会变。但是二面角不变,因为是平面三角形分子。成键的键长都不变。)
这个脚本应该怎么写?

如果嫌麻烦,可以先不考虑角度的问题,就假设角度都不变,只有chk和gjf名字从20变化到60,批量生成这样的gjf的脚本该怎么写?

P.S. 我这台机器上的python有问题,好多python脚本跑不了,所以只能用python以外的东东。

230

帖子

0

威望

2653

eV
积分
2883

Level 5 (御坂)

2#
发表于 Post on 2019-3-1 02:20:13 | 只看该作者 Only view this author
柔性扫描

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2019-3-1 02:33:02 | 只看该作者 Only view this author

不是,我说的是要批量生成输入文件

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

4#
发表于 Post on 2019-3-1 03:05:16 | 只看该作者 Only view this author
这种问题描述方式不禁让人觉得是在直接让人免费给写脚本,而自己并没有学习写脚本的意愿(或意愿很有限)。否则根据经验,通常相应提问者的问题会是更为细化的子问题。文件名该怎么命名都说好了,自己让别人写代码连Python运行的问题都不愿自己搜索解决,咋跟产品经理似的。

这种脚本并不十分容易从头写好,随便写出一个来还比较容易,但转变角度时如何让分子其他部分一同运动需要仔细思考,并且为了脚本编写的简单,最好还得给出分子结构有哪些限制(脚本的需求应该细化),可以避免处理很多边缘情况。

编程没入门的话,还是自力更生学学如何用很低级别的方法做柔性扫描,比如分子力场级别学学Amber、半经验级别学学xTB或者MOPAC,然后用这些级别极快的做一个柔性扫描,写一个脚本将上述程序中柔性扫描的结果提取出来生成Gaussian的输入文件。

评分 Rate

参与人数
Participants 2
eV +4 收起 理由
Reason
zjxitcc + 2
wbn + 2 对产品经理怨念很深啊

查看全部评分 View all ratings

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

5#
发表于 Post on 2019-3-1 03:13:07 | 只看该作者 Only view this author
liyuanhe211 发表于 2019-3-1 03:05
这种问题描述方式不禁让人觉得是在直接让人免费给写脚本,而自己并没有学习写脚本的意愿(或意愿很有限)。 ...

被问题描述带偏了,如果你并不是对程序本身感兴趣,了解一下gentor。

再次,如果不是对程序本身感兴趣,只是想用这个办法来实现柔性搜索,请知悉这样做柔性搜索会浪费很多CPU time(虽然在并行上有可能会节约wall time)

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

6#
 楼主 Author| 发表于 Post on 2019-3-1 03:17:28 | 只看该作者 Only view this author
liyuanhe211 发表于 2019-3-1 03:05
这种问题描述方式不禁让人觉得是在直接让人免费给写脚本,而自己并没有学习写脚本的意愿(或意愿很有限)。 ...

python的问题真不是我能解决的,我没权动这机器上的软件。
学写脚本当然不是一下就能学会啊,如果我都会了我也不会来问了,而且我也说了可以忽略细节啊,角度那些可以先不考虑,先考虑批量生成文件和文件名的事。文件名当然得想好了啊,要不然我该怎么描述这种状况?直接说文件名难道不是更清楚吗?你也说了,需要我提供足够的细节,那我这个不是已经最清楚了吗?
我就是想知道这个任务能用那些指令完成,如果有人提供了批量生成这种文件的指令,那我就可以把这种指令套在键角上用,其它键角怎么改我自己慢慢想就得了。
至于那个扫描,这个不是我拿到的任务,我做了也没用。

5万

帖子

99

威望

5万

eV
积分
112353

管理员

公社社长

7#
发表于 Post on 2019-3-1 03:35:15 | 只看该作者 Only view this author
除非每次要改变的那个变量在内坐标下直接有对应的定义,此时通过写shell脚本可以通过循环每次修改那个变量,否则没有简单办法可以实现。如果那个变量是二面角,相对而言最简单的办法就是用molclus里的gentor,直接产生记录了不同二面角的xyz文件,然后写个脚本/程序(也就20行左右)将之转化成gjf。
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

8#
 楼主 Author| 发表于 Post on 2019-3-1 03:52:35 | 只看该作者 Only view this author
sobereva 发表于 2019-3-1 03:35
除非每次要改变的那个变量在内坐标下直接有对应的定义,此时通过写shell脚本可以通过循环每次修改那个变量 ...

我最主要就是想知道这个大批量生成gjf文件的脚本怎么写,20行的是什么语言,awk还是bash?感觉20行有点多啊,是因为只用一种语言所以导致行数这么多吗?是不是要用到for($i=1;$i<=$#s;$i++)这种东西?

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

9#
发表于 Post on 2019-3-1 04:50:53 | 只看该作者 Only view this author
算一算 发表于 2019-3-1 03:52
我最主要就是想知道这个大批量生成gjf文件的脚本怎么写,20行的是什么语言,awk还是bash?感觉20行有点多 ...

20行有点多。。。牛

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

10#
发表于 Post on 2019-3-1 05:08:15 | 只看该作者 Only view this author
本帖最后由 liyuanhe211 于 2019-3-1 14:23 编辑
算一算 发表于 2019-3-1 03:17
python的问题真不是我能解决的,我没权动这机器上的软件。
学写脚本当然不是一下就能学会啊,如果我都会 ...

。。。还把问题改了,就想问个重命名问题扯什么键角。

这就跟问“怎么把我家房子从海南移到北京,再刷刷墙”,人家给你解释了一堆怎么把地基挖出来,怎么把公路网都重建了,又说,移动房子嫌麻烦的话可以先不考虑,就说一下怎么刷墙吧。
浪费时间。

和你上个问题一个德性,人家给你计算了半天,你来一句:忘了说了啊、是带十个正电荷的正离子。Frustrated.

评分 Rate

参与人数
Participants 1
eV +1 收起 理由
Reason
sobereva + 1 很形象

查看全部评分 View all ratings

5万

帖子

99

威望

5万

eV
积分
112353

管理员

公社社长

11#
发表于 Post on 2019-3-1 05:08:45 | 只看该作者 Only view this author
算一算 发表于 2019-3-1 03:52
我最主要就是想知道这个大批量生成gjf文件的脚本怎么写,20行的是什么语言,awk还是bash?感觉20行有点多 ...

shell或者Fortran都可以,其它所有语言也都可以,会什么用什么,用不着混编
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

220

帖子

0

威望

5707

eV
积分
5927

Level 6 (一方通行)

跳跳猪

12#
发表于 Post on 2019-3-1 05:28:05 | 只看该作者 Only view this author
你在自己的用户下也没权限?机器上的Python有问题不代表你不可以在自己的用户下安装一个只给自己用的!
你自己分析的这么明白要怎么操作,那为啥不去Google搜一下呢,关键词都你自己都提炼出来了“Bash shell 如何替换文件中某一行”!20行还嫌多?那感觉你这“大批量gjf”也可以直接手动来写了<手动滑稽>

bash shell用不了20行,一个数组、一个do循环、一个cp、一个sed -i -e替换也就能搞定了。<当然,要是这几个也嫌多不想学那是没招了,直接找个“愿意”给你写脚本的吧。>

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
zjxitcc + 2

查看全部评分 View all ratings

流年似水,浮生如梦。

300

帖子

0

威望

4190

eV
积分
4490

Level 6 (一方通行)

13#
发表于 Post on 2019-3-1 10:06:46 | 只看该作者 Only view this author
任何编程语言都可以啊,不一定非要python啊?fortran也方便

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

14#
 楼主 Author| 发表于 Post on 2019-3-1 14:45:12 | 只看该作者 Only view this author
liyuanhe211 发表于 2019-3-1 05:08
。。。还把问题改了,就想问个重命名问题扯什么键角。

这就跟问“怎么把我家房子从海南移到北京,再刷 ...

不知道你说的什么意思,编辑问题怎么就不行了?我让问题的语言更妥当一点还不行?难道问题就不能修改一下,打错字都要留着?
我要做的这个任务就是让键角从20°到60°,为什么不能说?这是批量生成gjf的目的。
就事论事,这个问题和我以前的问题一点联系也没有。

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

15#
 楼主 Author| 发表于 Post on 2019-3-1 14:46:23 | 只看该作者 Only view this author
liyuanhe211 发表于 2019-3-1 04:50
20行有点多。。。牛

如果不包含输入文件的内容的话,这个不多么

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 19:22 , Processed in 0.217253 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list