一、输入文件要求
运行infercnv之前,需要准备三个文件:1、单细胞表达矩阵文件;2、细胞类型注释文件;3、基因坐标文件。
inferCNV示例数据
oligodendroglioma_expression_downsampled.counts.matrix"
"oligodendroglioma_annotations_downsampled.txt"
"gencode_downsampled.EXAMPLE_ONLY_DONT_REUSE.txt"
1、表达矩阵:行为基因名,列为样本名,而且必须为count原始表达矩阵
2、细胞注释文件:实战时根据自己的具体细胞信息创建
3、基因坐标文件
a.下载基因组对应的GTF文件,自己提取基因坐标信息,这个对初学者可能有点困难。
b.broad准备好的文件:https://data.broadinstitute.org/Trinity/CTAT/cnv/
10x scRNA数据一般比对GRCh38版基因组,下载文件请选择V21版
c.通过AnnoProbe包创建基因坐标文件(jimizeng老师)
dat=read.table("/inferCNV/SCE_M/mix_exp_M.csv",stringsAsFactors=FALSE, header=TRUE, check.names=FALSE,row.names=1,sep=",")
library(AnnoProbe)
geneInfor=annoGene(rownames(dat),"SYMBOL","human")
colnames(geneInfor)
geneInfor=geneInfor[with(geneInfor, order(chr, start)),c(1,4:6)]
geneInfor=geneInfor[!duplicated(geneInfor[,1]),]
length(unique(geneInfor[,1]))
head(geneInfor)
# 这里可以去除性染色体
#也可以把染色体排序方式改变
dat=dat[rownames(dat) %in% geneInfor[,1],]
dat=dat[match( geneInfor[,1], rownames(dat) ),]
dim(dat)
head(geneInfor)
geneFile='/inferCNV/SCE_M/geneFile.txt'
write.table(geneInfor,file = geneFile,sep = '\t',quote = F,col.names = F,row.names = F)
网友评论