26uuu电影 胃癌单细胞数据集GSE163558复现(十):CopyKAT分析

发布日期:2025-03-18 04:19    点击次数:102

26uuu电影 胃癌单细胞数据集GSE163558复现(十):CopyKAT分析

图片26uuu电影26uuu电影

绪言

Hello小伙伴们人人好,我是生信手段树的小学徒”我才不吃蛋黄“。今天是胃癌单细胞数据集GSE163558复现系列第十期。第九期咱们用TCGA-STAD数据进行生计分析。本期,咱们将回到高档分析(CopyKAT分析),通过计较CNV评估上皮细胞良恶性。

1.布景先容

在第六期推文中,咱们聚会TCGA-STAD数据给上皮添加了恶性评分,从而协助分裂肿瘤细胞与非肿瘤细胞。在高档分析中,咱们不错应用inferCNV和CopyKAT对单细胞进行CNV(Copy number variation, 拷贝数变异)分析,分裂肿瘤细胞与非肿瘤细胞。

CNV是基因组结构变异(Structural variation,SV)的热切构成部分,主要原因是基因组发生重排,一般指长度为1kb以上的基因组大片断的拷贝数加多能够减少,主要透露为亚显微水平的缺构怨交流。CNV在肿瘤的发生和发展究诘中上演热切的变装。

本期咱们使用CopyKAT (Copynumber Karyotyping of Tumors)进行CNV分析,它是一种集成贝叶斯分割体式。应用scRNA-seq数据料到东谈主类肿瘤的基因组拷贝数,然后通过对拷贝数数据进行分层聚类,以识别非整倍体肿瘤细胞和二倍体基质细胞之间的最大距离。其旨趣相通是通过单细胞转录组数据来料到细胞的染色体倍数,进而料到是泛泛细胞(diploid)如故肿瘤细胞(aneuploid)。

2.数据分析2.1 导入数据

最初断根系统环境变量,加载R包,开拓新文献夹和使命目次,导入恶性上皮细胞数据:

rm(list=ls())options(stringsAsFactors = F)library(Seurat)library(ggplot2)library(clustree)library(cowplot)library(dplyr)library(infercnv)library(copykat)library(tidyverse)#devtools::install_github("broadinstitute/infercnv")dir.create("8-CNV")getwd()setwd("../8-CNV") sce=readRDS( "../6-TCGA_STAD/malignant.rds")table(sce$celltype)Idents(sce) = sce$celltype

幸免背面历程脱手的太长了对细胞进行抽样:

seurat_object = sceseurat_object <- subset(seurat_object, downsample=200)table(Idents(seurat_object))

瞻望肿瘤/泛泛细胞气象的基答允趣辱骂整倍体在东谈主类癌症中很常见 (90%)。具有泛泛全基因组拷贝数畸变(非整倍体)的细胞被以为是肿瘤细胞,而基质泛泛细胞和免疫细胞经常具有2N二倍体或接近二倍体的拷贝数溜达。copykat通过单细胞转录组数据来料到细胞的染色体倍数,进而料到是泛泛细胞(diploid)如故肿瘤细胞(aneuploid)。它还不错进一步对肿瘤细胞进行聚类,找出不同的亚群。

脱手CopyKAT

ngene.chr参数是过滤细胞的一个尺度,它条款被用来作念CNV瞻望的细胞,一个染色体上至少有5个基因。

sam.name界说样真称号 (sample name),会给出来的文献加前缀

scRNA <- seurat_objectcounts <- as.matrix(scRNA@assays$RNA$counts)table(scRNA$celltype)if(T){cnv <- copykat(rawmat=counts, ngene.chr=5, sam.name="test", n.cores=8)      saveRDS(cnv, "cnv.rds")}

添加CopyKAT恶果到seurat对象meta.data信息中:26uuu电影

cnv=readRDS( "cnv.rds")table(rownames(cnv$CNAmat))a = cnv$prediction$copykat.predtable(a)scRNA$CopyKAT = a

CopyKAT恶果可视化:泛泛细胞(diploid,蓝色)如故肿瘤细胞(aneuploid,红色)

p1 <- DimPlot(scRNA, group.by = "celltype", label = T,reduction = 'tsne')p2 <- DimPlot(scRNA, group.by = "CopyKAT",reduction = 'tsne') + scale_color_manual(values = c("#F8766D",'#02BFC4', "gray"))pc <- p1 + p2pc

图片

可视化maker基因'TPPP3','KRT17'的抒发情况,搜检CopyKAT恶果准确性:

cols = c("gray", "coral2")plot <- FeaturePlot(scRNA, features = c('TPPP3','KRT17'),cols = cols, pt.size = 1,reduction = 'tsne')+    theme(panel.border = element_rect(fill=NA,color="black", size=1, linetype="solid"))#加边框 plot_grid(p2,plot)

图片

CopyKAT恶果主要有两个:

1)瞻望的恶果泛泛细胞(diploid)如故肿瘤细胞(aneuploid);

2) 每个CNV segment在每个细胞的抒发量。这里看出和inferCNV的不同来了,是基于genomic coordinate而不是gene level的抒发量。

绘图热图
copykat.test = cnvpred.test <- data.frame(copykat.test$prediction)CNA.test <- data.frame(copykat.test$CNAmat)head(pred.test)head(CNA.test[,1:5])my_palette <- colorRampPalette(rev(RColorBrewer::brewer.pal(n = 3, name = "RdBu")))(n = 999)chr <- as.numeric(CNA.test$chrom) %% 2+1rbPal1 <- colorRampPalette(c('black','grey'))CHR <- rbPal1(2)[as.numeric(chr)]chr1 <- cbind(CHR,CHR)rbPal5 <- colorRampPalette(RColorBrewer::brewer.pal(n = 8, name = "Dark2")[2:1])com.preN <- pred.test$copykat.predpred <- rbPal5(2)[as.numeric(factor(com.preN))]cells <- rbind(pred,pred)col_breaks = c(seq(-1,-0.4,length=50),seq(-0.4,-0.2,length=150),seq(-0.2,0.2,length=600),seq(0.2,0.4,length=150),seq(0.4, 1,length=50))heatmap.3(t(CNA.test[,4:ncol(CNA.test)]),dendrogram="r", distfun = function(x) parallelDist::parDist(x,threads =4, method = "euclidean"),           hclustfun = function(x) hclust(x, method="ward.D2"),          ColSideColors=chr1,Colv=NA, Rowv=TRUE,          notecol="black",col=my_palette,breaks=col_breaks, key=TRUE,          keysize=1, density.info="none", trace="none",          cexRow=0.1,cexCol=0.1,cex.main=1,cex.lab=0.1,          symm=F,symkey=F,symbreaks=T,cex=1, cex.main=4, margins=c(10,10))legend("topright", paste("pred.",names(table(com.preN)),sep=""), pch=15,col=RColorBrewer::brewer.pal(n = 8, name = "Dark2")[2:1], cex=0.6, bty="n")

图片

再对肿瘤细胞再聚类并画热图,又能分红两群。

AV女优
table(pred.test$copykat.pred)tumor.cells <- pred.test$cell.names[which(pred.test$copykat.pred=="aneuploid")]colnames(CNA.test) <- gsub(".1$", "-1", colnames(CNA.test))tumor.mat <- CNA.test[, colnames(CNA.test) %in% tumor.cells]hcc <- hclust(parallelDist::parDist(t(tumor.mat),threads =4, method = "euclidean"), method = "ward.D2")hc.umap <- cutree(hcc,2)rbPal6 <- colorRampPalette(RColorBrewer::brewer.pal(n = 8, name = "Dark2")[3:4])subpop <- rbPal6(2)[as.numeric(factor(hc.umap))]cells <- rbind(subpop,subpop)heatmap.3(t(tumor.mat),dendrogram="r", distfun = function(x) parallelDist::parDist(x,threads =4, method = "euclidean"),           hclustfun = function(x) hclust(x, method="ward.D2"),          ColSideColors=chr1,RowSideColors=cells,Colv=NA, Rowv=TRUE,          notecol="black",col=my_palette,breaks=col_breaks, key=TRUE,          keysize=1, density.info="none", trace="none",          cexRow=0.1,cexCol=0.1,cex.main=1,cex.lab=0.1,          symm=F,symkey=F,symbreaks=T,cex=1, cex.main=4, margins=c(10,10))legend("topright", c("c1","c2"), pch=15,col=RColorBrewer::brewer.pal(n = 8, name = "Dark2")[3:4], cex=0.9, bty='n')

图片

终末把CNV的恶果投射到单细胞聚类恶果上看一看是否合理,Seurat尺度历程走一遍,聚类恶果和copyKAT分群恶果投射到TSNE上。

standard10X = function(dat,nPCs=50,res=1.0,verbose=FALSE){  srat = CreateSeuratObject(dat)  srat = NormalizeData(srat,verbose=verbose)  srat = ScaleData(srat,verbose=verbose)  srat = FindVariableFeatures(srat,verbose=verbose)  srat = RunPCA(srat,verbose=verbose)  srat = RunTSNE(srat,dims=seq(nPCs),verbose=verbose)  srat = FindNeighbors(srat,dims=seq(nPCs),verbose=verbose)  srat = FindClusters(srat,res=res,verbose=verbose)  return(srat)}GC1 <- standard10X(counts, nPCs=30, res=0.8)GC1$copykat.pred <- pred.test$copykat.predGC1$copykat.tumor.pred <- rep("normal", nrow(GC1@meta.data))table(hc.umap)GC1$copykat.tumor.pred[rownames(GC1@meta.data) %in% names(hc.umap[hc.umap==1])] <- "tumor cluster 1"GC1$copykat.tumor.pred[rownames(GC1@meta.data) %in% names(hc.umap[hc.umap==2])] <- "tumor cluster 2"p1 <- DimPlot(GC1, label = T)p2 <- DimPlot(GC1, group.by = "copykat.pred")p3 <- DimPlot(GC1, group.by = "copykat.tumor.pred")p1 + p2 + p3

不错看到:2,4,8群是肿瘤细胞亚克隆

图片

从免疫细胞和肿瘤细胞的标记基因抒发来看,copyKAT不错正确找出泛泛细胞和肿瘤细胞。

FeaturePlot(GC1,features=c("PTPRC", "EPCAM"), order = T)

图片

结语

本期,咱们使用CopyKAT分析评估上皮细胞良恶性。下一期,咱们将对T细胞亚群进行细分。趁机提前预报一下,胃癌系列推文完成后,将开启肺腺癌单细胞数据集GSE189357复现系列,有关视频也曾在B站上线:

图片

文献推文详见(单细胞测序+空间转录组描摹从癌前病变到浸润性肺腺癌的动态演变  )。此外,对于推文施行的擢升和优化,宽容人人提妥当成见。谢谢!

图片

本站仅提供存储处事,悉数施行均由用户发布,如发现存害或侵权施行,请点击举报。