[ PROMPT_NODE_26552 ]
Etetoolkit API 参考
[ SKILL_DOCUMENTATION ]
# ETE 工具包 API 参考
## 概述
ETE (Environment for Tree Exploration) 是一个用于系统发育树操作、分析和可视化的 Python 工具包。本参考涵盖了主要类和方法。
## 核心类
### TreeNode (别名: Tree)
表示具有层次节点组织的树结构的基础类。
**构造函数:**
python
from ete3 import Tree
t = Tree(newick=None, format=0, dist=None, support=None, name=None)
**参数:**
- `newick`: Newick 字符串或文件路径
- `format`: Newick 格式 (0-100)。常见格式:
- `0`: 带有分支长度和名称的灵活格式
- `1`: 带有内部节点名称
- `2`: 带有引导值/支持值
- `5`: 内部节点名称和分支长度
- `8`: 所有特征 (名称、距离、支持值)
- `9`: 仅叶节点名称
- `100`: 仅拓扑结构
- `dist`: 到父节点的分支长度 (默认: 1.0)
- `support`: 引导值/置信度 (默认: 1.0)
- `name`: 节点标识符
### PhyloTree
用于系统发育分析的专用类,继承自 TreeNode。
**构造函数:**
python
from ete3 import PhyloTree
t = PhyloTree(newick=None, alignment=None, alg_format='fasta',
sp_naming_function=None, format=0)
**附加参数:**
- `alignment`: 比对文件路径或比对字符串
- `alg_format`: 'fasta' 或 'phylip'
- `sp_naming_function`: 从节点名称中提取物种名的自定义函数
### ClusterTree
用于层次聚类分析的类。
**构造函数:**
python
from ete3 import ClusterTree
t = ClusterTree(newick, text_array=None)
**参数:**
- `text_array`: 带有列标题和行名称的制表符分隔矩阵
### NCBITaxa
用于 NCBI 分类数据库操作的类。
**构造函数:**
python
from ete3 import NCBITaxa
ncbi = NCBITaxa(dbfile=None)
首次实例化会下载约 300MB 的 NCBI 分类数据库到 `~/.etetoolkit/taxa.sqlite`。
## 节点属性
### 基础属性
| 属性 | 类型 | 描述 | 默认值 |
|----------|------|-------------|---------|
| `name` | str | 节点标识符 | "NoName" |
| `dist` | float | 到父节点的分支长度 | 1.0 |
| `support` | float | 引导值/置信度 | 1.0 |
| `up` | TreeNode | 父节点引用 | None |
| `children` | list | 子节点列表 | [] |
### 自定义特征
向节点添加任何自定义数据:
python
node.add_feature("custom_name", value)
node.add_features(feature1=value1, feature2=value2)
访问特征:
python
value = no