需求
我有一個物種taxonomy ID的list,想獲得相應的物種名,不要一個個去NCBI Taxonomy官網查。反之根據物種名list查詢對應的taxid。
實現
因為之前沒怎么用過,我的第一個想法是通過下載到集群的taxonomy數據庫文件來匹配。一般下載下來的數據庫會有names.dmp和nodes.dmp文件,分別是物種層級關系文件和taxid與物種名對應文件。但我想要的只是species這個層級的,所以要結合這兩個文件寫個小程序才能實現,並且很可能出錯,因為我不知道到底哪個才是標准的species name。
比如說,我想要知道taxid為10090的物種名,在names.dmp文件中有如下這么多對應關系:
其實,NCBI的Taxonomy數據庫自帶了一個叫TaxIdentifier的工具(https://www.ncbi.nlm.nih.gov/Taxonomy/TaxIdentifier/tax_identifier.cgi),可以輕松轉換。
如上圖我輸入一個taxid list,直接得到以下結果:
通過選擇full taxid lineage,也可以得到該物種的所有譜系關系:
反過來,通過taxname來獲得taxid也是一樣的,不過要注意名字的規范性。
可見在生物學問題研究上,很多輪子已經造成了,要學會搜索和使用。關鍵還是需求問題。