I’m using the Splatter to generate single cell simulated data. I need to have a variability in samples which means that expression levels of genes should change across samples. I have 100 samples, 20 genes, 5 cell types and my code to generate single cell data is :
vcf <- mockVCF(n.samples = 100) gff <- mockGFF(n.genes = 20) params.group <- newSplatPopParams(batchCells =100,#Number of cells in each batch. similarity.scale = 8, eqtl.group.specific = 0.6, de.prob = rep(0.8,5),#Probability that a gene is differentially expressed in a group. Can be a vector. de.facLoc = 0.5, #Location (meanlog) parameter for the differential expression factor log-normal distribution. Can be a vector. de.facScale = 0.5,#Scale(sdlog)parameterforthedifferentialexpressionfactorlog-normaldis- tribution. Can be a vector. group.prob = c(0.4,0.3,0.1,0.1,0.1))#Probability that a cell comes from a group sim.sc.gr <- splatPopSimulate(vcf = vcf, gff = gff, params = params.group, sparsify = FALSE)
I have two question: 1-Is there any other way that I can generate 100 samples? 2-Also, I want that gene expression level of genes change between individual samples. for example, gene expression level of Gene1 in celltypeA for sample1 should be different from gene expression level of Gene1 in celltypeA for sample 2 and etc. Is there anyway I can have this property?