conda管理生信软件一文就够

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)

查找软件

推荐第一种;

安装软件

​ 第一步:先从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小环境
# 或直接退出当前账户

更多组学环境

  1. https://www.jianshu.com/p/49d035b121b8
  2. https://www.jianshu.com/p/a84cd44bac67
  3. https://www.jianshu.com/p/5bce43a537fd
  4. https://mp.weixin.qq.com/s/a4qAcKE1DoukpLVV_ybobA

Comments are closed.