Skip to content

Releases: LUKASinScience/reliontree

v0.4.0 – 3D buttons, compare, FSC curves, MCP server

Choose a tag to compare

@LUKASinScience LUKASinScience released this 17 Oct 18:37

Highlights

  • 3D buttons. Every job that holds a map gets a 3D chip (and a Mask chip). Maps open in one ChimeraX window, handed over through a private folder: no network port. reliontree ships its own listener, so the ChimeraX-InstantMap plugin is optional.
  • Settings for clusters. Set how ChimeraX is started, including a Run first line such as module load chimerax, and an optional FigureStyle template for opened maps. Changes from the page need a per-run token and a matching Host/Origin.
  • Command line. New compare (jobs side by side: resolution, particles, maps, changed options, class overlap), maps, open and settings.
  • Resolution (FSC) in the job details from postprocess.star or run_model.star; the orientation globe also works from run_data.star when a job has no *_angdist.bild.
  • reliontree mcp: a read-only MCP server (stdio) for AI assistants: list_jobs, job_info, lineage, why, diff, methods.
  • A new guide with install options (environment, cluster module, no install): https://lukasinscience.github.io/reliontree/
  • Also: reliontree.start_background() to embed the live view in another program, contrib/chx_run.py (whitelisted headless ChimeraX calls with JSON results), contrib/cryosparc/cs2relion.py (CryoSPARC to RELION through pyem's csparc2star, with a validator), and tests on GitHub Actions (Python 3.9 / 3.11 / 3.13, Linux and macOS).

Fixed

  • Long classifications (hundreds of run_itNNN_class*.mrc) lost their 3D buttons because the folder looked like a data dump; iteration maps no longer count towards that limit.

Install

pip install "git+https://github.com/LUKASinScience/reliontree@v0.4.0"

(Python 3.9 or newer, no further dependencies.)

Known limits

  • Developed and tested on macOS; Windows is untested.
  • The MCP server has been exercised with a test client, not yet with every assistant.
  • The resolution marked in the FSC plot is interpolated and can differ from RELION's shell value by up to one shell.
  • The CryoSPARC helper is tested with synthetic files, not yet with a real export.

v0.3.0 – Orientation globe, project type, install from GitHub

Choose a tag to compare

@LUKASinScience LUKASinScience released this 10 Oct 18:07

Highlights

  • Orientation globe: the job panel of Class3D/Refine3D jobs shows where particles view from, read from RELION's own *_angdist.bild. Heat = number of particles, grey = no particles. Drag to rotate. Jobs without an angular distribution now say why.
  • Project type: STA vs SPA is detected from the pipeline and job.star and shown next to the project name.
  • Notes from other tools: any tool can drop <project>/.reliontree/annotations/<tool>.json. Entries show as pills on job cards, a ⚑ in the sidebar and a section in the job panel.
  • reliontree analyze: optional per-particle checks (orientation gaps, mixed classes) if the companion tool relion-origin is installed. reliontree itself still has no dependencies and never imports it otherwise.
  • Classification convergence is stated plainly (how many particles still switch class) instead of giving advice.

Fixes

  • plan and analyze are recognised as subcommands (they were treated as folder names).
  • Scheduled and missing jobs are shown with their own state; pipeline status now beats guessed state.
  • Refine3D half-set counts keep the RELION convention; total particle count is exposed separately.

Install

reliontree is not on PyPI yet:

uvx --from git+https://github.com/LUKASinScience/reliontree reliontree
pip install "git+https://github.com/LUKASinScience/reliontree@v0.3.0"

reliontree 0.2.0 – path view, aliases, plan command

Choose a tag to compare

@LUKASinScience LUKASinScience released this 10 Oct 08:52

Highlights

  • Paths. Pick a result and see how you got there. Choose path A and a second path B to compare them: shared jobs are purple, A is blue, B is orange. A panel lists the jobs unique to each path, where they diverge, both end results (resolution, particles) and the first parameters that differ.
    • Full tree keeps every job visible and highlights your selection.
    • Selection only re-lays out just the chosen paths.
    • ★ Latest follows the newest result.
    • Pick via the A/B buttons in the sidebar, the Path to… menu, or a job's panel.
  • Pan and zoom. Wheel or trackpad scrolls, Ctrl/Cmd+wheel or pinch zooms, drag pans. The view is limited to the tree, so you can't scroll into empty space. 100% returns to actual size, Overview shows the whole tree. SVG/PNG export still writes the full tree.
  • Aliases, notes, clearer states. RELION aliases (e.g. remove_junk_1) are now card and sidebar titles. Notes typed into a job's note.txt appear in the job panel (RELION's own command log is filtered out). Jobs the pipeline references but whose folder is missing are shown as missing; scheduled and running fall back to the pipeline status.
  • Readable at a glance. Latest result and best resolution badges, a highlighted main path, and dead-end jobs dimmed. Select jobs became compact ("kept C5 (65%)"). MaskCreate jobs that are used downstream are drawn as small chips on the job that uses them instead of big cards. Edges have arrowheads and route around cards. Larger card text.
  • Quieter sidebar. A colour stripe instead of full-colour rows, chronological order, search across alias, notes and state, and A/B pick buttons.
  • Deep links and live status. #Class3D/job004 opens that job. The toolbar shows "updated N s ago · N running". External jobs are labelled by tool (crYOLO, Topaz, …) when recognisable.

New command: reliontree plan

reliontree plan plan.json