Agent skill

bio-comparative-genomics-genome-distance-and-species-delineation

Compute genome-to-genome distances (ANI, AAI, dDDH, k-mer Mash) and assign taxonomic classifications using skani (Shaw 2023), FastANI (Jain 2018), pyani / pyANI ANIb / ANIm, OrthoANI (Lee 2016), AAI (amino-acid identity), dDDH via TYGS / GGDC, GTDB-Tk (Chaumeil 2020 standard prokaryote taxonomy), and Mash MinHash (Ondov 2016). Use when delineating prokaryote species (95% ANI threshold; Jain 2018 Nat Commun 9:5114), assigning genomes to GTDB taxonomy with ANI radius, computing genome similarity matrices for clustering, classifying archaea, evaluating MAG (metagenome-assembled genome) species as

BioTender-maxgithub.com/BioTender-maxGitHub ↗
claude-codeships scriptsNOASSERTION
Install
npx skills add BioTender-max/awesome-bio-agent-skills --skill genome-distance-and-species-delineation --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 3
SKILL.md size: 26 KB
Bundled scripts: yes
Path: skills/bioskills/genome-distance-and-species-delineation/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 135
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Computes genome-to-genome distances (ANI, AAI, dDDH, k-mer Mash) and assigns taxonomic classifications using skani, FastANI, pyani / pyANI ANIb / ANIm, OrthoANI, AAI, dDDH via TYGS / GGDC, GTDB-Tk, and Mash MinHash. Used when delineating prokaryote species, assigning genomes to GTDB taxonomy with ANI radius, computing genome similarity matrices for clustering, classifying archaea, evaluating MAG species assignment, applying skani for fast metagenomic ANI screening, or reconciling 16S rRNA-based taxonomy with whole-genome ANI.

How it works

The skill provides a CLI-driven workflow centered on skani as the primary tool, with supporting commands for other tools to compute ANI and related metrics and to classify genomes. It prescribes commands such as:

  • skani dist genomes1.fa genomes2.fa -t 16 for fast ANI computation
  • fastANI -q query.fa -r reference.fa -o output.txt for standard ANI
  • gtdbtk classify_wf --genome_dir genomes/ --out_dir gtdbtk_out --cpus 32 for GTDB taxonomy
  • mash dist *.fa for k-mer MinHash distance It also references workflows for building sketches, generating ANI matrices, and filtering results (e.g., selecting pairs with ANI >= 95% and AF >= 0.5). It lists tool compatibility and version checks, and provides a decision framework and failure modes to guide interpretation and troubleshooting. It emphasizes GTDB-Tk as the modern taxonomic standard and notes thresholds and genus-specific radii where applicable. It also includes a table of per-tool failure modes and quantitative thresholds, and a step-by-step sketching of the skani workflow, including sketching references, computing distances, and filtering results.

When to use it

Use when delineating prokaryote species, assigning genomes to GTDB taxonomy with ANI radius, clustering genomes by similarity, classifying archaea, evaluating MAG species assignment, or reconciling 16S rRNA taxonomy with whole-genome ANI. The guidance references scenarios such as classifying a genome to species, computing ANI for many genomes, verifying species delineation for publications, MAG timing, and subspecies or strain-level distinctions.

What it can touch

Commands and tools named in the workflow include: skani, FastANI, gtdbtk, mash. It notes the use of GTDB-Tk for taxonomy placement and mentions TYGS and GGDC for dDDH calculations in validation steps. The primary interaction is through CLI invocations of these tools to generate sketches, distances, and classifications.

Caveats

It highlights the need to verify GTDB release compatibility with GTDB-Tk versions, and cautions about ANI thresholds varying by genus (genus-specific radii), alignment fraction requirements (AF >= 0.5), and the limitations of Mash as a fast screening metric. It also notes MAG quality requirements for GTDB-Tk placement (e.g., CheckM2 pre-screening, completeness, contamination, strain heterogeneity) and discusses failure modes for database version mismatches, ANI saturation at low identity, and GC-content biases in Mash.

From the SKILL.md

## Version Compatibility Reference examples tested with: skani 0.2.5+ (Shaw & Yu 2023 Nat Methods 20:1661; bluenote-1577/skani), FastANI 1.34+ (Jain 2018 Nat Commun 9:5114), pyani 0.3.0+ (Pritchard 2016 Anal Methods 8:12), pyskani 0.1+ (Larralde 2025), OrthoANI 1.40+ (Lee 2016 Int J Syst Evol Microbiol 66:1100), OrthoANIu 1.2+, GTDB-Tk 2.7.1+ (Chaumeil 2022 Bioinformatics 38:5315), GTDB release 220 (2024-Q3+), TYGS web (Meier-Kolthoff & Goker 2019 NAR 47:W42), GGDC v3.0 (web), Mash 2.3+ (Ondov 2016 Genome Biol 17:132), Dashing 2 (Baker & Langmead 2023 Genome Biol 24:36), CompareM 0.1.2+ for AAI (Parks/Cherubini), pyANI 0.3.1+, BLAT 36+, DIAMOND 2.1+. JSpeciesWS web (Richter & Rossello-Mora 2009 PNAS 106:19126). Before using code patterns, verify installed versions match. If versions differ: - CLI: `skani --version`; `fastANI --version`; `gtdbtk --version`; `mash --version`; `pyani --version` - Python: `pip show gtdbtk pyani` If code throws `GTDB-Tk database not found`, `skani sketch incompatible`, `Mash sketch version`, these tools have database-version coupling: GTDB-Tk requires the GTDB release matched to the binary version; Mash/skani sketches are forward-compatible but not alwa

What's inside
Steps it walks through
  1. Version Compatibility
  2. Algorithmic Taxonomy
  3. Decision Tree by Experimental Scenario
  4. Per-Tool Failure Modes
  5. skani / FastANI ANI saturating below 75%
  6. GTDB-Tk database version mismatch
  7. Below-95% ANI but same species (genus-specific radius)
  8. High alignment fraction required (AF >= 0.5)
  9. MAG contamination / incompleteness
  10. Mash distance vs ANI inconsistency
  11. Ortholog-based ANI conservative vs alignment-based
  12. Tetranucleotide bias inflating Mash for low-GC genomes
  13. Type strain conflicts in TYGS
  14. Quantitative Thresholds
Ships with 2 files
  • examples/skani_ani_species_delineation.sh
  • usage-guide.md
Commands it runs
skani sketch reference_genomes/*.fa -o reference_sketches
skani dist query.fa reference_sketches/* -t 16 \
skani triangle genomes/*.fa -t 32 --robust --sparse -o ani_matrix.tsv
without --sparse, `skani triangle` emits a Phylip-style square matrix.
awk '$3 >= 95 && $5 >= 50' query_distances.tsv > species_matches.tsv
Set environment
export GTDBTK_DATA_PATH=/path/to/release220_data
Verify install
gtdbtk check_install
Run classify_wf
More from awesome-bio-agent-skills
All skills →
About this skill
What does the bio-comparative-genomics-genome-distance-and-species-delineation skill do?

Compute genome-to-genome distances (ANI, AAI, dDDH, k-mer Mash) and assign taxonomic classifications using skani (Shaw 2023), FastANI (Jain 2018), pyani / pyANI ANIb / ANIm, OrthoANI (Lee 2016), AAI (amino-acid identity), dDDH via TYGS / GGDC, GTDB-Tk (Chaumeil 2020 standard prokaryote taxonomy), and Mash MinHash (Ondov 2016). Use when delineating prokaryote species (95% ANI threshold; Jain 2018 Nat Commun 9:5114), assigning genomes to GTDB taxonomy with ANI radius, computing genome similarity matrices for clustering, classifying archaea, evaluating MAG (metagenome-assembled genome) species as

How do I install it?

Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill genome-distance-and-species-delineation --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going