Agent skill

bio-comparative-genomics-whole-genome-duplication

Detect, date, and contextualize whole-genome duplication (WGD / paleopolyploidy) events using wgd v2 (Chen & Zwaenepoel 2024), KsRates (Sensalari 2022 substitution-rate-corrected Ks dating), DupGen_finder (Qiao 2019), MAPS (Li 2018 phylogenomic), POInT (Conant 2008 ordered-block), SLEDGe (2024 ML-based), Whale.jl (Bayesian DTL+WGD), and synteny-anchored paranome construction. Use when identifying ancient polyploidy from Ks distributions and synteny block analysis, positioning WGD events relative to speciation, distinguishing tandem from segmental from WGD duplications, dating the 2R/3R vertebr

BioTender-maxgithub.com/BioTender-maxGitHub ↗
claude-codeships scriptsNOASSERTION
Install
npx skills add BioTender-max/awesome-bio-agent-skills --skill whole-genome-duplication --agent claude-code

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

Facts
Files in the skill folder: 3
SKILL.md size: 29 KB
Bundled scripts: yes
Path: skills/bioskills/whole-genome-duplication/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

Detect, date, and contextualize whole-genome duplication (WGD / paleopolyploidy) events using multiple tools (wgd v2, KsRates, DupGen_finder, MAPS, POInT, SLEDGe, Whale.jl) and synteny-anchored paranome construction. Use when identifying ancient polyploidy from Ks distributions and synteny block analysis, positioning WGD events relative to speciation, distinguishing tandem from segmental from WGD duplications, dating the 2R vertebrate / fish / salmonid WGDs, building paranome and Ks-age mixture models, applying KsRates substitution-rate correction across lineages, or testing alternative biased-fractionation / dosage-balance models post-WGD.

How it works

The skill instructs the agent to run a sequence of CLI tools and analyses that together identify WGD signals and place them in an evolutionary context. Concrete steps include:

  • Use CLI: wgd dmd and wgd ksd to construct paranome data and compute Ks distributions; then wgd syn to extract synteny-anchored WGD signals.
  • Run ksrates init followed by ksrates wgd-paralogs ortho to obtain substitution-rate-corrected ages for focal paralogs vs orthologs.
  • Execute MCScanX -h then dupgen_finder to classify paralogs into tandem, proximal, dispersed, segmental, or WGD categories.
  • Run mapsR for gene-tree-based WGD phylogenetic placement.
  • Refer to table-driven guidance on the integration of these outputs, including mixture-model fits (GMM/ELMM) and per-block Ks analyses, to support dating and placement decisions.
  • Consider scenarios like vertebrate 2R/3R WGDs, or salmonid Ss4R, where specific tool choices (e.g., Whale.jl) may be preferred.

When to use it

Use when identifying ancient polyploidy from Ks distributions and synteny block analysis, positioning WGD events relative to speciation, distinguishing tandem from segmental from WGD duplications, dating the 2R vertebrate / fish / salmonid WGDs, building paranome and Ks-age mixture models, applying KsRates substitution-rate correction across lineages, or testing alternative biased-fractionation / dosage-balance models post-WGD.

What it can touch

The skill lists the following tools and inputs: wgd, KsRates, DupGen_finder, MAPS, POInT, SLEDGe, Whale.jl, MCScanX, dupgen_finder, mapsR. It requires command-line interaction with these tools and alignment/orthology inputs as described in the workflow steps.

Caveats

Includes notes on Ks saturation (Ks < 1.5 for reliable inference; >= 2 is saturated), substitution-rate variation across lineages (KsRates necessary for cross-lineage comparisons), and per-block Ks synchronization checks. Also covers failure modes and recommended mitigations, such as distinguishing WGD from tandem clusters using DupGen_finder, and subgenome separation for polyploid genomes. The workflow references deprecated v1 outputs and emphasizes using wgd v2 as the current standard.

From the SKILL.md

## Version Compatibility Reference examples tested with: wgd v2.0.31+ (heche-psb/wgd; Chen & Zwaenepoel 2024 Bioinformatics 40:btae272), KsRates 1.1.3+ (VIB-PSB/ksrates; Sensalari 2022 Bioinformatics 38:530), DupGen_finder (Qiao 2019 Genome Biol 20:38), MAPS 1.0 (Li 2018), POInT (Conant lab), SLEDGe (bioRxiv 2024.01.17.574559), Whale.jl 2.0+, ksrates pip 1.1+, MCScanX 1.0+, PAML 4.10+ (yn00/codeml for Ks), BLAT 36+, DIAMOND 2.1+, R 4.4+, mclust 6.1+ (for mixture models). Python 3.10+ required for wgd v2. Before using code patterns, verify installed versions match. If versions differ: - CLI: `wgd --version`; `ksrates --version`; `wgd ksd --help` - Python: `pip show wgd ksrates` - R: `packageVersion('mclust')` If code throws `wgd ksd: cannot find PAML output`, `KsRates: insufficient sister species`, `MAPS: missing tree`, these tools have specific input expectations: wgd needs codon-aware MAFFT/MUSCLE alignment; KsRates needs configured `config_ksrates.txt`; MAPS needs nucleotide tree. The deprecated arzwa/wgd v1 is replaced by heche-psb/wgd v2. # Whole Genome Duplication Analysis **"Are there WGD events in this lineage and when did they occur?"** -> WGD detection combines **Ks distri

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. Saturation at Ks > 2
  6. Substitution-rate variation across lineages
  7. Tandem duplication masquerading as WGD peak
  8. Synteny block age inconsistency
  9. Mixture model under/overfitting components
  10. Comparing wgd v1 (deprecated) vs v2 outputs
  11. KsRates failing with insufficient species
  12. Polyploid genome confusion
  13. Confusion of homeologous (WGD) vs orthologous (speciation) pairs
  14. Quantitative Thresholds
Ships with 2 files
  • examples/wgd_v2_ks_pipeline.sh
  • usage-guide.md
Commands it runs
Install (Python 3.10+ required)
pip install wgd
wgd dmd cds.fasta -o output/paranome.tsv -t 16
Verify exact flags with `wgd ksd --help` (the wgd v2 CLI evolves; --pairwise / --ks-method spelling differs across versions).
wgd ksd output/paranome.tsv cds.fasta -o output/ksd \
wgd syn output/paranome.tsv gff.bed cds.fasta -o output/syn \
wgd mix output/ksd/ks_distributions.tsv -o output/mix \
wgd viz output/mix/mix_results.tsv -o output/viz \
KsRates is best driven through its Snakemake pipeline (which orchestrates ortholog Ks,
paralog Ks, rate correction, and plotting). Subcommand naming differs across releases;
More from awesome-bio-agent-skills
All skills →
About this skill
What does the bio-comparative-genomics-whole-genome-duplication skill do?

Detect, date, and contextualize whole-genome duplication (WGD / paleopolyploidy) events using wgd v2 (Chen & Zwaenepoel 2024), KsRates (Sensalari 2022 substitution-rate-corrected Ks dating), DupGen_finder (Qiao 2019), MAPS (Li 2018 phylogenomic), POInT (Conant 2008 ordered-block), SLEDGe (2024 ML-based), Whale.jl (Bayesian DTL+WGD), and synteny-anchored paranome construction. Use when identifying ancient polyploidy from Ks distributions and synteny block analysis, positioning WGD events relative to speciation, distinguishing tandem from segmental from WGD duplications, dating the 2R/3R vertebr

How do I install it?

Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill whole-genome-duplication --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