本帖最后由 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)。
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这种事情,这么简单就自己做就行了。
Intel编译 首先,如果你要用intel编译,我首先建议你不要瞎折腾,不如gfortran,不见得intel编译出来的运行效率高到哪里去。如果你还是要折腾,那就继续看吧。 1. 首先下载和解压什么的和Gfortran是一样的,参考上面的1就行 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步即可
|