申请认证 退出

您的申请提交成功

确定 取消

RCA2:单细胞数据的分析和可视化工具!

2021-08-27 09:28

RCA2是目前比较成熟的单细胞注释和可视化的工具,操作简单,绘图精美。RCA2在相对于RCA1在速度、性能上进行了优化,大大扩展了包含的参考数据集,并且可以更轻松地处理大型单细胞数据集(无监督聚类进行注释的新方法)。

导语

GUIDE 

单细胞测序可以详细分析不同细胞类型的转录多样性。RCA2包是一种基于图的聚类算法,可以聚类大型scRNA-seq数据集并可视化。

 
背景介绍




今天小编为大家带来一个处理单细胞数据的R包——RCA2。RCA2以 scRNA-seq数据作为输入,可以对10X Genomics数据进行质量控制和预处理。RCA允许  用户从自己生成自定义参考面板,同时也提供了多个预设的参考面板。RCA考虑选定  的参考面板以及查询单细胞数据,以计算相关矩阵,得出单细胞转录组与参考转录组的相似性,可以在热图中聚类和可视化。RCA首个版本发表在Nature Genetics (doi: 10.1038/ng.3818),RCA2发表在NAR(10.1093/nar/gkab632)。我们可以在Github上学习RCA2的使用方法和源代码(https://github.com/prabhakarlab/RCAv2)。


 
R包安装







library(remotes)install_github("prabhakarlab/RCAv2")
 
可视化展示




01  
数据输入  

使用作者提 供的 10X Genomics 公开数据集,创建一个RCA object。


PBMCs<-RCAv2::createRCAObjectFrom10X("10xPBMCs/")PBMCs


RCA reference class objectRaw data: 5247 cells and 33570 features.

02  
正质量控制(QC)  

根据检测到的基因数量(nGene.thresholds),唯一分子标识符的数量(nUMI.thresholds),线粒体reads百分比 (percent.mito.thresholds)和任何基因需要表达的细胞的最小数量(min.cell.exp)这些QC指标进行可视化。







PBMCs<-RCAv2::dataFilter(PBMCs, nGene.thresholds = c(300,5000),  nUMI.thresholds = c(400,30000), percent.mito.thresholds = c(0.025,0.2), min.cell.exp = 3, plot=T,                  filename = "PBMCs_filter_example.pdf")


我们可以通过测序深度和log转换进行标准化。


PBMCs<-RCAv2::dataLogNormalise(PBMCs)


03  
将单细胞数据映射到reference数据上  

RCA包提供了13个参考面板。当然,我们也可以自己设置reference。



PBMCs<-RCAv2::dataProject(PBMCs, method = "GlobalPanel",                     corMeth = "pearson")

04  
聚类并可视化  

聚类有两个参数:deepSplitValues和minClustSize,分别表 示聚类的cut和最小细胞数。


PBMCs<-RCAv2::dataClust(PBMCs)RCAv2::plotRCAHeatmap(PBMCs,filename = "Heatmap_PBMCs.pdf",var.thrs=1)


除了热图以外,还可以使用UMAP绘制2D和3D的映射图,非常好看。


PBMCs<-computeUMAP(PBMCs)RCAv2::plotRCAUMAP(PBMCs,filename = "UMAP_PBMCs.pdf")

 





PBMCs<-computeUMAP(PBMCs, nDIMS = 3)RCAv2::plotRCAUMAP3D(PBMCs,filename = "UMAP3D_PBMCs.html")


当然,我们还可以观察每个聚类的组成(堆叠条形图)。 a图中,显示每个聚类的相对组成,b显示每个聚类中的细胞的绝对数量。颜色代码表示最有可能的细胞注释。





#Estimate the most probable cell type label for each cellPBMCs<-estimateCellTypeFromProjection(PBMCs,confidence = NULL)#Generate the cluster composition plotRCAv2::plotRCAClusterComposition(PBMCs,filename="Cluster_Composition.pdf")



根据热图和堆叠条图,我们可以根据主要细胞类型注释重新标记聚类:










RCAcellTypes<-PBMCs$clustering.out$dynamicColorsList[[1]]RCAcellTypes[which(RCAcellTypes=="blue")]<-"Monocytes"RCAcellTypes[which(RCAcellTypes=="green")]<-"Dentritic cells"RCAcellTypes[which(RCAcellTypes=="yellow")]<-"B cells"RCAcellTypes[which(RCAcellTypes=="grey")]<-"B cells"RCAcellTypes[which(RCAcellTypes=="brown")]<-"NK cells"RCAcellTypes[which(RCAcellTypes=="turquoise")]<-"T cells"RCAcellTypes[which(RCAcellTypes=="red")]<-"Myeloid cells"RCAcellTypes[which(RCAcellTypes=="black")]<-"Progenitor cells"


这里我们以CD56的表达为例,CD56是一个常见的NK细胞标记,基因名称是NCM1。




CD56Exp<-PBMCs$data[which(rownames(PBMCs$data)=="NCAM1"),]RCAv2::plotRCAUMAP(PBMCs,cellPropertyList = list(CellTypes=RCAcellTypes,CD56=CD56Exp),filename = "UMAP_PBMCs.pdf")



为了获得噪声较小的细胞类型标签,还可以在聚类水平上预测细胞类型。RCA2使用上述cluster组成图进行多数投票。要获得基于cluster的细胞类型预测,可以使用函数estimateCellTypeFromProjectionPerCluster:













PBMCs<-RCAv2::createRCAObjectFrom10X("../Documents/10xExample/")PBMCs<-RCAv2::dataFilter(PBMCs,nGene.thresholds = c(300,4500), percent.mito.thresholds = c(0.025,0.1), min.cell.exp = 3)PBMCs<-RCAv2::dataLogNormalise(PBMCs)PBMCs<-RCAv2::dataProject(PBMCs, method = "NovershternPanel", corMeth = "pearson",  nPCs=0, approx= FALSE)PBMCs<-RCAv2::dataSClust(PBMCs,res = 0.15)PBMCs<-estimateCellTypeFromProjectionPerCluster(PBMCs)



此外,RCA还提供了多种聚类方案以应对大型的单细胞数据集,例如shared neirest neighbour (snn), the Louvain graph based clustering。这里小编就不一一展示了,大家可以根据自己的需求选择聚类方法。




 

 
05  
计算cluster的差异表达基因
 

logFoldChange表示差异表达的FC值。method表示使用哪种统计方法。p.adjust.methods表示多重校正检验。mean.Exp和min.pct表示表达基因的最小表达值以及表达基因的细胞的最小百分比。此外,top基因可以通过绘图热图功能在热图中绘制:















PBMCs<-RCAv2::dataDE(PBMCs, logFoldChange = 1.5, method = "wilcox", mean.Exp = 0.5, deep.Split.Values = 1, min.pct = 0.25, min.diff.pct = -Inf, random.seed = 1, min.cells.group = 3, pseudocount.use = 1, p.adjust.methods = "BH", top.genes.per.cluster = 10)
RCAv2::plotDEHeatmap(PBMCs,scale=FALSE)

06  
GO和KEGG富集  

GO富集














doEnrichGo<-function(rca.obj, annotation=NULL, ontology="BP", p.Val=0.05, q.Val=0.2, p.Adjust.Method="BH", gene.label.type="SYMBOL", filename="GoEnrichment.pdf", background.set="ALL", background.set.threshold=NULL, n.Cells.Expressed=NULL, cluster.ID=NULL, deep.split=NULL)


KEGG富集















doEnrichKEGG<-function(rca.obj, annotation=NULL, org="hsa", key="kegg", p.Val=0.05, q.Val=0.2, p.Adjust.Method="BH", gene.label.type="SYMBOL", filename="KEGGEnrichment.pdf", background.set="ALL", background.set.threshold=NULL, n.Cells.Expressed=NULL, cluster.ID=NULL, deep.split=NULL)



 
小编总结




RCA2是目前比较成熟的单细胞注释和可视化的工具,操作简单,绘图精美 。RCA2在相对于RCA1在速度、性能上进行了优化,大大扩展了包含的参考数据集,并且可以更轻松地处理大型单细胞数据集(无监督聚类进行 注释的新方法 )。那么今天使用RCA2处理单细胞数据的方法小编就全部介绍完啦,有兴趣的同学可以自己尝试一下哦!

 

不感兴趣

看过了

取消

单细胞,数据集,工具,数据,分析,基因

不感兴趣

看过了

取消

相关阅读

赞+1

您的申请提交成功

您的申请提交成功

确定 取消
海报

已收到您的咨询诉求 我们会尽快联系您

添加微信客服 快速领取解决方案 您还可以去留言您想解决的问题
去留言
立即提交