NBIS单细胞教程:细胞类型(六)

本文档详细介绍了如何使用Seurat和scPred等工具对单细胞RNA-seq数据进行细胞类型预测和注释。首先,通过对参考数据集的预处理,使用FindTransferAnchors和scPredict进行预测。然后,利用差异基因分析和GSEA方法,结合CellMarker数据库进行细胞类型的判别。最终,通过比较不同方法的预测结果,展示了如何为每个细胞集群分配细胞类型标签。

Seurat_StepVI_CellType

此文章是通过学习瑞典国家生物信息学基础设施(NBIS) 所开放的单细胞分析教程加上网上所查找的资料,自身的理解所形成的,可能会有不足之处。该部分是对不同集群的细胞类型进行识别。

参考来源:https://github.com/NBISweden/workshop-scRNAseq/blob/master/labs/seurat/seurat_06_celltype.Rmd

感兴趣的话可以阅读原文。

细胞类型预测

可以预测每个细胞的细胞的细胞类型,也可以对整个细胞集群上进行预测,所有的预测都是基于与其他的数据集,单细胞数据集或分类好的RNA-seq数据集之间的相似性,或是自身所储备的有关细胞类型的marker基因相关知识进行预测。

在此教程中,从covid数据集中选择一个ctrl_13样本进行细胞类型的预测。

有一些方法会根据与已知的细胞类型之间的相似性进行细胞类型的预测,即使这个细胞类型没有参考文献的支撑(问题来了,既然没有参考文献的支撑,那怎么判断自己所分析的这个细胞类型是对的呢?),而其他包含令人混淆的基因类型的细胞集群就没有办法进行预测,因为他们与已知细胞类型marker之间的相似性较低。

目前,有很多方法可以对细胞类型进行预测,在这只介绍一些方法,剩下的感兴趣可以自己查阅资料。

加载数据

# devtools::install_github("powellgenomicslab/scPred")
suppressPackageStartupMessages({
    library(Seurat)
    library(dplyr)
    library(cowplot)
    library(ggplot2)
    library(pheatmap)
    library(rafalib)
    library(scPred)
})

# 加载数据集并选择ctrl_13样本
alldata <- readRDS("data/results/covid_qc_dr_int_cl.rds")
ctrl = alldata[, alldata$orig.ident == "ctrl_13"]

# 将默认基因表达矩阵设置为RNA,并删除CCA(批次整合矩阵)
ctrl@active.assay = "RNA"
ctrl[["CCA"]] = NULL
ctrl
# An object of class Seurat 
# 18121 features across 1135 samples within 1 assay 
# Active assay: RNA (18121 features, 0 variable features)
# 4 dimensional reductions calculated: umap, tsne, harmony, umap_harmony

参考数据集注释

预测前处理

  • 参考数据集处理
# 参考数据集,可以使用标准化、可变基因选择、缩放和降维运行正常分析的所有步骤
reference <- scPred::pbmc_1

reference
# An object of class Seurat 
# 32838 features across 3500 samples within 1 assay 
# Active assay: RNA (32838 features, 0 variable features)

reference <- reference %>%
    NormalizeData() %>%
    FindVariableFeatures() %>%
    ScaleData() %>%
    RunPCA(verbose = F) %>%
    RunUMAP(dims = 1:30)

# 绘图查看细胞类型
DimPlot(reference, group.by = "cell_type", label = TRUE, repel = TRUE) + NoAxes()

在这里插入图片描述

  • ctrl_13样本处理
# 选择分辨率为0.3
ctrl <- SetIdent(ctrl, value = "CCA_snn_res.0.5")

ctrl <- ctrl %>%
    NormalizeData() %>%
    FindVariableFeatures() %>%
    ScaleData() %>%
    RunPCA(verbose = F) %>%
    RunUMAP(dims = 1:30)

DimPlot(ctrl, label = TRUE, repel = TRUE) + NoAxes()

在这里插入图片描述

Seurat预测

首先,使用整合不同批次数据中类似的方法,使用自带函数FindTransferAnchors找到两个数据集不同细胞类型合并的锚点,默认方法是基于PCA空间pcaproject,将预测数据集投影

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值