有很多的生信软件都可以通过conda安装,省去了很多的安装、修bug的烦恼。经常是安装到崩溃的软件,conda一行命令就搞定了。前两天有个胖友问我gatk 3.8的版本在哪里下,下载好了之后怎么安装,我果断打开了https://bioconda.github.io/recipes ,告诉她安装conda吧,只要一行命令
conda install gatk
就行了。
然后她很可爱的问我conda怎么装。。果断就把这篇教程丢给她了,但是发现现在的用法和以前的不是很一样了,所以就把原来的教程更新了一下以飨读者。
![img_b5c9999c92e76b816e60281aa549dabe.png](https://yqfile.alicdn.com/img_b5c9999c92e76b816e60281aa549dabe.png?x-oss-process=image/resize,w_1400/format,webp)
conda简介
Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。
安装conda
conda分为anaconda和miniconda。anaconda是包含一些常用包的版本(这里的常用不代表你常用 微笑.jpg),miniconda则是精简版,需要啥装啥,所以推荐使用miniconda。
下载网址
conda官网:https://conda.io/miniconda.html
选择适合自己的版本,用wget命令下载。
wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
这里选择的是latest-Linux
版本,所以下载的程序会随着python的版本更新而更新(现在下载的版本默认的python版本已经是3.7了)
安装命令:
chmod 777 Miniconda3-latest-Linux-x86_64.sh #给执行权限
bash Miniconda3-latest-Linux-x86_64.sh #运行
注意,以前的教程都是教一路yes下来的,但是会有隐患,特别是当你的服务器之前有安装过软件的话,conda会污染你原来的环境,把你原来设置好的东西进行更改。具体的惨痛教训请参见:
Anaconda is a snake.
所以在询问是否将conda加入环境变量的时候选择no。
![img_5761465151d5e8a21eb9d9e9d3882592.png](https://yqfile.alicdn.com/img_5761465151d5e8a21eb9d9e9d3882592.png?x-oss-process=image/resize,w_1400/format,webp)
启动conda
在上一步选择no之后,输入conda是会报找不到此命令的。那要如何启动呢?
找到你刚才安装的miniconda,如果没有更改过安装位置的话应该是在/home
下面,cd
到miniconda3的bin目录下面,能看到有一个activate。
![img_829629066bce5cf76cf099285618f372.png](https://yqfile.alicdn.com/img_829629066bce5cf76cf099285618f372.png?x-oss-process=image/resize,w_1400/format,webp)
这里需要给
activate
添加一下权限才能使用
chmod 777 activate
接下来启动conda
. ./activate #这里的第一个点跟source是一样的效果,我比较懒。
![img_974ef223efe34df476106fd4d745d648.png](https://yqfile.alicdn.com/img_974ef223efe34df476106fd4d745d648.png?x-oss-process=image/resize,w_1400/format,webp)
当命令行前面出现
(base)
的时候说明现在已经在conda的环境中了。这时候输入
conda list
命令就有反应了
![img_98bbf14dc89e603035c9b7ea04a44d84.png](https://yqfile.alicdn.com/img_98bbf14dc89e603035c9b7ea04a44d84.png?x-oss-process=image/resize,w_1400/format,webp)
添加清华conda镜像源
添加清华源:(https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
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
查看已经添加的channels
conda config --get channels
已添加的channel在哪里查看
vim ~/.condarc
利用conda安装生物信息软件
安装命令:
conda install gatk
搜索需要的安装包:
提供一个网址,用于事先查找想安装的软件存不存在
conda available packages
当然, 也可以用这个命令进行搜索
conda search gatk
安装完成后,可以用“which 软件名”来查看该软件安装的位置:
which gatk
如需要安装特定的版本:
conda install 软件名=版本号
conda install gatk=3.7
这时conda会先卸载已安装版本,然后重新安装指定版本。
查看已安装软件:
conda list
更新指定软件:
conda update gatk
卸载指定软件:
conda remove gatk
退出conda环境
退出也很简单,之前我们是. ./activate 或者 (. ~/miniconda3/bin/activate)
现在退出只要:
. ./deactivate
就退出当前的环境了
创建软件的软链接
跟着命令一路敲到这里的小旁友们估计发现了,现在退出conda环境之后之前安装的软件全都GG了,敲命令没法执行了!
怎么办呢!其实只要把安装好的软件软连接到一个处在环境变量里的位置就可以使用了。三步走:
- 第一步,创建一个文件夹
我一般的习惯是在/home
目录下创建一个.soft
文件夹 - 第二步,将这个文件夹添加到环境变量中
export PATH="~/.soft:$PATH"
- 第三步,软链接
ln -s ~/miniconda3/bin/gatk ~/.soft
这样就可以运行啦~如果还是不行建议试试初始化一下bashrc:. ./bashrc
创建conda环境
之前创建的时候显示的是(base)这是conda的基本环境,有些软件依赖的是python2的版本,当你还是使用你的base的时候你的base里的python会被自动降级,有可能会引发别的软件的报错,所以,可以给一些特别的软件一些特别的关照,比如创建一个单独的环境。
在conda环境下,输入conda env list
(或者输入conda info --envs
也是一样滴)查看当前存在的环境:
![img_7c1c316bd403724a1f7b86b5f06d1e8e.png](https://yqfile.alicdn.com/img_7c1c316bd403724a1f7b86b5f06d1e8e.png?x-oss-process=image/resize,w_1400/format,webp)
目前只有一个base
conda create -n python2 python=2
#-n: 设置新的环境的名字
#python=2 指定新环境的python的版本
conda会创建一个新的python2的环境,并且会很温馨的提示你只要输入conda activate python2就可以启动这个环境了
![img_a55032449f5a353c45f1fb9ddff0cca5.png](https://yqfile.alicdn.com/img_a55032449f5a353c45f1fb9ddff0cca5.png?x-oss-process=image/resize,w_1400/format,webp)
骚操作:allias简化启动
![img_e4b23d249b0c17dca359594e87f76f0d.png](https://yqfile.alicdn.com/img_e4b23d249b0c17dca359594e87f76f0d.png?x-oss-process=image/resize,w_1400/format,webp)
linux提供了一个给大家偷懒的命令叫alias,只要在你的
.bashrc
里设置一下就好了,我添加了一条叫做
condaup
的命令,这样就可以免去每次敲
. ~/miniconda/bin/dactivate
的麻烦,一步搞定~技术宅改变世界!
![img_0d9ba345535670befa8d43e771557aeb.png](https://yqfile.alicdn.com/img_0d9ba345535670befa8d43e771557aeb.png?x-oss-process=image/resize,w_1400/format,webp)
参考及感谢
-
感谢青山屋主在知乎的专栏文章~
我为什么能知道这么多呢?因为我看了我洲更学长hoptop的课啊!推荐给你们!
https://ke.qq.com/course/310838conda的cheatsheet。conda官方提供的小抄了解一下~
https://conda.io/docs/user-guide/cheatsheet.html
ps:简书终于提供markdown编辑器的同步滚动了!开心!