In nextflow I would love to see my script in its final form, meaning after nextflow has replaced $myfavouritevariable ecetera ... is that possible? Something like:
process myproc {
...
script:
"""
# my bash script here
"""
afterEvaluation:
print final script to file
}
In nextflow I would love to see my script in its final form, meaning after nextflow has replaced $myfavouritevariable ecetera ... is that possible? Something like:
process myproc {
...
script:
"""
# my bash script here
"""
afterEvaluation:
print final script to file
}
Share
Improve this question
asked Feb 17 at 20:21
RobertRobert
4521 gold badge5 silver badges17 bronze badges
1 Answer
Reset to default 1For each process execution, Nextflow generates a mand.sh
file in the working directory (i.e. ./work
) that contains the final "fully rendered" command with all substitutions applied. For example:
process myproc {
tag "$name"
input:
val name
script:
"""
echo "Hello ${name}"
"""
}
workflow {
names = Channel.of('Mark', 'Luke', 'John', 'Matthew')
myproc( names )
}
Results:
$ nextflow run main.nf -ansi-log false
N E X T F L O W ~ version 24.10.4
Launching `main.nf` [golden_ptolemy] DSL2 - revision: cdd7952baf
[3a/00d71d] Submitted process > myproc (Matthew)
[67/84f645] Submitted process > myproc (Mark)
[46/a85da1] Submitted process > myproc (John)
[17/0da858] Submitted process > myproc (Luke)
$ cat work/3a/00d71df5746b303f576ce7bd051a49/mand.sh
#!/bin/bash -ue
echo "Hello Matthew"