Skip to content

eskaks eskaks

eskaks

Fast pairwise dN/dS and per-gene pN/pS for molecular evolution and Mycobacterium tuberculosis selection analysis. Nei-Gojobori and Li (1993) with precomputed lookup tables, 1000× faster than existing tools.

New to selection analysis?

Start with the getting-started tutorial — it runs a full analysis on the bundled example data with no background assumed. Every unfamiliar term is defined in the glossary, and hovering a dotted abbreviation like dN/dS shows its meaning.

In one line: eskaks measures natural selection on genes by comparing how fast amino-acid-changing mutations accumulate versus silent ones. A ratio below 1 means selection is removing harmful changes (a conserved gene); a ratio above 1 flags genes where change is favoured (drug targets, antigens).

What can it do?

  • Pairwise dN/dS


    Codon-aligned FASTA in, dN/dS out — Nei-Gojobori or Li/LPB93, sliding windows, per-lineage and per-group summaries.

    Models

  • Per-gene pN/pS


    VCF + reference + GFF3 → per-gene pN/pS, an exact neutrality test, FDR correction, an MK screen, and π / Watterson θ / Tajima's D.

    VCF analysis

  • Interactive report


    A single self-contained HTML dashboard — Manhattan, volcano, QQ, MK — with a colour-blind mode and CSV/JSON/Print export. No internet needed.

    See the live report

  • Fast & pipeline-ready


    Precomputed lookup tables + rayon parallelism, stdin support, JSON output, and a non-zero exit on error.

    Performance

Try it in one command

eskaks fasta alignment.fasta --report -o results

Reads codon-aligned CDS, writes results_pairwise_results.tsv and an interactive results_report.html.

eskaks vcf --ref genome.fasta --gff genes.gff3 --vcf variants.vcf \
  --genetic-code 11 --report --variants --diversity -o scan

Writes per-gene pN/pS, a per-variant table (S315T-style keys), diversity statistics, and the report.

eskaks --demo

Runs both the dN/dS and per-gene pN/pS analyses on bundled example data - no input files needed.

How does it compare?

Feature eskaks KaKs_Calculator BioPython PAML yn00
Speed (100 seqs) 6 ms 7,703 ms 111,619 ms 697 ms
Li model R² vs KaKs 1.000 reference
Nei model R² vs KaKs 0.999 reference 0.996
Genetic codes 20 tables 1 1 limited
pN/pS from VCF
JSON output
Stdin pipe
Parallel (rayon)

Citation

Ruiz-Rodriguez P, Coscollá M (2026). eskaks: fast pairwise dN/dS and per-gene pN/pS from sequences or VCFs. Zenodo. https://doi.org/10.5281/zenodo.21992154