一个Python包,用于从一组分类标识符中获取完整的血统和最低共同祖先(LCA)。
taxop的Python项目详细描述
分类学
一个Python包,用于从一组分类标识符中获取完整的血统和最低共同祖先(LCA)。在
安装
有两种安装taxopy的方法:
- 使用pip:
pip install taxopy
- 使用conda:
使用
importtaxopy
首先,您需要从NCBI的服务器下载分类信息,并将这些数据放入TaxDb
对象中:
taxdb=taxopy.TaxDb()# You can also use your own set of taxonomy files:taxdb=taxopy.TaxDb(nodes_dmp="taxdb/nodes.dmp",names_dmp="taxdb/names.dmp",keep_files=True)
TaxDb
对象存储每个分类标识符的名称、等级和父子关系:
print(taxdb.taxid2name['2'])print(taxdb.taxid2parent['2'])print(taxdb.taxid2rank['2'])
Bacteria
131567
superkingdom
要获取给定分类单元的信息,可以使用其分类标识符创建Taxon
对象:
saccharomyces=taxopy.Taxon('4930',taxdb)human=taxopy.Taxon('9606',taxdb)gorilla=taxopy.Taxon('9593',taxdb)lagomorpha=taxopy.Taxon('9975',taxdb)
每个Taxon
对象存储各种信息,例如输入分类单元的等级、标识符和名称,以及所有父分类单元的标识符和名称:
print(lagomorpha.rank)print(lagomorpha.name)print(lagomorpha.name_lineage)print(lagomorpha.rank_name_dictionary)
order
Lagomorpha
['Lagomorpha', 'Glires', 'Euarchontoglires', 'Boreoeutheria', 'Eutheria', 'Theria', 'Mammalia', 'Amniota', 'Tetrapoda', 'Dipnotetrapodomorpha', 'Sarcopterygii', 'Euteleostomi', 'Teleostomi', 'Gnathostomata', 'Vertebrata', 'Craniata', 'Chordata', 'Deuterostomia', 'Bilateria', 'Eumetazoa', 'Metazoa', 'Opisthokonta', 'Eukaryota', 'cellular organisms', 'root']
{'order': 'Lagomorpha', 'clade': 'Opisthokonta', 'superorder': 'Euarchontoglires', 'class': 'Mammalia', 'superclass': 'Sarcopterygii', 'subphylum': 'Craniata', 'phylum': 'Chordata', 'kingdom': 'Metazoa', 'superkingdom': 'Eukaryota'}
LCA和多数票
您可以使用find_lca
函数获得分类群列表的最低共同祖先:
human_lagomorpha_lca=taxopy.find_lca([human,lagomorpha],taxdb)print(human_lagomorpha_lca.name)
Euarchontoglires
您还可以使用find_majority_vote
来发现一个分类群列表中超过一半血统共享的最具体的分类单元:
majority_vote=taxopy.find_majority_vote([human,gorilla,lagomorpha],taxdb)print(majority_vote.name)
Homininae
find_majority_vote
函数允许您通过fraction
参数来控制其严格性。例如,如果您将fraction
设置为0.75,则结果分类单元将由超过75%的输入谱系共享。{cd8>默认为^ cd5。在
majority_vote=taxopy.find_majority_vote([human,gorilla,lagomorpha],taxdb,fraction=0.75)print(majority_vote.name)
Euarchontoglires
也可以为每个输入沿袭指定权重:
majority_vote=taxopy.find_majority_vote([saccharomyces,human,gorilla,lagomorpha],taxdb)weighted_majority_vote=taxopy.find_majority_vote([saccharomyces,human,gorilla,lagomorpha],taxdb,weights=[3,1,1,1])print(majority_vote.name)print(weighted_majority_vote.name)
Euarchontoglires
Opisthokonta
从名称
如果您只有一个分类单元的名称,则可以使用taxid_from_name
函数获取其对应的taxid:
taxid=taxopy.taxid_from_name('Homininae',taxdb)print(taxid)
['207598']
此函数返回与输入名称关联的所有分类标识符的列表。对于同音异义词,列表将包含多个分类标识符:
taxid=taxopy.taxid_from_name('Aotus',taxdb)print(taxid)^{pr21}$
致谢
税务局使用的一些代码来自CAT/BAT tool for taxonomic classification of contigs and metagenome-assembled genomes。在
- 项目
标签: