查看原文
其他

Koeken——使LEfSe分析更便捷

生信小白鱼 鲤小白 小白鱼的生统笔记 2022-05-08
Koeken——使LEfSe分析更便捷
上一篇为LEfSe分析写了教程,包括LEfSe计算原理概述、输入文件如何准备、在线Galaxy平台运行LEfSe、本地LEfSe工具的安装使用以及对结果的说明等。因此,对LEfSe的基础部分可参考前文
特别提到了如何由OTU丰度表转换获得LEfSe的输入文件,并提供了转换的代码。转换过程中借助QIIME工具实现各分类水平的统计,需要事先将txt格式的OTU丰度表转换为biom格式以方便使QIIME识别。
既然已经将OTU表转换为biom格式,并也已安装了QIIMELEfSe程序,那就继续延伸一个工具,Koeken,是为LEfSe分析提供的包装器。KoekenQIIMELEfSe结合在一起,为从QIIME OTU表到微生物类群生物标志物的鉴定提供了更便捷的工作流程,输入biom格式的带注释OTU丰度表和带有分组信息的mapping文件,即可直接运行获得LEfSe分析结果。
Koeken的github链接:https://github.com/twbattaglia/koeken

本篇简介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运行。分别代表时间和处理的变量,DayTreatment,已经添加在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,过滤不重要数据后表格的出图效果应该会“整齐”很多。

   


链接

LEfSe分析的在线+本地运行的超详细教程

二次判别分析(QDA)及其在R中实现

线性判别分析(LDA)及其在R中实现

R包ropls的正交偏最小二乘判别分析(OPLS-DA)

R包ropls的偏最小二乘判别分析(PLS-DA)

R包tidyLPA的潜剖面分析(LPA)

R包poLCA的潜类别分析(LCA)

R包lavaan的结构方程建模-潜变量结构模型

R包piecewiseSEM的分段结构方程建模

R包lavaan的验证性因子分析(CFA)

R语言的多组间非参数差异分析Kruskal-Wallis检验

R语言的两组间非参数差异分析Wilcoxon检验



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存