Skip to content

ROBIN 0.5 — Release notes (from v0.1.7)

Overview

ROBIN 0.5 is a major release. It brings the Little John orchestration work into the main line, moves the stack to Python 3.12, consolidates the conda layout, and adds substantial GUI, workflow, SNP, MGMT, CNV, fusion, and reporting changes. Treat this as a full reinstall: do not reuse an older ROBIN or little_john conda environment.

Previous public tag v0.1.7
This release v0.5

Upgrade requirements (read first)

  • New conda environment required. Use a single env from robin.yml (env name robin). Older split env files (robin_0_8.yml, robin_py12.yml, robin_osx.yml, legacy Python 3.9 robin.yml) are superseded.
  • Python 3.12 is the minimum supported version.
  • Linux: prior optional conda_env_hooks/ / setup_conda_ld_path.sh helpers are removed. If you hit libstdc++-related issues, set LD_LIBRARY_PATH as documented in the README (Common issues) and/or use robin_linux_extras.yml or install libstdcxx-ng / libgcc-ng as needed (plain conda env create may not apply # [linux] selectors in robin.yml automatically).
  • Parquet / methylation filters: CpG filter handling for .txt filters (e.g. parquet_filter.txt) was corrected (1-based Illumina → 0-based BED). Rebuild existing parquet (remove parquet and re-run bed_conversion) for trustworthy methylation counts after upgrading.
  • ClinVar bundled resources were updated; refresh assets as per your usual ROBIN update process.

Highlights

Platform and packaging

  • Version 0.5 across the application and packaging.
  • Unified robin.yml conda definition; clearer environment story for maintenance and support.
  • Rich-styled CLI progress where supported (requires an up-to-date install).

Security and GUI access

  • All GUI routes require login; unauthenticated users go to /login.
  • Argon2 password hashing; hash stored under ~/.config/robin/gui_password_hash (Windows: %APPDATA%\robin\gui_password_hash). No plaintext or env-only password.
  • Password set/confirm at terminal on first run (TTY); headless runs use the web login.
  • robin password set to set or replace the GUI password (Rich prompts when available).
  • Session invalidation on server restart / password change so old browser sessions are not trusted.
  • Quit in the menu only when the browser host is localhost / 127.0.0.1 (hidden for remote/LAN access).

Watched folders and workflow

  • Watched folders: “smart add” — only subfolders that are fully un-analysed are added; mixed trees are handled with warnings instead of silent success.
  • Manage watched folders as a dedicated /watched_folders page (replaces the old modal); loading spinner while adding.
  • Path overlap validation: cannot watch paths that overlap the work directory in unsafe ways.
  • Job-type filtering for large runs; SNP and MNP-Flex global controls in the GUI.
  • Large BAMs (ROBIN_PROCESS_LARGE_BAMS): optional processing of BAMs >50k reads with per-file batching and clear launch warnings (not recommended alongside live runs).
  • Ray memory per job type tuned (e.g. higher for fusion and SNP / Clair3); deduplication extended so SNP is not run twice for the same sample.

Analysis

  • SNP pipeline: Clair3 with snpEff / SnpSift; snp_analysis and igv_bam job types; GUI table + IGV navigation; IGV-ready BAM creation; queueing from the GUI.
  • MGMT: methylation classification uses per-read probabilities; robin utils mgmt for CpG summaries from mgmt_sorted.bam (recursive search, TSV output, improved percent reporting).
  • Classification: scoring and aggregation improved across Sturgeon / NanoDX / PanNanoDX / Random Forest.
  • CNV (GUI): bin-width selector; chromosome set aligned with reports (chr0–22, X, Y; excludes chrM and odd contigs).
  • Fusion (GUI): faster refresh when the fusion section is built; optional timing logs for diagnostics.
  • MNP-Flex: optional Epignostix upload for bedMethyl (MNPFLEX_USER / MNPFLEX_PASS); panel hides empty fields until data exists.
  • Target analysis always emits targets_exceeding_threshold.bed for downstream SNP use.

Reports and PDFs

  • Design refresh and layout updates.
  • Classification plots: seaborn-style top 3 classes; tables in a 2-column classifier layout with compact styling.
  • CNV / coverage tables and plots refined (layout, fonts, overlap fixes, coverage outlier table).

Fixes

  • GUI locking and timer/refresh reliability.
  • Multi-BAM samples: no longer skip valid BAMs due to overly aggressive “already analysed” logic per BAM.

Dependencies (not exhaustive)

  • argon2-cffi, seaborn, Rich (as above).
  • ClinVar VCF + index updated.

Documentation and support

  • Internal notes added for fusion GUI timing and methylation extraction comparisons (e.g. FUSION_GUI_DELAY_ANALYSIS.md, METHYLATION_EXTRACTION_COMPARISON.md).
  • scripts/compare_mgmt_parquet_methylation.py for validating MGMT vs parquet methylation counts.

Full detail

For a line-by-line list of changes, see CHANGELOG.md in the repository. For installation and troubleshooting, see the README and the rest of this documentation site.