conda管理生信软件一文就够
[TOC]
conda下载
直接在搜索引擎搜索 conda 清华
,进入Anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua…,找到“Miniconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 下载。”,点击下载页面,下载软件并安装。(miniconda是anaconda的轻量级替代,安装它就不用安装anaconda,miniconda的功能足够我们后续安装软件使用,不需要同时安装两个)
下载系统版本:
-
linux版本:如果是x86_64系统,请下载Miniconda2-**-Linux-x86_64.sh的最新版本
-
mac版本:登录终端,下载Miniconda2-*-MacOSX-x86_64.sh的最新版本,
这里Miniconda2和Miniconda3都可以,但是我们推荐使用Miniconda2。
如何寻找软件最新版本:根据时间戳来定义,比如今天是2019,2,27,目前软件的最新版本时间戳是2019-01-03
如何下载:找到最新时间戳的你需要的版本(如Miniconda2-latest-Linux-x86_64.sh),右击,左击复制链接地址
下载最新版本的linux版示例:wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda2-latest-Linux-x86_64.sh
miniconda安装
安装最新版本的linux版示例:bash Miniconda2-latest-Linux-x86_64.sh
,你可能会遇到下面的提示:
Please, press ENTER to continue
>>>
# 此处直接点击enter即可
===================================
Miniconda End User License Agreement
===================================
.......
# 这里点击好几次空格键,直到出现下面行
Do you accept the license terms? [yes|no]
[no] >>>
# 这里输入yes,点击enter
# 如果输入错误,比如输入yess,又删除不了,此时你应该按enter,重新输入yes即可
[/home/you/miniconda2] >>>
# 遇到此处时,直接enter即可
# 这里的绝对路径是指miniconda2的安装路径
installation finished.
Do you wish the installer to initialize Miniconda2
in your /home/you/.bashrc ? [yes|no]
[no] >>>
# 这里输入yes
# 刚开始学的人最好输入yes,目的是让conda自动给你配置环境变量
# 输入yes的结果是:~/.bashrc这里文件里最后几行多了conda的配置信息
# less ~/.bashrc,多出来的配置信息第一行如下:
# added by Miniconda2 4.5.12 installer
.......
Thank you for installing Miniconda2!
# 出现这个代表安装成功
# 执行下面语句
source ~/.bashrc
# 执行后,本身就是没有任何提示
conda --help
# 出现conda的帮助文档信息,即表明conda安装成功
# 这里很重要,不管安装什么软件,都要检测是否安装成功!
# 如下所示
usage: conda [-h] [-V] command ...
conda is a tool for managing and deploying applications, environments and packages.
Options:
......
# 继续调取conda子命令的帮助文档,如
conda create --help
conda install --help
miniconda配置镜像
因为conda安装软件类似R需要从就近的镜像里安装包一样,因此软件安装成功后,必须配置镜像;但是不同于R安装包,这里软件安装一次,只需要设置一次镜像,此后不需要再次设置!
当然,R语言也可以通过写配置文件,达到一次设置,永久使用镜像的目的。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
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/bioconda
conda config --set show_channel_urls yes
将上述语句,一句一句运行在linux命令行上,即复制一句,按一下enter键,原则上没有任何提示即为设置成功; 配置信息保存在 ~/.condarc
里,cat ~/.condarc
即可查看!
创建小环境
安装软件前,先设置一个小环境,不要直接在自己账户的当前环境内安装软件;
怎么理解这句话呢?比如你在家里的储藏室放了A东西,但是你还可以再放进去一个柜子,柜子里还可以继续储藏东西,这个柜子就类似一个小储藏室,一个小环境,并且储藏室的环境包含了这个柜子的环境~
你可以创建很多小环境名,有的小环境坏了,你不要就可以了,就好比柜子坏了,你可以扔了,但是如果你把自己账户环境折腾坏了,好比储藏室被你搞坏了,那恢复的代价就高了~~~
conda create -n rna
# 创建一个小环境名为rna
conda install python=2
# 安装python 2版本
# 以上两句话可以等同于一句命令:conda create -n rna python=2
查看小环境
conda info -e
conda info --envs
conda env list
# 都是来查看已经存在小环境名的
# 运行后如下:rna即为刚刚建立成功的小环境名
$ conda info -e
# conda environments:
#
base * /home/you/miniconda2
rna /home/you/miniconda2/envs/rna
进入小环境
创建小环境后,安装软件前,一定要进入/激活小环境在安装,否则会安装到当前账户环境下。
source activate rna
:激活小环境名为rna的环境
激活成功显示为:(rna) you 16:49:30 ~,用户名前多了(rna)
查找软件
-
从conda网页内查找:http://bioconda.github.io/conda-recipe_index.html
-
conda search PACKAGENAME
:运行命令查找是否存在
推荐第一种;
安装软件
第一步:先从bioconda镜像查看软件名具体是什么?一个字母都不能错
第二步:conda install 软件名
第三步:成功调取软件帮助文档==确定安装成功
这里有点类似R包的安装,装后需要library()一下,才能确认安装成功
安装方法:conda install -y sra-tools trim-galore
参数解释:-y要不要均可,是问你同不同意安装,不要的时候,需要手动输入一个y,自己尝试后就理解了这句话含义;sra-tools trim-galore安装两款软件,默认安装最新版; 注意 trim-galore 一个字都不能错,一个字都不能错,重要的事情说三遍!
指定软件安装版本
conda install numpy=1.11
:即安装能模糊匹配到numpy版本为1.11
conda install numpy==1.11
:即精确安装numpy为1.11的版本
Constraint type | Specification | Result | |
---|---|---|---|
Fuzzy | numpy=1.11 | 1.11.0, 1.11.1, 1.11.2, 1.11.18 etc. | |
Exact | numpy==1.11 | 1.11.0 | |
Greater than or equal to | “numpy>=1.11” | 1.11.0 or higher | |
OR | “numpy=1.11.1\ | 1.11.3” | 1.11.1, 1.11.3 |
AND | “numpy>=1.8,<2” | 1.8, 1.9, not 2.0 |
更新软件
conda update conda
:更新conda
conda update bwa
:更新bwa;前提是已经安装成功bwa
查看已安装软件
conda list
:在当前小环境下,列举所有安装软件。
示例:
source activate rna
conda list
列举rna小环境内安装的所有软件
退出小环境
conda deactivate
: linux下conda退出小环境命令
移除小环境
conda env remove --name bio-env
:删除小环境及里面的内容
其他注意内容
pip安装
先安装python,才能使用pip安装python的软件,如pip install multiqc
miniconda安装失败
- 删除安装目录,如果安装到了/home/you/miniconda2里,执行
rm -r /home/you/miniconda2
- 删掉~/.bashrc最后几行conda写入的信息(# added by Miniconda2 4.5.12 installer下面几行一般都是),如果没有# added by Miniconda2 4.5.12 installer的话,即表明conda配置的信息没写入成功
然后按照上述步骤重新安装!
conda网络错误
报错如下;
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/bioconda/linux-64/homer-4.9.1-pl5.22.0_5.tar.bz2>
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
实际上,我已经设置好了镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
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/bioconda
conda config --set show_channel_urls yes
conda config --show
conda install -y -c bioconda homer
人为指定channel 可以解决bug
conda install -y -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda homer
conda 安装软件经常冲突
事实上不可能有十全十美的工具,conda非常简易的管理了多个软件流程,那么必然也会有解决不了的事情,必然同一个流程的两个python软件基于不同版本的python包,就尴尬了。
Solving environment: failed
UnsatisfiableError: The following specifications were found to be in conflict:
- rsem
Use "conda info <package>" to see the dependencies for each package.
没什么好的办法,只能说把冲突的工具安装到不同的子环境。
Solving environment: failed
PackagesNotFoundError: The following packages are not available from current channels:
- salmon
- boost=1.64
- salmon
- libcxx==4.0.0
配置镜像出错
conda: command not found
# 表明环境变量里找不到conda这个软件
# 出错原因:.bashrc里没有配置conda的PATH或者配置过但是没有source ~/.bashrc
# 检验方法:运行echo $PATH,查看是否含有conda安装路径
Warning: 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge' already in 'channels' list, moving to the top
# 表明之前已经运行过这句代码
# 复制镜像配置语句时复制错误,需要重新配置时,需要删除镜像配置文件
rm ~/.condarc
# 然后重新配置,参考miniconda配置镜像
总结
一步安装conda并且配置好一个ngs组学环境
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda2-latest-Linux-x86_64.sh
# miniconda2软件下载成功
bash Miniconda2-latest-Linux-x86_64.sh
# 遇到yes/no输入yes,其他直接enter搞定
source ~/.bashrc
conda --help
# miniconda2安装成功,并成功配置好环境变量
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
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/bioconda
conda config --set show_channel_urls yes
# 配置镜像成功
conda create -n rna python=2
# 创建小环境成功,并成功安装python2版本
# 每建立一个小环境,都要装一个python=2的软件作为依赖
source activate rna
# 成功激活进入小环境,即可安装软件
conda install -y fastqc
# 出现三个done,即表示安装成功,否则重新提交命令
fastqc --help
# 成功出现帮助文档,fastqc软件安装成功
conda install -y sra-tools
# 出现三个done,即表示安装成功,否则重新提交命令
prefetch --help
# 成功出现帮助文档,sra-tools软件安装成功
# 安装什么软件,并不等于调用什么命令--help
source deactivate
# 成功退出rna小环境
# 或直接退出当前账户