phylogenetics
Has your agent build and analyze phylogenetic trees from genetic sequences. It's useful for understanding evolution and relationships between genes or species.
What it does
This tool builds and analyzes phylogenetic trees, which are like family trees for genes or proteins. It helps understand the evolutionary relationships between different sequences.
When to use it
- ✓To compare DNA or protein sequences from different organisms.
- ✓To visualize the evolutionary history of a group of genes.
- ✓To understand how different viruses or bacteria are related to each other.
Example of what to ask your AI
“Build a phylogenetic tree for these DNA sequences.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool uses other programs to align the sequences and then construct the tree. It checks the reliability of the connections in the tree to ensure the results are trustworthy.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add K-Dense-AI/scientific-agent-skills --skill phylogeneticsOr download just the file:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/phylogenetics/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Phylogenetics
When to use
Use this workflow for an alignment of homologous loci or proteins, a gene tree, branch support, and an interpretable tree figure. Multi-locus partitioning, concordance factors, ancestral states and dating are covered in IQ-TREE reference.
A gene tree does not establish a species tree, transmission direction, or horizontal transfer by itself. Sampling dates alone do not justify a molecular clock.
Versions and installation
Reviewed against current official documentation on 2026-10-01. The executed
smoke workflow used MAFFT 7.526, IQ-TREE 3.1.4, FastTree 2.2.0 and
ETE3 3.1.3 on Python 3.12. ETE3 remains deliberate for this helper; ETE4 is a
separate API and is not a drop-in replacement. ETE3 imports cgi, removed in
Python 3.13. The native executables are not Python packages.
Illustrative installation commands; verify executable versions after installation:
conda create -n phylo -c conda-forge -c bioconda mafft iqtree fasttree trimal
conda activate phylo
uv venv --python 3.12 .venv-phylo
uv pip install --python .venv-phylo/bin/python ete3==3.1.3 numpy six
# Optional rendering backend; it can require a working Qt platform plugin.
uv pip install --python .venv-phylo/bin/python PyQt5
The helper defaults to iqtree3 and FastTree; use --iqtree-bin iqtree2 for an
existing IQ-TREE 2 installation, or --fasttree-bin fasttree if that is the
installed name. Version 2 compatibility is source-checked, not runtime-tested
in this refresh. All analyses are local; this skill invokes no HTTP API or remote
inference endpoint.
Workflow
1. Establish the biological input
- Select homologs with appropriate taxon coverage; investigate paralogs, contamination and recombination before assuming one history describes all sites.
- Use unique, whitespace-free FASTA IDs and keep a separate sample metadata table. The helper rejects empty/all-missing records and Newick punctuation in IDs.
- Specify
--type ntor--type aa. The helper sends-st DNAor-st AAto IQ-TREE and selects nucleotide/protein FastTree flags explicitly. - Coding DNA needs codon-aware alignment if using a codon model. Ordinary MAFFT nucleotide alignment does not preserve reading frames automatically.
- Keep the original sequences, accession versions, filters, alignment and exact commands. Inspect alignment lengths, gaps, composition and taxon identities.
2. Align and inspect
These MAFFT commands were exercised on small synthetic FASTA data:
mafft --auto --thread 1 --inputorder sequences.fasta > aligned.fasta
# L-INS-i: locally alignable homologs, typically small datasets.
mafft --localpair --maxiterate 1000 --thread 1 --inputorder sequences.fasta > linsi.fasta
# E-INS-i: homologs with large internal gaps.
mafft --genafpair --maxiterate 1000 --thread 1 --inputorder sequences.fasta > einsi.fasta
# FFT-NS-i (two refinement cycles), then FFT-NS-2 (progressive).
mafft --retree 2 --maxiterate 2 --thread 1 --inputorder sequences.fasta > fftnsi.fasta
mafft --retree 2 --maxiterate 0 --thread 1 --inputorder sequences.fasta > fftns.fasta
auto delegates the choice to MAFFT. Sequence count alone is not an accuracy
criterion. Single-thread runs simplify reproducibility; MAFFT iterative refinement
with multiple threads can produce different results between runs.
Trimming is optional and must be justified by alignment quality, not assumed to improve every tree. The following trimAl command is documentation-checked and illustrative; trimAl was not installed for this review:
trimal -in aligned.fasta -out trimmed.fasta -automated1 -fasta
Record retained columns/taxa and compare sensitivity to trimming. A failed trim must stop the trimming step; do not silently copy the untrimmed input under a “trimmed” filename. The bundled helper does not trim automatically.
3. Infer a tree
Use the maintained helper instead of recreating subprocess wrappers. From the
skill directory, with the executable names on PATH:
python scripts/phylogenetic_analysis.py sequences.fasta --type nt --threads 1 \
--bootstrap 1000 --seed 42 --output-dir results --no-visualization
# Use a reviewed alignment (including any explicit trimming) without realigning.
python scripts/phylogenetic_analysis.py aligned.fasta --aligned --type nt \
--threads 1 --output-dir reviewed --no-visualization
…
FAQ
What is a phylogenetic tree?
It's a diagram showing the evolutionary relationships between different organisms or genes, based on their genetic similarities.
What are homologous sequences?
These are DNA or protein sequences that share a common evolutionary origin.
Can I use this to track disease transmission?
A phylogenetic tree can help understand relationships, but it doesn't establish transmission direction or genetic transfers on its own.
Details
Original description by the author
Builds and analyzes phylogenetic trees using MAFFT multiple sequence alignment, IQ-TREE maximum likelihood with ModelFinder and branch support, and FastTree approximate inference. Uses ETE3 for tree summaries and visualization. Applies to homologous nucleotide or protein sequences, microbial gene trees, protein families, and cautiously interpreted dated phylogenies.
Popularity
- GitHub stars
- 51k
- Ranking position
- #1934
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
13c-metabolic-flux
Estimates metabolic fluxes using carbon-13 isotope tracing data. It is useful for analyzing cellular metabolism and biochemical pathways.
K-Dense-AI/scientific-agent-skills
adaptyv
Designs protein characterization experiments using the Adaptyv API. It helps estimate costs, submit sequences, and monitor lab results.
K-Dense-AI/scientific-agent-skills
aeon
Performs machine learning tasks on time series data. It is useful for classifying, forecasting, detecting anomalies, and finding patterns in sequential data.
K-Dense-AI/scientific-agent-skills
alphagenome
Looks up precomputed genomic effects for genetic variants. It provides scores and explanations to understand the impact of variants on the genome.
K-Dense-AI/scientific-agent-skills
Similar skills
dashboard-builder
Helps your agent create useful monitoring dashboards. It turns data into charts that answer important system questions.
affaan-m/ECC
dev-team
Simulates a collaborative development team where different roles respond to a problem together. It's useful for getting multiple perspectives without manually switching agents.
affaan-m/ECC
ecc-council
Has your agent convene a four-voice council for difficult decisions. It's useful when there are multiple good options and debate is needed before choosing.
affaan-m/ECC