Skip to content

v0.2.2

Choose a tag to compare

@conchoecia conchoecia released this 12 May 07:26
· 15 commits to main since this release

Highlights

  • Breaking: egt alg-dispersion renamed to egt alg-dispersal. Update Snakefiles / pipeline scripts.
  • egt decay-pairwise learns --column-width-mm and --axes-aspect for publication-grade C+D PDFs at exact column widths.
  • egt phylotreeumap interactive HTML overhauled (tabbed dashboard, clickable legend, linked-tree leaf hover, custom-taxonomy helper).
  • New egt.dispersal_panel_style helper module + dispersal-focused test suite.
  • bump-my-version tooling for one-command releases; CHANGELOG rotates automatically.

Breaking changes

  • CLI subcommand renamed: egt alg-dispersionegt alg-dispersal. Module file, every internal identifier, output filename, output directory, and plot label has been swept. Update any pipelines that invoke the old subcommand name.

Added

  • egt decay-pairwise --column-width-mm <int>: emit panels_CD_<N>mm.pdf at total figure width exactly N mm. Widths too small to fit margins raise ValueError.
  • egt decay-pairwise --axes-aspect <float>: per-panel data-box width/height ratio. Default reproduces the original axes geometry; locks aspect so panels never stretch across column widths.
  • egt.dispersal_panel_style module: density_alpha, rgba_array, apply_rc, style_axes, Okabe-Ito palette, holozoan callout constants, BCnS ALG order.
  • bump-my-version tooling: [tool.bumpversion] config + dev extra. Future bumps: bump-my-version bump <patch|minor|major> && git push --follow-tags (auto-rotates CHANGELOG, commits, tags).
  • CHANGELOG.md in Keep-a-Changelog format.
  • Dispersal test suite + dispersal-panel-style tests.

Changed

  • egt decay-pairwise top-row scatter panels now use the Okabe-Ito color palette, density-scaled per-point alpha (counters TimeTree-cluster oversaturation), ±20 Mya x-jitter, and diamond markers for holozoan callouts (Capsaspora, Salpingoeca, Creolimax) at exact divergence times. Holozoan rows pass through unmodified — Creolimax fraction_conserved = 0 is treated as full BCnS scramble, not missing data.
  • Typography across decay-pairwise panels: Helvetica with fallback, embedded TrueType (text editable in Illustrator), thin axes, no minor ticks, no gridlines, no top/right spines, no figure title. "Mya" replaces "MYA"; sentence-case axis labels.
  • egt phylotreeumap interactive HTML: sticky Active-view banner, tabbed Summary / Legend / Rows readout, structured exploration summary card, clickable legend chips, per-group copy-samples button, linked-tree leaf hover + Hide/Show, custom-taxonomy helper (Myriazoa / Parahoxozoa fake taxids replace Eumetazoa).
  • egt phylotreeumap-plotdfs phyla plot: new layout via paper_palette.yaml / paper_palette_simple.yaml; clean PDF canvas alignment.
  • CI: concurrency block cancels stale runs on rapid pushes.

Fixed

  • egt phylotreeumap Bokeh HTML: inject style/script before the real </body>, not the one inside DOMPurify's embedded source.
  • Theme font stacks: single-quoted family names so they nest cleanly inside HTML style="".
  • CustomJS callbacks: extracted the delegated click handler out of _taxonomy_summary_js() to dodge a raw-string termination trap that broke active-view buttons, lineage search, lasso, and summary/legend/rows updates.
  • Shadow-DOM click delegation: walk ev.composedPath() so clicks inside Bokeh 3.x Shadow DOM resolve against data-action / data-scope-key / data-legend-color attributes.

Internal

  • Dropped a broken sys.path.insert("../source") in plot_alg_dispersal.py.
  • Dispersal-related test file renamed in lockstep with module rename.

Full changelog: https://github.com/conchoecia/egt/blob/v0.2.2/CHANGELOG.md