diff --git a/config/base.config b/config/base.config index 546edd6..d2cbbcc 100644 --- a/config/base.config +++ b/config/base.config @@ -62,8 +62,10 @@ profiles { // docs/first_raw_reanalysis.md ("Storage layout"). Combine with an // executor profile, e.g. `-profile local,workstation`. // - // Samsung T5 (HFS+ SSD, ~450 MB/s) -> Nextflow work directory. Task - // folders are many small files and symlinks; keep them on the SSD. + // ST5, the Samsung T5 (HFS+ SSD, ~450 MB/s) -> Nextflow work directory. + // Task folders are many small files and symlinks; keep them on the + // SSD. The volume was renamed from "Samsung T5" on 2026-10-12: no + // path a tool sees may contain a space (see the docs page). // blue-block (APFS HDD, ~140 MB/s, 4 TB) -> raw FASTQs and reference // bundles, reached through the data/raw and data/reference symlinks. // @@ -76,7 +78,7 @@ profiles { // Several study runs on one machine can share a work directory; Nextflow // keys task folders by hash. workstation { - workDir = System.getenv('AREE_WORKDIR') ?: '/Volumes/Samsung T5/aree/work' + workDir = System.getenv('AREE_WORKDIR') ?: '/Volumes/ST5/aree/work' } } diff --git a/docs/first_raw_reanalysis.md b/docs/first_raw_reanalysis.md index ed5e026..fa7d605 100644 --- a/docs/first_raw_reanalysis.md +++ b/docs/first_raw_reanalysis.md @@ -270,7 +270,7 @@ HFS+ or APFS, which support the symlinks and permissions Nextflow relies on. | Location | Drive | Purpose | |---|---|---| -| `/Volumes/Samsung T5/aree/work` | Samsung T5, SSD, ~450 MB/s | Nextflow work directory (`-profile workstation`) | +| `/Volumes/ST5/aree/work` | Samsung T5 (volume `ST5`), SSD, ~450 MB/s | Nextflow work directory (`-profile workstation`) | | `/Volumes/blue-block/aree/raw//` | blue-block, HDD, 4 TB, ~140 MB/s | Raw FASTQs; `data/raw` is a symlink here | | `/Volumes/blue-block/aree/reference//` | blue-block | Transcriptome, GTF, tx2gene, Salmon index; `data/reference/` is a symlink here | | `results/` | internal APFS | Published outputs, unchanged, so `aree harmonize` relative paths keep working | @@ -287,6 +287,21 @@ The `workstation` profile lives in `config/base.config`, so every assay workflow accepts it. Combine it with an executor profile (`-profile local,workstation`); it sets only `workDir`. +**No path a tool sees may contain a space.** The SSD was mounted as +`/Volumes/Samsung T5` until 2026-10-12, which broke three things: +- Java split `NXF_TEMP` / `TMPDIR` on the space, so Nextflow failed before any + task started. +- Trim Galore and Bismark (Perl) pass the working directory unquoted to the + shell, and resolve it to its physical path. So they failed even through a + space-free symlink (`sh: /Volumes/Samsung: Operation not permitted`). +- Renaming the volume mid-run moved the publish directory out from under a + running job. + +Renaming the volume to `ST5` fixes the first two. Don't give a data volume a +name with a space, and don't rename one while a run is publishing to it. +Workflow manifests written before the rename still record +`/Volumes/Samsung T5/...` as their `outdir`, which is where those runs wrote. + ### Environment notes * **Quarto fails on exFAT.** `RENDER_REPORT` dies in Quarto's cleanup