如何根据taxid(或taxname)快速获得taxname(或taxid)?

需求

我有一个物种taxonomy ID的list,想获得相应的物种名,不要一个个去NCBI Taxonomy官网查。反之根据物种名list查询对应的taxid。

实现

因为之前没怎么用过,我的第一个想法是通过下载到集群的taxonomy数据库文件来匹配。一般下载下来的数据库会有names.dmp和nodes.dmp文件,分别是物种层级关系文件和taxid与物种名对应文件。但我想要的只是species这个层级的,所以要结合这两个文件写个小程序才能实现,并且很可能出错,因为我不知道到底哪个才是标准的species name。

比如说,我想要知道taxid为10090的物种名,在names.dmp文件中有如下这么多对应关系:
image.png

其实,NCBI的Taxonomy数据库自带了一个叫TaxIdentifier的工具(https://www.ncbi.nlm.nih.gov/Taxonomy/TaxIdentifier/tax_identifier.cgi),可以轻松转换。
image.png
如上图我输入一个taxid list,直接得到以下结果:
image.png

通过选择full taxid lineage,也可以得到该物种的所有谱系关系:
image.png
反过来,通过taxname来获得taxid也是一样的,不过要注意名字的规范性。

可见在生物学问题研究上,很多轮子已经造成了,要学会搜索和使用。关键还是需求问题。

posted @ 2020-12-30 11:58  生物信息与育种  阅读(1145)  评论(0编辑  收藏  举报