alterlab-etetoolkit について
alterlab-etetoolkitは、系統樹や階層ツリーを分析するETEのスキルです。生物学研究向けに、ツリー編集、進化解析、分類情報の照会、可視化、クラスタリング、ツリー比較を支援します。
主な機能
- 01ツリーファイルの解析と編集
- 02遺伝子重複と種分化の分析
- 03NCBI Taxonomyの照会
- 04ツリーの描画と可視化
- 05ツリー比較とクラスタ分析
活用シーン
- 01系統樹の枝刈りや再ルート化
- 02オーソログとパラログの推定
- 03論文用ツリー図の作成
- 04ツリーやクラスタリング樹形図の比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-etetoolkitインストール後、Claude Code で/alterlab-etetoolkitを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/api_reference.mdnewick_and_best_practices.mdsetup_and_troubleshooting.mduse_cases.mdvisualization.mdworkflows.mdscripts/quick_visualize.pytree_operations.py詳細
ETE Toolkit スキル
概要
ETE(Environment for Tree Exploration)は、系統樹や階層ツリーを解析するためのツールキットです。ツリーの操作、進化イベントの解析、結果の可視化、生物学的データベースとの連携により、系統ゲノミクス研究やクラスタリング解析に活用できます。
ete3 と ete4 のどちらを使うべきですか?
このスキルとその参考資料にある例は ete3 3.1.3 向けに書かれています。現在も公開済みのパイプラインの多くがこれをインポートしています。ただし、ete3 は 2023 年 5 月以降リリースされておらず、メンテナンスが続いているのは ete4(4.4.0、2025 年 9 月) です。移行は計画的に行ってください。ete4 の API はそのまま置き換えられるものではありません。
| ete3 | ete4 |
|---|---|
from ete3 import Tree | from ete4 import Tree |
Tree("t.nw", format=1) | Tree(open("t.nw"), parser=1) — キーワードは parser です |
tree.iter_leaves() / get_leaves() | tree.leaves() |
ノードへのカスタム機能の追加には node.add_feature() を使用 | node.props[...] 辞書を使用 |
Qt ベースの show() / render()(PyQt5 が必要) | アダプティブズームと GTDB 分類サポートを備えたブラウザー ベースの explore() |
コードを書く前に、インストールされているバージョンを確認し(python -c "import ete4")、メソッドでどちらを対象にしたか明記してください。
使用する場面
- ツリーファイル(Newick / NHX / PhyloXML / NeXML)の解析、走査、再フォーマット
- ツリーの枝刈り、ルート設定、折りたたみ、または多分岐の解消
- 遺伝子ツリーから重複/種分化イベントを検出し、オルソログ/パラログを推定
- NCBI Taxonomy の照会(taxid と名前の変換、系統の取得、分類ツリー)
- 論文掲載品質の PDF/SVG/PNG ツリー図の作成
- ツリーの比較(Robinson-Foulds)やクラスタリングデンドログラムの解析
主な機能
ETE には 6 つの機能領域があります。それぞれについて、参考資料(下記の目次を参照)にコピーしてすぐ使える詳細なコードを掲載しています。
- ツリー操作 — 各種形式での入出力、走査(pre/post/levelorder)、トポロジーの編集(枝刈り、ルート設定、折りたたみ)、距離、RF ツリー比較。
- 系統解析 — アラインメントとの関連付け、種名の設定、重複/種分化の検出(Species Overlap または調停)、オルソロジー/パラロジー。
- NCBI Taxonomy — ローカルキャッシュ DB、taxid と名前の変換、系統の取得、分類ツリーの構築、ツリーへの注釈付け。
- 可視化 — PNG/PDF/SVG へのエクスポート、矩形/円形レイアウト、
NodeStyle、Faceオブジェクト、レイアウト関数、インタラクティブ GUI。 - クラスタリング解析 —
ClusterTree、データ行列の関連付け、シルエット/Dunn 指標、ヒートマップ表示。 - ツリー比較 — Robinson-Foulds(未正規化および正規化)、分割/二分割の解析、ペアワイズ距離行列の一括作成。
基本的なワークフロー
基本となる最小限のパターンは、読み込み、編集、保存です。
from ete3 import Tree
# Load tree from file (format 1 = with internal node names)
tree = Tree("tree.nw", format=1)
# Prune to taxa of interest, preserving branch lengths
tree.prune(["species1", "species2", "species3"], preserve_branch_length=True)
# Midpoint root
tree.set_outgroup(tree.get_midpoint_outgroup())
# Save
tree.write(outfile="rooted_tree.nw")
クラスの選択には、一般的なトポロジー操作には Tree/TreeNode、遺伝子ツリーと進化解析には PhyloTree、データ行列を含むデンドログラムには ClusterTree、分類情報の照会には NCBITaxa を使用します。
該当しない用途
| シナリオ | 代わりに使用 |
|---|---|
| アラインメントされていない配列からツリーを構築する(アラインメント+モデル選択+最尤推定) | alterlab-phylogenetics |
| アラインメントから距離行列、多様性指標、または序列化を行う | alterlab-scikit-bio |
より大きな Biopython パイプライン(Bio.Phylo)内でツリーの入出力を行う | alterlab-biopython |
| ツリーではないネットワークに一般的なグラフアルゴリズムを適用する | alterlab-networkx |
| アンプリコンリードを分類学的に分類する | alterlab-qiime2-amplicon |
コマンドラインスクリプト
scripts/tree_operations.py— 統計、形式変換、ルートの再設定、枝刈り、ASCII 表示。例:python scripts/tree_operations.py reroot tree.nw rooted.nw --midpointscripts/quick_visualize.py— 円形レイアウト、支持値による色分け、DPI 制御を備えた PDF/PNG の高速レンダリング。例:python scripts/quick_visualize.py tree.nw out.pdf --mode c --color-by-support
リファレンス一覧
詳しい情報が必要な場合は、該当するファイルを読み込んでください。
references/api_reference.md— ETE のすべてのクラス/メソッド(Tree、PhyloTree、ClusterTree、NCBITaxa)の完全な API:パラメーター、戻り値の型、コード例。references/workflows.md— タスクごとのワークフローパターン(ツリー操作、系統解析、 比較、分類学との統合、クラスタリング)。references/visualization.md— ビジュアライゼーションの完全ガイド:TreeStyle、NodeStyle、Face、レイアウト関数、高度なレンダリング。references/use_cases.md— 最初から最後までの具体的なユースケース(系統ゲノミクスのパイプライン、バッチ前処理、 論文用の図、自動化された複数ツリー解析)。references/setup_and_troubleshooting.md— インストール、NCBI Taxonomy の初回セットアップ、 トラブルシューティング(インポート、Qt のレンダリング、メモリ、DB の破損)。references/newick_and_best_practices.md— Newick/NHX 形式の仕様(0~100)とベストプラクティスのチェックリスト。
AlterLab Academic Skills スイートの一部です。