利用splatter从真实数据估计参数进行RNA数据仿真

@利用splatter从真实数据估计参数进行RNA数据仿真
Splatter是一个模拟单细胞RNA测序计数数据的软件包。它提供了一个简单的界面,用于创建可复制且文档充分的复杂模拟。可以从真实数据估计参数,并提供用于比较真实数据集和模拟数据集的函数。

splatter参数

右侧的试验批次,组数与差异表达参数,丢弃参数的type, 路径参数是不可以通过真实数据进行估计的,我们仿真RNA数据时,可以通过调整这些参数来仿真一定量的仿真数据,来完成我们的消融实验。
利用splatter从真实数据估计参数进行RNA数据仿真_第1张图片
更详细的介绍可以参考这里

代码参考

library(splatter)
library(SingleCellExperiment)
library(scater)
library(readr)
library(Seurat)
set.seed(1)
real_data <- read_csv("你的文件路径")
real_data <- t(real_data)
class(real_data)
# 从真实数据估计参数
params <- splatEstimate(real_data)
params <- setParams(params,update = list(nGenes = 10000))
params <- setParams(params,batchCells = rep(800,1),group.prob=c(0.7, 0.2, 0.1))
params
# 生成模拟数据
sim_data <- splatSimulate(params,verbose = FALSE)
sim_data_1 <- splatSimulateGroups(params, method = "groups",verbose = FALSE)
class(sim_data)
sce_data <- as.matrix(assays(sim_data_1)$counts)
rna_seurat <- CreateSeuratObject(sce_data)
# 进行基于 PCA 的聚类分析
rna_seurat <- FindVariableFeatures(rna_seurat)
rna_seurat <- ScaleData(rna_seurat)
rna_seurat <- RunPCA(rna_seurat)
rna_seurat <- FindNeighbors(rna_seurat)
rna_seurat <- FindClusters(rna_seurat)
# 将聚类结果可视化
DimPlot(rna_seurat, reduction="pca")
#获取数据标签
label <- as.numeric(sim_data@colData@listData$Group)
label <- t(label)
save_file<- as.matrix(assays(sim_data)$counts)
save_file <-t(save_file)
write.table(save_file, file = "你的文件路径", sep = ",", row.names = FALSE, col.names =FALSE,quote = FALSE)
write.table(label, file = "你的文件路径", sep = ",", row.names = FALSE, col.names =FALSE,quote = FALSE)

你可能感兴趣的:(Python,人工智能,数据挖掘,r语言)