Koeken——使LEfSe分析更便捷
本篇简介Koeken的安装和使用过程。
Koeken的安装
首先安装Koeken。
#使用 pip 安装 Koeken
pip install https://github.com/twbattaglia/koeken/zipball/master
koeken.py --help
#或者编译安装
wget https://codeload.github.com/twbattaglia/koeken/zip/master
unzip master
cd koeken-master
python setup.py install
koeken.py --help
#或者 conda 安装
conda install Koeken
koeken.py --help
文件准备
Koeken的输入文件包括OTU丰度表和样本分组文件。
OTU表转化为biom格式,用过QIIME的同学应该对它不陌生;样本分组信息包含在mapping文件里,mapping文件也是QIIME的标准配置文件。
对于biom格式和mapping文件的简介可参考QIIME文档:
http://qiime.org/documentation/file_formats.html#mapping-file-overview
某试验对微生物群落添加某种处理,分为对照组和处理组,并在处理后的第2、3、4天取样,16S高通量测序获得细菌群落数据。
#示例数据可获取自 https://pan.baidu.com/s/1ctwyoTqT1ofygMUnTj7CPA#otu_table.txt,OTU 丰度表
#otu_tax.txt,OTU 注释文件,数据库随意
#mapping.txt,QIIME 的 mapping 配置文件,含样本分组信息
#常见的 OTU 丰度表转为 biom 格式,并添加 OTU 注释信息
cp otu_table.txt otu_table.tsv
sed -i '1i\# Constructed from biom file' otu_table.tsv
biom convert -i otu_table.tsv -o otu_table.biom --table-type="OTU table" --to-json
biom add-metadata -i otu_table.biom --observation-metadata-fp otu_tax.txt -o otu_table.tax.biom \
--sc-separated taxonomy --observation-header OTUID,taxonomy
运行Koeken
我们期望在每个时间点,比较处理和对照的细菌群落差异,从中找到最具代表性的差异类群。
然后以下是一个简单示例,展示Koeken运行。分别代表时间和处理的变量,Day和Treatment,已经添加在mapping文件中,分析时指定该列即可。
#运行 Koeken 的一个简单示例,细节参数详见 koeken.py --help
#例如,设定统计检验显著性 p 值 0.05,LDA 得分值 2.0
koeken.py --input otu_table.tax.biom --map mapping.txt --output koeken_out \
--class Treatment --split Day --level 6 --pval 0.05 --effect 2 --clade --image pdf
结果目录“koeken_out/lefse_output/run_lefse”里面,即为本次分析结果。
同前文LEfSe分析,对于统计结果文件,内容结构和LEfSe标准输出一致。
对于每个时间点的比较分析,各自输出一个统计结果文件。这也是Koeken的一个优势,允许一次同时并行分析多批次的数据,提高效率;同时各批次结果也能分开给出,便于我们各自比较。
第1列,每种微生物类群名称;“Other”没有自动去除,可手动过滤一下;
第2列,每种微生物类群在各分组类别中丰度平均值中最大值的log10(不过这不是原始丰度,而是标准化后的丰度,LEfSe自己有套标准化方法);
第3列,若该微生物类群存在组间显著差异,且线性判别得分(LDA score)高于设定阈值,则该列展示其所富集的分组类别名称;若不存在显著差异,则该列为空;
第4列,若该微生物类群存在组间显著差异,且线性判别得分高于设定阈值,则该列展示其线性判别得分值,用以评估其对观测到的组间差异的效应大小,该值越高代表该微生物类群越重要;若不存在显著差异,则该列为空;
第5列,统计检验的p值,若显著,则将这些微生物作为解释类别之间差异的biomaker来看待;若不显著,则该列值为“-”。
使用该结果进一步作图,以图形方式展示了由分层要素名称指定的分类树中发现的biomaker,见“koeken_out/lefse_output/run_lefse/cladograms”。
图中每一个节点代表一种给定的微生物类群,对于不显著的微生物使用黄色节点标注,显著的则赋予其它颜色,颜色代表了其富集的分组,即表明这些分支在某些分组中具有更高的丰度。
不过由于上述结果表格没有自动过滤一些不重要的类群(如Other等),所以作图结果中的点很密集,很不好看。
此时不妨手动过滤一下上述结果表格,将其中的一部分不显著的微生物类群去除,之后再将编辑后的表读入LEfSe程序作图。如前文LEfSe教程所述,可以使用Galaxy云平台,也可使用本地版的LEfSe,过滤不重要数据后表格的出图效果应该会“整齐”很多。
R语言的多组间非参数差异分析Kruskal-Wallis检验