I have a question regarding the reproducibility of limma. I am using it for differential expression analysis for proteomics experiments. I also use the
decideTests function with the option 'global' in order to correct for multiple testing over >1 contrasts.
I am having some problems regarding the reproducibility of the DE calculations: the results I am seeing in R Studio during calculating and preparing the code in markdown differs from the results I am seeing in my finalised knitted html file. In some cases, the differences are quite substantial, e.g. some proteins are deemed significant in R studio, but not in the html file and vice versa. I am aware that R uses a independent session for knitting the markdown document, but in the past (with other packages), I was able to make the results reproducible by setting a seed with
set.seed. I tried this with limma as well, but it did not resolve my issue.
Am I missing something? For example, in the
clusterProfiler::gseGO() function, one has to give the argument
seed = TRUE in order to make the function seed sensitive and the results reproducible. Is there an equivalent opportunity for limma that I did not find?
Tried to google the problem, but some how, couldn't find any leads on that.
Thank you in advance!
Hey Gordon, thank you for the swift response. Indeed, I do perform imputation. Weirdly, it did not occur to me that this could be the origin of the problem, but it apparently is. Thank you for pointing me into the right direction, will try to fix it by making the imputation reproducible.
All the best Thorben
limma can also be run without imputation, i.e., leaving the missing values as NA.