It is usually called after gs_split_by_tree and gs_check_redundant_nodes. The operation is done in place through external pointers which means all the orginal GatingSets are modified.

gs_remove_redundant_nodes(x, toRemove)



GatingSet or list of groups(each group is a list of 'GatingSet`). When it is a list, it is usually the outcome from gs_split_by_tree.


list of the node sets to be removed. its length must equals to the length of 'x'. When x is a list, toRemove is usually the outcome from gs_check_redundant_nodes.


if (FALSE) { gslist <- list(gs1, gs2, gs3, gs4, gs5) gs_groups <- gs_split_by_tree(gslist) toRm <- gs_check_redundant_nodes(gs_groups) gs_remove_redundant_nodes(gs_groups, toRm) #Now they can be merged into a single GatingSetList. #Note that the original gs objects are all modified in place. GatingSetList(gslist) }