The interactive reports¶
--report writes a single, self-contained HTML file: every style and script
inlined, no internet needed, so it opens by double-clicking and can be emailed or
archived alongside the tables. There are two such reports, one per analysis,
and they are different dashboards rather than two skins of the same one. They
take different inputs, count different things, and answer different questions.
| pN/pS report | dN/dS report | |
|---|---|---|
| Written by | eskaks vcf --report |
eskaks fasta --report |
| Input | VCF + reference FASTA + GFF | one codon-aligned FASTA |
| Question | which genes depart from neutrality within a population | how strong is selection between sequences, pair by pair |
| Unit of analysis | one row per gene | one point per pair of sequences |
| Panels in the example | verdict, stat cards, selection regimes, Manhattan, volcano, QQ, polymorphism vs divergence, power funnel, allele-frequency spectrum, per-gene table | verdict, stat cards, sliding window, per-lineage scatter, dN vs dS, pairwise distribution |
| Live example | go to the pN/pS dashboard | go to the dN/dS dashboard |
Both dashboards below are live and both are the real output of the command shown
above them, run on the datasets bundled in examples/.
Per-gene pN/pS, from a VCF¶
eskaks vcf \
--ref examples/toy_genome/reference.fasta \
--gff examples/toy_genome/genes.gff3 \
--vcf examples/toy_genome/variants.vcf \
--divergence examples/toy_genome/divergence.tsv \
--genetic-code 11 --report --bootstrap 500 -o toy_scan
# writes toy_scan_report.html
Twelve genes of the toy genome, scored one by one. --divergence is what adds
the polymorphism-versus-divergence panel, which sets each gene's within-sample
pN/pS against its long-term dN/dS; --bootstrap 500 puts a confidence interval
on the genome-wide ratio. Adding --mk would put a McDonald-Kreitman panel and
its columns alongside them.
It is fully interactive, try it
Click a gene in any panel to highlight it everywhere · search for a gene by name · toggle FDR ↔ Bonferroni stringency · switch the colour-blind–safe palette · flip light/dark · export CSV / JSON or print to PDF. Hover the ⓘ buttons for how to read each panel. Open it full-screen
Pairwise dN/dS, from an alignment¶
eskaks fasta examples/lineages.fasta --lineage --report -o lineage_demo
# writes lineage_demo_report.html
The same 180 bp gene from six isolates, two each from Lineage2, Lineage4 and
Bovis, so all 15 pairs are compared and then read back by lineage. The sliding
window, the dN-versus-dS scatter and the distribution of per-pair ratios come
with every --report; --lineage is what fills the per-lineage panel, with one
point per genome and a bar at each lineage mean. Its alternative,
--group-average, cannot be combined with it: that mode replaces the same panel
with one group mean and a 95% confidence interval per group pair.
Also fully interactive, with a smaller control set
Hover any point, bar or window to read its numbers · flip light/dark · export CSV / JSON or print to PDF. Hover the ⓘ buttons for how to read each panel. There is no gene search or per-gene table here, because the unit is a pair of sequences rather than a gene. Open it full-screen
See interpreting results for how to read each panel, VCF analysis for the full pN/pS command and its options, and the quick start for the dN/dS modes these panels are built from.