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 namerobin). Older split env files (robin_0_8.yml,robin_py12.yml,robin_osx.yml, legacy Python 3.9robin.yml) are superseded. - Python 3.12 is the minimum supported version.
- Linux: prior optional
conda_env_hooks//setup_conda_ld_path.shhelpers are removed. If you hitlibstdc++-related issues, setLD_LIBRARY_PATHas documented in the README (Common issues) and/or userobin_linux_extras.ymlor installlibstdcxx-ng/libgcc-ngas needed (plainconda env createmay not apply# [linux]selectors inrobin.ymlautomatically). - Parquet / methylation filters: CpG filter handling for
.txtfilters (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.ymlconda 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 setto 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_folderspage (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_analysisandigv_bamjob types; GUI table + IGV navigation; IGV-ready BAM creation; queueing from the GUI. - MGMT: methylation classification uses per-read probabilities;
robin utils mgmtfor CpG summaries frommgmt_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.bedfor 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.pyfor 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.