美文网首页单细胞组学
单细胞数据挖掘实战:文献复现(二)批量创建Seurat对象及质控

单细胞数据挖掘实战:文献复现(二)批量创建Seurat对象及质控

作者: 生信开荒牛 | 来源:发表于2022-08-01 18:45 被阅读0次

单细胞数据挖掘实战:文献复现(一)批量读取数据

前面已经得到了10x的细胞数据(samples_raw_data),下面开始进行创建Seurat对象及质控;这一步主要是复现一下文献中的Supplementary Table 2的质控过滤情况。

一、批量创建Seurat对象

批量创建Seurat对象,同时添加condition,为文章后续样本选择做准备。

samples_objects <- lapply(seq_along(samples_raw_data), function(i) {
  seurat_object <- CreateSeuratObject(counts = samples_raw_data[[i]], 
                                      project = paste0("mm.gam.gender.", names(samples_raw_data)[i]), 
                                      min.cells = 5)
  
  # 通过样本名称添加condition
  if(grepl("ctrl", names(samples_raw_data)[i])) {
    seurat_object$condition <- "ctrl"
  } else {
    seurat_object$condition <- "tumor"
  }
  seurat_object
})
names(samples_objects) <- names(samples_raw_data)

检查一下Seurat对象数据是否与文献一致

dim(samples_objects$`GSM4039241-F-ctrl-1`)
#[1] 12520  5223
1.png

文献补充表2中与GSM4039241-F-ctrl-1的数据一致。

二、质控

计算线粒体基因比例,注意这里是小鼠样本,线粒体基因以mt-开头
查看一下线粒体基因

mt.gene = rownames(samples_objects$`GSM4039241-F-ctrl-1`)[grep("^mt-",rownames(samples_objects$`GSM4039241-F-ctrl-1`))]
mt.gene
#[1] "mt-Nd1"  "mt-Nd2"  "mt-Co1"  "mt-Co2"  "mt-Atp8" "mt-Atp6" "mt-Co3" 
#[8] "mt-Nd3"  "mt-Nd4l" "mt-Nd4"  "mt-Nd5"  "mt-Nd6"  "mt-Cytb"

批量计算线粒体基因比例

for (i in seq_along(samples_objects)){
  samples_objects[[i]] <- PercentageFeatureSet(samples_objects[[i]], 
                                               pattern = "^mt-",
                                               col.name = "percent_mito")
}
names(samples_objects) <- names(samples_raw_data)
head(samples_objects[[1]]$percent_mito)
#AAACCTGAGAGGTTAT-1 AAACCTGCAATGGATA-1 AAACCTGCACAGATTC-1 
#         2.2007515          0.9986505          0.4046945 
#AAACGGGAGGTGACCA-1 AAACGGGCATCGGACC-1 AAACGGGTCAGGATCT-1 
#         2.2660099          2.3625844          2.6066351 

画个图可视化一下线粒体基因比例

VlnPlot(samples_objects[[1]],features = c("nFeature_RNA", "nCount_RNA", "percent_mito"), 
        pt.size = 0, ncol = 3)
2.png

质控过滤(基因200-3000,线粒体基因占比<5%)

3.png
samples_objects <- lapply(seq_along(samples_objects), function(i) {
  samples_objects[[i]] <- subset(x = samples_objects[[i]],
                                 subset = nFeature_RNA > 200 & nFeature_RNA < 3000 & percent_mito < 5)
  samples_objects[[i]] <- NormalizeData(object = samples_objects[[i]], verbose = FALSE)
})
names(samples_objects) <- names(samples_raw_data)
dim(samples_objects$`GSM4039241-F-ctrl-1`)
#[1] 12520  5167
4.png

这里检查了一下GSM4039241-F-ctrl-1这个样本过滤后的情况,与文献补充表2的数据一致,细胞由原来的5223过滤后剩下5167个细胞。其它7个样本可以用dim()函数进行查看,这里就不再赘述。

往期单细胞数据挖掘实战

单细胞数据挖掘实战:文献复现(一)批量读取数据

相关文章

网友评论

    本文标题:单细胞数据挖掘实战:文献复现(二)批量创建Seurat对象及质控

    本文链接:https://www.haomeiwen.com/subject/nsirwrtx.html