Seurat抽样
#简单实现
N=1000
scRNA_tmp <- scRNA[,sample(x=colnames(scRNA),size=N,replace=F)]
scRNA_tmp <- subset(scRNA, downsample = N)#降采样
#函数封装
Samplingcell <- function(object, rate, random.subset.seed = NULL, ...){
ncells<- nrow(object@meta.data)
ncells.subsample<- round(ncells * rate)
set.seed(random.subset.seed)
selected.cells<- sample(colnames(object), ncells.subsample)
object<- subset(object, cells = selected.cells, ...)
return(object)
}
RandomSubsetData(scRNA, 0.8)
scanpy抽样
random.seed(6)
subW = ad_sc[np.random.choice(ad_sc.obs_names,100000,replace=False)].copy()
subW.write('subW.h5ad', compression='gzip')
网友评论