增强版在线LEFSe分析和可视化鉴定标志性基因或物种

2022-01-18 20:07:42 浏览数 (2)

LEfSe分析即LDA Effect Size分析,是一种用于发现和解释高维度数据 生物标识(基因、通路和分类单元等)的分析工具,可以进行两个或多个分组的比较,它强调统计意义和生物相关性,能够在组与组之间寻找具有统计学差异的生物标识(Biomarker)。

专门为宏基因组开发的组合统计和可视化方法,由哈佛大学Huttenhover课题组开发,发表于Genome Biology, 引用过千次。

LEFSe基本原理

A. 首先在多组样本中采用的非参数因子Kruskal-Wallis秩和检验检测不同分组间丰度差异显著的物种;B. 再利用Wilcoxon秩和检验检查在显著差异物种在分组亚组之间是否都趋同于同一分类 (如果存在分组亚组时);C. 最后用线性判别分析(LDA)对数据进行降维和评估差异显著的物种的影响力(即LDA score)(也可以利用支持向量机分析)。

秩和检验

秩和检验是一种非参数检验法,它是一种用样本秩来代替样本值的检验法。根据样本分组的不同可分为两样本Wilcoxon秩和检验和多样本Kruskal-Wallis检验。

基本思想是:若检验假设成立,则两组的秩和不应相差太大。通过编秩,用秩次代替原始数据信息来进行检验。

原理就是不管样本中的数据到底是多少,将两样本数据混合后从小到大排序,然后按顺序赋秩,最小的赋为1,最大的赋为n1 n2,分别对两个样本求平均秩,如果两个样本的平均秩相差不大,则说明两个总体不存在显著差异;反之,若相差较大,先分别求出两个样本的秩和,再计算检验统计量(含量较小的样本秩和)和统计量(期望秩和,查T值表可知)的P值并作出决策。

线性判别分析LDA

线性判别分析LDA是一种supervised learning(有监督学习)。有些资料上也称为是Fisher’s Linear Discriminant,由Ronald Fisher发明自1936年,是在目前机器学习、数据挖掘领域经典且热门的一个算法。

线性判别分析LDA(Linear Discriminant Analysis)的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。简单来说就是一种投影,是将一个高维的点投影到一个低维空间,我们希望映射之后,不同类别之间的距离越远越好,同一类别之中的距离越近越好。

LEFSe在线分析

LEfSe为Python包,现已支持Python3,可从https://github.com/SegataLab/lefse下载安装在本地分析。我们最近升级绘图平台BIC时,也针对实际需求对LEfSe代码进行了修改、更新,并提交给了主仓库。

简单来说,使用BIC的在线分析优势如下:

  1. 不需要安装即可使用
  2. 支持导出文本可编辑的矢量图 (早期LEfSe可以输出svg, pdf但文字不可修改,已经路径化了)
  3. 支持自定义各个分组的颜色
  4. 导出的图例会自动分列或重计算避免发生图例溢出事宜(这也是之前总遇到的问题,需要手动 Adobe Illustrator 修改)

中间两个功能还没有合并到主仓库中,在Galaxy版本的LEfSe目前也没有这些更新的功能。

输入数据
  1. 第一行为标题行,包含样品的分组信息,示例数据样品分为3组,KO,OE,WT
  2. 本示例数据没有包括subclasssubject信息。
  3. 从第二行开始是每个注释物种的丰度信息,不同分类层级之间用|分割。
代码语言:javascript复制
Class    KO    KO    KO    KO    KO    KO    OE    OE    OE    OE    OE    OE    WT    WT    WT    WT    WT    WT
Bacteria    63.4    62.6    68.2    68.6    72.6    65.9    54.3    58.6    63.7    62.8    62.3    55.0    66.8    70.7    60.6    64.1    70.3    63.8
Bacteria|Actinobacteria    16.4    27.6    18.9    20.9    12.1    15.4    17.0    21.4    22.9    18.3    20.2    16.6    25.0    22.6    21.4    24.1    25.0    21.0
Bacteria|Bacteroidetes    1.4    1.1    6.5    1.9    3.9    1.6    1.7    6.3    6.0    4.5    2.2    1.4    3.4    3.7    2.8    1.6    3.2    4.3
Bacteria|Chloroflexi    0.6    0.5    0.2    0.5    0.6    0.3    0.4    1.1    0.2    0.6    1.0    0.6    2.6    0.2    0.5    0.5    1.1    0.8
Bacteria|Firmicutes    0.5    0.4    0.1    0.2    0.1    0.3    2.0    0.7    1.0    1.1    0.5    2.2    0.2    0.1    0.3    0.2    0.1    0.2
Bacteria|Proteobacteria    44.4    33.0    42.5    45.0    55.9    48.3    33.2    28.9    33.6    38.2    38.4    34.2    35.7    44.1    35.7    37.9    40.9    37.5
Bacteria|Actinobacteria|Actinobacteria    16.4    27.6    18.9    20.9    12.1    15.4    17.0    21.4    22.9    18.3    20.2    16.6    25.0    22.6    21.4    24.1    25.0    21.0

这一种物种注释方式也支持

代码语言:javascript复制
Class    KO    KO    KO    KO    KO    KO    OE    OE    OE    OE    OE    OE    WT    WT    WT    WT    WT    WT
k__Bacteria    63.4    62.6    68.2    68.6    72.6    65.9    54.3    58.6    63.7    62.8    62.3    55.0    66.8    70.7    60.6    64.1    70.3    63.8
k__Bacteria|p__Actinobacteria    16.4    27.6    18.9    20.9    12.1    15.4    17.0    21.4    22.9    18.3    20.2    16.6    25.0    22.6    21.4    24.1    25.0    21.0
k__Bacteria|p__Bacteroidetes    1.4    1.1    6.5    1.9    3.9    1.6    1.7    6.3    6.0    4.5    2.2    1.4    3.4    3.7    2.8    1.6    3.2    4.3
k__Bacteria|p__Chloroflexi    0.6    0.5    0.2    0.5    0.6    0.3    0.4    1.1    0.2    0.6    1.0    0.6    2.6    0.2    0.5    0.5    1.1    0.8
k__Bacteria|p__Firmicutes    0.5    0.4    0.1    0.2    0.1    0.3    2.0    0.7    1.0    1.1    0.5    2.2    0.2    0.1    0.3    0.2    0.1    0.2
k__Bacteria|p__Proteobacteria    44.4    33.0    42.5    45.0    55.9    48.3    33.2    28.9    33.6    38.2    38.4    34.2    35.7    44.1    35.7    37.9    40.9    37.5

这个格式可以自己生成,或基于我们培训课程的流程代码一步生成。

在线操作

把数据粘贴到文本域或上传到BIC平台后 http://www.ehbio.com/Cloud_Platform/front/#/analysis?page=b'MzY='(或点击阅读原文),直接提交即可出结果。

当然我们也提供了很多可调整的参数:

  1. Group feature row: 指定分组信息所在的行; Sub-group feature rowSubject feature row指定亚组和个体信息。
  2. Per-sample normalization abundance: 指定数据的预处理方式。
  3. Biomarker identification parameters: 用于设置筛选生物标志物种的阈和统计计算方式。
  4. Visualization related parameters: 调整结果图形的属性。

点击提交后,稍等片刻,即可获得结果报告。

  1. 小圆圈: 图中由内至外辐射的圆圈代表了由门至属的分类级别(最里面的那个黄圈圈是界)。
  2. 不同分类级别上的每一个小圆圈代表该水平下的一个分类,小圆圈的直径大小代表了相对丰度的大小。
  3. 颜色: 无显著差异的物种统一着色为黄色,差异显著的物种Biomarker跟随组别进行着色,红色节点表示在红色组别中起到重要作用的微生物类群,蓝色节点表示在蓝色组别中起到重要作用的微生物类群。
  4. 未能在图中显示的Biomarker对应的物种名会展示在右侧,字母编号与图中对应(为了美观,右侧默认只显示门到科的差异物种)。 (如果有需求,这个也可以后期配置上对应的参数)

条形图展示LDA score大于预设值的显著差异物种,即具有统计学差异的Biomaker,默认预设值为2.0(看横坐标,只有LDA值的绝对值大于2才会显示在图中);柱状图的颜色代表各自的组别,长短代表的是LDA score,即不同组间显著差异物种的影响程度。

  • 第一列: Biomarker名称;
  • 第二列: 各组分丰度平均值中最大值的log10,如果平均丰度小于10的按照10来计算;
  • 第三列: 差异基因或物种富集的组名;
  • 第四列: LDA值;
  • 第五列: Kruskal-Wallis秩和检验的p值,若不是Biomarker用“-”表示。
代码语言:javascript复制
Biomarkernames  Log10AverageAbundance   EnrichedGroups  LDA     KW_Pvalue
Bacteria        5.999999999999999                       -
Bacteria.Actinobacteria 5.545677071926983                       -
Bacteria.Bacteroidetes  4.784654378236204                       -
Bacteria.Chloroflexi    4.156289416781956                       -
Bacteria.Firmicutes     4.335852223799717       OE      3.984113612146213       0.0032249362213254236
Bacteria.Proteobacteria 5.824940805591662                       -
Bacteria.Actinobacteria.Actinobacteria  5.545677071926983                       -
Bacteria.Bacteroidetes.Cytophagia       3.561510337945784       OE      3.3268754254757593      0.004223833758324139
Bacteria.Bacteroidetes.Flavobacteriia   4.7270068698599115                      -
Bacteria.Bacteroidetes.Sphingobacteriia 3.5208071522996613      OE      3.3648561167542708      0.0038519140162918985

测试数据 可使用工具的 Demo 数据,或访问https://gitee.com/ct5869/bic获取。

0 人点赞