Ubuntu 下安装AMBER10/AmberTools 1.2

1 准备工作

1.1
编译前系统需要安装fortran/c编译器,csh/patch,以及flex(做语义分析的)
sudo apt-get install gfortran g++ flex csh patch
如果你要用intel编译器,可能会麻烦些。新手呢,最好听从amber作者David Case的建议先用gnu的编译器

1.2
修改 .profile或.bashrc文件,定义AMBERHOME变量:
export AMBERHOME=/home/<FOO>/src/amber10   # 等号前后不能有空格!
<FOO> 是你的用户名

1.3
到src目录下解压:
cd ~/src/ 
tar -xjvf Amber10.tar.bz2
tar -xjvf AmberTools-1.2.tar.bz2

1.4
解压完成后在src上会生成amber10这个目录,也就是上面定义的AMBERHOME,进入这个目录下载bugfix并执行patch

cd $AMBERHOME
wget http://ambermd.org/bugfixes/10.0/bugfix.all
wget http://ambermd.org/bugfixes/10.0/apply_bugfix_all.x
chmod +x apply_bugfix_all.x
./apply_bugfix_all.x bugfix.all

上面是Amber10的

wget http://ambermd.org/bugfixes/AmberTools/1.2/bugfix.all -o bugfix.all_at_1.2
patch -p0 -N <bugfix.all_at_1.2

上面是AmberTools 1.2的

2 编译AmberTools 1.2

2.1 编译
执行configure_at以配置Makefile_at

./configure_at gcc

输出大概是(括号中的汉字是我的注释):
----------------------------------------------------------------
Setting AMBERHOME to /home/liuzp/src/amber10

Testing the C compiler:
gcc  -march=pentium4 -m32 -o testp testp.c
OK

Obtaining the C++ compiler version:
g++ -v
The version is ../src/configure
4.4.1
[: 520: -lt: unexpected operator       (这个貌似有错误,其实没关系)
OK

Testing the g77 compiler:
g77 -O2 -fno-automatic -finit-local-zero -o testp testp.f
./configure_at: 538: g77: not found
./configure_at: 539: ./testp: not found
Unable to compile a Fortran program using g77 -O2 -fno-automatic -finit-local-zero
(因为Ubuntu 9.10 中没有为f77建立链接g77,不过没关系,它会用下面的gfortran)

Testing the gfortran compiler:
gfortran -O1 -fno-automatic -o testp testp.f
OK

Testing flex:
OK

Configuring netcdf; (may be time-consuming)

NETCDF configure succeeded.

The configuration file, config.h, was successfully created.

The next step is to type 'make -f Makefile_at'
----------------------------------------------------------------

照上面说的:
make -f Makefile_at  |& tee make.at.log    # 屏幕输出的同时还输出到.log文件便于检查
就开始编译喽,过程中可能会出现一个错误:
----------------------------------------------------------------
g++ -c -O2 -Wall -W -D_REENTRANT  -Ihttp://www.cnblogs.com/freelib -Ihttp://www.cnblogs.com/freelib -o  fortran.o   fortran.cpp
fortran.cpp: In function ‘void mort::write_ivalue(std::ostream&, const std::string&, const boost::any&)’:
fortran.cpp:19: error: ‘sprintf’ was not declared in this scope
fortran.cpp: In function ‘void mort::write_dvalue(std::ostream&, const std::string&, const boost::any&)’:
fortran.cpp:36: error: ‘sprintf’ was not declared in this scope
fortran.cpp: In function ‘void mort::write_svalue(std::ostream&, const std::string&, const boost::any&)’:
fortran.cpp:52: error: ‘sprintf’ was not declared in this scope
fortran.cpp: In member function ‘void mort::format::write(std::ostream&) const’:
fortran.cpp:133: warning: comparison between signed and unsigned integer expressions
fortran.cpp:138: warning: comparison between signed and unsigned integer expressions
fortran.cpp:145: warning: comparison between signed and unsigned integer expressions
fortran.cpp:153: warning: comparison between signed and unsigned integer expressions
make: *** [fortran.o] 错误 1
----------------------------------------------------------------
Google后发现这可能是gcc4.4.1检查语句较严所造成,这个帖子里Mark Williamson给出一个解决办法:

修改文件/src/gleap/mortsrc/common/fortran.cpp,在头上加入

#include <cstdio>

再次编译就可以通过了

2.2 测试
测试的目的是看Amber的计算结果是否受硬件/软件环境和编译器等的影响,方法很简单,计算一些例子同amber提供的“标准结果”比较,如果结果差异不大就算通过。至于计算哪些项目,amber已经全安排好了,就在test目录下的Makefile_at里

测试之前要手动修改一个小bug:
即 $AMBERHOME/bin/ 下 mopac.sh 中的一行:
<...>/amber10/bin/mopac >& FOR006
将 & 删除即可

再进入test目录,
cd $AMBERHOME/test
make -f Makefile_at test & tee testat.log

就会运行一系列任务,如测试成功(计算结果与源码包中的一致)屏幕会显示“PASSED”,象这样:

==============================================================
Running test to ........
diffing XXXX.save with XXXX
PASSED
==============================================================

如果出现错误,会提前终止测试,比如:

cd antechamber/tp && ./Run.tp
./Run.tp:  Program error
make: *** [test.antechamber.hasG77] 错误 1

这种情况要进入相应目录,查看Run.XXX文件,直接在命令行一步步执行,通过输出结果找出出错原因。

如果输出中有“FAILED"字样,也不用着急,多数情况计算结果出入不大,这时AMBER有形如下面的提示:

FAILED (OK if gyration radius is about 7 or 8)

即如果你计算的结果在7和8之间都算正常

测试结束后在test目录下可能会多出一个 TEST_FAILURES.diff 文件,AMBER认为这些结果可能不对(possible FAILURE),不过似乎基本上出入很小,因为AMBER仅用dacdiff进行结果比较,无法分辨由于舍入误差引起的不同。
如果差异很明显,则需要了解该测试的具体功能,看是否真正出了问题。

可以用grep命令查看“出错”的情况:
grep FAIL  testat.log
这时我机器的结果:
   FAILED (OK if gyration radius is about 7 or 8)
FAILED (probably OK if energy is -115 to -125)
possible FAILURE:  check tp.mol2.dif
possible FAILURE:  check DGN.mol2.dif
打开生成的TEST_FAILURES.diff文件检查,发现这些计算结果是正常的。

3 编译串行版(serial)Amber10

3.1 编译
和上面类似,在src目录下先执行
./configure_amber gfortran
其中gfortran可以是其他fortran编译器,可用--help查看。c编译器应该和前面AmberTools用的一样,这里是gcc
再编译串行即单CPU版:
make serial |& tee make.serial.amber.log

3.2 测试
cd ../test
make test |& tee testamber.log
grep FAIL testamber.log

possible FAILURE:  check gcg.dip.o.dif
possible FAILURE:  check mdout.jar.dif
possible FAILURE:  check first.pdb.dif
possible FAILURE:  check first.pdb.dif

打开生成的TEST_FAILURES.diff文件检查,上述四个结果也没有错误,其中第二个(mdout.jar.dif)结果为:
---------------------------------------
possible FAILURE:  check mdout.jar.dif
test/jar
87c87
< R1 = -85.000 R2 =  15.000 R3 =  15.000 R4 = 115.000 RK2 =5000.000 RK3 = 5000.000
---
> R1 =   0. R2 =  15.000 R3 =  15.000 R4 = 115.000 RK2 =5000.000 RK3 = 5000.000
---------------------------------------
貌似R1有问题,其实未必,可参考这里:

根据提示继续测试:
make test.serial.QMMM |& tee testamber.QMMM.log
---------------------------------------
possible FAILURE:  check nma_md.out.dif
test/qmmm2/pure_QM_MD_shake
160c160
<  Etot   =       -33.476  EKtot   =         7.896  EPtot      =       -41.372
---
>  Etot   =       -33.476  EKtot   =         7.896  EPtot      =       -41.373
164c164
<  PM3ESCF=       -41.372
---
>  PM3ESCF=       -41.373
---------------------------------------
结果也没问题,至此串行版AMBER安装完成。

转载于:https://www.cnblogs.com/greencolor/archive/2010/10/26/1861926.html

Ubuntu 下安装AMBER10/AmberTools 1.2相关推荐

  1. Ubuntu 下安装thttpd Web服务器

    不知道大家是不是真的需要用appache这么复杂的功能这么强大的web server,其实有很多时候使用webserver也只是一种远程共享访问的方式.这里,Ubuntu repository的提供了 ...

  2. Ubuntu下安装Apache+PHP+Mysql

    Ubuntu下安装 apache+php+mysql文本服务器! ------------------------------------------------------------------- ...

  3. ubuntu下安装ftp服务器

    ubuntu下安装ftp服务器 Ftp服务器是使用以vsftp为例. 1. 安装     $sudo aptitude install vsftpd     $ps aux | grep 'ftp' ...

  4. linux pureftp mysql_在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp

    在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp 一.安装Ubuntu7.04 Desktop版 二.ubuntu Linux下手工安装mysql5 1.下载mysq ...

  5. ubuntu下安装windows虚拟机

    ubuntu下安装win7虚拟机总结 ubuntu16.04 虚拟机 安装win7/win10 http://WIN10:你不能访问此共享文件夹,解决方法 VirtualBox虚拟机剪贴板共享

  6. Linux :debian(ubuntu)下安装和使用haskell

    文章目录 Linux :debian(ubuntu)下安装haskell 安装 使用 Linux :debian(ubuntu)下安装haskell 安装 直接使用apt进行安装: sudo apt- ...

  7. Linux: debian/ubuntu下安装和使用Java 11

    Linux: debian/ubuntu下安装和使用Java 11 只需6行命令: su - echo "deb http://ppa.launchpad.net/linuxuprising ...

  8. Linux: debian/ubuntu下安装和使用Java 8

    Linux: debian/ubuntu下安装和使用Java 8 7行命令解决问题: su - echo "deb http://ppa.launchpad.net/webupd8team/ ...

  9. Linux: debian/ubuntu下安装Neo4j

    文章目录 Linux: debian/ubuntu下安装Neo4j Linux: debian/ubuntu下安装Neo4j Neo4j的官方仓库地址:neo4j/neo4j: Graphs for ...

最新文章

  1. 不错!基于Springboot 2.0 + LayUI开发的物流管理系统(已开源)
  2. python画二维数组散点图_Python散点图二维数组
  3. iis 防火墙防止恶意ip攻击
  4. 2017年11月01日普及组 I Liked Matrix!
  5. 新手入门 | 上链第一步,如何完成XuperChain环境、服务部署
  6. 文件 云存储服务器配置,文件和存储服务器配置
  7. 将本地代码上传至github
  8. Hive Shell
  9. html让后端删除数据库,Chrome在请求之间删除WebSQL数据库
  10. 设置组策略的应用条件-----Windows 管理规范 (WMI)过虑器
  11. 【TSP】基于matlab GUI粒子群算法求解旅行商问题【含Matlab源码 1334期】
  12. python :tushare 唐奇安通道
  13. ModSecurity规则
  14. LC053-最大子序和
  15. 气象ts评分_天气预报评分方法评述.doc
  16. 相对地址,绝对地址,本地地址
  17. 为ThinkCentre M910t-NO76重装Windows7(64位)系统
  18. 罗振宇2021《时间的朋友》体会
  19. STM32G0和STM32G4 如何把BOOT0当作通用GPIO使用
  20. BZOJ1455罗马游戏

热门文章

  1. 推荐一个开源文本识别工具箱,实现 5 种实用经典算法
  2. “3D几何与视觉技术”全球在线研讨会第四期~几何深度学习
  3. CV新赛事:口罩佩戴检测
  4. ​北京大学 2022 年博士研究生招生简章
  5. 刷新记录! CVPR2021全新目标检测机制达到SOTA!
  6. 数据结构练习题之树和图(附答案与解析)
  7. 深度学习之图像识别基础篇——神经元与感知机
  8. syntaxnet python调用
  9. 图像数据转换成db(leveldb/lmdb)文件(转)
  10. sql语句中使用函数会耗费性能吗_挽救数据库性能的 30 条黄金法则 | 原力计划...