计算化学公社
标题: 分享Molclus配套的PBS作业提交脚本 [打印本页]
作者Author: 冰释之川 时间: 2019-11-29 11:31
标题: 分享Molclus配套的PBS作业提交脚本
本帖最后由 冰释之川 于 2023-8-29 08:28 编辑
Molclus官网传送门:http://www.keinsci.com/research/molclus.html
================= Last Updated on 2023.08.23 ==================
2022-Aug-23:Molclus 更新至 1.12,更新内容:ibkout=-1也同时有了ibkout=1的效果。即ibkout=-1时如果有输出文件是被新算出来的,也会被备份。
• 2022-Aug-17 改进了settings.ini里ibkout=-1时的处理:对于且当前目录下有template_SP.inp或template_SP.gjf而自动调用ORCA或Gaussian自动算单点时,如果发现当前目录下有以前备份好的相应文件(如orcaSP00002.out、gauSP00005.out),则Molclus会直接读里面的数据而不会重新计算。
• 2022-Jul-09 Molclus的settings.ini里ibkout新增-1选项。对于调用Gaussian或ORCA的情况,ibkout设为-1时如果发现当前目录下有以前备份好的文件(如gau00002.out、orca00005.out),则Molclus会直接读里面的数据而不会重新计算。
• 2022-Sep-9 Molclus判断traj.xyz中要忽略的结构时支持了对原子间距离更精细的控制。在settings.ini里若将distmax设为0,molclus启动后就会从当前目录下的distrange.txt里读取设置,其中每一行的格式为:原子组1序号 原子组2序号 最近距离 最远距离,距离单位为埃。例如,若此文件内容为1,3-5 2,8 2.5 10.2,就代表1,3,4,5和2,8这两批原子间最小距离必须大于2.5埃,最大距离不能超过10.2埃,如果traj.xyz里某结构违背了这个条件,则这个结构就会被跳过而不计算。distrange.txt里可以设多行,同时满足所有条件的结构才被计算。
• 2022-May-28 修正了一个bug:isostat用-Edis设置判断重复结构的能量阈值时单位转换有问题
• 2022-Jun-8 修正了genmer的$distcons设置存在的bug
• 2022-Jun-14 使molclus完全兼容了Windows版xtb
• 2022-Jun-24 修正了molclus调用xtb时settings.ini里freeze设置不生效的bug
分子构象/团簇构型搜索"洗剪吹一条龙"PBS作业提交脚本包(已囊括最新版Molclus程序本体)
(, 下载次数 Times of downloads: 1024)
(对应molclus最新版,删除了isostat的*.ini配置文件,将isostat涉及到的参数直接利用命令行形式传递给isostat本体,届时只需调节*.pbs脚本里./isostat这一行中的控制参数即可) (2023.02.28: molclus_crest.pbs脚本更新为可以直接调用crest对初始结构进行采样)
(, 下载次数 Times of downloads: 497)
(对应molclus 1.9.9.3版,已经过时了,不建议下载使用)
Molclus Update History
2022-Mar-3:Molclus 更新至 1.9.9.8,更新内容:• genmer组件的genmer.ini里的ishuffle选项现在可以设负值。如果设-N,则前N类分子插入的时候还是按顺序插入,而其余的分子则随机顺序插入。这对于构建很多体系很有用,比如构建某个溶质分子被两类分子混合构成的溶剂层包围,可以在genmer.ini里把溶质设为第一类分子,而第2、3类分子设成两种溶剂分子,并把ishuffle设为-1,这样构造出的体系中溶质分子肯定出现在中心。
2021-Nov-23:Molclus 更新至 1.9.9.7,更新内容:• Molclus的settings.ini里现可以把energyterm参数设为"TD=",此时如果Gaussian模板文件对应的是TDDFT计算,Multiwfn会从Gaussian输出文件里读取TDDFT算的root指定的态的激发态能量。由此可以实现用molclus做激发态构象搜索或者激基复合物构型搜索。
2021-Sep-04:Molclus 更新至 1.9.9.6,2021-Sep-29最后更新,更新内容:• molclus的setting.ini设置文件里现在可以设置热力学量计算程序Shermo(http://sobereva.com/soft/shermo/)的路径和运行参数,当molclus调用Gaussian或ORCA做freq或opt freq任务后会自动调用Shermo来算热力学量,比Gaussian和ORCA自身算热力学数据的代码更灵活、强大、可靠。见《使用molclus程序做团簇构型搜索和分子构象搜索》(http://bbs.keinsci.com/thread-577-1-1.html)里加入的说明。
• genmer组件的genmer.ini设置文件里现在可以在末尾加入一行$distcons,然后下面通过一行或多行,指定一对或多对元素间必须满足的距离范围(没设的话就不做限制),指定特定元素间必须满足的距离范围(没设的话就不做限制),例如写H Mg 2.0就代表氢和镁之间距离不能小于2.0埃,Pt Pt 1.8 3.2代表铂之间距离必须在1.8~3.2埃。违背约束条件的构型会被视为失败而不输出。genmer.ini末尾还可以加入一行$modrad,然后在下面通过一行或多行,对一个或多个元素半径进行修改,比如Pt 3.5就把半径改为了3.5埃。详见《genmer:生成团簇初始构型的超便捷工具》(http://bbs.keinsci.com/thread-2369-1-1.html)里面新加入的说明和例子。
• genmer组件启动时如果发现当前目录下没有genmer.ini,将会提示用户手动输入配置文件路径,因此不是非得叫genmer.ini且放在当前目录不可了。molclus启动时如果发现当前目录下没有traj.xyz和settings.ini,也会直接让用户手动输入它们的路径。
• 修正了一个bug:molclus组件调用OpenBabel时产生的临时xyz文件里元素名都是大写,导致双字符的原子如Cl在OpenBabel用力场计算的时候没法正常指认原子类型。
2021-Aug-28:Molclus 更新至 1.9.9.5,更新内容:• genmer组件的genmer.ini设置文件里现在可以用xmin、xmax、ymin、ymax用于控制分子出现的X、Y范围,和之前版本里的zmin、zmax用处类似。因此目前可以严格控制指定的分子出现的三维空间范围。
• xyz2QC组件的Gaussian模板文件中现在可以使用[FILENAME]占位,产生输入文件时它将被替换为"前缀 帧号",因此可以在模板文件里写比如%chk=/sob/[FILENAME].chk从而使得计算完毕后chk文件以恰当的名字留存在/sob目录下。
2021-Apr-15:Molclus 更新至 1.9.9.4,更新内容:• isostat组件可以通过命令行运行并结合各种参数,更为强大也更便于嵌入到脚本里。比如执行isostat Rize.xyz -Nout 8 -Eout 2.4 -Edis 0.5 -Gdis 0.2 -T 350 -nt 32命令,代表将Rize.xyz 作为输入文件,往cluster.xyz里导出的簇是能量最低的8个且相对能量还必须在2.4 kcal/mol以内。使用0.5 kcal/mol和0.2埃分别作为归簇的能量和几何偏差判据。计算Boltzmann分布使用350K。使用32个线程并行计算。凡是通过命令行指定的参数就不需要在交互式界面里再输入。
2021-Feb-11:Molclus 更新至 1.9.9.3,更新内容:• genmer的genmer.ini文件中现在允许写noxrot、noyrot、nozrot分别要求单体不能绕X、Y、Z轴随机旋转。也可以同时写两个,比如noxrot noyrot要求单体只能绕Z轴随机旋转。
2020-Dec-28:Molclus 更新至 1.9.9.2,更新内容:
• 解决了某些情况下Gaussian几何优化没收敛时Molclus会卡住的问题。
2020-Dec-10:Molclus 更新至 1.9.9.1,更新内容:• 当molclus的settings.ini的igaucontinue=1时,如果Gaussian做优化失败后基于template2.gjf继续优化还没成功,这个新版本程序会试图基于当前目录下的template3.gjf继续进行优化,因此用户对于难收敛的情况可以有更多备选方案。
• settings.ini里对ORCA用户新增了ibkhess选项。若=1且任务涉及到振动分析,ORCA产生的.hess文件会被自动备份为 orca[序号].hess文件,便于用户之后重新利用Hessian。
2020-Nov-16:Molclus 更新至1.9.9,更新内容:
• 加入了mol2_xyz组件,主要用于将Frog2构象生成程序产生的多帧mol2文件转换成traj.xyz文件,这种做法的意义见molclus新的教程《将Confab或Frog2与Molclus联用对有机体系做构象搜索》。
• 新特性:当当前目录下出现名为STOP的文件时,molclus对traj.xyz里各个结构的循环将被强行终止(每开始算一个新的结构时探测一次)。因此在当前目录下创建名为STOP的文件是一种优雅的强制结束molclus运行的做法。
• 新特性:如果isomers.xyz是molclus做优化+振动分析或振动分析任务产生的,isostat在处理时会报告哪些构型存在虚频。
• 改进:支持了目前最新版的crest程序输出的crest_ensemble.xyz
2020-Oct-18:Molclus 更新至1.9.8,更新内容:
• 显著加快了isostat排序时候的速度,对于帧数非常多的情况甚至比老版本快一个数量级。
• 当molclus的settings.ini中iappend=1(续写模式)时,程序启动时不会自动将当前目录下.out、.chk、orca开头的文件删掉(因为这些可能是之前用ibkout、ibkchk等选项保留下来的有意义的文件)。
• 让ibkout、ibkchk等选项保留出来的文件的文件名中的序号与traj.xyz里帧号保持了一致(以前版本总是从1开始计)。这使得利用iappend=1时可以跑多次molclus将traj.xyz里的所有帧分别算完,确保每次备份出来的文件序号不会彼此覆盖
2020-Oct-14:Molclus 更新至1.9.7,更新内容:
• molclus的settings.ini里新增加了iappend选项。如果设为1,新产生的结构会累加到当前目录下之前的isomers.xyz文件(如果有的话)末尾。如果为0,则原先的isomers.xyz会被新的数据覆盖。
• gentor的gentor.ini中若在旋转设置后面空一行写上reportfail=1,则会将未通过检查的构象的失败原因显示出来,判断是由于哪些原子间距离太近导致未通过检测。默认的critskip参数的阈值从0.8减小为了0.75,避免含有氰基的时候容易出现难以通过检测的情况。
• 如果运行gentor时当前目录下没发现mol.xyz或gentor.ini,会提示用户直接输入这两种文件的路径(文件名随意)
2020-Jul-12:Molclus 更新至1.9.6,更新内容:
解决了itask=3且没有基于单点模板文件自动做高精度单点计算的时候,在isomers.xyz里记录的能量为0的bug(本应记录的是freq任务给出的自由能)
2020-May-31:Molclus 更新至1.9.5,更新内容:
isostat工具支持并行处理。
2020-Apr-21:Molclus 更新至1.9.4,更新内容:
修正了itask=3且没有提供单点任务模板文件时给出的能量有误的bug。
2020-Feb-11:Molclus 更新至1.9.3,更新内容:
isostat支持了处理crest程序的-mdopt任务的输出的xyz文件。利用crest的-mdopt模式调用xtb做批量优化的耗时比molclus调用xtb做批量优化能低一个数量级。
crest可执行程序在xtb的github页面上就能下载到。Molclus调用xtb时是对traj.xyz文件里的结构一个接一个来优化的,xtb在执行时是用OMP_NUM_THREADS环境变量指定的线程数做并行计算。而crest调用xtb来优化时,会同时启动OMP_NUM_THREADS个xtb程序同时对输入的xyz里的结构进行批量优化,每个xtb都只用单线程。crest这种方式调用xtb做批量优化的总耗时明显更低。
具体来说,运行以下命令就可以在GFN0-xTB级别下用normal几何优化收敛限(这是xtb默认的收敛限)对traj.xyz里所有结构进行优化:
/sob/crest -mdopt traj.xyz -gfn0 -opt normal -niceprint
其中/sob/crest是crest可执行文件路径,-niceprint代表计算过程中显示进度条。还可以用-chrg指定体系净电荷数,-uhf指定自旋,-g [溶剂名]指定溶剂模型。
本帖的PBS脚本同步更新(2020.05.31 支持Molclus 1.9.5及之后版本):
1. 新增molclus_crest.pbs作业提交脚本:
其中 :
- crest traj.xyz -mdopt traj.xyz -gfn 1 -opt normal | tee ./results/info_crest.txt # Select GFN-xTB level
复制代码 这一行酌情修改计算级别和其它参数。
所有输出文件放在 results文件夹下。
温馨提示:在运行本脚本前,先把crest可执行文件放置在与xtb可执行文件的同一目录下
(, 下载次数 Times of downloads: 229)
(, 下载次数 Times of downloads: 87)
(2022.06.26上传)
2.新增md_xtb.pbs作业提交脚本,利用xtb程序跑MD进行结构采样,从而产生一大批初始结构供molclus/crest进一步使用。
2020-Feb-5:Molclus 更新至1.9.2,更新内容:
1. 已支持在振动分析(itask=2)或优化+振动分析(itask=3)之后自动用高精度级别算单点能,从而直接给出较好精度的自由能。具体做法是在当前目录下提供template_SP.gjf(template_SP.inp)文件,设置Gaussian(ORCA)高精度单点计算的关键词,格式同template.gjf(template_SP.inp)。之后,当优化或优化+振动分析任务结束后,程序发现当前目录下有template_SP.gjf(template_SP.inp)时就会用其中的信息构成单点任务文件并调用Gaussian(ORCA)计算,并自动将新的单点能与自由能热校正量相加作为最终能量输出。几个细节:
(a)如果template_SP.gjf和template_SP.inp同时存在,优先考虑template_SP.inp。
(b)opt、opt freq任务用的程序与自动算高精度单点的可以不同,比如iprog=1调用Gaussian时也可以通过提供template_SP.inp来令程序自动调用ORCA算高精度单点。
(c)利用template_SP.gjf基于Gaussian自动算高精度单点时,Gaussian用户还需在settings.ini里对energyterm参数恰当设置,用于指定如何读取这个级别的单点任务输出文件里的能量。
2.为提升灵活性,molclus支持了直接指定设置文件和初始结构文件的路径。例如molclus /RAS/Layer.ini代表将/RAS/Layer.ini作为设置文件。再比如molclus lock.ini /RAS/chu2.xyz代表用当前目录下的lock.ini的设定对/RAS/chu2.xyz里的结构进行计算。
本帖的PBS脚本也同步更新:
1. molclus以及isostat程序对应的参数文件*.ini统一放在ini文件夹下;
2. 所有的输出文件全部放在results文件夹下;
3. 所有的template模板文件全部放在templates文件夹下;
4. 增加molclus_g16orca.pbs提交脚本,以配合molclus 1.9.2新增的“自动将高精度单点能与自由能热校正量相加作为最终能量输出”,这里我选用Gaussian优化结构+ORCA计算单点能这一方案。
---------------------------------------- 我是优雅的分割线(以下内容针对Molclus早期版本,部分描述已经过时,故而仅供参考)-------------------------------------------
最近需要用到molclus对一些分子进行构象搜索,鉴于很多小白不知道如何在集群上跑molclus,故在此分享一下鄙人编写的PBS作业提交脚本,在此感谢钟成大叔对该脚本编写的指导。
1. 本脚本调用的程序和计算级别:
(1) 用gentor产生初始构象
(2) 用molclus结合xtb程序采用GFN1-xTB方法进行初筛
(3) 对上一步归簇后的结构,用molclus结合Gaussian在B3LYP-D3(BJ)/6-31G*级别下对这些构象进行优化和振动分析,取能量最低的20个结构。
(4) 对上一步选出的结构,用ORCA在RIJK-DLPNO-CCSD(T)/def2-QZVPP计算级别下算单点能。
为了能够灵活控制molclus程序在调用xtb,Gaussian和ORCA三个程序时的参数选项,鄙人将整个构象搜索流程分解为xtb, Gaussian, ORCA三个部分,相应的PBS脚本分别名为:molclus_xtb.pbs,molclus_g16.pbs和molclus_orca.pbs,然后按次序执行提交任务。
2. 文件说明:
打开molclus_PBS软件包会发现,相比原始的molclus程序,多了settings1.ini,settings2.ini和settings3.ini,以及isostat_xtb.ini,isostat_g16.ini和isostat_orca.ini文件,前者settings*.ini文件包含molclus调用xtb,Gaussian和ORCA时所设置的调用参数(具体设置参见《使用molclus程序做团簇构型搜索和分子构象搜索》中的2.3节),后者isostat_*.ini则是用来控制isostat归簇程序的,具体来说:
第一行是设置"Input the path of input file, e.g. c:\sob\lovelive\nico.xyz" [If press ENTER directly, isomers.xyz in current folder will be loaded]
第二行是设置"Input the energy threshold for distinguishing different clusters e.g. 0.5 (in kcal/mol)" [If press ENTER directly, 0.25 kcal/mol will be used]
第三行是设置"Input the geometry threshold for distinguishing different clusters e.g. 0.25 (in Angstrom)" [ If press ENTER directly, 0.1 Angstrom will be used]
在这里,isostat_*.ini中前三行都空着(直接回车),代表使用默认参数,而在isostat_orca.ini的第四行,我设置了298,则是让isostat程序输出该温度下的玻尔兹曼分布(利用orca计算的高精度电子能量近似为自由能)。
3. PBS脚本解析:
(1) molclus_xtb.pbs (脚本代码已过时,以最新版代码为准)
- #!/bin/bash
- #PBS -N molclus_xtb
- #PBS -l nodes=1:ppn=32
- #PBS -l walltime=1440:00:00
- #PBS -q gentai
- #PBS -o jobID.$PBS_JOBID
- export OMP_NUM_THREADS=32 # CPU cores for xtb
- export MKL_NUM_THREADS=32 # CPU cores for xtb
- export OMP_STACKSIZE=3000m # memory for xtb
- cd $PBS_O_WORKDIR
- touch jobID.$PBS_JOBID
- chmod +x ./molclus
- chmod +x ./isostat
- chmod +x ./gentor/gentor
- chmod +x ./genmer/genmer
- cd gentor
- echo "\n" | ./gentor # generate initial input geometries
- wait
- mv traj.xyz ../
- cd ..
- mv settings1.ini settings.ini
- ./molclus | tee info_xtb.txt # start molclus with xtb
- wait
- mv settings.ini settings1.ini
- ./isostat > summary_xtb.txt < isostat_xtb.ini # Analyze and classify the optimized geometries into the clusters
- wait
- rm traj.xyz
- mv cluster.xyz cluster_xtb.xyz
复制代码 这里需要用户设置xtb程序所使用的CPU并行核数以及每个核所使用的内存,该脚本囊括gentor批量生成初始结构traj.xyz以及使用xtb进行优化初筛两部分,计算结果文件info_xtb.txt,summary_xtb.txt和cluster_xtb.xyz,分别对应molclus主程序、isostat归簇程序的输出信息以及xtb下归簇后的结构文件。
(2) molclus_g16.pbs (脚本代码已过时,以最新版代码为准)
- #!/bin/bash
- #PBS -N molclus_G16
- #PBS -l nodes=1:ppn=32
- #PBS -l walltime=1440:00:00
- #PBS -q gentai
- #PBS -o jobID.$PBS_JOBID
- cd $PBS_O_WORKDIR
- touch jobID.$PBS_JOBID
- chmod +x ./molclus
- chmod +x ./isostat
- chmod +x ./gentor/gentor
- chmod +x ./genmer/genmer
- cp cluster_xtb.xyz traj.xyz # use the cluster file generated by xtb
- mv settings2.ini settings.ini # the "ngeom= 10" in the settings2&3.ini files is set!
- ./molclus | tee info_g16.txt # start molclus with G16
- wait
- mv settings.ini settings2.ini
- ./isostat > summary_g16.txt < isostat_g16.ini # Analyze and classify the optimized geometries into the clusters
- wait
- rm traj.xyz
- mv cluster.xyz cluster_g16.xyz
复制代码 注意:在运行这个脚本之前,请先设置settings2.ini文件中"ngeom="参数,让molclus知道调在用Gaussian时,从上一步cluster_xtb.xyz结果文件中抽取计算多少个结构(我这边默认是15个结构,可以自行酌情更改)。
(3) molclus_orca.pbs (脚本代码已过时,以最新版代码为准)
- #!/bin/bash
- #PBS -N molclus_ORCA
- #PBS -l nodes=1:ppn=32
- #PBS -l walltime=1440:00:00
- #PBS -q gentai
- #PBS -o jobID.$PBS_JOBID
- cd $PBS_O_WORKDIR
- touch jobID.$PBS_JOBID
- chmod +x ./molclus
- chmod +x ./isostat
- chmod +x ./gentor/gentor
- chmod +x ./genmer/genmer
- cp cluster_g16.xyz traj.xyz # use the cluster file generated by G16
- mv settings3.ini settings.ini # the "ngeom= 10" in the settings2&3.ini files is set!
- ./molclus | tee info_orca.txt # start molclus with ORCA
- wait
- mv settings.ini settings3.ini
- ./isostat > summary_orca.txt < isostat_orca.ini # Analyze and classify the optimized geometries into the clusters
- wait
- rm traj.xyz
- mv cluster.xyz cluster_orca.xyz
复制代码 注意:在运行这个脚本之前,请先设置settings3.ini文件中"ngeom="参数,让molclus知道调在用ORCA时,从上一步cluster_g16.xyz结果文件中抽取计算多少个结构。
作者Author: sobereva 时间: 2019-11-29 12:22
本文已加入molclus主页和molclus介绍帖子
作者Author: 冰释之川 时间: 2020-2-5 13:07
本帖最后由 冰释之川 于 2020-5-31 20:26 编辑
2020.2.5
Molclus 1.9.2 更新,因此本帖的PBS脚本也同步更新:
1. molclus以及isostat程序对应的参数文件*.ini统一放在ini文件夹下;
2. 所有的输出文件全部放在results文件夹下;
3. 所有的template模板文件全部放在templates文件夹下;
4. 增加molclus_g16orca.pbs提交脚本,以配合molclus 1.9.2新增的“自动将新的单点能与自由能热校正量相加作为最终能量输出”,这里我选用Gaussian优化结构+ORCA计算单点能这一方案。
作者Author: 冰释之川 时间: 2020-2-11 19:04
本帖最后由 冰释之川 于 2020-2-11 19:55 编辑
2020.2.11
1. 新增molclus_crest.pbs作业提交脚本:
其中 :
- crest traj.xyz -mdopt traj.xyz -gfn 1 -opt normal -niceprint | tee ./results/info_crest.txt # Select GFN-xTB level
复制代码 这一行酌情修改计算级别和其它参数。
所有输出文件放在 results文件夹下。
在运行本脚本前,先把crest文件放置在与xtb同一目录下
2.新增md_xtb.pbs作业提交脚本,利用xtb跑MD,从而产生初始结构供molclus/crest进一步使用。
作者Author: flybird52888 时间: 2020-3-20 15:20
本帖最后由 flybird52888 于 2020-3-20 16:17 编辑
谢谢分享!请问有没有molclus_xtb.sh的脚本啊?
作者Author: 冰释之川 时间: 2020-3-20 18:54
什么意思? 文件包里有molclus_xtb.pbs和配套的folder_qsub_xtb.sh
作者Author: flybird52888 时间: 2020-3-23 10:02
我的意思是直接一个molclus_xtb.sh脚本,然后直接提交这个任务就行了;还是说文件包里的molclus_xtb.pbs和配套的folder_qsub_xtb.sh必须同时使用?现在超算里面不是不能直接提交pbs脚本吗?必须是.sh的脚本吗?因为我试图在超算里面用molclus调用xtb, 但是不成功,我又不想装一个虚拟机
作者Author: 冰释之川 时间: 2020-3-24 17:10
可以不用folder_qsub_xtb.sh脚本,因为这个脚本是用来批量提交molclus_xtb.pbs的
作者Author: 冰释之川 时间: 2020-5-12 09:19
2020-Apr-21:Molclus 更新至1.9.4,更新内容:
修正了itask=3且没有提供单点任务模板文件时给出的能量有误的bug。
本帖脚本也同步更新。
作者Author: snljty 时间: 2020-5-23 14:06
冰冰姐,我想请教一下。
现在用的是slurm的作业系统,里面要用#SBATCH -N指定节点数,-n指定进程数,-c指定每个进程用的核数
比如我单节点计算,这个节点64核的没有HT。那是不是用molclus调用xtb的时候应该-n 1 -c 64,而直接提交crest作业的时候应该-n 64 -c 1,让它可以同时启动64个进程?谢谢!
作者Author: 冰释之川 时间: 2020-5-23 16:48
本帖最后由 冰释之川 于 2020-5-23 16:51 编辑
xtb支持超线程,不像ORCA,只认物理核
你说的似乎没问题,可以试试看,因为我这边都是PBS作业系统(指定核数即可),没用过Slurm
作者Author: snljty 时间: 2020-5-23 17:04
谢谢您!
作者Author: aimoly 时间: 2020-11-13 09:26
谢谢分享,但是作为一个小白,看的一头雾水。作者或其他大佬能稍微详细得介绍下怎么操作吗?我把这个文件包通过SSH secure file transfer 转移到服务器上,接着怎么运行genmer? 之后又怎么运行molclus?不好意思,真的是我太小白了。大概给我指个方向(相关资料)?谢谢~
作者Author: wzkchem5 时间: 2020-11-13 10:39
你有linux命令行操作基础吗?
作者Author: 冰释之川 时间: 2020-11-13 10:43
首先你得确定你们服务器用的是不是PBS作业管理系统
如果是就把包含结构信息的输入文件(*.xyz)放置于genmer目录下并修改genmer.ini文件, 此外修改molclus_xtb.pbs作业提交脚本里的- #configuration_gen # generate initial configurations by genmer
复制代码 将之改为
- configuration_gen # generate initial configurations by genmer
复制代码
同时修改molclus_xtb.pbs里队列名、所用核数。
最后利用qsub molclus_xtb.pbs 提交脚本,对你对输入结构进行初始构型产生以及让molclus软件调用xtb软件进行优化和初筛。
作者Author: aimoly 时间: 2020-11-13 15:49
谢谢详细的讲解和耐心,我刚刚开始学习计算化学,我试下。
作者Author: fond 时间: 2020-12-2 09:55
老师,您好,看到您的分享觉得特别方便,我们学校服务器用的是LSF作业管理系统,本人是小白一枚,不会编写脚本,想使用您的文件包,您能给我一些建议吗
作者Author: 冰释之川 时间: 2020-12-2 10:59
不管是全职做计算的还是实验党兼职做计算的,稍微学点Shell语言还是非常有必要的。LSF作业管理系统我没用过,没法给出相关建议。但基于你日常提交任务的LSF脚本是可以做成molclus任务专用脚本的,因为PBS脚本主体还是Shell语言写的(bash)
作者Author: lilf 时间: 2021-3-7 16:00
请问是否可以让isostat在整理完所有结构后,只保留一定能量范围的结构,比如2kcal/mol内的?
作者Author: kyuu 时间: 2021-3-7 16:22
如此腻害之人,老衲掐指一算,注孤生
作者Author: 冰释之川 时间: 2021-4-15 16:54
由于molclus已更新至1.9.9.4版,对isostat工具进行了命令行参数传递的拓展,因而本帖同步更新:删除了isostat的*.ini配置文件,将isostat涉及到的参数直接利用命令行形式传递给isostat本体,届时只需调节*.pbs脚本里./isostat这一行中的控制参数即可。
另外,本帖仍然保留molclus 1.9.9.3版所对应的配套PBS作业提交脚本,其中isostat仍然以传统的导入输入流形式接受参数。
作者Author: nianbin 时间: 2021-6-3 23:09
冰冰老师,这个如果我在普通的服务器运行(没有PBS)应该咋办
作者Author: 冰释之川 时间: 2021-6-4 08:09
把脚本里PBS相关的代码屏蔽掉就行了,不过批量计算还是建议装个PBS之类的作业管理系统:《CentOS下安装PBS+maui教程》:http://bbs.keinsci.com/thread-20943-1-1.html
作者Author: 小学瓜 时间: 2021-7-16 16:27
楼主有molclus_MOPAC.sh的脚本吗?
作者Author: 冰释之川 时间: 2021-7-17 21:16
现在有了xtb,不怎么用MOPAC了,你可以基于xtb脚本修改一下
作者Author: WaterMirror 时间: 2022-2-25 18:26
老师请问有不是.7z压缩格式的版本吗
作者Author: 冰释之川 时间: 2022-2-27 10:34
(, 下载次数 Times of downloads: 5)
作者Author: WaterMirror 时间: 2022-2-27 16:38
谢谢老师!谢谢老师!之前一直在想着怎么让Molclus进PBS队列 奈何水平太差,一直没搞定
作者Author: PESPES 时间: 2022-6-2 19:58
请问您使用slurm作业系统,使用molculs调用gaussian的脚本内容是咋写的啊?
作者Author: PESPES 时间: 2022-6-4 17:52
请问,在集群交作业的时候,直接./molclus会把作业交到管理节点,使用PBS作业管理系统,添加什么参数可以把作业交到计算节点呢?
作者Author: 冰释之川 时间: 2022-6-4 18:19
本帖最后由 冰释之川 于 2022-6-5 17:46 编辑
molclus_1.9.9.9_Linux 文件夹下有多个*.pbs模板,只要修改一下节点信息直接可以提交。
如果有多个任务,那将molclus_1.9.9.9_Linux 文件夹复制多份,每一份对应一个任务即可。
具体运行方案是:每个任务文件夹里都有molclus程序,所以,相应的*.pbs脚本采用相对路径调用,这样的好处是你不需要对molclus设置环境变量了。
folder_qsub_g16orca.sh 脚本是用来批量提交当前目录下所有任务文件夹中的*.pbs的脚本。
作者Author: PESPES 时间: 2022-6-4 19:58
目前我存在的问题是./molclus可以正常计算,用pbs管理系统的话就不算,报错如下
作者Author: 冰释之川 时间: 2022-6-4 20:26
本帖最后由 冰释之川 于 2022-6-5 17:47 编辑
原因在于你用PBS提交后molclus没有探测到traj.xyz文件(初始结构轨迹,我不知道你是使用哪种方式产生初始结构的)。你要用PBS跑molclus,用我帖子里附带的附件里的*.pbs就行了。
我跑molclus都是把molclus当作输入文件的一部分来对待,所以每个任务文件夹里都会放一个molclus程序
作者Author: PESPES 时间: 2022-6-4 21:59
用你的脚本可以计算了,谢谢
作者Author: y82200011 时间: 2022-8-22 17:26
学姐好,我在用pbs计算时,一直报错以下内容,不知如何解决,特向您请教,谢谢!
作者Author: 冰释之川 时间: 2022-8-22 19:06
你这显示高斯的几何优化不收敛,自行打开高斯输出文件一看究竟
作者Author: 深爱小李 时间: 2022-10-12 10:22
请问
molclus_crest.pbs 这个脚本是在linux上运行的吗 在windows上怎么用呢
作者Author: 冰释之川 时间: 2022-10-12 10:37
不支持win平台
作者Author: yaoyuan0711 时间: 2022-12-2 13:21
老师您好,非常感谢您提供的脚本。我用crest优化一批分子的时候,结果有1204个结构,但是没有生成对应的cluster.xyz文件。我手动利用isostat算了一下,发现当结果中结构太多的时候,需要选择全部输出,还是只输出前xx个,根据目前crest脚本不能顺利生成cluster.xyz文件,是我哪弄错了吗?
isostat提示:“Final number of clusters is 1204, which is fairly large. If you need all of them, press ENTER button directly. If you only need e.g. 150 clusters with lowest energy, input 150”
作者Author: 冰释之川 时间: 2022-12-2 13:28
本帖最后由 冰释之川 于 2022-12-2 13:32 编辑
你下载的是最新版的脚本吗(Scripts_Molclus_1.9.9.9_Linux.zip )?执行下面命令会自动生成cluster.xyz
- ./isostat crest_ensemble.xyz -Edis 0.5 -Gdis 0.4 -T 298 -nt 32 > ./results/isostat_info_crest.txt
复制代码
作者Author: yaoyuan0711 时间: 2022-12-2 16:22
您看一下,我是下载的最新版,只改了集群等信息,其它没发现问题在哪
作者Author: 冰释之川 时间: 2022-12-2 16:26
你手动用./isostat crest_ensemble.xyz 可以出cluster.xyz文件么?直接运行下面的命令:
- ./isostat crest_ensemble.xyz -Edis 0.5 -Gdis 0.4 -T 298 -nt 32 > ./results/isostat_info_crest.txt
复制代码
作者Author: yaoyuan0711 时间: 2022-12-2 16:29
输入命令之后,还需要根据提示写保留全部分子还是前多少个分子,然后就行了
我在想是不是因为这个,脚本里面好像没有选择的语句
作者Author: 冰释之川 时间: 2022-12-2 16:39
下面的备注里有设定输出多少个cluster
(, 下载次数 Times of downloads: 23)
作者Author: yaoyuan0711 时间: 2022-12-2 16:59
没注意到,不好意思
作者Author: 冰释之川 时间: 2023-2-28 16:24
2023.02.28更新: molclus_crest.pbs脚本更新为可以直接调用crest对初始结构进行采样
作者Author: LittlePupil 时间: 2023-3-12 23:42
本帖最后由 LittlePupil 于 2023-3-13 00:55 编辑
楼主可以考虑把mopac加进去之前论坛里也有人提到,xtb对于有水簇的情况效果不是很好。
比如这是我基于1楼附件修改的一个LSF脚本内容:
- #!/bin/bash
- #BSUB -J molclus_mopac
- #BSUB -q
- #BSUB -n
- #BSUB -R
- export PATH=$PATH:/mopac/bin
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mopac/lib
- function conformation_gen(){
- cd gentor
- echo -e "\n" | ./gentor
- wait
- cp traj.xyz ../
- cd ..
- }
- function configuration_gen(){
- cd genmer
- echo -e "\n" | ./genmer
- wait
- cp traj.xyz ../
- cd ..
- }
- cd `pwd`
- chmod +x ./molclus
- chmod +x ./isostat
- chmod +x ./gentor/gentor
- chmod +x ./genmer/genmer
- templates_files_loc="./templates/*.mop"
- settings_file_loc="./ini/settings_mopac.ini"
- molclus_output_info_loc="./results/molclus_info_mopac.txt"
- isostat_output_info_loc="./results/isostat_info_mopac.txt"
- output_cluster_loc="./results/cluster_mopac.xyz"
- output_isomers_loc="./results/isomers_mopac.xyz"
- mkdir -p ./results
- # The opt level should be set in the template.mop used by MOPAC
- cp $templates_files_loc ./
- #conformation_gen # generate initial geometries (traj.xyz) by gentor
- configuration_gen # generate initial configurations (traj.xyz) by genmer
- # The "ngeom=0" in the settings_mopac.ini file should be set!
- # Start molclus with mopac
- ./molclus $settings_file_loc traj.xyz | tee $molclus_output_info_loc
- ./isostat isomers.xyz -Eout 12.0 -Edis 0.5 -Gdis 0.2 -T 298 -nt 28 > $isostat_output_info_loc
- rm traj.xyz
- rm template.mop
- mv cluster.xyz $output_cluster_loc
- mv isomers.xyz $output_isomers_loc
复制代码
作者Author: 探索者 时间: 2023-3-16 16:28
老师好,我想通过学校服务器(服务器用的是PBS作业管理系统)通过molclus+Gaussian 进行团簇构型搜索,
我下载了最新的Scripts_molclus_1.9.9.9_Linux
我的操作如下:
1.将molclus_g16.pbs中的#PBS -l nodes=1:ppn=56改好
2. # The "ngeom=10" 只计算前10个结构
我有几个小问题想请教一下老师
1.需要将templates文件夹中的template1和2,以及ini文件夹中的settings_g16.ini,移动到molclus文件夹中吗?
2.我想将windows端已经优化好的一个cluster.xyz文件,再通过服务器的gaussian进行优化。
步骤如下:1.首先将cluster.xyz上传至molclus文件夹
2.然后qsub molclus_g16.pbs,这样就可以了吗?
作者Author: 冰释之川 时间: 2023-3-16 16:51
1.不需要,脚本会自动帮你移动
2.试一下就知道了,思路就是把这个脚本里所有文件和你的坐标文件放在一个文件夹里,注意*.xyz要放进results里,并且注意*.xyz的文件名与pbs脚本里待读入的文件名一致
作者Author: 探索者 时间: 2023-3-16 17:40
好的,感谢老师
作者Author: for_you 时间: 2023-4-18 11:25
老师,如果我想用gentor做构象搜索的话,先在gentor文件夹里放好mol.xyz,设置好gentor.ini的信息。同时修改molclus_xtb.pbs里队列名、所用核数。最后利用qsub molclus_xtb.pbs提交脚本。
而在最新的压缩包里,ini文件夹里有settings.ini和settings_xtb.ini两个配置文件。想用xtb的话,应该同时设置settings.ini和settings_xtb.ini两个文件中的“ngeom=0”都为15吗?如果只用gentor的话,是不是还要把genmer文件夹里已经有的genmer的mol.xyz文件删除呢?
作者Author: 冰释之川 时间: 2023-4-19 18:20
settings_xtb.ini 专门配置molclus调用xtb时候的设定
作者Author: for_you 时间: 2023-4-21 08:31
老师,我把settings.ini和settings_xtb.ini设置好,将molclus_xtb.pbs的核数和队列名也设置好。我在gentor文件夹里放置一个mol.xyz文件,想要先调用xtb程序,提交任务后报错,results文件夹里的两个txt文件显示不能找到traj.xyz和isomers.xyz,请问这是mol.xyz文件出的问题吗
作者Author: 冰释之川 时间: 2023-4-21 22:29
本帖最后由 冰释之川 于 2023-4-21 22:32 编辑
得先采样,比如你使用gentor生成traj.xyz
(, 下载次数 Times of downloads: 14)
搞不明白的话,看15楼回复
作者Author: for_you 时间: 2023-4-22 14:16
奥奥,感谢老师,我再试试,用gentor就是把.pbs里的#conformation_gen那行的#符号删除哈
作者Author: farrah 时间: 2023-6-9 17:27
您好,我想用Molclus结合xtb做动力学模拟对一个大环化合物做构象搜索,用xtb在GFN0-xTB下做完动力学模拟得到.trj文件,转换成traj.xyz文件后,想利用您帖子里的脚本进行后续Molclus调用xtb在GFN0-xTB下做批量优化,但是因为我用的不是PBS而是SLURM,自己对脚本做了一些修改但还是有问题,不知道从哪些地方修改了,图片分别是修改后的脚本和提交后输出文件内容,您能帮我看看是什么问题吗?
作者Author: 冰释之川 时间: 2023-6-10 07:03
你要把整个脚本包当作每个任务的输入文件,而不是安装文件放在/storage目录下,一个任务对应一个脚本包
作者Author: farrah 时间: 2023-6-12 10:15
那我再试试,谢谢您
作者Author: farrah 时间: 2023-6-12 22:13
我是已经单独做过md_xtb了,后面也不需要用genmer和gentor,脚本包里genmer和gentor也不需要了吧,其他的文件都是必须的吗?每次任务需要改哪些参数看的非常迷茫
作者Author: 冰释之川 时间: 2023-6-13 08:23
新手建议先熟悉一下Molclus的使用方法和流程,以及涉及到的输入文件。你如果已经采样好了,就不需要 genmer和gentor了。
作者Author: Aridea 时间: 2023-6-16 22:24
好哎,洗剪吹一条龙服务,回头改slurm看看
作者Author: farrah 时间: 2023-6-28 14:04
您好请教一下,我想利用帖子里的脚本按照这个步骤进行化合物构象搜索,结构优化和能量计算(1) xtb产生初始构象(2) 用molclus结合xtb程序采用GFN1-xTB方法进行初筛(3) 对上一步归簇后的结构,用molclus结合Gaussian在B3LYP-D3(BJ)/6-31G*级别下对这些构象进行优化和振动分析。(4) 对上一步选出的结构,用ORCA在RIJK-DLPNO-CCSD(T)/def2-QZVPP计算级别下算单点能。在进行第3步时,计算10多个小时没有正常生成isomers_g16.xyz。输出文件显示似乎是内存问题,但改了也没起作用,不知道是什么问题啊?还有molclus_g16oraca.pbs这个脚本是在什么情况下如何使用呢?
(, 下载次数 Times of downloads: 1)
作者Author: 冰释之川 时间: 2023-6-28 21:38
我没用过SLURM作业管理系统。molclus_g16orca.pbs脚本是指在精算阶段用高斯优化结构,并计算自由能矫正量,然后用orca计算高精度单点能,将两者加和得到体系的自由能,最终进行排序
作者Author: farrah 时间: 2023-6-30 10:01
所以这个脚本是代替molclus_g16.pbs和molclus_oraca.pbs这两个的?还是说在molclus_g16.pbs和molclus_oraca.pbs这两个运行完之后再运行molclus_g16orca.pbs?
作者Author: 冰释之川 时间: 2023-6-30 11:31
可以说是替代,主要看你需不需要精算单点能
作者Author: farrah 时间: 2023-6-30 17:39
哦哦,明白了,谢谢您!
作者Author: for_you 时间: 2023-9-28 18:34
本帖最后由 for_you 于 2023-9-28 20:19 编辑
老师,我把您的压缩包从Win笔记本里解压,将解压后的文件夹复制到超算系统之中,输入./molclus后显示
Trajectory file traj.xyz cannot be found
Input the path of trajectory file, e.g. /K-ON/Akiyama_MIO.xyz
这样的提示,是因为没有安装好吗?
作者Author: wzkchem5 时间: 2023-9-28 21:36
程序输出已经告诉你应该怎么做了,“Input the path of trajectory file”,照这句话做
作者Author: Gaussian-Caio 时间: 2023-11-20 15:34
请问你slurm能正常使用吗
作者Author: edcchens 时间: 2023-11-21 16:20
我也整尝试解决这个问题,可以聊下怎么解决吗,slurm系统
作者Author: Gaussian-Caio 时间: 2023-11-21 17:06
我已解决,里面计算参数改成slurm提交脚本的参数,直接sbatch提交sh文件就行了
作者Author: Gaussian-Caio 时间: 2023-11-21 17:11
可以参考下
(, 下载次数 Times of downloads: 26)
作者Author: edcchens 时间: 2023-11-21 18:41
是的,我也解决了
作者Author: snljty 时间: 2023-12-12 15:13
没问题。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |