比较行排序方法

作者:顾祖光(z.gu@dkfz.de

日期: 2018-10-30


库(EnrichedHeatmap)负载(系统。文件(“extdata”、“neg_cr。RData", package = "EnrichedHeatmap")) all_genes = all_genes[unique(neg_cr$gene)] all_tss = promoter (all_genes, upstream = 0, downstream = 1) mat_neg_cr = normalizeToMatrix(neg_cr, all_tss, mapping_column = "gene", w = 50, mean_mode = "w0")

的对象mat_neg_cr是显示甲基化和基因表达之间显著负相关的区域的归一化矩阵。将负相关区域归一化到基因TSS的上游5kb和下游5kb,窗口为50bpnormalizeToMatrix ()函数。矩阵中的值表示窗口是否被负相关区域覆盖。

归一化矩阵中,每行对应一个基因,每列对应TSS上游或TSS下游的一个窗口。例如mat_neg_cr矩阵中,前½列对应TSS的上游,后½列对应TSS的下游。在这里,我们比较了三种不同的方法来排序矩阵中的行(对应于基因)。

  1. 行按丰富的分数排序。对于矩阵中的每一行,将某一行的值表示为\(x\),指标1,…,\(n_1\)表示上游窗口,指标\(n_1+1\),…,\(n\)表示下游窗口,\(n_2 = n - n_1\),富集分数计算为\(x\)与TSS距离加权的总和。

    \ [\ sum_ {i = 1} ^ {n_1} {x_i \ cdot i / n_1} + \ sum_{我= n_1 + 1} ^ n {x_i \ cdot (n - i + 1) /甲烷}\]

  2. 行是通过欧氏距离的层次聚类来排序的。

  3. 行按贴近距离的层次聚类进行排序。对于归一化矩阵中的两行,假设\(a_1, a_2,…,a_{n_1}\)是与负相关区域重叠的一个基因的窗口指标,\(b_1, b_2,…b_{n_2}\)是与负相关区域重叠的另一个基因的窗口指标,则根据两个基因重叠窗口的紧密程度定义距离为:

    \ [d_{亲密}= \压裂{\ sum_ {i = 1} ^ {n_1} \ sum_ {j = 1} ^{甲烷}{| ai - b_j |}} {n_1 \ cdot甲烷}\]

矩阵中列的排列保持行与行之间的欧氏距离不变,而近距离则考虑了列的顺序,这样可能更适合归一化矩阵的聚类。

下面三个图显示了不同行排序方法下的热图。

EnrichedHeatmap(mat_neg_cr, name = "neg_cr", col = c("白色","深绿色"),top_annotation = HeatmapAnnotation(enrich = anno_enrichment (gp = gpar(col = "深绿色"))),row_title = "默认富集分数")EnrichedHeatmap(mat_neg_cr, name = "neg_cr", col = c("白色","深绿色"),top_annotation = HeatmapAnnotation(enrich = anno_enrichment (gp = gpar(col = "深绿色"))),cluster_rows = TRUE,row_title = "by hierarchy clustering + Euclidean distance\ nendrogram reordered by enrichment scores") EnrichedHeatmap(mat_neg_cr, name = "neg_cr", col = c("白色","深绿色"),top_annotation = HeatmapAnnotation(enrich = anno_enrichment (gp = gpar(col = "深绿色"))),cluster_rows = TRUE, clustering_distance_rows = dist_by_close, row_title = "by hierarchy clustering + close distance\ nendrogram reordered by enrichment scores")

块unnamed- block -4的图形

一般情况下,在热图中加入总结各基因均值富集的顶部注释时,不建议按照富集分数排序,因为它提供了与顶部富集注释相同的冗余信息,另一方面,它不能像其他两种方法一样揭示空间聚类。带有欧几里得距离的层次聚类擅长聚类丰富模式,但由于它没有考虑列序,因此仍然有可能两个空间上接近的聚类在热图中分离得很远。利用近距离对富集模式进行了清晰的分类和聚类。

行序、聚类法、距离法均可自调整row_ordercluster_rowsclustering_method_rowsclustering_distance_rows公里而且分裂参数在EnrichedHeamtap ()函数。关于如何正确地为这些参数设置值,用户可以访问的帮助页EnrichedHeatmap ()热图()函数。