在UCSC xena 下载TCGA的RNASeq的数据,注意看页面的unit写的单位,一般是log2(count+1)之类的。如果要转换成count值,那么需要:2^矩阵-1,就转换成真实count的值
例子:
UCSC下载KIRC转录组数据:
还要注意矩阵的行名,也就是基因名有没有重复。
genes <- rownames(GeneMat)
GeneMat1 <- GeneMat[which(!duplicated(genes)),]
即可去除重复的基因的行。
ENSG基因名字问题:
一个ENSG编码对应一个基因,注意有些编号带有小数点,应该是版本。例如:ENSG00000223972.5,有时要注意版本号问题,不过我们在注释时,可以考虑去除小数点,只保留前面的编号。
ensg <- sapply(strsplit(Table$id,"[.]"),"[[",1)
Table$id为R的向量,strsplit(Table$id,"[.]")得到一个list,每个元素第一个为ENSG编号(小数点前),ensg为去除了ENSG编号小数点的向量
稀疏矩阵输出表格问题:
将稀疏矩阵选择部分基因作为基因表达矩阵输出表格:write.table(ChoGeneExpMat,file="xxx.geneexp.xls",sep="\t",quote=FALSE)
出现报错:
Error in as.data.frame.default(x[[i]], optional = TRUE) :
cannot coerce class ‘structure("dgeMatrix", package = "Matrix")’ to a data.frame
解决方法:write.table(as.matrix(ChoGeneExpMat),file="xxx.geneexp.xls",sep="\t",quote=FALSE)
网友评论