Note: Similarly to the identification of markers for each cluster, this analysis uses data prepared identically to the differential expression between experimental groups using scde:
In addition, this analysis diverges from the differential expression between supervised experimental groups by consideration of unsupervised clusters identified within each time point.
Let us first define a list to store the result tables returned by scde:
scde.res <- list()
In addition, note that several functions defined in the first scde section will be re-used here.
Identification of unsupervised clusters at 2h p.i. revealed that cluster 2 and 3 to comprise exclusively stimulated and majoritarily uninfected DCs, respectively. However, both clusters display some degree of overlap between their markers genes. Thus, a direct comparison of the two unsupervised clusters may detect more subtle differences and effect sizes:
groupTarget <- 2; groupRef <- 3
sg.test <- factor(sce.ifm.2h$quickCluster.2h, levels = c(groupTarget, groupRef))
names(sg.test) <- colnames(sce.ifm.2h); summary(sg.test)
contrastName <- sprintf("2h_cluster%s-cluster%s", groupTarget, groupRef); message(contrastName)
stopifnot(all(rownames(o.ifm.2h) == colnames(cd.ifm.2h)))
scde.res[[contrastName]] <- scde.expression.difference(
o.ifm.2h, cd.ifm.2h, o.prior.2h, sg.test, n.cores = 4, verbose = 1
)
In addition, cluster 2 (exclusively stimulated) may also be compared directly to cluster 1, the latter displaying a large and even representation of uninfected and challenged cells. Again, a direct comparison of the two unsupervised clusters may detect subtle differences and effect sizes:
groupTarget <- 2; groupRef <- 1
sg.test <- factor(sce.ifm.2h$quickCluster.2h, levels = c(groupTarget, groupRef))
names(sg.test) <- colnames(sce.ifm.2h); summary(sg.test)
contrastName <- sprintf("2h_cluster%s-cluster%s", groupTarget, groupRef); message(contrastName)
stopifnot(all(rownames(o.ifm.2h) == colnames(cd.ifm.2h)))
scde.res[[contrastName]] <- scde.expression.difference(
o.ifm.2h, cd.ifm.2h, o.prior.2h, sg.test, n.cores = 4, verbose = 1
)
At 4h p.i., unsupervised clusters reveals a marked distinction between exposed and infected DCs, accounting for the majority of clusters 2 and 1, respectively, irrespective of the infection. Thus, a direct comparison of the two unsupervised clusters may detect more subtle differences and effect sizes:
groupTarget <- 2; groupRef <- 1
sg.test <- factor(sce.ifm.4h$quickCluster.4h, levels = c(groupTarget, groupRef))
names(sg.test) <- colnames(sce.ifm.4h); summary(sg.test)
contrastName <- sprintf("4h_cluster%s-cluster%s", groupTarget, groupRef); message(contrastName)
stopifnot(all(rownames(o.ifm.4h) == colnames(cd.ifm.4h)))
scde.res[[contrastName]] <- scde.expression.difference(
o.ifm.4h, cd.ifm.4h, o.prior.4h, sg.test, n.cores = 4, verbose = 1
)
At 4h p.i., unsupervised clusters reveals a notable under-representation of STM-D23580 exposed DCs in cluster 1 relative to cluster 2, in contrast to STM-LT2 exposed DCs showing the opposite trend. Thus, a direct comparison of the two unsupervised clusters may detect more subtle differences and effect sizes:
groupTarget <- 2; groupRef <- 1
sg.test <- factor(sce.ifm.6h$quickCluster.6h, levels = c(groupTarget, groupRef))
names(sg.test) <- colnames(sce.ifm.6h); summary(sg.test)
contrastName <- sprintf("6h_cluster%s-cluster%s", groupTarget, groupRef); message(contrastName)
stopifnot(all(rownames(o.ifm.6h) == colnames(cd.ifm.6h)))
scde.res[[contrastName]] <- scde.expression.difference(
o.ifm.6h, cd.ifm.6h, o.prior.6h, sg.test, n.cores = 4, verbose = 1
)
Let us first identify the extreme values of maximum likelihood estimate of fold-change to scale subsequent plot for comparability:
mleRange <-
max(abs(do.call("c", lapply(scde.res, function(x){return(x$mle)}))))*c(-1,1)
pRange <- c(
0,
-log10(min(do.call("c", lapply(scde.res, function(x){
return(convert.z.score(x)$p.value)
}))))
)



| P.01 | P.05 | cZ | |
|---|---|---|---|
| 2h: cluster2 - cluster1 | 272 | 580 | 1613 |
| P.01 | P.05 | cZ | |
|---|---|---|---|
| 4h: cluster2 - cluster1 | 293 | 634 | 2000 |
| P.01 | P.05 | cZ | |
|---|---|---|---|
| 6h: cluster2 - cluster1 | 369 | 798 | 3512 |