微生物组分析软件 QIIME 2 安装小记
由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接。
QIIME 2 是一个功能强大,可扩展,分散式的(decentralized)微生物组分析软件包,专注于数据和分析透明度。 QIIME 2 使研究人员能够从原始 DNA 序列数据开始进行分析,最终得到以符合出版物标准的图形数据和统计结果。
主要特点:
集成和自动跟踪数据来源
语义类型系统(Semantic type system)
用于扩展微生物组分析功能的插件系统
支持多种类型的用户界面(例如API,命令行,图形)
QIIME 2 是对 QIIME 1 微生物组分析流程完全重新设计和重写而来的。 QIIME 2 将解决 QIIME 1 的许多局限性,同时保留了使 QIIME 1 成为功能强大且广泛使用的 analysis pipeline 功能。
QIIME 2 目前支持一个初始化的端到端微生物组分析 pipeline。 新的功能可以通过 QIIME 2 插件进行定期获取。 您可以在 QIIME 2 插件可用性页面 上查看当前可用的插件列表。 future plugins 插件页面列出了正在开发的插件。
QIIME 2 安装
QIIME 2 可以本地安装或使用虚拟机安装。其最新版本为 QIIME 2 Core 2018.8 distribution。下面,我们来介绍一下 Linux 下的本地机器如何安装 QIIME 2 Core 2018.8。
安装 Miniconda
Miniconda 提供了 conda 环境和软件包管理器,是安装 QIIME 2 的推荐方法。请按照下载和安装 Miniconda 的说明进行 Miniconda 安装操作,这里不展开细说。 我们可以选择 Miniconda2 或 Miniconda3(即 Miniconda Python 2 或 3)。 QIIME 2 将与任一版本的 Miniconda 一起使用。同样的,我们也可以选择在 Anaconda2 或 Anaconda3 下安装 QIIME 2。
安装 Miniconda(或者 Anaconda) 并打开新终端后,请确保我们运行的是最新版本的 conda:
conda update conda
conda install wget
部分服务器使用系统 /usr/bin/wget 下载 qiime2-2018.8-py35-linux-conda.yml 可能会出现 OpenSSL 错误,因此在这里推荐使用 conda install wget。
安装 QIIME 2
安装 Miniconda/Anaconda 后,创建一个 conda 环境并在环境中安装 QIIME 2 Core 2018.8 发行版。 我们强烈建议专门为正在安装的 QIIME 2 版本创建一个新环境,因为您可能不希望将许多必需的依赖项添加到现有环境中。 我们可以为环境选择任何我们喜欢的名称。 在这个例子中,我们将环境命名为 qiime2-2018.8 以表明安装了 QIIME 2 版本(即 2018.8)。
$ wget https://data.qiime2.org/distro/core/qiime2-2018.8-py35-linux-conda.yml
$ conda env create -n qiime2-2018.8 --file qiime2-2018.8-py35-linux-conda.yml
# OPTIONAL CLEANUP
$ rm qiime2-2018.8-py35-linux-conda.yml
由于 qiime2-2018.8 中包含了 blast-2.6.0(246.7 MB)、mkl-2018.0.3(198.7 MB)等一些大文件,其 yml 默认的 channels 会严重影响国内用户下载速度,因此在这里小编建议在已经下载好的 qiime2-2018.8-py35-linux-conda.yml 中把 conda-forge、bioconda 的 channels 更换为清华大学的镜像。
channels:
- qiime2/label/r2018.8
- qiime2
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
- defaults
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
- biocore
dependencies:
- bioconductor-biobase=2.38.0
- bioconductor-biocgenerics=0.24.0
- bioconductor-biocparallel=1.12.0
......
需要注意的是,QIIME 2 依赖包很多,安装过程可能耗费很长时间(小编在 Anaconda2 环境中一共花费了大约 1 个多小时才把它安装完成),请耐心等待。
激活 conda 环境
现在我们已拥有 QIIME 2 环境,需要使用环境名称激活它:
shenweiyan@ecs-steven 15:45:47 /home/shenweiyan
$ source activate qiime2-2018.8
QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.
(qiime2-2018.8) shenweiyan@ecs-steven 15:47:37 /home/shenweiyan
$
要停用环境,请运行 source deactivate
。
测试与使用
我们可以通过激活 QIIME 2 环境并运行来测试您的安装:
$ qiime --help
Usage: qiime [OPTIONS] COMMAND [ARGS]...
QIIME 2 command-line interface (q2cli)
--------------------------------------
To get help with QIIME 2, visit https://qiime2.org.
To enable tab completion in Bash, run the following command or add it to
your .bashrc/.bash_profile:
source tab-qiime
To enable tab completion in ZSH, run the following commands or add them to
your .zshrc:
autoload bashcompinit && bashcompinit && source tab-qiime
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
info Display information about current deployment.
tools Tools for working with QIIME 2 files.
dev Utilities for developers and advanced users.
alignment Plugin for generating and manipulating alignments.
composition Plugin for compositional data analysis.
cutadapt Plugin for removing adapter sequences, primers, and
other unwanted sequence from sequence data.
dada2 Plugin for sequence quality control with DADA2.
deblur Plugin for sequence quality control with Deblur.
demux Plugin for demultiplexing & viewing sequence quality.
diversity Plugin for exploring community diversity.
emperor Plugin for ordination plotting with Emperor.
feature-classifier Plugin for taxonomic classification.
feature-table Plugin for working with sample by feature tables.
gneiss Plugin for building compositional models.
longitudinal Plugin for paired sample and time series analyses.
metadata Plugin for working with Metadata.
phylogeny Plugin for generating and manipulating phylogenies.
quality-control Plugin for quality control of feature and sequence data.
quality-filter Plugin for PHRED-based filtering and trimming.
sample-classifier Plugin for machine learning prediction of sample
metadata.
taxa Plugin for working with feature taxonomy annotations.
vsearch Plugin for clustering and dereplicating with vsearch.
如果运行此命令时未报告任何错误,则安装成功!
FAQ:Plugin error from dada2
今天在使用 qiime dada2 处理序列质控过程中,出现一个很意外的报错:
$ qiime dada2 denoise-single --i-demultiplexed-seqs demux.qza --p-trim-left 0 --p-trunc-len 120 --o-representative-sequences rep-seqs-dada2.qza --o-table table-dada2.qza --o-denoising-stats stats-dada2.qza
Plugin error from dada2:
An error was encountered while running DADA2 in R (return code 1), please inspect stdout and stderr to learn more.
Debug info has been saved to /tmp/qiime2-q2cli-err-lygxape5.log
追踪具体的报错信息:
$ cat /tmp/qiime2-q2cli-err-lygxape5.log
R version 3.4.1 (2017-06-30)
Loading required package: Rcpp
Error: package or namespace load failed for ‘dada2’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/usr/local/software/Anaconda2/envs/qiime2-2018.8/lib/R/library/RCurl/libs/RCurl.so':
/usr/local/software/Anaconda2/envs/qiime2-2018.8/lib/R/library/RCurl/libs/../../../.././libcom_err.so.3: symbol k5_strerror_r, version krb5support_0_MIT not defined in file libkrb5support.so.0 with link time reference
Execution halted
Running external command line application(s). This may print messages to stdout and/or stderr.
The command(s) being run are below. These commands cannot be manually re-run as they will depend on temporary files that no longer exist.
......
根据 log 信息,很明显是在执行 qiime dada2 过程中软件调用了 R 中的 dada2 包不成功,引发了一个 libcom_err.so.3 的共享动态库错误。为了印证问题,我们进入了 qiime2-2018.8 环境下的 R 测试导入 dada2,果然出现了一样的错误:
> library(dada2)
Error: package or namespace load failed for ‘dada2’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/usr/local/software/Anaconda2/envs/qiime2-2018.8/lib/R/library/RCurl/libs/RCurl.so':
/usr/local/software/Anaconda2/envs/qiime2-2018.8/lib/R/library/RCurl/libs/../../../.././libcom_err.so.3: symbol k5_strerror_r, version krb5support_0_MIT not defined in file libkrb5support.so.0 with link time reference
>
结合 google 后的一些解决方案,考虑到这应该是受系统 LD_LIBRARY_PATH 干扰,以致于导致了 qiime2-2018.8 conda 环境的共享动态库不起作用。后来,我们通过更直接的 echo $LD_LIBRARY_PATH
命令查看 qiime2-2018.8 环境中是否有系统的 LD_LIBRARY_PATH 影响时,的确发现了系统的默认库环境:
(qiime2-2018.8) shenweiyan@ecs-steven 16:24:29 /home/shenweiyan/debugs/qiime-18.09.19
$ echo $LD_LIBRARY_PATH
/usr/local/software/R-3.3.2/lib64/:/usr/local/software/R-3.3.2/lib:/usr/local/lib:/usr/local/software/libgd/lib:/usr/local/software/gsl/lib:/usr/local/software/zlib/lib:/lib64:/opt/intel/composer_xe_2011_sp1.6.233/mkl/lib/intel64:/opt/intel/composer_xe_2011_sp1.6.233/debugger/lib/intel64:/opt/intel/composer_xe_2011_sp1.6.233/mpirt/lib/intel64:/opt/intel/composer_xe_2011_sp1.6.233/debugger/lib/intel64:/opt/intel/composer_xe_2011_sp1.6.233/mpirt/lib/intel64
最后,我们通过在程序中手动临时删除系统默认 LD_LIBRARY_PATH ,从而解决了以上问题:
unset LD_LIBRARY_PATH
当然,我们也可以把以上设置添加到 ~/.bashrc 或者 ~/.bash_profile 中,让它永久起作用。
·end·
—如果喜欢,快分享给你的朋友们吧—
我们一起愉快的玩耍吧
本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
微生物组分析软件 QIIME 2 安装小记的更多相关文章
- 微生物组学数据分析工具综述 | 16S+宏基因组+宏病毒组+宏转录组--转载
转载:https://mp.weixin.qq.com/s/xsL9GuLs7b3nRF8VeRtinQ 建立在高通量测序基础上的微生物群落研究,当前主要有三大类:基于16S/18S/ITS等扩增子做 ...
- Python cx_Oracle 安装小记
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python cx_Oracle 安装小记 SQLAlchemy 是 Pytho ...
- Kong网关介绍与安装小记
本文主要为kong安装小记,系统环境为centos 6.7 本文转载请注明出处 —— xiaoEight 介绍 Kong 是在客户端和(微 ...
- AI-Info-Micron:人如其食:人工智能和人类微生物组
ylbtech-AI-Info-Micron:人如其食:人工智能和人类微生物组 1.返回顶部 1. 人如其食:人工智能和人类微生物组 “相信你身体发出的信号”,的确是一个很好的建议.研究人员在不遗余力 ...
- 【转】Ubuntu 18.04安装小记
我的电脑是神舟z7 kp7s1,显卡1060,尝试了Ubuntu的16.04,安装完进入界面总是卡死了,后面换18.04依然无解,和版本无关,而是因为英伟达的显卡问题. 参考了如下这篇文章:Ubunt ...
- YCM 安装小记
layout: post title: YCM 安装小记 半夜,女朋友在那边抱怨购物车的物品秒无货,我这边刚好成功安装了vim上最难装的插件--YouCompleteMe,内心非常激动,于是本着取之于 ...
- JanusGraph 图数据库安装小记 ——以 JanusGraph 0.3.0 为例
由于近期项目中有使用图数据的需求,经过对比,我们选择尝试使用 JanusGraph.本篇小记记录了我们安装 JanusGraph 以及需要一起集成的 Cassandra + Elasticsearch ...
- Elasticsearch5.1.1+ik分词器+HEAD插件安装小记
一.安装elasticsearch 1.首先需要安装好java,并配置好环境变量,详细教程请看 http://tecadmin.net/install-java-8-on-centos-rhel-an ...
- Opentaps安装小记
这周了解了个MES项目需求,于是乎找了些开源项目了解下,有php+mysql写的weberp,配置起来相当方便,下一版webERP_v4.13,往F:\Apache\htdocs\一放,启动F:\Ap ...
- Archlinux 上 Nginx + PHP + Mariadb + DiscuzX2.5 安装小记
因为不好找下载集成服务器工具,而且他们自己又打包了一份 php 之类的程序,本身系统就已经有 php 还有数据库什么的了再搞一份受不了,最后选择了手动配置…… 这是一个在 Archlinux 上手动从 ...
随机推荐
- Java面试——搜索
更多内容,前往 IT-BLOG 一.Elasticsearch了解多少 ElasticSearch 是一个基于 Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTfu ...
- JVM常用参数说明
内存相关 通过这些参数可以对JVM的内存分配做调整 Xms 英文解释:Initial heap size(in bytes) 中文释义:堆区初始值 使用方法:-Xms2g 或 -XX:InitialH ...
- java -- Object类和String类
Object类 java.lang.Object类是Java语言中的根类,每个类都使用 Object 作为超类, 所有的类都直接或间接继承自 Object 类.所有对象(包括数组)都实现这个类的方法. ...
- vue指令之事件指令
目录 什么是事件指令 示例 什么是事件指令 事件指的是:点击事件,双击事件,划动事件,焦点事件... 语法 v-on:事件名='函数' # 注意:函数必须写在 methods配置项中 示例 # 点击按 ...
- 在k8s上安装Harbor
在k8s上安装Harbor 先前条件 <kubernetes(k8s) 存储动态挂载><在k8s(kubernetes)上安装 ingress V1.1.3> 参考我之前的文档 ...
- 四月十六号java基础知识
1.如果没有一个机制来限制对类中成员的访问,则很可能会造成错误的输入如果在类的成员声明前面加上修饰符private,则无法从类的外部访问到该类内部的成员,而只能被该类自身访问和修改,而不能被任何其他类 ...
- C# System.ObjectDisposedException: Cannot access a disposed object, A common cause of thiserror is disposing a context that was resolved from dependency injection and then later trying touse...
项目中使用了依赖注入,这个错误在我项目中的原因:在async修饰的异步方法中,调用执行数据库操作的方法时,没有使用await关键字调用,因为没有等待该调用,所以在调用完成之前将继续执行该方法.因此,已 ...
- ROS机器人摄像头寻线
ROS机器人摄像头寻线 连接小车 注意:必须在同一区域网 ssh clbrobort@clbrobort 激活树莓派主板 roslaunch clbrobot bringup.launch 开启摄像头 ...
- 基于深度强化学习(DQN)的迷宫寻路算法
QLearning方法有着明显的局限性,当状态和动作空间是离散的且维数不高时可使用Q-Table存储每个状态动作的Q值,而当状态和动作时高维连续时,该方法便不太适用.可以将Q-Table的更新问题变成 ...
- 前端获取后端设置的自定义头,前端获取不到后端设置的response headers
需要后端设置 Access-Control-Expose-Headers 例如:后端在返回头中设置 user-name: 张三 但是前端直接response.headers['user-name']是 ...