qiime2有自带的差异分析工具的(composition ancom),可是,大家已经习惯了一直用的lefse,于是,把qiime2的结果导出进行lefse分析,在某种程度上就是一个“刚需”啦!在希望qiime2官方或者lefse官方做一个q2-lefse之前,我们的解决方案有哪几个呢?这里分享下我找到的几个,欢迎补充:
1. dokdo模块
使用QIIME2进行微生物组测序分析的Python模块。看起来是个台湾同胞写的,最近一次更新在两年前。文档在这里--dokdo documentation--lefse
为了使用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
qiime2论坛的方法qiime2 to LEfSe
Lefse after QIIME2
为 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)
## 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生成输入文件和可重复计算网页;
这三种方法,相比手动处理,还是多了些方便的,减少了出错的可能,欢迎交流,你用的是哪种呀!