繁体   English   中英

用大型 GMT 文件中的基因符号替换 ensembl 基因 ID

[英]Replace ensembl gene ID with gene symbol in a large GMT file

我知道那里有类似的问题,但我确实花了一整天的时间在谷歌上,找不到我的问题的答案。 我有一个 GMT 文件,我需要用基因符号替换集成 ID 以运行基因集分析,我有一个 dataframe 列出集成 ID 及其匹配的基因符号。 我可以为一列运行此代码,它可以工作:

GMTdf$V3 <- Gene_list$hgnc_symbol[match(GMTdf$V3, Gene_list$ensembl_gene_id)]

但我不知道该怎么做是为我拥有的 GMT 文件的 495 列循环它。 我尝试了很多东西,但没有任何效果。 唯一看起来很有希望的是以下代码,但它用 NA 替换了所有内容。

GMTdf[,3:495] = Gene_list$hgnc_symbol[GMTdf[,3:495], Gene_list$ensembl_gene_id)]

我曾尝试使用 dplyr 突变和 StackOverflow 中给出的关于用基因符号替换 ensembl ID 的建议,但我是一个业余编码员,无法弄清楚。 请帮忙。

您可以使用lapply为多个列应用 function。

cols <- 3:495
GMTdf[cols] <- lapply(GMTdf[cols] function(x) 
                      Gene_list$hgnc_symbol[match(x, Gene_list$ensembl_gene_id)])

dplyr中,您可以对 cross 执行相同across操作。

GMTdf <- GMTdf %>% mutate(across(cols, 
                   ~Gene_list$hgnc_symbol[match(., Gene_list$ensembl_gene_id)]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM