美文网首页
mudules 安装使用

mudules 安装使用

作者: e8a37405cb53 | 来源:发表于2017-04-29 13:16 被阅读0次

Centos 7

modules

官网
document
tcl语言快速入门
tcl语言快速入门2
使用modules切换不同的环境,但配置这个你要去学一门语言tcl!不过不用害怕,tcl十分简单,只要学过其他语言,1~2个小时完全搞定。其实也不用学那么多,只要看基本的tcl变量赋值和modulfile的说明文档也是可以!

安装
#centos
sudo yum install -y environment-modules
#ubuntu
sudo apt-get install environment-modules 
配置 这里可以交给管理员

创建module命令(实际执行modulecmd应用)
sudo vim /etc/profile
或者 vim ~/.bashrc

 module () 
  { 
      eval `/usr/bin/modulecmd bash $*`
  }

# 告诉系统,多了一个存放modulefiles的路径
export MODULEPATH=$MODULEPATH:/public0/software/modulefiles
编写modulefiles

用tophat试一试,下载tophat的二进制文件,解压直接可以用的。
建立一个tophat modulfile 存放目录

mkdir -p tophat
cd tophat

编辑 tophat 版本信息
vim 2.1.1

#%Module1.0
proc ModulesHelp { } {
global dotversion

puts stderr "\ttophat 2.1.1"
}
module-whatis "tophat 2.1.1"
set version 2.1.1
conflict tophat
prepend-path PATH /public0/software/exe/tophat-2.1.1.Linux_x86_64

vim 2.1.0

#%Module1.0
proc ModulesHelp { } {
global dotversion

puts stderr "\ttophat 2.1.0"
}

module-whatis "tophat 2.1.0"
set version 2.1.0
conflict tophat
prepend-path PATH /public0/software/exe/tophat-2.1.0.Linux_x86_64

参数说明:
#%Module1.0 #必须要
proc ModulesHelp { } { #这里有几个空格是必须
global dotversion

puts stderr "\ttophat 2.1.0" #puts 就是print的意思
}

module-whatis "tophat 2.1.0" #
set version 2.1.0 #set是赋值,将 2.1.0 赋值给变量 version
conflict tophat #冲突
prepend-path PATH /public0/software/exe/tophat-2.1.0.Linux_x86_64 
# prepend-path 顾名思义加入到PATH 前面,整句话就是把/public0/software/exe/tophat-2.1.0.Linux_x86_64  添加给环境变量PATH,并放在前面。
#实际使用时可能要添加很多,比如  LD_LIBRARY_PATH

复制到modulefiles 目录

cd ..
sudo cp -r tophat/ /etc/modulefiles/
#或者 
cp -r tophat/ /public0/software/modulefiles/
#设置目录权限为777,方便共同维护,这样其他用户可以在tophat这个文件夹加入他的文件
chmod 777 /public0/software/modulefiles/tophat/

大功告成!试一试吧!

# 查看有哪些版本
module avail
module load tophat/2.1.1
tophat --version
#结果:TopHat v2.1.1
module unload tophat/2.1.1 
module load tophat/2.1.0
tophat --version
# 结果是:TopHat v2.1.0

不用再担心版本冲突了。
小结:可以在/etc/profile添加系统默认版本到PATH,登录就可以用!想切换就用module!

我想登录就用某一版本,而不是系统默认版本怎么办?

vim ~/.bashrc #for bash shell
vim ~/.zshrc #for zsh shell

module load tophat/2.1.1

这样,你登录的时候的tophat版本就是 2.1.1,而不是系统的2.1.0

conda

待研究....
安装minicoda就好,minicoda相对anaconda就是没有安装其他任何包,这样挺好的,以免后面又有包冲突,选择python2.7的miniconda,目前很多基础包还是python2.7。假如你使用python3,不用担心,python2.7或者python3的conda都是有两个版本的python,唯一区别是一些默认参数的使用,详见官网。
安装

wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh
bash Miniconda2-latest-Linux-x86_64.sh #一路默认就行,装在你的home目录里面

使用
link

bioconda

待研究....

conda config --add channels conda-forge
conda config --add channels defaults
conda config --add channels r
conda config --add channels bioconda

官网

virtualenv

查看这篇文章

参考

配置服务器运行环境
使用Environment Module设置运行环境

心得

管理实验室的服务器有一年多,服务器配置是个麻烦的事情,还是蛮有挑战的。实验室常用的人才有6~7个人,加一些本科生用户在十多个,三台服务器。没有做集群,想机子多了再做集群,由于历史的原因,先前的两台机用Ubuntu的系统,而我最求系统稳定,在最新的机子上装的Centos7,有些硬件厂商可能没有支持到Ubuntu的新版本呢,对于我又要做科研又要管理这些,精力实在是十分有限的,所以Centos 7是我的选择。还有使用的过程也发现很多软件,不仅仅是旧软件,在Centos 7是装起来还是轻松太多,Ubuntu 经常出现包依赖问题,耗费我很多时间,把我搞得精疲力竭,都没时间做重要的事。爱折腾的人可以考虑Ubuntu,说有很多新的features!

最大的问题是软件包版本问题,一开始我都是统一安装在系统环境里面,这样只要装一次,所有用户都可以使用,出于这种考虑是因为很多用户是新手,刚花费大量时间看了生物信息学的文章,想实现,安装软件是个很大的门槛,统一安装软件会方便他们。以为很好,后面人多了问题就大了,不同的同学有不同的需求,就说samtools 有0.19以前的,1.3以后的,而且命令不兼容,升级后有些用户的pipeline就跑不动了,或者跑到一半没结果,不知道什么问题,花很多时间去找!最后是这个问题,实在是很痛苦!

实验室也有天河二号的账号,天河二号对软件版本的管理使用module,所以借鉴他们我也在自己的服务器上装上这个开源的管理软件!

相关文章

网友评论

      本文标题:mudules 安装使用

      本文链接:https://www.haomeiwen.com/subject/yryzzttx.html