美文网首页单细胞测序技术
单细胞拷贝数变异

单细胞拷贝数变异

作者: sucycy | 来源:发表于2022-06-02 17:22 被阅读0次

拷贝数变异分析在单细胞中常应用于区分肿瘤细胞,因为肿瘤细胞没有明确的Marker,很难通过转录组数据从肿瘤细胞中区分正常和恶性肿瘤细胞,拷贝数变异是指染色体上大于1 kb的DNA片段的扩增或者减少。目前常用的检测软件有inferCNV和CopyKAT等,我们在这里进行一些测试,这2软件在细胞数多的时候还是很耗时间和内存的。

测试1 :inferCNV
1 首先加载我们需要用到的包

library(Seurat)
library(ggplot2)
library(infercnv)
library(AnnoProbe)

2 读取我们需要的数据,并把我们想分的cluster分出来

PRO<-readRDS('cmulti/lung.diff_PRO.rds')
PRO<-subset(PRO,idents=c('AT2','CancerCells'))
DimPlot(PRO)
image.png

3 导出我们需要的数据

AT2cells=row.names(PRO@meta.data)[which(PRO@meta.data[["new_ident"]]=='AT2')]#挑选出singleR注释得到的上皮细胞所在的列
AT2Mat=as.data.frame(GetAssayData(subset(PRO,cells=AT2cells),slot='counts'))#将上皮细胞所对应的表达谱单独提取出来
Cancer.cells=row.names(PRO@meta.data)[which(PRO@meta.data[["new_ident"]]=='CancerCells')]#挑选出cancer cell来进行验证,在这里也可以选择疑似肿瘤细胞的cluster进行验证。
CancerMat=as.data.frame(GetAssayData(subset(PRO,cells=Cancer.cells),slot='counts'))##将肿瘤细胞所对应的表达谱单独提取出来
dat=cbind(AT2cells,CancerMat)#将我们要分析的2个cluster矩阵合并
groupinfo=data.frame(v1=colnames(dat),v2=c(rep('AT2',ncol(AT2cells)),rep('CancerCells',ncol(CancerMat)))) #输出每个barcode对应的细胞类型

4 输出基因的位置

geneInfor=annoGene(rownames(dat),"SYMBOL",'human')##将表达谱中的基因所对应在染色体的位置提出来
geneInfor=geneInfor[with(geneInfor,order(chr, start)),c(1,4:6)]##将symbol的名字,所在染色体以及染色体的起始位置所在的列提出来
geneInfor=geneInfor[!duplicated(geneInfor[,1]),]##去除重复

5 过滤表达矩阵,输出下一步分析需要的数据

dat=dat[rownames(dat)%in% geneInfor[,1],]
write.table(dat,file ='expFile.txt',sep = '\t',quote = F)
write.table(groupinfo,file='groupFiles.txt',sep = '\t',quote = F,col.names = F,row.names = F)
write.table(geneInfor,file= 'geneFile.txt',sep = '\t',quote = F,col.names = F,row.names = F)

6 形成分析CNV需要的数据格式

options(stringsAsFactors= F)
expFile='expFile.txt'
groupFiles='groupFiles.txt' 
geneFile='geneFile.txt'
infercnv_obj=CreateInfercnvObject(raw_counts_matrix=expFile,annotations_file=groupFiles,gene_order_file=geneFile,ref_group_names='AT2') #在这里使用AT2作为refference
infercnv_obj2=infercnv::run(infercnv_obj,cutoff=0.1,cluster_by_groups=F,hclust_method="ward.D2",plot_steps=F,out_dir='./ceshi/CNV/inferCNV')
image.png

从图片来看,的确CancerCells的拷贝数比AT2(二型肺泡上皮细胞)要更明显

测试二

1 加载需要的包

library(Seurat)
library(tidyverse)
library(copykat)

2 读取,提取需要的数据,在这里只把肺泡上皮和肿瘤细胞提出来

PRO<-readRDS('lung.diff_PRO.rds')
PRO<-subset(PRO,idents=c('AT2','CancerCells'))

3 处理数据

counts<-as.matrix(PRO@assays$RNA@counts)
cnv <- copykat(rawmat=counts,ngene.chr=5,sam.name="Lung",n.cores=4)
saveRDS(cnv, "cnv.rds")
image.png

绿色为正常细胞,橘色为恶性细胞,emmmmm,感觉不太对的样子
4 映射到seraut的图上

mallignant<- read.delim('Lung_copykat_prediction.txt')
mallignant <- mallignant[!duplicated(mallignant$cell.names),]
rownames(mallignant)<-mallignant$cell.names
PRO<- AddMetaData(PRO,metadata = mallignant)
p1<-DimPlot(PRO, group.by = 'copykat.pred')+ scale_color_manual(values = c("gray","red",'blue'))
p2<-DimPlot(PRO)
pc <- p1 + p2
ggsave('umap.pdf',pc, width = 12, height = 5)
image.png

自我怀疑是不是参数设置的有问题,和想的很不一样....

相关文章

  • 单细胞拷贝数变异

    拷贝数变异分析在单细胞中常应用于区分肿瘤细胞,因为肿瘤细胞没有明确的Marker,很难通过转录组数据从肿瘤细胞中区...

  • 【​单细胞转录组】inferCNV第二次总结

    InferCNV的目的: InferCNV用于探索肿瘤单细胞RNA-Seq数据,以鉴定大规模染色体拷贝数变异的证据...

  • 单细胞笔记2-inferCNV的使用

    介绍 inferCNV是用于单细胞测序数据推断肿瘤细胞拷贝数变异的工具。 引言 之前我做inferCNV都是仅仅出...

  • 什么是拷贝数变异CNV

    拷贝数变异 拷贝数变异(Copy number variation, CNV)是由基因组[https://baik...

  • inferCNV学习笔记

    InferCNV是一个由broad研究所开发的,利用单细胞转录组数据分析肿瘤细胞拷贝数变异(CNV)的工具。基本思...

  • infercnv输入文件的制作

    有粉丝反映跟着我们的教程:使用inferCNV分析单细胞转录组中拷贝数变异 ,但是第一步3个输入文件就制作失败,值...

  • 单细胞分析实录(11): inferCNV的基本用法

    InferCNV可以用于肿瘤单细胞RNA-Seq数据中鉴定大规模染色体拷贝数变异,例如整个染色体或大片段染色体的扩...

  • R语言合并TCGA中CNV矩阵

    上一期给大家介绍了如何从TCGA数据库下载拷贝数变异(CNV)数据 ☞ 如何下载TCGA拷贝数变异(CNV)数据[...

  • NCBI Gene数据库中检索基因结构

    变异包含很多种:单核苷酸多态性(SNP)、插入缺失突变(INDEL)、拷贝数变异(CNV)以及结构变异(SV)等。...

  • 癌症基因组重测序分析五

    ——体细胞拷贝数变异(CNV)与基因组结构变异(SV)鉴定 1. 什么是CNV? Deletions and du...

网友评论

    本文标题:单细胞拷贝数变异

    本文链接:https://www.haomeiwen.com/subject/fdcxmrtx.html