ete3:如何从分类标识中获取分类等级名称?

时间:2017-09-10 20:09:56

标签: python bioinformatics taxonomy ncbi ete3

我想用它来转换一堆标识符,但我需要确切地知道为每个分类代码分配了哪个分类等级。下面显示的是一个有意义的转换示例,但我不知道如何标记一些分类法调用。基本的分类等级是:(域,王国,门,类,秩序,家庭,属和物种)https://en.wikipedia.org/wiki/Taxonomic_rank

对于大多数情况来说,它很容易,但如果有细菌的亚种和菌株,这可能会让人感到困惑。

如何让ete3指定血统ID在分类等级中对应的等级?

import ete3
import pandas as pd

ncbi = ete3.NCBITaxa()
taxon_id = 505
lineage = ncbi.get_lineage(taxon_id)
Se_lineage = pd.Series(ncbi.get_taxid_translator(lineage), name=taxon_id)
Se_lineage[lineage]


1                       root
131567    cellular organisms
2                   Bacteria
1224          Proteobacteria
28216     Betaproteobacteria
206351          Neisseriales
481            Neisseriaceae
32257               Kingella
505          Kingella oralis
Name: 505, dtype: object

1 个答案:

答案 0 :(得分:0)

使用ncbi.get_rank()获取{id:name}字典然后进行一些基本转换以获取{name:taxonomy}