查看原文
其他

细胞聚类分群后检测marker基因

豆豆花花 生信星球 2022-06-07


 今天是生信星球陪你的第463天

   大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~

   就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~

   这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!

豆豆发送于19.10.1

目标:得到了不同的cluster,就可以利用findMarkers()去为每个cluster寻找marker基因。

来自Bioconductor放出的单细胞数据分析教程
https://bioconductor.org/packages/release/workflows/vignettes/simpleSingleCell/inst/doc/reads.html

它的方法是:两两cluster之间对每个基因的log表达量进行 Welch t-tests (Soneson and Robinson 2018)。这样就能找到每个cluster中的差异表达基因(前提是掩盖掉非生物因素,例如批次信息)。得到的top 差异基因能更好地作为marker基因候选,原因就是:既然它们是最具有差异代表性的,那么利用它们就能区分不同cluster的细胞,也就实现了marker的目的。【当然,还有许多细胞类型自己特有的基因,也是作为marker的候选者】

markers <- findMarkers(sce, my.clusters, block=sce$Plate)

每个cluster与其他cluster的两两比较结果会整合到每个cluster的差异基因结果数据框中

例如:看一下第1个cluster的top10差异基因

marker.set <- markers[["1"]]
head(marker.set, 10)

## DataFrame with 10 rows and 7 columns
##              Top              p.value                  FDR           logFC.2
##        <integer>            <numeric>            <numeric>         <numeric>
## Aurkb          1 6.65863261824492e-75 1.58362259559721e-70 -7.37163350569914
## Tk1            1 6.41442387689833e-64 3.81385607660686e-60 -4.92754579848056
## Myh11          1 4.95086465211539e-49 9.81220116843835e-46  4.42159318376489
## Cdca8          1 2.22334940769686e-46  3.5251945975503e-43 -6.84273526334783
## Ccna2          2 1.16841222330534e-68 1.38941739534356e-64  -7.3079756458424
## Rrm2           2 1.48873842020081e-56 5.05809512109088e-53 -5.52120322191947
## Cks1b          2 3.83636139889977e-39 2.40105745131667e-36  -6.6792118199827
## Pirb           2 1.83893803490065e-34 6.15992440620318e-32  5.25803749166673
## Pimreg         3 7.41004737119548e-68 5.87443855430467e-64 -7.30454210816126
## Pclaf          3  8.9651722100101e-51 2.13218690670669e-47 -5.60087985621813
##                  logFC.3            logFC.4            logFC.5
##                <numeric>          <numeric>          <numeric>
## Aurkb  -6.72799345321135  -1.95039440976238  -6.91128802096519
## Tk1    -7.74065113926215  -3.53749565362853  -4.63516273649457
## Myh11   4.30812918035861   4.45235717737968    1.0413149433198
## Cdca8  -4.88595092732349  -2.43821402084038  -7.12791471326961
## Ccna2   -6.9676852052539  -2.46589325823089  -7.12692721843331
## Rrm2   -7.94685699818751  -3.19173143688883  -5.42878091964762
## Cks1b  -5.92137181826573  -4.37146346518812    -6.214592473138
## Pirb    5.18195596569259   5.87631057587633 0.0704964218555272
## Pimreg -5.91099762335684 -0.874660676141792  -7.01798853404623
## Pclaf  -7.56997893312346  -2.36631043435985  -5.16956927698937

可以将全部cluster的marker基因保存起来

write.table(marker.set, file="416B_marker_1.tsv", sep="\t"
    quote=FALSE, col.names=NA)

最后热图对cluster1的marker基因可视化

top.markers <- rownames(marker.set)[marker.set$Top <= 10]
plotHeatmap(sce, features=top.markers, columns=order(sce$cluster), 
            colour_columns_by=c("cluster""Plate""Oncogene"),
            cluster_cols=FALSE, center=TRUE, symmetric=TRUE
            zlim=c(-55),
            show_colnames = F
图29

从图中粗略地看一看:cluster1包含了处理组(oncogene-induced)细胞,另外第5群也是处理组细胞。如果生物背景足够的话,也能推断出这些细胞与某些DE基因之间的联系。

「需要注意的地方」

当然,不是所有的marker基因都在所选cluster都是上调或下调的,它不仅仅是差异基因这么简单。如果只选差异基因,这样会过滤掉很多重要的marker基因

例如,在CD4+-only, CD8+-only, double-positive and double-negative T cells混合的细胞群体中,重要的细胞marker基因Cd4Cd8  都不会被检测到,因为这两个基因会在其中两个类型的细胞群体中都存在(比如Cd4 会存在于CD4+-only和 double-positive两种细胞类型中)

这里强烈建议挑选一些已经验证过的细胞marker基因,比如

  • CellMarker数据库(http://biocc.hrbmu.edu.cn/CellMarker/):整理了100,000+发表的文献,包含人的158个组织 (亚组织)的467个细胞类型的13,605个Marker基因,和鼠的81个组织 (亚组织)的389个细胞类型的9, 148个Marker基因

  • PanglaoDB(https://panglaodb.se/):小鼠的170种组织954个样本近400W细胞和来自人的68种组织279个样本100w+细胞

  • 小鼠Mouse Cell Atlas(http://bis.zju.edu.cn/MCA/)

  • signatureDB(https://pldaniels.com/signaturedb/)

最好再加上一些定量实验,比如fluorescent in situ hybridisation or quantitative PCR,确定细胞亚群真实存在,而不仅仅是因为我们分析得到是这样

作者建议
  • 如果只想提取cluster中的上调表达基因,就可以在findMarkers中指定参数direction="up" 。应用在高度异质性群体中,可以更快速判断不同的cluster

  • findMarkers除了将一个cluster与其他各个cluster两两比较之外,还能对某个cluster和其他全部clusters进行差异分析,设置参数pval.type="all" ;如果再和direction="up"连用,就可以用来鉴定每个cluster中特异的marker基因。但是如果存在”过度聚类“的情况,原本一个cluster分成了两个,那么这个特异的marker基因就不会存在。

  • 另外,这里的p值不能简单理解为显著性。具体原因在:https://bioconductor.org/packages/3.9/simpleSingleCell/vignettes/de.html#misinterpretation-of-de-$p$-values


点击底部的“阅读原文”,获得更好的阅读体验哦😻

初学生信,很荣幸带你迈出第一步。

我们是生信星球,一个不拽术语、通俗易懂的生信知识平台。由于是2018年新号,竟然没有留言功能。需要帮助或提出意见请后台留言、联系微信或发送邮件到jieandze1314@gmail.com,每一条都会看到的哦~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存