前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >输出人类全部基因的全名和别名

输出人类全部基因的全名和别名

作者头像
生信技能树
发布2023-02-28 11:26:50
5010
发布2023-02-28 11:26:50
举报
文章被收录于专栏:生信技能树生信技能树

TP53基因大家都有所耳闻,而且也大概都知道它是 tumor protein p53的简称,其实它还有很多别名,比如BCC7;LFS1;P53;TRP53;

如果你通过数据分析拿到了一系列感兴趣的基因,但是只有类似于TP53这样的基因标准symbol名字,想批量拿到全部的基因的全名和别名,这里有一个代码分享给大家。

代码语言:javascript
复制
rm(list=ls())
library(org.Hs.eg.db)
eg2symbol=toTable(org.Hs.egSYMBOL)
eg2name=toTable(org.Hs.egGENENAME)
eg2alias=toTable(org.Hs.egALIAS2EG)
eg2alis_list=lapply(split(eg2alias,eg2alias$gene_id),function(x){paste0(x[,2],collapse = ";")})
GeneList=mappedLkeys(org.Hs.egSYMBOL)

GeneList[1]
if( GeneList[1] %in% eg2symbol$symbol ){
  symbols=GeneList
  geneIds=eg2symbol[match(symbols,eg2symbol$symbol),'gene_id']
}else{
  geneIds=GeneList
  symbols=eg2symbol[match(geneIds,eg2symbol$gene_id),'symbol']
}
geneNames=eg2name[match(geneIds,eg2name$gene_id),'gene_name']
geneAlias=sapply(geneIds,function(x){ifelse(is.null(eg2alis_list[[x]]),"no_alias",eg2alis_list[[x]])})

借助于 org.Hs.eg.db 包,我们已经拿到了全部的人类全部基因的全名和别名,就是如下所示的4个变量:

  • geneIds
  • symbols
  • geneNames
  • geneAlias

接下来可以做一个简单的HTML报表输出,代码如下所示:

代码语言:javascript
复制
createLink <- function(base,val) {
   sprintf('<a href="%s" class="btn btn-link" target="_blank" >%s</a>',base,val) ##target="_blank" 
}
gene_info=data.frame(   symbols=symbols,
                        geneIds=createLink(paste0("http://www.ncbi.nlm.nih.gov/gene/",geneIds),geneIds),
                        geneNames=geneNames,
                        geneAlias=geneAlias,
                        stringsAsFactors = F
)  
#library("xtable") 
#print(xtable(gene_info), type="html",include.rownames=F, file='all_gene.anno',sanitize.text.function = force)
file='all_gene_bioconductor.html'
y <- DT::datatable(gene_info,escape = F,rownames=F)
DT::saveWidget(y,file) 

可以看到输出的报表清晰简洁,而且还支持搜索:

清晰简洁

学徒作业

把我上面的代码扩充,给全部的基因同步加上对应的go和kegg信息,也是借助于R里面的包即可。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 学徒作业
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档