栏目分类
格鲁竞技赛事预测介绍

当前位置:格鲁竞技赛事预测 > 格鲁竞技赛事预测介绍 >

热点资讯

胃癌单细胞数据集GSE163558复现(十一):T细胞亚群细分

发布日期:2024-11-04 11:00    点击次数:176

图片

前言

Hello小伙伴们大家好,我是生信技能树的小学徒”我才不吃蛋黄“。今天是胃癌单细胞数据集GSE163558复现系列第十一期。第十期我们使用通过CopyKAT分析计算CNV评估上皮细胞良恶性。本期,我们将对T细胞亚群进行细分。

1.背景介绍

德国哲学家莱布尼茨说过:“世上没有两片完全相同的树叶。”物种是有其多样性的。对于细胞来说同样如此。从理论上讲,我们可以对细胞亚群进行无限分群。在初次分群时,可以不断调整分辨率,同样在细胞注释之后,我们也可以进行亚群再细分。其实分群也是考验我们对分群“度”的把控以及生物学背景知识的储备。细胞注释前我们要确保分群数量足够多,而这个数量通常是要超过该组织理论的细胞类型数量。在进行亚群细分时,更加需要强大的生物学背景知识储备以及对分辨率和再分群次数的“度”的精准把握。细胞亚群的分群的依据包括:1.细胞异质性(每个细胞都有独特的表达模式和功能,都有自己特有的基因);2.细胞共性(同一类型的细胞都有近似的表达模式);3.生物学基础知识(基于已有的知识,对细胞进行分类鉴定)。

T淋巴细胞(T lymphocyte)简称T细胞,是由来源于骨髓的淋巴干细胞,在胸腺中分化、发育成熟后,通过淋巴和血液循环而分布到全身的免疫器官和组织中发挥免疫功能 。T细胞分类方法有多种:按细胞表面分化抗原 (CD)的不同,可分为CD4+和CD8+两大亚群;按T细胞表面受体 (TCR)的不同,可分为αβT细胞γδT细胞;按功能可分为辅助性T细胞 (Th 细胞)、抑制性T细胞 (Ts细胞)、细胞毒T细胞 (CTL或Tc细胞)和迟发型超敏反应T细胞 (TDTH细胞);按对抗原应答的不同,分为初始T细胞 (naive T cell)、活化的T细胞 (activated T cell)和记忆性T细胞 (memory T cell);以及区别于传统T细胞的NKT细胞等等。在第一次分群注释中,我们只注释到了“初始的”T细胞。在这里,我们对T细胞亚群进行了粗“细分”。

2.数据分析2.1 导入数据

首先提取第三期亚群注释后的T细胞数据:

rm(list=ls())options(stringsAsFactors = F)library(Seurat)library(ggplot2)library(clustree)library(cowplot)library(dplyr)dir.create("9-T")setwd("9-T/") getwd()set.seed(12345)sce.all=readRDS( "../3-Celltype/sce_celltype.rds")table(sce.all$celltype)sce1 = sce.all[, sce.all$celltype %in% c( 'T' )]
2.2 降维分群聚类

细分亚群的流程很简单,和大致分群一样,就是对亚群的Seurat对象再次走降维分群聚类。

Seurat V5标准流程:

LayerData(sce1, assay = "RNA", layer = "counts")sce1 <- JoinLayers(sce1)as.data.frame(sce1@assays$RNA$counts[1:10, 1:2])head(sce1@meta.data, 10)table(sce1$orig.ident) sce = sce1sce <- NormalizeData(sce, normalization.method =  "LogNormalize",                       scale.factor = 1e4)GetAssay(sce,assay = "RNA")sce <- FindVariableFeatures(sce,                             selection.method = "vst", nfeatures = 2000)  sce <- ScaleData(sce) sce <- RunPCA(object = sce, pc.genes = VariableFeatures(sce)) 
DimHeatmap(sce, dims = 1:12, cells = 100, balanced = TRUE)

图片

ElbowPlot(sce) 

图片

选取0.1分辨率,对T细胞进行聚类分群(为什么选取0.1,欢迎大家在评论区或者微信群留言讨论):

sce <- FindNeighbors(sce, dims = 1:15)sce <- FindClusters(sce, resolution = 0.1)table(sce@meta.data$RNA_snn_res.0.1)  set.seed(321)sce <- RunTSNE(object = sce, dims = 1:15, do.fast = TRUE)sce <- RunUMAP(object = sce, dims = 1:5, do.fast = TRUE)mycolors <-c('#E64A35','#4DBBD4' ,'#01A187'  ,'#3C5588'  ,'#F29F80'  ,             '#8491B6','#91D0C1','#7F5F48','#AF9E85','#4F4FFF','#CE3D33',             '#739B57','#EFE685','#446983','#BB6239','#5DB1DC','#7F2268','#6BD66B','#800202','#D8D8CD','pink')p = DimPlot(sce,reduction = "tsne",label=T,cols = mycolors) p

图片

2.3 SingleR注释

SingleR是一种用于单细胞 RNA 测序 (scRNAseq) 数据的自动注释方法。给定具有已知标签的样本(单细胞或块)的参考数据集,它根据与参考的相似性标记测试数据集中的新细胞。

singleR使用步骤:

需要一个数据库文件,构建SingleR进行单细胞亚群命名的参考数据库

使用SingleR包里面的SingleR函数即可把数据库里面的细胞亚群注释信息映射到需要命名的单细胞转录组数据集里面。

成功的运行了SingleR包里面的SingleR函数之后,就可以拿到每个单细胞的具体的身份信息

详情介绍请见公众号前期推文:SingleR及数据库资源包celldex简介 。

SingleR包的安装方式有以下两种:

使用devtools包进行安装:

devtools::install_github('dviraran/SingleR')

或者下载本地安装:

# 安装依赖包install.packages(c("outliers", "pbmcapply", "doFuture"))BiocManager::install(c("GSVA","singscore"))# 安装SingleR包install.packages("~/SingleR.tar.gz", repos = NULL, type = "source")

celldex包是singleR自动注释需要的数据库,目前已经上传到Bioconductor,安装方法如下:

BiocManager::install("celldex")

加载R包:

library(SingleR)library(celldex)library(dplyr)library(stringr)library(pheatmap)library(ReactomeGSA)library(ggplot2)library(singleseqgset)library(devtools)

开始SingleR注释:

getwd()load('/home/data/t020505/GSE163558-GC代码版/9-T/hpca.RData')load('/home/data/t020505/GSE163558-GC代码版/9-T/bpe.RData')unique(hpca.se$label.main)unique(hpca.se$label.fine)unique(bpe.se$label.main)unique(bpe.se$label.fine)#bpe.se <- BlueprintEncodeData()#save(bpe.se,file = 'bpe.RData') str(sce)anno <- SingleR(sce@assays$RNA$data,                ref = list(BP=bpe.se,HPCA=hpca.se),                labels = list(bpe.se$label.fine,hpca.se$label.main),                clusters = sce@meta.data$seurat_clusters)plotScoreHeatmap(anno,clusters = anno@rownames,show_colnames = T)table(anno$labels)

图片

使用DimPlot可视化亚群细分之后的情况:

celltype = data.frame(ClusterID=rownames(anno),                       celltype=anno$labels,                       stringsAsFactors = F) sce@meta.data$singleR = celltype[match(sce@meta.data$seurat_clusters,celltype$ClusterID),'celltype']table(sce$singleR)p1 = DimPlot(sce, reduction = "tsne",        group.by = "singleR",label = T,cols = mycolors,label.box=T) p1

图片

p1

图片

p+p1

我们可以发现,Treg由3群和4群组成,明显还可以细分。此外,由于这里是从T细胞中注释到了一个B细胞(6群),可以看看标记基因表达情况:

Idents(sce) = sce$singleRVlnPlot(sce,        features = c("CD3D","CD3E","CD4","CD8A",'MS4A1','IGHG1','MZB1', 'CD79A'),        pt.size = 0,        ncol = 4,        cols=mycolors)

小提琴图结果显示,这一群还真是B细胞啊,人工注释还是得匹配验证:

图片

那么问题来了,T细胞群中为什么会混入B细胞?欢迎大家留言或者加入单细胞周更读者群展开讨论。

结语

本期,我们使用singleR对T细胞亚群进行细分。下一期,我们将对进行高级分析“细胞通讯”。顺便提前预告一下,胃癌系列推文完成后,将开启肺腺癌单细胞数据集GSE189357复现系列,相关视频已经在B站上线

图片

文献推文详见(单细胞测序+空间转录组描绘从癌前病变到浸润性肺腺癌的动态演变)。此外,关于推文内容的提升和优化,欢迎大家提宝贵意见。谢谢!

图片

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

上一篇:没有了

下一篇:数字舍入函数超强总结 不只有Round

友情链接:

Powered by 格鲁竞技赛事预测 @2013-2022 RSS地图 HTML地图