Skip to content

Migrate process shell: blocks to script: (Nextflow 25.04 deprecation) #24

Description

@katherine-stansifer

Context

Nextflow 25.04 soft-deprecated the shell: directive on processes. The blocks still run (with a warning) in 25.10, but should be migrated to script: to stay forward-compatible. Tracking as a separate PR from the 25.10 port itself because the conversion is touchy enough to deserve its own test run.

Processes to migrate

  • modules/local/dorado/main.nf
    • BASECALL_POD_5_SIMPLEX
    • BASECALL_POD_5_DUPLEX
    • DEMUX_POD_5
  • modules/local/samtools/main.nf
    • BAM_TO_FASTQ
    • MERGE_BAMS

Migration notes

The interpolation convention flips between shell: and script::

  • Nextflow variables: !{var}${var}
  • Shell variables / command substitution that were bare in shell: (${var}, $(...)) need to be escaped in script: as \${var} / \$(...) so Nextflow doesn't try to interpolate them.

Easy to introduce subtle bugs — every $ in each block needs to be classified as Nextflow-side or shell-side.

Verification

Same as the 25.10 port: rebuild the head container, run a real delivery through startOntBasecall → Batch (or nextflow run main.nf against a delivery directly), and scan .nextflow.log for warnings/errors plus confirm the FASTQ output lands under raw/ in the base bucket.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions