前言:想想现在离2018 iGEM 结束已经有快半年,最近这几天因为一些事情重新整理干实验,相当于是一步一步重新复一遍程序。去年我们团队项目的主要建模部分就是分子动力学。想起一年前自己自己在分子动力学这个偌大的学科中一步步跌跌撞撞地走来,一些奇怪的坎儿当时因为太忙没有来的及写成Blog。现在接着这个机会正好来重新整理一下,也想借这个机会勘误一下网上部分教程的“错误”。希望后来的小白们能够轻松地走完这段路。
本文主要内容: 在Debian系的Linux上安装Amber,并且勘误一些现有教程的错误与不足。
基础准备: 安装好的Debian系Linux系统一个, 虚拟机或者物理机都无所谓。博主主要是在虚拟机的Ubuntu中进行安装演示。
此处略去,以后如需要重新开一新帖写作。
官网地址:Amber
这里我们需要在Amebr的官网下载Amber 和 AmberTools 两个软件。
这个时候是网上大部分教程的第一个坑:两个软件的版本号应该怎样是对的?现在Amber和AmberTools是同时更新到版本18。
这里指出绝对可以安装的两个版本:Amber16 + AmberTools17 。
有意思了吧,两个版本号是需要错开的。亲测Amber16和 AmberTools16配合是会安装报错的,怎么绕都绕不过。
下载好的AmberTools17.tar.bz2 和 Amber16.tar.bz2 压缩文件后,将其拷贝进Ubuntu的硬盘。我是将其拷贝进了 /home/chonpca 下,这一点取决于自己的习惯,当然还有自己的分区大小问题。注意我们将其放在哪一个文件夹下并解压,等一下在 Terminal 使用使用命令前是需要在该文件下进行操作的。
接下来是解压文件,打开Ubuntu的Terminal输入命令。
su #进入超级用户
cd /home/chonpca #进入我拷贝压缩文件的文件夹
tar xvfj AmberTools17.tar.bz2 #解压AmberTools
tar xvfj Amber16.tar.bz2 #解压Amber
操作完你会在 /home/chonpca 这个文件下面发现新生成的 Amber16 文件夹,即为解压完成,如下图所示。
接下来的这一步是将我们上一步解压产生的文件夹设为Linux的环境变量,在Terminal中输入命令:
cd /home/conpca/amber16 #进入解压产生的文件夹
export AMBERHOME=/home/chonpca/amber16 #设置解压产生的文件夹为环境变量
在编译Amber前我们需要安装该软件所需的环境依赖,在Terminal中输入命令:
apt-get install csh flex bison patch gcc gfortran g++ make \
build-essential xorg-dev xutils-dev libbz2-dev zlib1g-dev \
libboost-dev libboost-thread-dev libboost-system-dev #安装环境依赖
在解压的产生的文件夹里面,我们需要运行配置文件,在Terminal中输入命令:
./confugure --skip-python gnu
在这里我们需要对这句命令进行解释,这是新的一个大坑,与网上的其他教程完全不一样,网上教程一般写为:
./configure gnu
但是这样运行是会报错的,这在安装的过程中会让你安装 MiniConda ,这会产生错误,原因如下:
综上的几个情况,有如下猜测:网上的大部分教程其实是在 MiniConda 还在使用 Python2 时编写的,因此他们当时并不会报错,但是现在 MiniConda 使用 Python3 了。虽然新的Ubuntu内置了Python3, 但是环境变量又坑, Amber的配置文件并没有发现这个事情,也就没有改掉这个Bug。
当然,最近更新的 Amber18 不知道Debug了没有,欢迎安装了 Amber18 的人在评论区留言告诉大家。
刚刚我们运行的配置文件实际上生成了两个文件,一个是 amber16.sh, 一个是 amber.csh。 这两个文件是用来矫正环境变量用的,用哪一个文件取决于你的 Terminal 是 bash, zsh, ksh 还是 csh, tsh。Ubuntu系统的Terminal是 bash , 于是在Terminal中输入命令:
source /home/chonpca/amber16/amber.sh
在此之后我们就可以进行Amber的编译了,在Terminal中输入命令:
make install
在漫长的等待之后,编译成功。Termianl上会显示如下内容:
在我们编译好Amber后,我们可以在Amebr中进行软件测试,已检查我们的编译是否缺胳膊少腿。在Terminal中输入命令:
make test
提醒:这个测试会运行约 1.5h 左右,谨慎运行,注意电池容量。
不管你有没有做第八步,我们第九步是一定要做的。
很多网上的教程到第八步就结束了,很多道友开开心心地搞完,关上Terminal睡觉去了。
然而第二天起床接着干活是发现Amber没了,尴尬。
其实这主要原因还是我们对Linux的操作不熟悉。
造成这种尴尬情况的原因是这样的:
用 export/source 设置的环境变量并不会被保存,只适用于我们输入命令的Terminal
最简单的验证方式,我们在我们原有的Terminal输入命令:
xleap #打开xleap,这是一个amber的小程序
这时候会弹出xleap的GUI界面,如下图所示:
但是如果你打开一个新的Terminal,进入超级用户,然后输入xleap,这是一个amber的小程序:
xleap #在非超级用户下打开xleap
su #进入超级用户
xleap #在超级用户打开xleap
你会发现Terminal 会告诉你 找不到 xleap的命令:
好了那么我们现在就要进入 /etc 文件夹 改变最高全权限的环境变量来解决这一问题,在Terminal输入命令:
cd /etc #进入/etc文件夹
gedit profile #打开profile文件
在执行完这两句命令后,会弹出如下GUI:
export AMBERHOME=/home/chonpca/amber16
export PATH=$PATH:$AMBERHOME/bin
然后在 Terminal 中输入以下命令让刚刚修改的命令生效:
source /etc/profile
最后重启电脑,打开新的Terminal测试,输入如下命令:
xleap
有如下显示:
大功告成!说明我们成功Amber的文件夹加入环境变量。
开启分子动力学之旅吧!