Jeremy Muhlich
07/10/2026, 5:41 PM.diff. I'm looking at the most recent upstream versions of those modules and it looks like cellpose added process_gpu so maybe we should just update for that. Can you explain what was fixed by adding the stageAs arg to path(model, stageAs: '?/*') ?Adam Taylor
07/10/2026, 6:22 PMAdam Taylor
07/10/2026, 6:33 PMJeremy Muhlich
07/10/2026, 6:35 PMJeremy Muhlich
07/10/2026, 6:35 PMJeremy Muhlich
07/10/2026, 6:35 PMAdam Taylor
07/10/2026, 6:40 PMext.when in conf/modules.config.
eg
withName: "CELLPOSE" { ext.when = {params.segmentation…contains('cellpose')} }
Here CELLPOSE always feeds a default params.cellpose_model of [], so if only MESMER is specified, the CELLPOSE process still gets an empty model input, which failed on path(model) when model was empty — on Batch this validation occurs before the process even kicks off, so it kills the workflow.
Using path(model, stageAs: '?/*') as a way to stage optional paths allows us to bypass this step and enable the workflow to continue as expected.Jeremy Muhlich
07/10/2026, 6:45 PMif (params.segmentation?.split(',')?.contains('cellpose')) fix that without messing with stageAs ?Jeremy Muhlich
07/10/2026, 6:47 PMAdam Taylor
07/10/2026, 6:57 PMAdam Taylor
07/10/2026, 6:59 PMmembrane_img default