欢迎光临散文网 会员登陆 & 注册

利用 bioconda 管理生物信息软件

2022-03-24 07:03 作者:一只小蛮要  | 我要投稿

文章有参考以下两个视频,有需要可以瞅瞅哟!老师们各有千秋!

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

1 了解 conda,anaconda,miniconda,bioconda

套娃娃

1.1 conda

conda是一个软件模块管理工具,也是一个可执行命令,其核心功能是包管理与环境管理,可以用来管理Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN等语言的模块。在python中使用比较多,有点类似于pip工具。

conda的用途:

    快速安装、运行和升级包及其依赖项

    在计算机中便捷地创建、保存、加载和切换环境

1.2 anaconda

anaconda是一个开源的Python发行版本,包含了conda、Python等180多个科学包及其依赖项。

Anaconda具有如下特点:

    开源

    安装过程简单

    高性能使用Python和R语言

    免费的社区支持

其特点的实现主要基于Anaconda拥有的:

    conda包

    环境管理器

    1,000+开源库

1.3 miniconda

通过以上对anaconda的介绍,我们了解到anaconda的数据包和安装包都很大,但我们用不到那么多,那么,miniconda登场!前者安装包较大,包含了较多默认安装包,而miniconda属于精简版本,可按照自己需求进行安装,推荐安装miniconda。

1.4 bioconda

bioconda是一个管理生物信息软件的工具软件,它基于anaconda可以进行生物软件的搜索、下载、安装、升级、删除等操作,可以将 bioconda 当成生物信息软件的AppStore。

bioconda的使用首先需要安装miniconda,在安装好miniconda之后,添加相应的生物信息软件相关的channel之后,就是bioconda了。换言之,bioconda就是一种生物定制版本的conda。bioconda是目前已知最好的生物软件管理工具之一,目前已经支持超过 7000 多款生物软件的安装。

bioconda的优点:

1. 自动安装依赖,解决软件依赖问题,实现生物软件一键安装,再也不用体会源代码编译之苦了;

2. 除了生信类软件,R 语言、Python语言软件包都可以进行安装;

3. 方便进行管理和升级,软件版本可选择,同一个软件可以选择安装任意的版本;

4. 使用普通用户进行安装,不需要管理员帮忙安装依赖软件;

5. 创建环境,例如需要使用Python 3,但默认是Python 2.7,可以创建一个Python 3环境;

6. 所有软件安装在同一目录下,方便进行管理和迁移。


2 bioconda的安装

2.1 miniconda的安装


2.2 添加channel

刚才安装的只是miniconda,conda默认的channel是用来管理python模块的,必须添加bioconda这个channel才能下载和安装生物软件。

自用小tips:channel就是软件包存在的位置(类似于其余语言的CPAN, CRAN, Bioconductor),conda install yyy 之所以能成功的前提,是软件 yyy 已经在某个channel里。

镜像

eg. 清华镜像channel: https://mirrors.tuna.tsinghua.edu.cn/anaconda/

小tips:

1. 不要重复添加channel,冗余的channel会让安装软件的过程变慢,且添加的先后顺序是非常重要且有意义的,要正确设置优先级(即,conda-forge是最高优先级);

2. 添加镜像要看服务器所在的位置,而不是使用者所在的位置。


3 利用bioconda管理软件

3.1 哪些软件可以用conda安装

1. 网站查询

    https://anaconda.org/

    https://bioconda.github.io/

2. 


3. 关键词搜索

    搜索引擎直接输入 xxx conda

3.2 软件管理

小tips:

安装时找不到这个包咋整?

1. 首先确认conda是否可以安装所需软件

2. 确认是不是粗心大意打错名称

3. 确认所需软件在conda中的名称

    eg. sratoolkit —— sra-tools


3.3 配置环境

3.3.1 why?

  1. conda会改变原来设置好的环境

  2. 不同软件的依赖会互相冲突

    A软件依赖Python 2.7,B软件依赖Python 3.8

  3. 方便项目管理

    基因组、转录组、Chip-seq ......

小tips:base环境里装包的时候要了解这个包对原生环境会造成什么影响(如果它在所有小环境都可以用的话,或许可以考虑装在base环境下,新手谨慎)。

3.3.2 创建独立环境

3.4 conda常用命令小结

3.4.1 环境管理

3.4.2 软件管理


4 conda大tips

4.1 mamba的使用

如果你曾遇到以下问题:

    conda下载软件速度慢?

    一直耗费时间处理环境问题?

    环境问题处理失败?

那么,mamba绝对可以让你的软件安装过程变得过分丝滑!

https://github.com/mamba-org/mamba

mamba并没有完全重新把conda重新写一遍,而是加速了其中的一些线速度的步骤。

    1. 对 conda install 进行改造,使其可以多线程并行下载

    2. 增加了一些新功能

4.1.1 mamba的安装与使用

首先切换至base环境,确保在base环境下安装mamba。

小tips:装在base环境中的包在其他小环境中可以调用,无需在每个环境下都安装一次。

除了启动环境外( conda activate xxx),其他的conda命令都可以用mamba来代替,即直接将 conda替换为 mamba 即可。

4.1.2 使用mamba查看依赖关系

mamba可以很方便地查看安装软件之间的依赖关系。

4.2 版本控制和迁移

作用:

1. 发文章的时候提供版本号;

2. 更换服务器、分享的时候保持软件版本不变。

4.3 将软件安装到指定位置

4.4 按照位置启动小环境

4.5 为特定环境设置特殊频道


参考资料

https://www.jianshu.com/p/0534043b4471

https://www.bilibili.com/video/BV1hA411W7aC?spm_id_from=333.999.0.0

https://www.bilibili.com/video/BV1Yy4y117SX?p=15

https://www.jianshu.com/p/62f155eb6ac5

利用 bioconda 管理生物信息软件的评论 (共 条)

分享到微博请遵守国家法律