很多小伙伴学习单细胞转录组数据靠的是10x公司提供的pbmc3k数据集,非常经典而且有配套的Seurat单细胞数据处理流程,全部的代码如下所示:
library(Seurat)
library(ggplot2)
# https://cf.10xgenomics.com/samples/cell/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz
## Load the PBMC dataset
# 读取数据多种形式,3个文件形式,txt,csv形式,h5,
# 标准3文件,路径即可:
pbmc.data <- Read10X(data.dir = "./filtered_gene_bc_matrices/hg19/")
# 32738 x 2700 sparse Matrix of class "dgCMatrix"
# 其它流程,scater,
## Initialize the Seurat object with the raw (non-normalized data).
pbmc <- CreateSeuratObject(counts = pbmc.data,
project = "pbmc3k",
min.cells = 3, min.features = 200)
我这里就不摘抄代码给大家了,官方文档很详细,https://satijalab.org/seurat/articles/pbmc3k_tutorial.html ,内容很简单而且步骤很清晰:
- Setup the Seurat Object
- Standard pre-processing workflow
- Normalizing the data
- Identification of highly variable features (feature selection)
- Scaling the data
- Perform linear dimensional reduction
- Determine the ‘dimensionality’ of the dataset
- Cluster the cells
- Run non-linear dimensional reduction (UMAP/tSNE)
- Finding differentially expressed features (cluster biomarkers)
- Assigning cell type identity to clusters
- Session Info
大家首先会发现靠单细胞转录组数据定义的CD4阳性T细胞其实并不会高表达CD4
比如,我们可以使用如下所示的代码:
sce=pbmc
sce$celltype=Idents(sce)
p1=FeaturePlot(sce,'CD4')
p2=DimPlot(sce, reduction = "umap",
label = TRUE, repel = T,pt.size = 0.5) + NoLegend()
p3=VlnPlot(sce,'CD4',group.by = 'celltype')
library(patchwork)
p1+p2
p1+p3
检查CD4基因表达量的时候,就会发现:
可以看到各个细胞亚群,都是有CD4基因表达的,我们虽然命名了 Naive CD4 T和Memory CD4 T”,但是它们并没有特异性的高表达CD4基因哦!
然后发现CD4和CD8的T细胞在单细胞转录组水平本来就很难确定亚群和名字
虽然说CD8 T和CD4 T细胞亚群 是一种分类方法,但是各自内部又是可以按照功能进行划分,naive, memory ,effector,cytotoxic,Exhaustion。比如2022的nature文章:《Androgen receptor activity in T cells limits checkpoint blockade efficacy》,该研究的单细胞数据集里面总共是1.6万个单细胞,然后是提取里面的T细胞后仍然还有1.2万。而且可以看到,对单独的T细胞进行常规的降维聚类分群后,这个时候的分群数量完全是取决于代码的参数而已,尤其是取决于分辨率。所以是亚群的数量既然是可以调节的,就无所谓金标准了。
也就是说,naive, memory ,effector,cytotoxic,Exhaustion这样的状态之间的差异会大于CD8 T和CD4 T细胞亚群的差异,这样的话,如果大家的知识停留在CD8 T和CD4 T细胞亚群是截然不同的,就会出现认知的冲突啦!
那么是否有可能让CD8 T和CD4 T细胞亚群在umap上面就是截然不同的呢
其实是因为单纯的转录组水平的差异不足以区分CD8 T和CD4 T细胞亚群,不妨加入蛋白质表达量水平信息。比如CITE-seq(转录组和表位的细胞索引)是一种基于 RNA 测序的方法,可在单细胞读数中同时量化细胞表面蛋白和转录组数据。其研究细胞的能力为人们了解新细胞类型、疾病状态或其他情况提供了极大的助力。
比如我们首先看看2020的文章:《Single-cell analysis of human non-small cell lung cancer lesions refines tumor classification and patient stratification》,里面的技术非常丰富,包括了 CITE-seq, scRNA-seq, and T cell receptor sequencing (TCR-seq)
- CITE-seq panels included 15 an- tibodies to validate RNA-based cell-type annotation, and were expanded up to 81 antibodies for more specific investigation
- CITE-seq data confirmed cell identities using well-established protein markers
- pDCs expressed transcripts associated with this lineage (LILRA4, IRF8;and known population-defining proteins (CD123
如下所示的热图,上半部分是mRNA表达量,下半部分是蛋白质信息:
从上面的热图可以看到,其实t细胞里面的CD8 T和CD4 T细胞亚群确实是在mRNA水平很难靠CD4区分,但是在蛋白质水平CD8 T和CD4 T还是具有比较没想到排他性!
也就是说,之前大家解决不了的单细胞转录组里面的 t细胞里面的cd4和cd8总是混合在一起的情况,可以通过添加蛋白质表达量来辅助区分,最出名的就是 CITE-seq single-cell expression ,最新的文章《Deconstruction of rheumatoid arthritis synovium defines inflammatory subtypes》:Nature 2023. doi: 10.1038/s41586-023-06708-y
但是,虽然 CITE-seq 解决了在无偏差地使用单细胞测序的同时检测有限数量蛋白质的问题,但其局限性之一是高水平的背景噪声会阻碍分析。所以来自波士顿大学医学院、艺术与科学学院的研究人员共同在Nucleic Acids Research发表了一篇研究论文《Characterization and decontamination of background noise in droplet-based single-cell protein expression data with DecontPro》,开发了一种新型工具,可以识别和去除来自各种来源的不必要的背景噪声。我还没有测试,但是文章示例数据看起来效果挺好的。不知道能不能让能让大量的cite-seq数据起死回生不。。。。
分享一些用得着的CD4和CD8的T细胞的基因吧
比如按照功能进行划分,naive, memory ,effector,cytotoxic,Exhaustion:
- naive (LEF1, SELL, TCF7),
- effector (IFNG),
- cytotoxicity (GZMB, PRF1),
- early and general exhaustion (PDCD1, CTLA4, ENTPD1 ) .
- antigen presentation (CD74, HLA-DRB1/5, HLA-DQA2)
如果你使用上面的基因列表,你会发现主要的naive状态的是CD4的T细胞,其它主要是CD8的T细胞。
然后是:
- naive T cell, such as CCR7, LTB, and SELL
- memory CD4+ T cells (TEM) CXCR4, TNFRSF4, and CCR6, RORA, IL6ST, and IL17RA, suggesting a TH17 cell identity
- cytotoxicity associated genes (GZMH, GZMA, and GZMB) were expressed in cluster T4
- T cell receptor alpha and beta chain variable genes with TRAV13-2 and TRBV7-9 were enriched in cluster T5
- Cluster T6 was characterized as naive CD8+ T cells with the high expression of CCR7, LEF1, and CD27.
更多的时候其实是打分,并不能完全是看某个基因或者某些基因在某个单细胞亚群里面的排他性的特异性高表达,比如 resident, cytotoxic, exhausted, and costimulatory score for CD8 T cells.
- 5 resident markers (RUNX3, NR4A1, CD69, CXCR6, and NR4A3),
- 7 cytotoxicity associated genes (PRF1, IFNG, GNLY, NKG7, GZMB, GZMA, CST7, and TNFSF10),
- 5 exhausted markers (CTLA4, HAVCR2, LAG3, PDCD1, and TIGIT)
- 6 costimulatory molecular genes (ICOS, CD226, TNFRSF14, TNFRSF25, TNFRSF9, and CD28)
这个时候千万不要相信chatGPT或者传统教科书
它们根本就没办法在现代单细胞转录组层面的数据分析里面合理,教科书会告诉你仅仅是记忆T细胞又可以细分:
- TEM:效应记忆T细胞(Effector memory T Cell)
- TCM:中枢记忆T细胞(Central memory T Cell)
- Tpm:外周记忆T细胞(Peripheral Memory T Cell)
- TRM:组织驻留记忆T细胞(Tissue Resident Memory)
- TSCM:干细胞记忆T细胞(Stem cell memory T cell)
如果你询问chatGPT单细胞水平CD4的T细胞可以细分哪些:
在单细胞水平上,CD4+ T细胞可以被进一步细分为多种亚型,这些亚型主要根据它们的功能特性、细胞因子产生情况和表面标志物进行分类。以下是一些主要的CD4+ T细胞亚型:
- Th1细胞:这些细胞主要产生干扰素-γ(IFN-γ),对于抵抗细胞内病原体(如病毒和某些细菌)的免疫反应非常重要。
- Th2细胞:这些细胞产生IL-4、IL-5和IL-13等细胞因子,对于抵抗寄生虫感染和过敏反应的调节有重要作用。
- Th17细胞:这些细胞产生IL-17,对于抵抗某些细菌和真菌感染以及自身免疫疾病的发生有重要作用。
- Treg细胞(调节T细胞):这些细胞主要通过产生抑制性细胞因子(如TGF-β和IL-10)或直接细胞间接触来抑制其他免疫细胞的活性,从而维持免疫耐受和防止自身免疫疾病的发生。
- Tfh细胞(滤泡辅助T细胞):这些细胞在淋巴结和脾脏的滤泡区域活动,通过与B细胞相互作用,帮助B细胞产生高亲和力的抗体。
- Th9细胞:这些细胞产生IL-9,与过敏反应和某些自身免疫疾病的发生有关。
- Th22细胞:这些细胞产生IL-22,与皮肤免疫反应和某些炎症反应有关。
以上这些亚型的分类并不是绝对的,因为T细胞的分化是一个动态的过程,同一T细胞在不同的环境条件下可能会表现出不同的功能特性。此外,还有一些其他的CD4+ T细胞亚型,如Th25、Tr1、Th3等,但它们的功能特性和生物学意义还需要进一步研究。
如果你询问chatGPT单细胞水平CD8的T细胞可以细分哪些:
在单细胞水平上,CD8+ T细胞也可以被进一步细分为多种亚型,这些亚型主要根据它们的功能特性、细胞因子产生情况和表面标志物进行分类。以下是一些主要的CD8+ T细胞亚型:
- 效应T细胞(Teff):这些细胞在感染或疫苗接种后迅速扩增并产生大量的细胞因子,如干扰素-γ(IFN-γ),并具有直接杀伤病原体感染细胞的能力。
- 记忆T细胞(Tmem):这些细胞在感染清除后存留在体内,能够在再次遇到同一病原体时迅速激活并扩增,从而提供更快和更强的免疫反应。记忆T细胞可以进一步分为中央记忆T细胞(TCM)和效应记忆T细胞(TEM)。TCM主要存在于淋巴组织,而TEM则主要存在于周围组织。
- 细胞毒性T细胞(CTL):这些细胞具有直接杀伤病原体感染细胞的能力,主要通过分泌穿孔素和颗粒酶等效应分子来实现。
- 老化/耗竭T细胞(Tex):这些细胞在长期或慢性感染以及肿瘤微环境中出现,表现出持久的激活状态,但效应功能受到抑制,这种状态通常被称为”耗竭”。
以上这些亚型的分类并不是绝对的,因为T细胞的分化是一个动态的过程,同一T细胞在不同的环境条件下可能会表现出不同的功能特性。
这些知识点知道一点也是挺好的,但是在单细胞转录组数据里面很难完全匹配。
而且最好是CD4和CD8两个不同T细胞亚群需要各自内部独立做拟时序分析
拟时序分析我讲的不多,主要是因为它在R里面实现起来其实也并不难。
反而是很多人并没有搞清楚什么时候应该是做拟时序分析,以及如何解释它!也就是说,拟时序分析其实需要比较全面的生物学背景,之前我就抨击过一个现象,就是:整个单细胞数据集进行拟时序分析合理吗?
既然不能对一个单细胞数据集全部的各个亚群一起做拟时序,就必然面临一个抉择,到底什么程度的亚群细分可以做呢?比如我们经常提到的第一层次分群也是肿瘤上皮细胞,基质细胞(内皮,成纤维等),免疫细胞(淋巴系的T, NK 和B,髓系的巨噬和单核)。那么,CD4和CD8两个不同T细胞亚群需要各自内部独立做拟时序分析吗?最近在微信交流群看到小伙伴推荐了文章:《Single cell sequencing reveals trajectory of tumor-infiltrating lymphocyte states in pancreatic cancer》,就可以完美的回答这一点。大家可以读一下。。。
因为T细胞的各个功能亚群(naive, memory ,effector,cytotoxic,Exhaustion)在D4和CD8都有,而naive的状态一般来说都是发育的起点。
其实也可以计算resident, cytotoxic, exhausted, and costimulatory 的一些打分,也可以跟拟时序分析的结果结合去解释 :
- 5 resident markers (RUNX3, NR4A1, CD69, CXCR6, and NR4A3),
- 7 cytotoxicity associated genes (PRF1, IFNG, GNLY, NKG7, GZMB, GZMA, CST7, and TNFSF10),
- 5 exhausted markers (CTLA4, HAVCR2, LAG3, PDCD1, and TIGIT)
- 6 costimulatory molecular genes (ICOS, CD226, TNFRSF14, TNFRSF25, TNFRSF9, and CD28)