1. Conda安装

如BioConda官网[1]所说,BioConda需要Conda安装环境,如果你使用过Anaconda python安装环境,那么你已经有了Conda安装环境,否则,最好的办法是安装Miniconda。

从Miniconda的官网上[2]下载最新版与你使用的系统对应的安装器,例如我使用的是64位Linux系统、Python2.7,那么代码如下:

wget  https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh

bash Miniconda2-latest-Linux-x86_64.sh

# 注意:这里一定要用bash命令来运行sh脚本!如果直接使用sh Miniconda2-latest-Linux-x86_64.sh则会报错。

运行过程中会问起,是否安装在$HOME目录下,是否将路径写到.bashrc中。一路回车即可。

注意:第二个坑——这时在终端运行conda居然没有!这是因为安装时conda路径仅写到了~/.bashrc中,但是并没有source。

在source之前建议修改一个新加入的这个路径,将其修改为

export PATH="$PATH:$HOME/miniconda2/bin"

# 即将$PATH移到miniconda之前,这样如果有复盖,系统会先搜索之前安装的程序再找miniconda安装的

再source一下:

source  ~/.bashrc

# 这时再运行conda时可以正常显示

2. 设置conda的channels

conda config --add channels r

conda config --add channels defaults  # conda环境默认仅装了这一个channel

conda config --add channels conda-forge

conda config --add channels bioconda

目前清华大学提供了一个conda的镜像,添加后可以非常快速的下载软件,具体添加方法如下:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --set show_channel_urls yes

# 完成后打开$HOME/.condarc可以查看到结果

〔lurui@bio ~〕$ cat ~/.condarc
channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
 - bioconda
 - conda-forge
 - defaults
 - r
show_channel_urls: true

3. 安装软件

这里有>2700个生信包可以直接安装!安装方法例如:

conda install star

# 完成后STAR安装在了~/miniconda2/bin/目录下,因为这个目录已加入系统路径,因此可以直接运行STAR(注意大小写)

# 注:根据经验来看软件名一般会是全小写的格式

有时候网络不好会出现以下报错,这时需要再多连接几次:

除了以上简单的安装外,还可以建立工作空间将几个相应的软件装到一起,例如我想将几种比对的软件装在一个叫做aligners的环境下:

conda  create  -n  aligners  bwa  bowtie  hisat2

注:如果系统中已经安装了该软件,conda不会再进行安装

这种分组安装的办法将软件安装在$HOME/miniconda2/envs/aligners/bin/目录下(其中aligners即conda create -n选项指定的环境名)

用时需指定路径,例如想用aligners中的hisat2需要

$HOME/miniconda2/envs/aligner/bin/hisat2

如果想卸载某软件(例如刚才安装的star),可以使用

conda uninstall star

或conda remove star

# 注意:conda不会卸载系统中原来安装的软件,它只会卸载~/miniconda2/bin/目录中的软件,所以可以放心使用

以下代码可以列出$HOME/miniconda2中的安装的所有程序

conda list

另外,conda还有upgrade和search比较常用。其它的可以直接在终端输入conda查看。

4. 设置一个新环境

conda可以形成一个独立的安装环境,那可不可以同时生成另外一个独立的安装环境? 例如在某些情况下我想用samtools 1.3,但在某些情况下其它软件依赖samtools 0.1.19,这两个版本都很经典,但是安装在一个环境下samtools只能两者选某一。这时我们可以用conda create创建一个独立的环境

/home/lurui/miniconda2/bin/conda create -n sibling

# 其中sibling表示这个环境的名字,可自选

新环境建成后需使用以下代码激活该环境:

source activate sibling

注意:这时会在命令行提示符前有一个(sibling),表示已经在这个环境下

再使用conda install在这个新环境下装软件

/home/lurui/miniconda2/bin/conda install samtools=0.1.19

装完后在命令行直接输入samtools可以看到使用的是0.1.19版的samtools

想要退出sibling环境可以使用以下代码

source deactivate

5. Tips

2.1 用conda安装perl包

如果如下图中报错,而且同时有管理员权限,可以使用我的另一篇博文(http://blog.sciencenet.cn/blog-2970729-1068147.html)中的方法安装;如果没有管理员权限,可以使用这里介绍的方法来安装

首先建议在bioconda官网https://anaconda.org/bioconda/repo搜索一下相关perl包,搜索的格式如perl-archive-extract(perl-父模块全小写-子模块全小写)这时会出现以下搜索结果,表明bioconda中有这个perl包。

可直接在终端使用以下命令

conda install perl-archive-extract

当然搞清楚了perl安装包的命名规则后也可以直接在终端用以下命令搜索

conda search perl-archive-extract

参考材料

[1] https://bioconda.github.io/

[2] https://conda.io/miniconda.html

bioconda文档提到,使用之前需要先配置频道(channel),我安装的是conda,没有配置过,bioconda已经存在:

% conda config --get channels

--add channels 'defaults'
--add channels 'r'
--add channels 'bioconda'
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'

conda还有一个很赞的特性:工作环境(environment),比如我现在使用的是Python2.7,但是个别时候还需要用Python3,就可以新建一个环境:

% conda create -n py35 python=3.5 anaconda #指定使用Python3.5
% source activate py35 #切换为Python3.5
% source deactivate py35 #切换到默认版本
conda配置

conda使用的默认软件源,在目前的网络环境下很慢,尤其是安装numpy这样要下载几十M数据的情况下。是的,你可能猜到我要说什么了,换国内的镜像。在家目录下,新建一个名为“.condarc”的文件,内容参考如下:

channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- bioconda
- r
- defaults

确保镜像的网址在前面,因为conda读取频道列表时是从上到下进行的。

3.添加国内源,解决下载慢的问题

Bioconda默认的chanel都在国外,下载软件非常缓慢,我们可以添加国内的chanel,以提高下载速度:

  1. conda config —add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  2. conda config —add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  3. conda config —add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

BioConda--转载的更多相关文章

  1. Crystal Clear Applied: The Seven Properties of Running an Agile Project (转载)

    作者Alistair Cockburn, Crystal Clear的7个成功要素,写得挺好. 敏捷方法的关注点,大家可以参考,太激动所以转载了. 原文:http://www.informit.com ...

  2. RTP与RTCP协议介绍(转载)

    RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.RTP中没有连接的概念,本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完 ...

  3. 《Walking the callstack(转载)》

    本文转载自:https://www.codeproject.com/articles/11132/walking-the-callstack Download demo project with so ...

  4. [转载]MVVM模式原理分析及实践

    没有找到很好的MVVM模式介绍文章,简单找了一篇,分享一下.MVVM实现了UI\UE设计师(Expression Blend 4设计界面)和软件工程师的合理分工,在SilverLight.WPF.Wi ...

  5. [转载]:STM32为什么必须先配置时钟再配置GPIO

    转载来源 :http://blog.csdn.net/fushiqianxun/article/details/7926442 [原创]:我来添两句,就是很多同学(包括我)之前搞低端单片机,到了stm ...

  6. [转载]从MyEclipse到IntelliJ IDEA-让你摆脱鼠标,全键盘操作

    从MyEclipse转战到IntelliJ IDEA的经历 注转载址:http://blog.csdn.net/luoweifu/article/details/13985835 我一个朋友写了一篇“ ...

  7. TCP同步与异步,长连接与短连接【转载】

    原文地址:TCP同步与异步,长连接与短连接作者:1984346023 [转载说明:http://zjj1211.blog.51cto.com/1812544/373896   这是今天看到的一篇讲到T ...

  8. 在CentOS 7/6.5/6.4 中安装Java JDK 8(转载)

    转载在CentOS 7/6.5/6.4 中安装Java JDK 8 首先,在你的服务器上运行一下更新. yum update 然后,在您的系统上搜索,任何版本的已安装的JDK组件. rpm -qa | ...

  9. 用C#实现MD5的加密(转载)

    方法一 首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer scien ...

  10. [转载]iOS 10 UserNotifications 框架解析

    活久见的重构 - iOS 10 UserNotifications 框架解析 TL;DR iOS 10 中以前杂乱的和通知相关的 API 都被统一了,现在开发者可以使用独立的 UserNotifica ...

随机推荐

  1. vim编辑文件警告Swap file already exists ,如何删除vim编辑产生的.swp文件?查看隐藏文件命令

    vim编辑文件警告Swap file already exists,如何删除vim编辑产生的.swp文件?查看隐藏文件命令 Linux(centos7)下多个用户同时编辑一个文件,或编辑时非正常关闭, ...

  2. js数组内数字按大小排序实现函数

    正常冒泡排序: function evlabc(a) { //排序大小 var i = j = t = 0; for (i = 0; i < a.length; i++) { for (j = ...

  3. python之字符串函数

    1.  endswith()  startswith() # 以什么什么结尾 # 以什么什么开始 test = "alex" v = test.endswith('ex') v = ...

  4. js动态添加和删除table的行例子

    <table id="table_report" class="table table-striped table-bordered table-hover&quo ...

  5. Dubbox分布式框架之入门

    Dubbox简介 Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbox,被国内电商及换联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护, ...

  6. MySQL5.7 忘记root密码,怎么破?

    MySQL5.7 忘记root密码,怎么破? 关服 # kill $mysql_pid 免密启动 # /usr/local/mysql57/bin/mysqld_safe --defaults-fil ...

  7. 那些不错的 [ Html5 + CSS3 + Canvas ] 效果!

    apng制作工具:http://isparta.github.io/how.html apng制作文章:http://isux.tencent.com/introduction-of-apng.htm ...

  8. enq: TM - contention一例

    今天下午,有台服务器出现异常,响应特别慢,io等待奇高,awr top 5事件如下: 经回查ash,找到了造成这些事件的sql语句,如下: select * from v$active_session ...

  9. 分布式系统下的全局id生成策略分析

    对于分布式系统而言,意味着会有很多个instance会并发的生成很多业务数据,比如订单.不同的机房.不同的机器.不同的应用实例会同时生成.所以,如何生成一个好用的全局id并不是一个简单的uuid就能够 ...

  10. 转:网卡、光纤网卡、ISCSI卡有什么区别?

    网卡.光纤网卡.ISCSI卡有什么区别? 感谢: http://www.it.com.cn/f/server/063/6/241650.htm 在讨论这个问题的时候,需要先说清楚一个问题:我们知道,在 ...