In a dataset with ~100 (human) samples in the control, ~80 samples in the treatment, DESeq2 found only one significant gene.

I have performed deconvolution (with tpm values of the same data) with CibersortX (but with a signature matrix from another source).

I used group-mode in CibersortX and then used the script suggested by CibersortX team in their article to find the significantly DE genes

for (i in 1:ncol(geps1)){
vBetaZ <- sapply(1:nrow(geps1), function(j) (geps1[j,i]-geps2
[j,i])/sqrt(stderr1[j,i]^2+stderr2[j,i]^2))
ZPs <- 2*pnorm(-abs(vBetaZ))
Zqvals <- p.adjust(ZPs, method=“BH”)
}

Where geps1, geps2 are the group expression profile for control and treatment.

After filtering results for average expression in geps1&geps2 > 0.3, taking abs(log2foldchange) > 1, and taking p-adj of 0.05 I get a few hundreds of significant genes per cell-type (300-400 in TCD8 & TCD4, 100-200 in Monocytes, NK, Basophils, Neutrophils).

What QC measures should I use?

How can I verify that the signal after deconvolution is real?



Source link