Hi,
I encountered a problem when I used CIBERSORTx to impute cell fractions.
The detailed process is as follows. I first build a signature matrix file from single-cell RNA Sequencing data, and the scRNA-seq data was downloaded from the GEO database. Next I chose S-mode batch-correction to minimize the impact of cross-platform variation on the results(scRNA-seq data was come from 10x Genomics Chromium).
Although I didn't change the input signatue matrix, bulk RNA-seq gene expression matrix and other parameters, I found there was considerable variation between different outcomes(all outcomes had the same input paramater and matrices).
My problem is why there is much variation between different results, even though their input parameters and matrices are the same? And how can I reduce the variation between the results of the same input parameters and matrices?
Thanks in advance!
If you didn't change the input signature matrix, the input RNA matrix, or the input parameters - what did you change? Is the statement that the results are stochastic (so identical command lines produce different results)?
Hi LChart,
Thanks for your reply. Yes, the identical command lines produce different results in CIBERSORTx S-mode. Although I input the data which come from CIBERSORTx official website(https://cibersortx.stanford.edu/), I would get the different results when I inputed the same data and parameters.
According to the CIBERSORTx algorithm, there will be a random sampling procedure in the CIBERSORTx S-mode. Therefore, it is reasonable to have different results of CIBERSORTx S-mode to impute cell fractions, even if the same data and parameters are entered.
And I want to know how to reduce the difference between the results which have the same input data and parameters.
Thanks
First time I've heard of S-mode. I imagine you've seen this benchmark where it doesn't come out too well: https://academic.oup.com/bib/article/22/4/bbaa219/5916936 ?
I can't comment on what you're supposed to do; but my gut instinct would be to use multiple runs to estimate the mean and variance of the estimated fractions. You should be able to use
set.seed(1)
in your R script to set the random seed, which may accomplish what you want (I don't know if CIBERSORTx respects this). Worth a shot!Hi LChart,
Thanks for your reply. I see S-mode in the CIBERSORTx official website tutorial(https://cibersortx.stanford.edu/), and the image as follows:
As this image, S-mode will be applied if the signature matrix come from 10x Chromium to minimize the impact of cross-platform.
Unfortunately, CIBERSORTx is not an R package, it is a web interaction tool and I cannot set seed.
Thanks!