计算化学公社

标题: Ubuntu22.04下Tinker8.10编译 [打印本页]

作者
Author:
Huschein    时间: 2023-11-15 16:22
标题: Ubuntu22.04下Tinker8.10编译
本帖最后由 Huschein 于 2023-11-15 16:29 编辑

前言:
    首先介绍一下Tinker:Tinker分子建模软件是一个完整和通用的分子力学和动力学软件包,具有一些生物聚合物的特殊功能。Tinker能够使用几种常用的参数集,如Amber (ff94, ff96, ff98, ff99, ff99SB), CHARMM (19,22,22 /CMAP), Allinger MM (MM2-1991和MM3-2000), OPLS (OPLS- ua, OPLS- aa),默克分子力场(MMFF), Liam Dang的极化模型,AMOEBA(2004, 2009, 2013, 2017, 2018)极化原子多极力场,AMOEBA+增加电荷穿透效应,以及我们的新HIPPO(类氢原子间极化势)力场。其他力场模型的参数集正在考虑将来的版本中使用。他目前由华盛顿大学Ponder课题组维护(https://dasher.wustl.edu/tinker/)。
    对于我来说,目前初步入门Tinker,了解的不是很多,但是谈起为什么要用Tinker,主要还是因为他有我目前认为最完善的可极化力场——AMOEBA(https://doi.org/10.1021/jp910674d),虽然amber中也有实现pGM的可极化力场,但是个人认为不如AMOEBA。那也有人会问,比起Tinker,OpenMM也实现了AMOEBA,为什么不用OpenMM呢?那自然是因为Tinker有AMOEBA的升级版AMOEBA+(AMOEBA Pro,DOI: 10.1021/acs.jctc.9b00261),它号称有匹配SAPT的能力,并且在不同级别基组的情况下与SAPT进行了benchmark,这自然是最诱人的可极化力场了。但是对比起传统的力场(Amber系和CHARMM系),他力场支持的package有点老旧,不值得用,但值得一提的是,Tinker貌似是可以直接支持QM/MM的(不太确定,没有深入了解)。
    但是Tinker可以说是究极小众的程序了,在中文论坛中你基本只能找到不超过10篇Tinker相关的帖子;英文论坛的情况也没有好到哪里去,但我目前的工作主要还是在编译上,还没有非常深入的了解,不过接下来的工作会依托于Tinker展开,后续可能会跟进更多的Tinker相关文章(btw, Google搜Tinker tutorial竟然没有什么东西,这就已经可以体现出Tinker有多么小众了)。

步骤:
    我使用的系统是Ubuntu22.04,Gfortran版本是9.4.0. 用这个来Tinker8.10没有太大问题,同时Tinker也支持intel编译器,但是可能有一些问题,后续会提到,本文主要依托于Gfortran,对于intel版本可以自行尝试。

Gfortran编译
1. 首先先检查你自己gfortran有没有,这个太简单了,不会的自己查查就行。然后下载source code,建议从GitHub下载,从Ponder的网站下载的code我基本都是编译失败,各种报错,但是我没有做系统分析和测试,读者可以自己尝试。不用git clone也可以自己去他的网站下载(https://github.com/TinkerTools/tinker)。


git clone git@github.com:TinkerTools/tinker.git


2. 解压就不用说了,解压完进入tinker/fftw,随后开始编译fftw库(虽然tinker/lib/linux里面有编译好的fftw库,但是我直接用的话,编译会报错,建议还是自己编译)。编译成功的标志就是出现fftw/lib里面会有一堆.a结尾的包,虽然user guide里面说复制 libfftw3.a和libfftw_thread.a就够了,但是我这么做就会报错(其实很多地方的报错可能不由于这一个单一原因,但是你就按我说的做就完了),但是我建议你把所有.a文件复制到/tinker/source中。

export CC=gcc          (or "setenv CC gcc" for csh/tcsh)
export F77=gfortran    (or "setenv F77 gfortran" for csh/tcsh)
./configure --prefix=/home/ponder/tinker/fftw --enable-threads --enable-openmp
Make -j
make install

3. 如2所说,复制所有fftw库文件到/tinker/source,然后把/tinker/linux/gfortran里面所有东西也复制到/tinker/source,接下来就可以开始无脑编译了

chmod +x * -R
./compile.make (等待5分钟左右)
./library.make
./link.make (等待5分钟左右)

4. 最后你可以用命令行把所有.x结尾的文件移动到bin目录,这样你就得到Tinker所有的编译文件了,至于export到bashrc这种事情,这么简单就自己做就行了。

mv ./*.x ../bin

Intel编译
首先,如果你要用intel编译,我首先建议你不要瞎折腾,不如gfortran,不见得intel编译出来的运行效率高到哪里去。如果你还是要折腾,那就继续看吧。
1. 首先下载和解压什么的和Gfortran是一样的,参考上面的1就行
2. 但是Ubuntu是没有自带intel编译器的(虽然gfortran也不自带,但是gfortran装起来多简单啊),反正装intel编译器就很累人,建议按照https://blog.csdn.net/Acrab_Chogori/article/details/118094002 这个帖子来,亲测可以,一定要原原本本看清楚每一个字,否则会很痛苦。
3. 还是一样的解压,解压完进入tinker/fftw,随后开始编译fftw库,我这里写的很简略,我建议读者还是看看gfortran那边关于fftw的编译。这里其实就是把编译器换一下就行了,细节还得看上面

export CC=icc
export F77=ifort
./configure --prefix=/home/ponder/tinker/fftw --enable-threads --enable-openmp
Make -j
make install

4. 后面所有的步骤按照gfortran的3和4步即可


作者
Author:
mizu-bai    时间: 2023-11-20 23:19
之前为了试试川大马老师做的小分子气相输运力场 cAMOEBA,也编译安装了 Tinker。无奈 Tinker 的加速技术有限,满足不了跑大量轨线的需求,只好作罢了🥲
作者
Author:
Huschein    时间: 2023-11-21 19:31
mizu-bai 发表于 2023-11-20 23:19
之前为了试试川大马老师做的小分子气相输运力场 cAMOEBA,也编译安装了 Tinker。无奈 Tinker 的加速技术有 ...

是这样的,Tinker基本上跑100ps就算很高了,毕竟可极化力场加上烂到无以复加的coding水平和并行编程。
但好消息是Tinker-9已经改用C/CPP了,支持CUDA,同时基于Fortran的Tinker-HP也支持GPU加速,都可以试试
作者
Author:
mizu-bai    时间: 2023-11-22 09:33
Huschein 发表于 2023-11-21 19:31
是这样的,Tinker基本上跑100ps就算很高了,毕竟可极化力场加上烂到无以复加的coding水平和并行编程。
...

Tinker 9 和 Tinker-HP 我都编译过,但 Tinker 9 不知为何连 test 都跑不过,出 seg fault;Tinker-HP 报了不支持 AMOEBA 来着。另外 LAMMPS 的 AMOEBA 也试了一下,实在是一言难尽。
作者
Author:
jmliu    时间: 2024-4-3 11:18
请问您编译后bin目录里是否存在文件tkr2qm_s呢?我在使用sharc_orca_tinker进行计算时提示报错:TINKER executable at "/home/ljm/software/tinker-release/bin/tkr2qm_s" not found! “ ,请问您是否知晓如何解决?
作者
Author:
Huschein    时间: 2024-4-3 18:37
jmliu 发表于 2024-4-3 11:18
请问您编译后bin目录里是否存在文件tkr2qm_s呢?我在使用sharc_orca_tinker进行计算时提示报错:TINKER exec ...

你这个不是原版吧?那我就不太清楚了
作者
Author:
ZiyuSong    时间: 2024-4-9 05:07
你好,我在 ‘./compile. Make’这一步时 遇到了如下error:echarge.f:20.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
echarge1.f:21.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
echarge3.f:21.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
empole.f:21.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
empole1.f:21.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
empole3.f:21.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
epolar.f:68.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
epolar3.f:71.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
induce.f:145.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
initprm.f:26.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
mdinit.f:25.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory
prmkey.f:26.9:

      use extfld                                                        
         1
Fatal Error: Can't open module file 'extfld.mod' for reading at (1): No such file or directory

看起来是编译echarge.f时出现了问题?还望解答,多谢大神
作者
Author:
Huschein    时间: 2024-4-10 18:24
ZiyuSong 发表于 2024-4-9 05:07
你好,我在 ‘./compile. Make’这一步时 遇到了如下error:echarge.f:20.9:

      use extfld           ...

仔细看,踩过的坑给你写出来了

建议从GitHub下载,从Ponder的网站下载的code我基本都是编译失败,各种报错,但是我没有做系统分析和测试,读者可以自己尝试。不用git clone也可以自己去他的网站下载(https://github.com/TinkerTools/tinker)。
作者
Author:
2877321934    时间: 2024-7-22 02:32
老师您好,我前面一切正常,到了第四步将x结尾的文件移动到bin时,报错提示:mv: cannot stat '*.x': No such file or directory,我安装的是github上下载的解压得到tinker-release的版本,应该是8.1版
此外,请问老师最后export到bashrc时具体应该怎么写
作者
Author:
mizu-bai    时间: 2024-7-22 12:38
2877321934 发表于 2024-7-22 02:32
老师您好,我前面一切正常,到了第四步将x结尾的文件移动到bin时,报错提示:mv: cannot stat '*.x': No su ...

先看一下有没有 *.x 文件,另外最新版可以用 cmake 编译了,比原版编译方法简单点
作者
Author:
2877321934    时间: 2024-7-22 14:23
本帖最后由 2877321934 于 2024-7-22 14:36 编辑
mizu-bai 发表于 2024-7-22 12:38
先看一下有没有 *.x 文件,另外最新版可以用 cmake 编译了,比原版编译方法简单点

用cmake .再make编译成功了,再请问export到.bashrc应该怎么写,我的bin目录位置为/home/wang/software/tinker-release/bin
作者
Author:
QianqianJin    时间: 2024-11-11 15:01
2877321934 发表于 2024-7-22 14:23
用cmake .再make编译成功了,再请问export到.bashrc应该怎么写,我的bin目录位置为/home/wang/software/t ...

请问你后面是怎么编译成功的啊,cmake如何编译呢
作者
Author:
2877321934    时间: 2024-11-11 22:09
QianqianJin 发表于 2024-11-11 15:01
请问你后面是怎么编译成功的啊,cmake如何编译呢

终端输入cmake .. make就行




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