conda与bioconda解决生信软件安装困扰
简介
conda原本是为了解决Python模块安装的依赖问题,然而可能是无心栽柳柳成荫,conda目前已经超越了其最初目的而存在,可以解决大多数软件的安装和配置,包括各种本身与python毫无关系的包,也就涵盖了,我们大多数的生物信息学软件。而为此conda的软件源有多种,其中专门收录了生物信息学软件的软件源,亦即bioconda。所以bioconda仅仅是conda的软件源之一,与bioconductor之于CRAN,bioperl之于CPAN是类似的。所以掌握bioconda,事实上也就是掌握conda,反之亦然。
安装
conda
可以安装Anaconda,也可以安装miniconda,具体如果没有root权限,建议安装后者,安装过程类似,简单,
wget "https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh"
# 安装程序
sudo sh Anaconda3-5.0.1-Linux-x86_64.sh
# 添加以下环境变量
sudo vim /etc/bashrcexport PATH=/tools/anaconda3/bin:$PATH
安装完了conda,剩下的其实就只配置bioconda(其实就只是添加软件源)
如果root身份运行则添加到全局,如果是用户身份运行则会修改用户主目录下的.condarc文件,与bashrc, bashprofile等类似
conda config --add channels conda-forge conda config --add channels defaults conda config --add channels r conda config --add channels bioconda
以上,无论是conda默认的软件源还是bioconda软件源都是国外的,速度非常慢,
所以需要增加国内软件源,同时bioconda已经有清华,中科大两个国内镜像,也添加进去
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
# biocondaconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --set show_channel_urls yes # 查看目前conda软件源情况 conda info
使用
使用conda/bioconda的过程其实也就是使用conda进行软件的安装和配置过程
主要的使用方法有两种:
直接配置到默认环境(适合root用户安装)
对于root,,有时候其他用户需要一些软件,安装起来还是比较麻烦的,此时直接使用conda安装,可能会非常方便,举例,安装bw
conda install bwa
如此,bwa的安装就完成了,可以直接在所有客户的默认环境中使用,
在当前环境下直接使用conda进行软件的安装,事实上就与yum apt-get dnf类似,安装软件,同时将软件配置到当前环境变量,对于anoconda而言,可能是 PATH/anaconda3/bin/bwa, 其中,在安装anoconda的时候,PATH/anoconda/bin已经被添到环境变量中 - 如果没有,请自行添加
模拟虚拟环境(适合所有用户,有root和没有root都有OK)
对于非root用户而言,如果直接运行conda install bwa
,那么可能会受到写入权限的限制,此时可以使用conda最灵活的操作,模拟虚拟环境(注意不是创建),
# 创建环境
conda create -n bioinfoSpace
# 加载环境--事实上,就是将这个环境中安装了的软件路径添加到$PATH中
source activate bioinfoSpace
# 安装各种自己需要的软件,以供使用 --- 注意,此时已经在模拟的虚拟环境中
conda install bwa bowtie# 此时可以使用这些软件了
# 使用结束,可以退出环境,---conda也就是将这些软件的路径从$PATH变量中删去
source deactivate
此外,对于模拟虚拟环境的这种使用方法上,其实还有一种非常常见的应用场景,
亦即,服务器上安装的是pythono3 而此时我们需要使用以下python2.7 ,却不想调整系统配置,如何处理
condacreate-n py2 python=2.7 activate py2
# 使用完毕之后,退出
source deactivate
如果需要特定版本的软件,比如samtools,怎么办?
conda install samtools=0.1.19
以上,在生物信息软件中conda的安装和使用,应该都非常清楚了,
详细的使用方法,可以参考conda 的 conda cheat sheet