最近做了跟TCGA相关的项目,借此机会也认识了zeroing说的作者,参考了他的两篇文章:
但在实际的操作中,也发现了第二篇文章中的一些小问题,因此将其转载到公众号后稍加改进,但是基因注释这部分中,第三方包的安装方法似乎已无法使用,因此记录下来,分享给需要的小伙伴们。
在旧版本中,“clusterProfiler”、“org.Hs.eg.db”和“biomaRt”这三个包的安装是用source命令进行安装,但现在这个方法貌似已经无法使用了,而现在需要安装这三个包则要用BiocManager进行。(BiocManager详细介绍可见:https://bioconductor.org/install/)
以下使用的编程语言为R语言
首先,我们需要安装BiocManager:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install()
然后,我们就可以根据BiocManager安装“clusterProfiler”、“org.Hs.eg.db”和“biomaRt”这三个包了:
BiocManager::install(c(“clusterProfiler”,“org.Hs.eg.db”,“biomaRt”))
然而坑的地方就从这一步开始了,这句代码在安装这三个包的时候,会发现这三个包需要很多依赖包,因此在安装它们之前会自动先安装那些依赖包,但是由于版本变更,会有许多包的安装地址发生改变,因此无法顺利安装,最后导致失败,所以我们就需要根据自己缺少的一一手动补装。安装完了以后,会询问你是否更新一些包,直接回答“n”,不要更新,不然可能还会失败。(当时安装报错时,忘记截屏了,所以没放图片)
最后,我们就可以进行编译了:
——以下代码参考于公众号“zeroing说”——
new_data <- read.csv(file = 'F:/GCBI_TCGA/data1.csv')
rownames(new_data) <- new_data[,1]
new_data <- new_data[c(-1)]
char =substr(rownames(new_data),1,15)
rownames(new_data) <- substr(rownames(new_data),1,15)
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl")) #构建mart
my_ensembl_gene_id<-char #需要转换的exsembl的编码;
mms_symbols<- getBM(attributes=c('ensembl_gene_id','hgnc_symbol',"description"),filters = 'ensembl_gene_id',values = my_ensembl_gene_id,mart = mart)#基因注释之后的表
注:useDataset()和getBM()两个函数是biomaRt包内的功能。
获得所需要的基因注释后,我们就可以将其导入回原数据文件内。
在第二篇文章中还存在,文件定位的小问题,就在原作者的文章基础上进行改进,关注公众号,回复“TCGA”便可进行查看,谢谢大家支持!