小丸工具箱官方网站
对于生信初学者而言,最困难的事情某过于安装各种生信软件,如果一切所有软件都能像`sudo apt-get intall` 或者是`sudo yum install`那样多好。本文就介绍了我目前认为最强的非root软件管理器-**conda**.
## 什么是conda
想要了解什么是conda,需要先要了解什么是[Anaconda](https://anaconda.org/)。
Anaconda是Python的科学发行版,它将各种科学计算工具整合到一个安装包之中,从而使得Python变得无比的强大,就像Linux本身也只是内核,通过整合不同的软件之后才会变得如何的实用。
![](http://oex750gzt.bkt.clouddn.com/17-9-30/10543168.jpg)
Anaconda为了避免Python原生`pip`安装软件会出现的问题,比如说Windows下安装科学计算必备的`numpy`和`pandas`时就非常的麻烦,于是它就自己编译了好一些安装包,仅仅使用`conda install`就能下载编译好的二进制包。
因此,conda最开始是Anaconda提供的Python包安装管理工具哦。
## 为什么用conda
**conda**最开始只是Anaconda用于管理Python包的工具,但由于它为了避免Python包安装时出现的依赖库不全的问题,相当于又安装了一个虚拟系统,于是乎它能够管理的软件越来越多,以清华源为例
- 官方频道小丸工具箱安装包怎么安装:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- conda软件管理依赖环境解决频道小丸工具箱安装包怎么安装:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- Windows专属频道: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- 生物信息软件频道: https://nanomirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
基本上,大部分你能想到的软件都能用`conda`安装,如果这些软件还不能的话,还可以基础conda环境进行编译。当然,像docker,mysql这类系统级软件,无法使用conda管理。
因此,使用conda的第一个好处就是**安装方便**。
第二个优点叫做,**环境容易管理**。 当你担心Python2会和Python3冲突的时候,使用conda专门建立一个虚拟环境(下面教程会说),相当于重新开了一台电脑工作。再也不担心Python版本冲突了。而且当你想试用最新版本的工具的时候,完全可以新建一个环境,这样子就不用担心软件不好用无法返回原先版本了。
展开全文
还有一个优点就是不需要root权限,当管理员没空搭理你,或者处于系统安全考虑不能安装某一个软件的时候,**conda**这类不需要root权限的软件包管理器就是你最好的选择。
PS: 你当然可以选择自己编译,然后解决不断出现的依赖包缺失问题。
## 如何安装conda
由于生信分析基本都在Linux系统下完成,所以下面仅以Linux为例(不区分Ubuntu和CentOS,仅区分32为和64位)。
第一步:下载miniconda3
```
wget https://nanomirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-$(uname -m).sh
```
**注**1:miniconda是anaconda的简化版,包括最核心的一些功能,如conda
**注**2:选择Miniconda2和Miniconda3任一都可,因为可以通过虚拟环境创建另一个版本Python环境。
第二步:安装miniconda3
```
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3
-b: 自动安装模式
-p: 软件安装到何处
```
第三步:将miniconda3保存到环境路径并启用
```
echo "export PATH=$PREFIX/bin:"'$PATH' >> ~/.bashrc
source ~/.bashrc
```
恭喜你,完成了conda安装。
## conda的基本操作
安装conda之后,我们需要学习一点最基本的conda使用方法,当然哪里不懂可以到[https://docs.anaconda.com/docs_oss/conda/get-started](https://docs.anaconda.com/docs_oss/conda/get-started) 找到解决方法。不过我相信,下面的已经够用了。
**基本配置**: 当安装完conda之后,最重要的一步就是添加清华源的镜像,提高下载速度. 配置环境需要用到`conda config`
```
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://nanomirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes
```
还可以用`conda config --show`查看已有的配置哦
虚拟**环境管理**: 个人认为conda比较好用的就是它能够建立多个互不干扰的分析环境。
```
# 查看已有环境
conda info --envs
```
目前,我就只有一个默认环境,也就是root。
![](http://oex750gzt.bkt.clouddn.com/17-9-30/23914991.jpg)
我们之前安装的时候是Python3,这次我们建立一个Python2环境,并且安装比对软件bwa
```
conda create -n biostar python=2 bwa
```
![](http://oex750gzt.bkt.clouddn.com/17-9-30/26856937.jpg)
晚上用清华镜像,速度超级快
![](http://oex750gzt.bkt.clouddn.com/17-9-30/58822946.jpg)
安装完成之后,还告诉了我们如何**启动环境**
```
source activate biostar
# 列出当前的已经安装软件
conda list
```
**删除环境**: 如果一个环境你不想要了怎么办小丸工具箱安装包怎么安装?有两种方法可以删除
```
conda remove -n biostar -all
# 或者更加粗暴
rm -rf ~/miniconda3/envs/biostar/
```
**安装或卸载**生信软件(先在https://bioconda.github.io/recipes.html#recipes 检索对应软件名)或可以用`conda search`检索生信工具或Python包
```
# 可以用search先进行检索
conda search sratools
```
![](http://oex750gzt.bkt.clouddn.com/17-9-30/41864682.jpg)
下一步,使用`conda install`安装。
```
# SRA处理工具叫做sra-tools
conda install sra-tools=2.8.0 -y
# numpy
conda install numpy -y
# 卸载
conda remove sra-tools -y
```
其中`-y`表示确认,而`sra-tools=版本号`则是下载对应的版本工具。有些时候为了重复别人的结果,我们需要安装对方所用的软件版本。
## conda进阶
综上,就是一般conda教程都会介绍的内容,下面则是一些稍微比较高级,但是比较高效率的技巧。
conda是一个非常好的软件环境管理工具,我们可以把当前数据分析的环境进行保存,如果别人说无法重复你的结果,你就把这个配置文件发过去,这样子就能保证**分析环境一致**。另外,你还可以将分析**环境打包**,实现每一次快速部署。
第一步:导出当前环境**conda env export**
```
conda env export -n biostar -f biostar.yml
```
这一步会在你当前的路径下生成一个YML文件,存放当前环境的所有情况,你可以用`cat biostar.yml`进行查看
![](http://oex750gzt.bkt.clouddn.com/17-9-30/1977942.jpg)
第二步: 导入环境**conda env create**
注:先让我们把`biostar`这个环境删掉`conda remove -n biostar --all`
```
conda env create -f=biostar.yml
# -f: 环境配置
```
第三步:启动并检查
```
source activate biostar
conda list
```
最后附赠一个,我常用的生信软件合集,按照如下方法下载:
```
wget --no-check-certificate https://raw.github.com/xuzhougeng/zgtoolkits/master/biosetup.yml
```
最后说几句: 我个人认为安装Linux软件有如下三个境界,
- 会用sudo apt-get或conda安装软件
- 学会自己编译安装软件
- 学会什么时候自己编译,什么时候用软件管理器软件软件。
因此,Linux下软件安装还是非常学问呢。
生信草堂
浙大生信博士团队倾力打造的一个科研人员学习交流的公众微信平台。我们致力于科研社区服务,分享最前沿的科技进展,提供生信分析方法,解读经典分析案例,公众数据库的挖掘和临床数据统计分析。在此我们欢迎各位的加入!