This is a test version of Biostars. For the public version, visit https://www.biostars.org.
p-value in CIBERSORT

Hello,

I'm doing some deconvolution analysis with CIBERSORT in R with the LM22 file but when I look at the results the p-value's column is all 9999. What I'm doing wrong?

results <- cibersort(LM22, at41)

enter image description here

cibersort p-value

1 answer

You have not explicitly specified the number of permutations (which are used to calculate the p-value). The default value of the permutations is 0. It is not possible to calculate a p-value by permutations when no permutations are used. Hence I believe that the authors of the package deliberately used such a number which is clearly not a probability, to show that clearly.

Cibersort code

cibersort <- function(sig_matrix, mixture_file, perm = 0, QN = TRUE){
  ..
  P <- perm #number of permutations
  ..
  pval <- 9999
  ..
  if (P > 0) {
      pval <- 1 - (which.min(abs(nulldist - mix_r)) / length(nulldist))
  }
  ..
}

So, you can see from the code that if perm==0 (default), the pval is left with the value of 9999

Log in to answer this question.