ete3:如何从分类 ID 中获取分类排名名称?
ete3: How to get taxonomic rank names from taxonomy id?
我想用它来转换一堆标识符,但我需要确切地知道每个分类代码分配给哪个分类等级。下面显示的是一个有意义的转换示例,但我不知道如何标记某些分类法调用。基本的分类等级是:(域、界、门、class、目、科、属和种)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
使用ncbi.get_rank()
得到{id:name}
的字典然后做一些基本的转换得到{name:taxonomy}
我想用它来转换一堆标识符,但我需要确切地知道每个分类代码分配给哪个分类等级。下面显示的是一个有意义的转换示例,但我不知道如何标记某些分类法调用。基本的分类等级是:(域、界、门、class、目、科、属和种)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
使用ncbi.get_rank()
得到{id:name}
的字典然后做一些基本的转换得到{name:taxonomy}