Skip to content

v4.3.1: In-browser volume viewing and WarpTools parsing

Latest

Choose a tag to compare

@michal-g michal-g released this 04 Aug 15:19
6273c8f

This minor feature release builds on the interactive dashboard web app shipped in v4.3.0, with much richer in-browser volume exploration in the trajectory creator, as well as introducing a new WarpTools parsing utility. We have also broadened dependency support (including Python 3.14) and fixed several issues, primarily with outdated dependencies.

Interactive dashboard

  • Unified volume ↔ trajectory workflow

    Volume viewing has been subsumed into the trajectory creator so path editing and volume display share one session model. This includes VTK↔ChimeraX view synchronization, improved path overlay / picker refresh behavior, separate direct vs. nearest interpolation modes, automatic k-means shortest-trajectory calculation, and tighter controls for particle sets and path arrangement.

trajectory_creator_demo

cryodrgn abinit output using EMPIAR-10792 analyzed with the trajectory creator

  • Volume slice and 3D viewing without requiring ChimeraX

    The trajectory creator interface now includes a dedicated volume slice viewer for inspecting decoded volumes as 2D slices in the browser, with user-controllable slice planes / rotation centres, multi-volume slice display, and contrast controls. A VTK-based 3D volume viewer is also integrated into the same workflow.

  • Custom color covariates from .pkl files

    Dashboard plots can now load user-chosen .pkl color covariates from file to use in analysis scatterplots in addition to using existing covariates such as znorm and k-means labels.

  • Particle explorer image-grid polarity controls

    The montage of images used in the particle explorer gains an original/inverted contrast toggle.

  • Other dashboard updates

    • Improved particle-explorer image-cache size selection and a simpler image-grid control UI layout.
    • Dashboard Plotly usage now works across Plotly 5.x and 6.x, and ships bundled Plotly assets instead of pulling .js files directly from the web.
    • Command builder layouts and parameter field controls were further refined.

New utility: parse_warptools

We are adding cryodrgn_utils parse_warptools for converting WarpTools / RELION5 subtomogram .star files into cryoDRGN-compatible 2D particle rows (#480):

cryodrgn_utils parse_warptools -t tomograms.star -p particles.star \
    --tilt-dim 5760 4092 -o particles_2d.star

# Then produce pose+CTF inputs for reconstruction as usual:
cryodrgn parse_star particles_2d.star --poses pose.pkl --ctf ctf.pkl --Apix 2 -D 128

WarpTools stacks that set rlnCtfDataAreCtfPremultiplied are called out explicitly so CTF correction can be disabled appropriately in cryoDRGN. Parsing also includes cached per-tomogram projection construction for better throughput on large tilt series.

Dependencies and compatibility

  • Support for Python 3.10 through 3.14
  • Dependency pins moved from restrictive maximum versions toward minimum floors where appropriate (torch>=2, numpy>=1.25, pandas>=2.2, plotly>=5,<7, etc.)
    • Fixes to support these updates: pandas 3.x starfile + A/px property handling, matplotlib 3.11 patches (#479), and updated seaborn histogram APIs

Testing and code quality

  • Properly using with... for open-file buffer handling across various utilities (issue raised by GitHub’s automated security analysis)
  • More robust interrogation of numpy + torch install combinations in CI dependency matrix
  • Fixing reference hand volume under tests/data/hand-vol.mrc
  • Playwright-based browser / integration coverage for dashboard interfaces; Node/Chromium scenario tests for trajectory JavaScript backends

Please let us know if you have any questions or suggestions by replying here or opening an issue on our GitHub board!