luria的个人博客分享 http://blog.sciencenet.cn/u/luria

博文

BioConda --生信工作者的福音

已有 22693 次阅读 2017-9-5 20:09 |个人分类:BioIT|系统分类:科研笔记

如果你还在学生信,如果你还在手动编译生信软件,如果你曾经或者现在为安装各种生信软件痛不欲生,那么这是你的福音书!哈哈,可能有点夸大其词了,如果是那样,就将我安静的拉入标题党吧 ^0^

好啦,闲言少述,这里给大家推荐的BioCondaConda的一个channelConda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。BioCondaConda专门为生信开的一条通道,里面有非常多的软件,可以直接安装。

1. Conda安装

BioConda官网[1]所说,BioConda需要Conda安装环境,如果你使用过Anaconda python安装环境,那么你已经有了Conda安装环境,否则,最好的办法是安装Miniconda

Miniconda的官网上[2]下载最新版与你使用的系统对应的安装器,例如我使用的是64Linux系统、Python2.7,那么代码如下:

wget  https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh

bash Miniconda2-latest-Linux-x86_64.sh

# 注意:这里一定要用bash命令来运行sh脚本!如果直接使用sh Miniconda2-latest-Linux-x86_64.sh则会报错。

运行过程中会问起,是否安装在$HOME目录下,是否将路径写到.bashrc中。一路回车即可。

注意:第二个坑——这时在终端运行conda居然没有!这是因为安装时conda路径仅写到了~/.bashrc中,但是并没有source

在source之前建议修改一个新加入的这个路径,将其修改为

export PATH="\$PATH:\$HOME/miniconda2/bin"

# 即将$PATH移到miniconda之前,这样如果有复盖,系统会先搜索之前安装的程序再找miniconda安装的

再source一下:

source  ~/.bashrc

# 这时再运行conda时可以正常显示

2. 设置condachannels

conda config --add channels r

conda config --add channels defaults  # conda环境默认仅装了这一个channel

conda config --add channels conda-forge

conda config --add channels bioconda

目前清华大学提供了一个conda的镜像,添加后可以非常快速的下载软件,具体添加方法如下:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --set show_channel_urls yes

# 完成后打开\$HOME/.condarc可以查看到结果

〔lurui@bio ~〕$ cat ~/.condarc
channels:
 -
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
 - bioconda
 - conda-forge
 - defaults
 - r
show_channel_urls: true

3. 安装软件

这里有>2700个生信包可以直接安装!安装方法例如:

conda install star

# 完成后STAR安装在了~/miniconda2/bin/目录下,因为这个目录已加入系统路径,因此可以直接运行STAR(注意大小写)

# 注:根据经验来看软件名一般会是全小写的格式

有时候网络不好会出现以下报错,这时需要再多连接几次:

除了以上简单的安装外,还可以建立工作空间将几个相应的软件装到一起,例如我想将几种比对的软件装在一个叫做aligners的环境下:

conda  create  -n  aligners  bwa  bowtie  hisat2

注:如果系统中已经安装了该软件,conda不会再进行安装

这种分组安装的办法将软件安装在$HOME/miniconda2/envs/aligners/bin/目录下(其中alignersconda create -n选项指定的环境名)

用时需指定路径,例如想用aligners中的hisat2需要

$HOME/miniconda2/envs/aligner/bin/hisat2

如果想卸载某软件(例如刚才安装的star),可以使用

conda uninstall star

conda remove star

# 注意:conda不会卸载系统中原来安装的软件,它只会卸载~/miniconda2/bin/目录中的软件,所以可以放心使用

以下代码可以列出$HOME/miniconda2中的安装的所有程序

conda list

另外,conda还有upgradesearch比较常用。其它的可以直接在终端输入conda查看。

4. 设置一个新环境

conda可以形成一个独立的安装环境,那可不可以同时生成另外一个独立的安装环境? 例如在某些情况下我想用samtools 1.3,但在某些情况下其它软件依赖samtools 0.1.19,这两个版本都很经典,但是安装在一个环境下samtools只能两者选某一。这时我们可以用conda create创建一个独立的环境

/home/lurui/miniconda2/bin/conda create -n sibling

# 其中sibling表示这个环境的名字,可自选

新环境建成后需使用以下代码激活该环境:

source activate sibling

注意:这时会在命令行提示符前有一个(sibling),表示已经在这个环境下

再使用conda install在这个新环境下装软件

/home/lurui/miniconda2/bin/conda install samtools=0.1.19

装完后在命令行直接输入samtools可以看到使用的是0.1.19版的samtools

想要退出sibling环境可以使用以下代码

source deactivate

5. Tips

2.1 用conda安装perl包

如果如下图中报错,而且同时有管理员权限,可以使用我的另一篇博文(http://blog.sciencenet.cn/blog-2970729-1068147.html)中的方法安装;如果没有管理员权限,可以使用这里介绍的方法来安装


首先建议在bioconda官网https://anaconda.org/bioconda/repo搜索一下相关perl包,搜索的格式如perl-archive-extract(perl-父模块全小写-子模块全小写)这时会出现以下搜索结果,表明bioconda中有这个perl包。

可直接在终端使用以下命令

conda install perl-archive-extract

当然搞清楚了perl安装包的命名规则后也可以直接在终端用以下命令搜索

conda search perl-archive-extract


参考材料

[1] https://bioconda.github.io/

[2] https://conda.io/miniconda.html




https://blog.sciencenet.cn/blog-2970729-1074395.html

上一篇:Qualimap2.多样本高通量数据高级QC工具
下一篇:Alpha多样性指数之Chao1指数
收藏 IP: 111.47.21.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-22 20:04

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部