如何批量转换基因名称的两种方法
平常的生信数据分析中,我们会遇到不同的来源的基因名称需要相互匹配的问题,比如我们需要将人的“ENST”开头的ensembl转录本编号替换成对应的refseq里的“NM”开头的转录本编号,本文主要针对这种ID转换介绍两种转换方法。
第一种方法
通过biomaRt来实现基因名对应表的下载。biomaRt有网页版和R包两种版本,网页版去Ensembl官网上即可找到BioMart的入口,如下图所示:
img
本文着重说一下R包版本的使用方法 biomaRt在Bioconductor库里,官方网址为: http://www.bioconductor.org/packages/release/bioc/html/biomaRt.html。
首先进行biomaR安装:
img
img
这样即可得到一个包含refseq转录本名称和ensembl转录本名称的对应表,在excel中通过vlookup()函数即可进行匹配。
以上操作仅仅是笔者的个人习惯,比如检索时用Rstudio的搜索框,getBM()直接导出所有基因然后在excel里操作匹配。当然读者也可以使用DT包进行信息搜索,使用getBM()的filters参数直接筛选候选基因的对应信息,同时biomaRt的应用场景非常广,有兴趣的同学可以去详细的学习下这个包,这里就不再详述。
第二种方法
直接通过bioDBnet这个网站进行基因名转换,网址为: https://biodbnet-abcc.ncifcrf.gov/db/db2db.php
同样以转录本的名称转换为例,在Input栏选中输入的转录本格式,Outputs栏选中输出格式,Organism里输入Taxon ID,此ID也可以点击蓝色的Taxon ID超链接进入新的窗口,在里面查询想要的物种所对应的Taxon ID,比如人的Taxon ID为9606。最后在ID List栏里粘贴要输入的数据,点击提交。
img
结果展示如下:
img
这里我们可以看到,每个EnsemblTranscript号对应多个RefSeqmRNA号,到这里笔者也被卡住了,如果要进一步筛选想要的RefSeq mRNA号需要增加额外的工作量,这显然不是我们想要的。但是,该网站对基因层面的转换是唯一对应的,如Symbol名转换成Ensembl名,示例结果如下:
img
总结一下
biomaRt的R包使用方法是最好的,biomaRt的网页版使用可能有两个潜在的问题,一是笔者有几次打不开网页,二是下载大量数据时可能会卡主,而biomaRt的R包方法则不存在这些问题,唯一的缺点就是需要使用R,这对从没用过R的人来说可能不太友好。bioDBnet网站的优点是响应速度快,操作简单,缺点是不太适用于转录本编号名称的转换,如果是少量基因数据的任务需求,bioDBnet会是个不错的选择。不过笔者的习惯是,biomaRt的R包下载所有基因的常用数据库到本地,然后excel里vlookup一下!
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!