qiime2 有自带的差异分析工具的(composition ancom),可是,大家已经习惯了一直用的 lefse,于是,把 qiime2 的结果导出进行 lefse 分析,在某种程度上就是一个“刚需”啦!在希望 qiime2 官方或者 lefse 官方做一个 q2-lefse 之前,我们的解决方案有哪几个呢?这里分享下我找到的几个,欢迎补充。
1. dokdo[1]模块
使用 QIIME2 进行微生物组测序分析的 Python 模块。看起来是个台湾同胞写的,最近一次更新在两年前。文档在这里–dokdo documentation–lefse[2]
为了使用 LEfSe,需要打开两个终端窗口:一个用于您通常的 QIIME 2 环境,另一个用于运行 LEfSe。对于后者,应该创建一个新的 conda 环境并安装 LEfSe,如下所述:
-
运行 QIIME 2 和 Dokdo: 安装好 qiime(略)
# 安装dokdo
git clone https://github.com/sbslee/dokdo
cd dokdo
pip install .
# 激活环境
conda activate qiime2-2020.8
-
运行 LEfSe(如果选择 Galaxy 在线分析,不需要安装):
conda create -n lefse -c conda-forge python=2.7.15
conda activate lefse
conda install -c bioconda -c conda-forge lefse
设置好两个终端之后,可以从 QIIME 2 特性表中为 LEfSe 创建一个输入文件。以“Moving Pictures”教程为例(在 QIIME 2 终端下运行)。
dokdo prepare-lefse
-t data/moving-pictures-tutorial/table.qza
-x data/moving-pictures-tutorial/taxonomy.qza
-m data/moving-pictures-tutorial/sample-metadata.tsv
-o output/Useful-Information/input_table.tsv
-c body-site
-u subject
-w "[body-site] IN ('tongue', 'gut', 'left palm')"
然后,就可以选择使用 Galaxy 或者本地进行分析啦!这个方法最早是在这里看到的,github 上竟然没有搜索到。尋找生物標記(Biomarker) LEfSe + dokdo[3]
qiime2 论坛的方法qiime2 to LEfSe[4]
Lefse after QIIME2[5]为 LEfSe 准备 Qiime2 文件:
-
将 table.gza 折叠到 L6 级别
qiime taxa collapse --i-table table.qza --o-collapsed-table collapse.table.qza --p-level 6 --i-taxonomy taxonomy.qza
-
计算折叠表的相对频率(您得到的不是计数,而是相对丰度)
qiime feature-table relative-frequency --i-table collapse.table.qza --o-relative-frequency-table collapse.frequency.table.qza --output-dir collapse.frequency/
导出 BIOM 文件
qiime tools export collapse.frequency.table.qza --output-dir collapse.frequency/
-
或者将 BIOM 转换为文本文件(用于 LEFSE 比较)
biom convert -i collapse.frequency.table.biom -o collapse.frequency.table.txt --header-key “taxonomy” --to-tsv
您需要为 LEfSe 格式化文本文件。这意味着,根据您是否有类或子类,您必须在文件顶部添加 2-3 行。第 1 行需要是您的类,第 2 行需要是您的子类,第 3 行将是您的全部 “;”,在整个分类中必须更改为 “|”。
易生信流程提供的方法
EasyAmplicon/pipeline.sh at master · YongxinLiu/EasyAmplicon (github.com)[6]
## LEfSe输入文件准备
### 3.1. 命令行生成文件
# 可选命令行生成输入文件
Rscript ${db}/script/format2lefse.R -h
mkdir -p result/lefse
# threshold控制丰度筛选以控制作图中的枝数量
Rscript ${db}/script/format2lefse.R --input result/otutab.txt
--taxonomy result/taxonomy.txt --design result/metadata.txt
--group Group --threshold 0.4
--output result/lefse/LEfSe
### 3.2 Rmd生成输入文件(可选)
#1. result目录中存在otutab.txt, metadata.txt, taxonomy.txt三个文件;
#2. Rstudio打开EasyAmplicon中format2lefse.Rmd,另存至result目录并Knit生成输入文件和可重复计算网页;
这三种方法,相比手动处理,还是多了些方便的,减少了出错的可能,欢迎交流,你用的是哪种呀!
dokdo: https://github.com/sbslee/dokdo
[2]dokdo documentation–lefse: https://dokdo.readthedocs.io/en/latest/useful_information.html#lefse
[3]尋找生物標記(Biomarker) LEfSe + dokdo: https://ithelp.ithome.com.tw/articles/10312346?sc=rss.qu
[4]qiime2 to LEfSe: https://forum.qiime2.org/t/qiime2-to-lefse/13132/3
[5]Lefse after QIIME2: https://forum.qiime2.org/t/lefse-after-qiime2/4496/8
[6]EasyAmplicon/pipeline.sh at master · YongxinLiu/EasyAmplicon (github.com): https://github.com/YongxinLiu/EasyAmplicon/blob/master/pipeline.sh
本篇文章来源于微信公众号:微因