从ncbi分类数据库中获取ete3的分类信息。
taxonomy-ranks的Python项目详细描述
分类等级
1简介
使用ete3 python3模块(http://etetoolkit.org/
)获取分类等级信息
2安装
确保您的pip
来自python3
$ which pip
/Users/mengguanliang/soft/miniconda3/bin/pip
然后键入
$ pip install taxonomy_ranks
将在pip
命令所在的同一目录下创建命令taxaranks
如果您想进一步了解Python3和pip
,请参阅https://www.python.org/
和https://docs.python.org/3/tutorial/venv.html?highlight=pip
3用法
$ taxaranks
taxaranks <taxonomy_list> <outfile>
The 'taxonomy_list' file can be a list of ncbi taxa id or species names (or higher ranks, e.g. Family, Order), or a mixture of them.
ete3 package will automatically download the NCBI Taxonomy database during the first time using of this program.
一旦安装了ncbi分类数据库,就不需要再连接到网络,除非您想在一段时间后更新数据库,对于这种情况,请转到http://etetoolkit.org/docs/latest/tutorial/tutorial_ncbitaxonomy.html
了解更多详细信息。
用作模块
一个分类名称可能有不止一个潜在的紫杉类。
>>>from taxonomy_ranks import TaxonomyRanks
>>>rank_taxon = TaxonomyRanks(taxa_name)
>>>rank_taxon.get_lineage_taxids_and_taxanames()
>>>ranks = ('user_taxa', 'taxa_searched', 'superkingdom', 'kingdom', 'superphylum', 'phylum', 'subphylum', 'superclass', 'class', 'subclass', 'superorder', 'order', 'suborder', 'superfamily', 'family', 'subfamily', 'genus', 'subgenus', 'species')
>>>for rank in ranks:
>>> print(rank, rank_taxon.lineages[potential_taxid][rank])
4示例
跑步
$ taxaranks test.taxa test.taxa.out
输入文件test.taxa
内容:
Spodoptera litura
Pieris rapae
Locusta migratoria
Frankliniella occidentalis
Marsupenaeus japonicus
Penaeus monodon
结果文件test.taxa.out
内容:
superkingdom kingdom superphylum phylum subphylum superclass class subclass superorder ordersuborder superfamily family subfamily genus subgenus species
Eukaryota Metazoa NA Arthropoda Hexapoda NA NA Pterygota NA Lepidoptera Glossata Noctuoidea Noctuidae Amphipyrinae Spodoptera NA Spodoptera litura
Eukaryota Metazoa NA Arthropoda Hexapoda NA NA Pterygota NA Lepidoptera Glossata Papilionoidea Pieridae Pierinae Pieris NA Pieris rapae
Eukaryota Metazoa NA Arthropoda Hexapoda NA NA Pterygota NA Orthoptera Caelifera Acridoidea Acrididae Oedipodinae Locusta NA Locusta migratoria
Eukaryota Metazoa NA Arthropoda Hexapoda NA NA Pterygota NA Thysanoptera Terebrantia Thripoidea Thripidae Thripinae Frankliniella NA Frankliniella occidentalis
Eukaryota Metazoa NA Arthropoda Crustacea Multicrustacea NA Eumalacostraca Eucarida Decapoda Dendrobranchiata Penaeoidea Penaeidae NA Marsupenaeus NA Marsupenaeus japonicus
Eukaryota Metazoa NA Arthropoda Crustacea Multicrustacea NA Eumalacostraca Eucarida Decapoda Dendrobranchiata Penaeoidea Penaeidae NA Penaeus NA Penaeus monodon
5个问题
首次使用此程序下载和安装NCBI分类数据库时,主目录空间不足。
错误消息可以是:
sqlite3.OperationalEoor: disk I/O error
这是由ete3
引起的,它将创建一个目录~/.etetoolkit
来存储数据库(大约500米),但是您的主目录没有足够的空间
解决方案:
解决办法是显而易见的。
在其他有足够空间的地方创建目录:
$ mkdir /other/place/myetetoolkit
删除由
创建的目录ete3
:~/.etetoolkit
$ rm -rf ~/.etetoolkit
将新目录链接到主目录:
$ ln -s /other/place/myetetoolkit ~/.etetoolkit
再次运行程序:
$ taxaranks my_taxonomy_list outfile
这样,ete3就可以按预期工作了。
更新ncbi分类数据库
有关详细信息,请参阅http://etetoolkit.org/docs/latest/tutorial/tutorial_ncbitaxonomy.html
打开控制台,然后键入
$ python3
您将进入python3命令行状态。
在python3中执行以下命令
>from ete3 import NCBITaxa >ncbi = NCBITaxa() >ncbi.update_taxonomy_database()
6条引文
目前,我没有计划发布taxonomy-ranks
但是,由于taxonomy-ranks
使用了ete3
工具包,如果在出版物中使用taxonomy-ranks
,则应该引用它。
ETE 3: Reconstruction, analysis and visualization of phylogenomic data.
Jaime Huerta-Cepas, Francois Serra and Peer Bork.
Mol Biol Evol 2016; doi: 10.1093/molbev/msw046
有关详细信息,请转到http://etetoolkit.org/
。
7作者
孟冠良
Linzhi2012在gmail.com上