Agent Skills
返回列表
⚖️

ETE 系统发育树工具包

行业专业 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/etetoolkit。

技能介绍

要解决什么问题

系统发育学、聚类分析和系统基因组学里,你经常要在 Newick / NHX / PhyloXML 等格式之间搬树、定根修剪、算拓扑距离,还要把基因树和 FASTA 比对对齐,推断复制与物种形成事件,并给节点挂上 NCBI 分类信息。手工脚本容易在格式细节、遍历顺序和大树内存上踩坑;出图若只用栅格图,也很难满足论文对矢量图的要求。

技能如何工作

ETE(Tree Exploration Environment)把树当作一等对象来处理,核心能力可以分成几条线:

  • 树 I/O 与拓扑:读写多种 Newick 变体与 NHX 自定义特征;前序/后序/层序遍历;修剪、定根、折叠节点、解析多歧分支;Robinson–Foulds 距离与划分差异。
  • 系统发育(PhyloTree):关联多序列比对;从基因名提取物种;用物种重叠或树协调检测复制/物种形成;识别直系/旁系同源,并按复制事件拆分基因家族。
  • NCBI 分类:首次使用 NCBITaxa 会本地缓存 taxonomy(约 300MB);taxid 与学名互转、谱系检索、构建连接指定物种的分类树,并注释已有树。
  • 可视化与聚类:矩形/圆形布局,PNG/PDF/SVG;NodeStyle 与 Faces 做节点样式与热图等;ClusterTree 把叶节点与数值矩阵挂钩,配合轮廓系数等指标。

仓库里还提到 scripts/tree_operations.py、scripts/quick_visualize.py 以及 references/ 下的 API、工作流与可视化文档,适合按任务查具体用法。

适用边界与注意点

  • 首次 NCBI 分类需要联网下载数据库;失败时可按文档重建 ~/.etetoolkit/taxa.sqlite。
  • 超大树(例如叶节点 >1 万)应用 iter_* 等迭代方式,避免一次性列表展开占满内存。
  • tree.render() / tree.show() 依赖 Qt 时,需在系统层补齐图形依赖,否则交互预览会报错。
  • 系统发育分析里修剪树时,文档建议 preserve_branch_length=True,避免分支长度被无意改掉。

使用场景

  • 从多份基因树 Newick 出发,关联 FASTA 比对并检测复制/物种形成以整理直系同源集合
  • 对一批未定根或含多歧分支的树做定根、修剪与格式统一,再计算 Robinson–Foulds 距离做拓扑对比
  • 用 NCBI taxid 或学名给现有物种树补全谱系信息,并生成连接指定类群的分类树
  • 把层次聚类得到的树状图与表达/特征矩阵绑定,在树旁用热图与轮廓系数检查分群质量

适合人员

  • 做比较基因组学、需要从基因树协调结果里稳定划分直系/旁系同源的研究人员
  • 维护演化分析流程、频繁读写 Newick/NHX 并批量预处理树文件的生物信息工程师
  • 撰写系统发育论文、要把树图做成可编辑矢量图并统一节点样式与注释的演化生物学者
  • 做转录组或表型聚类、希望把层次聚类树与数值矩阵一起展示和验证的数据分析人员