如何合并/标准化GatingSets

使用

groupByTree(x) checkRedundantNodes(x) dropRedundantNodes(x,toRemove) dropRedundantChannels(gs,…)

参数

x
'GatingSet'对象或组列表(每个组成员都是'GatingSet'的列表)

toRemove待移除的节点集列表。它的长度必须等于参数的长度x

...其他参数

删除冗余的叶/终端节点

块unnamed- block -3的图形块unnamed- block -3的图形

叶节点二硝基酚而且DPT是冗余的分析和应该删除在合并之前。

隐藏非叶节点

块unnamed- block -4的图形块unnamed- block -4的图形

单线态节点在第二棵树中不存在。但我们不能删除它,因为它将删除它的所有后代。我们可以隐藏它代替。

invisible(setNode(gs2, "singlets", FALSE)) plot(gs2) plot(gs3)

块unnamed- block -5的图形块unnamed- block -5的图形

注意,即使门控树看起来是一样的,但是单线态仍然存在,所以我们必须用相对路径Path = "auto")而不是完整路径

getNodes (gs2) [5] getNodes (gs3) [5]
# #[1]“/不是碎片/背心/ CD3 + / CD4/38 -博士+”# #[1]“不是碎片/ CD3 + / CD4/38 -博士+”
getNodes(gs3, path = "auto")[5] getNodes(gs3, path = "auto")[5]
## [1] " cd4/38 - dr +"

同构

块unnamed-chunk-9的图形块unnamed-chunk-9的图形

这两棵树不完全相同由于不同的顺序CD4而且CD8.然而,它们仍然是可合并的通过门控路径引用而不是通过数值指标

方便的合并包装

为了简化合并大量批次实验的过程,这里有一些内部包装要做到半自动

按树结构分组

gs_groups <- groupByTree(gslist, gs2, gs3, gs4, gs5)
##按门控树分组…
长度(gs_groups)

[1] 4

这就把所有GatingSetS分成不同的组,每个组共享相同的树结构。这里有4组,

检查是否可以通过删除叶节点来解决差异

res <- try(checkRedundantNodes(gs_groups), silent = TRUE) print(res[[1]])

[1] "错误在(函数(thisNodeSet, thisObj): \n不能删除非终端节点:singlets\n "

显然,非叶节点(单线态)检查失败,由用户决定是否隐藏该节点或保持该组分离,以免进一步合并。在这里,我们试图隐藏它。

对于(gp in gs_groups) plot(gp[[1]])

区块unnamed- block -12的图形区块unnamed- block -12的图形区块unnamed- block -12的图形区块unnamed- block -12的图形

基于每个组的树形结构(通常没有像GatingSet对象本身),我们将隐藏单线态组2而且组4

for(i in c(2,4)) for(gs in gs_groups[[i]]) invisible(setNode(gs, "singlets", FALSE))

现在再检查一下.checkRedundantNodes

toRm <- checkRedundantNodes(gs_groups) toRm

[[1]] [1] " ccr7 + 45ra + " " ccr7 + 45ra - "

[[2]] [1] " dnt " " dpt "

[[3]]字符(0)

[[4]]字符(0)

基于此,可以通过删除来合并这些组

有时,通过简单地绘制整个门通树或查看这个简单的平面节点列表(特别是当某些组中缺少整个子树时),可能很难检查和区分树差异。使用helper函数只可视化和突出显示树层次结构的差异是有帮助的plot_diff_tree

plot_diff_tree (gs_groups)

块unnamed- block -15的图形块unnamed- block -15的图形块unnamed- block -15的图形块unnamed- block -15的图形

为了继续删除这些节点,.dropRedundantNodes可以用来代替手工做吗

dropRedundantNodes (gs_groups暴雨)
##去除CCR7+ 45RA+
##去除CCR7+ 45RA-
##删除DNT
##删除DPT

现在它们可以合并为一个GatingSetList

GatingSetList (gslist)

一个包含5个唯一样本的GatingSetList。

移除冗余通道GatingSet

有时可能会有额外的渠道在一个数据集中,防止它与其他数据合并。如果这些通道没有被任何门使用,那么它们可以被安全地移除。

dropRedundantChannels (gs1)
## drop FSC-H, FSC-W, ,时间

一个带有1个样本的GatingSet