BioConda--转载

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可以查看到结果

〔[email protected] ~〕$ 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读取频道列表时是从上到下进行的。

原文地址:https://www.cnblogs.com/nkwy2012/p/8686223.html

时间: 2024-08-09 02:26:05

BioConda--转载的相关文章

【转载】C++拷贝构造函数(深拷贝,浅拷贝)

对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量.下面看一个类对象拷贝的简单例子. #include <iostream>using namespace std;class CExample {private:     int a;public:     CExample(int b)     { a=b;}     void Show ()     {        cout<

门控时钟-理论分析 ---- 转载

转载自:http://www.chipsbank.com/news_detail/newsId=123.html 门控的基本要求: 1. 所需要的沿(对于正沿触发的寄存器是正沿,对于负沿触发的寄存器是负沿)不增加,不减少: 1. 不会产生毛刺: 1. 使用后功耗要能够降低: 1. 最好面积还会减小. 1. 上升沿触发的门控时钟的结构研究:应用与上升沿触发的寄存器的门控. 1. 直接与门结构: 1. 高电平使能Latch + 与门结构: 1. 低电平使能Latch + 与门结构: 1. 波形研究:

浅谈Java中的equals和==(转载)

在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String("hello"); 3 4 System.out.println(str1==str2); 5 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输出结果不一样?==和equals方法之间的区别是什么?如果在初学Java的时候这个问题不弄清楚,就

JVM学习(2)——技术文章里常说的堆,栈,堆栈到底是什么,从os的角度总结--转载http://www.cnblogs.com/kubixuesheng/p/5202561.html

转载自---http://www.cnblogs.com/kubixuesheng/p/5202561.html 俗话说,自己写的代码,6个月后也是别人的代码--复习!复习!复习!涉及到的知识点总结如下: 堆栈是栈 JVM栈和本地方法栈划分 Java中的堆,栈和c/c++中的堆,栈 数据结构层面的堆,栈 os层面的堆,栈 JVM的堆,栈和os如何对应 为啥方法的调用需要栈 属于月经问题了,正好碰上有人问我这类比较基础的知识,无奈我自觉回答不是有效果,现在深入浅出的总结下: 前一篇文章总结了:JV

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc

2.EasyUI学习总结(二)——easyloader分析与使用(转载)

本文转载自:http://www.cnblogs.com/haogj/archive/2013/04/22/3036685.html 使用脚本库总要加载一大堆的样式表和脚本文件,在easyui 中,除了可以使用通常的方式加载之外,还提供了使用 easyloader 加载的方式.这个组件主要是为了按需加载组件而诞生.什么情况下使用它呢? 你觉得一次性导入 easyui 的核心 min js 和 css 太大 你只用到 easyui 的其中几个组件 你想使用其中的一个组件,但是你又不知道这个组件依赖

Data guard概念篇一(转载)

本文转载至以下链接,感谢作者分享! http://tech.it168.com/db/2008-02-14/200802141545840_1.shtml 一.Data Guard配置(Data Guard Configurations) Data Guard是一个集合,由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)组成.组成Data Guard的数据库通过Oracle Net连接,并且有可能分布于不同地域.只要各库之间可以相互通信,它们的物理位置并没有什么

【转载】GBDT(MART) 迭代决策树入门教程 | 简介

      转载地址:http://blog.csdn.net/w28971023/article/details/8240756        GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案.它在被提出之初就和SVM一起被认为是泛化能力(generalization)较强的算法.近些年更因为被用于搜索排

LIB和DLL的区别与使用(转载)

转载自:http://www.cppblog.com/amazon/archive/2009/09/04/95318.html 共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library.一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library.共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.e

[转载]HDFS初探之旅

转载自 http://www.cnblogs.com/xia520pi/archive/2012/05/28/2520813.html , 感谢虾皮工作室这一系列精彩的文章. Hadoop集群(第8期)_HDFS初探之旅 1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上.它所具有的高容错.高可靠性.高可扩展性.高