AutoDL实例中ambertools的安装
AmberTools 为 GROMACS 用户提供了力场参数生成、结构拓扑构建与轨迹分析等关键支撑,是分子动力学模拟流程中不可或缺的配套工具集。在轨迹分析中,往往计算结合能的步骤需要ambertools工具提供算法,该过程依赖于高性能CPU和内存,因此相信大部分朋友的PC可能达不到这个配置,在这里我将分享如何在AutoDL这种服务器上安装ambertools包,其难点主要在于:
1. ambertools需要经过复杂的编译,但AutoDL实例接收不了sudo命令
2. 需要手动修改conda设置
初始化bash
对conda很熟悉的朋友应该知道创建新的隔离环境一般起手是conda create -n xxx python=3.10
但如果你在AutoDL的实例里这样输入应该会有404报错,这主要是因为官方用的陈旧清华源过期了。另外,大家应该会发现AutoDL的ubuntu系统和自己的WSL虚拟机不同,命令行头部没有(base)字样,这是因为bash没有进行初始化,可以理解为该实例配置了conda但没有激活。
# 先移除源,官方渠道应该可以胜任 conda config --remove-key channels # 再建自己的环境并激活,比如我这里想用mmpbsa conda create -n gmxmmpbsa python=3.9 -y conda activate gmxmmpbsa这个时候很可能碰到以下报错:conda env list能显示创建的环境,但conda activate报错,Your shell has not been properly configured to use 'conda activate'字样,这就是我说的该实例没有“激活”conda,可以如下操作
# 初始化 conda init bash # 修改配置文件 source ~/.bashrc安装包
以下网址有guide文件,大家可以看一下Download Amber MD。这位大佬的教程比较清晰Ubuntu的AmberTools安装全流程-CSDN博客如果是PC的ubuntu可以参考。直接下载安装包到ubuntu环境是个很好的方法,但ambertools的编译非常麻烦,需要gfortran,g++,cmake,bison,flex等依赖,但AutoDL有不具有sudo命令,因此我们会卡在这一步。那么我们可以尝试使用非官方的社区预编译版本
# 注意激活环境 conda activate gmxmmpbsa # 打开autodl的官方加速器 source /etc/network_turbo # 注意不要用这个,应该没法下载成功 # conda install -c conda-forge ambertools=23.0 -y # 社区预编译二进制,完全跳过conda依赖树,不行的话用AI指定一下源,不会出现编译方面的问题 pip install ambertools-unofficial # 可以看看工具安装到哪了 pip show ambertools-unofficial输出格式大致如下,忽略版本号问题
(gmxmmpbsa) root@autodl-container-2e984fa248-9d857eaf:~/miniconda3/lib/python3.10/site-packages# pip show ambertools-unofficial
Name: ambertools-unofficial
Version: 26.0.0
Summary: AmberTools command-line programs packaged for pip
Home-page:
Author:
Author-email:
License-Expression: GPL-3.0-or-later AND LGPL-3.0-or-later AND BSD-3-Clause AND MIT
Location: /root/miniconda3/envs/gmxmmpbsa/lib/python3.10/site-packages
Requires:
Required-by:
这个包应该是可以使用的,大家可以自行尝试一下,我暂时没有使用需求。目前我在配置gmxmmpbsa的环境,在ambertool基础上还需要额外的依赖,以下是我正在参考的一篇CSDN文章gmx_MMPBSA 安装避坑指南:从报错到成功的完整路径-CSDN博客。
——————————————————以下是更新内容——————————————————
检验ambertools的指令:
cpptraj -h
这是一个常用的轨迹分析工具
检验原本GROMACS功能指令:
gmx --version
AutoDL提供的镜像本身具备GROMACS全局软件,应该是在每一个环境都可以使用的
所以以上方式安装的ambertools是可以使用的。关于mmpbsa,大家不要在AutoDL或者类似的容器里挣扎了,作者启动了mpi选项(其实这是个多CPU的选项,一般的模拟不需要mpi),而容器缺少必要的OpenMPI库,同时缺少sudo安装方式。
关于直接编译官方的ambertools,豆包提供了libmamba的思路,但本人没有成功。
conda install -n base conda-libmamba-solver conda config --set solver libmamba conda config --set channel_priority strict conda config --remove-key channels conda config --add channels conda-forge conda clean --index-cacheconda env remove -n gmxmmpbsa # 新建环境,直接指定python=3.10,用libmamba求解 conda create -n gmxmmpbsa python=3.9 ambertools=23.0 --solver libmamba -y如果我的内容有所帮助,还望友友们点赞收藏支持一下~关注我一起探讨更多生物信息学内容
