etetoolkit
系统发育树工具包(ETE)。树结构操作(Newick/NHX)、进化事件检测、同源/旁系同源分析、NCBI 分类学、可视化(PDF/SVG),用于系统基因组学。
ETE Toolkit - Python 系统发育树分析工具
技能概述
ETE Toolkit 是一个专门用于系统发育树和层次树结构分析的 Python 工具包,支持从树文件读取、进化事件检测、正源/旁系同源基因识别到发表质量图表可视化的完整工作流程。
适用场景
1. 系统发育基因组学研究
当您需要分析基因家族进化、识别物种形成与基因复制事件、构建物种树并进行分类学注释时,ETE 提供从基因树到正源群识别的完整分析流程。可直接连接多序列比对文件(FASTA/Phylip),自动检测进化事件,并集成 NCBI 分类学数据库进行物种信息注释。
2. 系统发育树预处理与格式转换
当您需要批量转换树文件格式(Newick、NHX、PhyloXML)、重根树结构、修剪特定分支或计算拓扑距离时,ETE 提供命令行工具和 Python API 两种方式,支持 100+ 种 Newick 格式规范,可快速处理大规模树数据。
3. 发表质量图表制作
当您需要创建用于科研论文的系统发育树可视化图表时,ETE 支持 PDF、SVG 等矢量格式输出,提供矩形和圆形布局,可自定义节点样式、添加热图、序列特征等图形元素,并支持交互式浏览和调整。
核心功能
1. 树操作与拓扑分析
读取、写入、修改系统发育树结构,支持多种树文件格式(Newick、NHX、PhyloXML、NeXML),提供前序、后序、层级遍历策略,可进行分支修剪、重根、多叉树解析、节点距离计算以及 Robinson-Foulds 拓扑距离比较。
2. 进化事件检测与同源基因识别
基于基因树与多序列比对的整合分析,自动检测基因复制和物种形成事件,识别正源基因和旁系同源基因,支持按复制事件拆分基因家族、提取正源群,适用于基因家族进化分析。
3. NCBI 分类学数据库集成
自动下载并缓存 NCBI 分类学数据库(约 300MB),实现物种名称与分类 ID 的双向转换、进化谱系查询、基于分类群构建物种树,并能自动为系统发育树节点添加分类学信息注释。
常见问题
ETE Toolkit 是什么?能做什么?
ETE(Environment for Tree Exploration)是一个 Python 系统发育树分析工具包,主要用于系统发育基因组学研究。它可以读取和操作树文件、检测进化事件(复制和物种形成)、识别正源基因和旁系同源基因、集成 NCBI 分类学数据库、创建发表质量的树可视化图表,以及进行聚类分析和树拓扑比较。
如何安装 ETE3?
基础安装只需运行 uv pip install ete3。如需使用 GUI 和完整可视化功能,建议安装系统依赖:macOS 上通过 brew install qt@5,Ubuntu/Debian 上通过 sudo apt-get install python3-pyqt5 python3-pyqt5.qtsvg,然后运行 uv pip install ete3[gui]。首次使用 NCBI 分类学功能时会自动下载数据库(约 300MB)。
ETE 能处理大规模系统发育树吗?
可以。ETE 针对大规模树提供了内存优化方案,支持使用迭代器(如 iter_leaves())而非列表加载全部节点,避免内存溢出。同时提供内容缓存机制(get_cached_content())加速重复访问。对于超过 10,000 个叶节点的树,建议使用迭代方法遍历,并考虑使用 Newick 格式复制而非深度复制。