CFSAN-Biostatistics / CSP2

A Nextflow pipeline for fast and accurate SNP distance estimation from WGS read data or genome assemblies
Other
4 stars 2 forks source link

CSP2 tries to invoke `module` when running as a local workflow #5

Closed crashfrog closed 2 months ago

crashfrog commented 2 months ago

Hi Bob, it's Justin - ran into an issue while Dockerizing the workflow, as below.

When running the example contamination screen test using a "local" profile, CSP2 tries to invoke module, which is generally only present on HPC systems and isn't given as a dependency in the readme.

$ nextflow run CSP2.nf --out Test_Output/Contamination_Screen --runmode screen --ref_fasta assets/Screen/Assembly/Lab_Control.fasta --fasta assets/Screen/Assembly/Week_42_Assembly.fasta --reads assets/Screen/Reads --forward _1.fq.gz --reverse _2.fq.gz --readext fq.gz
1.285
1.285  N E X T F L O W   ~  version 24.04.4
1.285
2.030 Launching `CSP2.nf` [elegant_borg] DSL2 - revision: acef86af6c
2.030
3.882 [-        ] fet…cessReads:fetchPairedReads -
3.882 [-        ] fet…ssembleReads:skesaAssemble -
3.882 [-        ] fet…embleReads:saveAssemblyLog -
3.883 [-        ] alignGenomes:runMUMmer         -
3.883 [-        ] runScreen:screenSNPDiffs       -
4.083
4.086 executor >  local (2)
4.086 [5e/8af870] fet…cessReads:fetchPairedReads | 1 of 1 ✔
4.086 [52/355b4d] fet…bleReads:skesaAssemble (1) | 0 of 1
4.086 [-        ] fet…embleReads:saveAssemblyLog -
4.086 [-        ] alignGenomes:runMUMmer         -
4.086 [-        ] runScreen:screenSNPDiffs       -
122.9
122.9 executor >  local (5)
122.9 [5e/8af870] fet…cessReads:fetchPairedReads | 1 of 1 ✔
122.9 [52/355b4d] fet…bleReads:skesaAssemble (1) | 1 of 1 ✔
122.9 [11/6eda3c] fet…embleReads:saveAssemblyLog | 1 of 1 ✔
122.9 [c0/cad9d3] alignGenomes:runMUMmer (1)     | 0 of 2
122.9 [-        ] runScreen:screenSNPDiffs       -
122.9 ERROR ~ Error executing process > 'alignGenomes:runMUMmer (1)'
122.9
122.9 Caused by:
122.9   Process `alignGenomes:runMUMmer (1)` terminated with an error exit status (127)
122.9
122.9
122.9 Command executed:
122.9
122.9   module purge
122.9
122.9
122.9
122.9
122.9   cd /app/Test_Output/Contamination_Screen/MUMmer_Output
122.9   dnadiff -p Week_42_Assembly__vs__Lab_Control /app/assets/Screen/Assembly/Lab_Control.fasta /app/assets/Screen/Assembly/Week_42_Assembly.fasta
122.9
122.9   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.mdelta
122.9   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.mcoords
122.9   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.1delta
122.9   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.delta
122.9   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.qdiff
122.9   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.rdiff
122.9   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.unref
122.9   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.unqry
122.9
122.9   mv /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.snps /app/Test_Output/Contamination_Screen/MUMmer_Output/snps
122.9   mv /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.report /app/Test_Output/Contamination_Screen/MUMmer_Output/report
122.9   mv /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.1coords /app/Test_Output/Contamination_Screen/MUMmer_Output/1coords
122.9   python /app/bin/filterMUmmer.py "Week_42_Assembly" "/app/assets/Screen/Assembly/Week_42_Assembly.fasta" "Lab_Control" "/app/assets/Screen/Assembly/Lab_Control.fasta" "/app/Test_Output/Contamination_Screen" "85.0" "99.0" "500" "1000,125,15" "3,2,1" "500" "150" "screen"
122.9
122.9 Command exit status:
122.9   127
122.9
122.9 Command output:
122.9   (empty)
122.9
122.9 Command error:
122.9   .command.sh: line 2: module: command not found
122.9
122.9 Work dir:
122.9   /app/work/c0/cad9d33d46ccf78c403151dda86298
122.9
122.9 Tip: you can try to figure out what's wrong by changing to the process work dir and showing the script file named `.command.sh`
122.9
122.9  -- Check '.nextflow.log' file for details
123.1
123.1 executor >  local (5)
123.1 [5e/8af870] fet…cessReads:fetchPairedReads | 1 of 1 ✔
123.1 [52/355b4d] fet…bleReads:skesaAssemble (1) | 1 of 1 ✔
123.1 [11/6eda3c] fet…embleReads:saveAssemblyLog | 1 of 1 ✔
123.1 [2c/f448fa] alignGenomes:runMUMmer (2)     | 2 of 2, failed: 2 ✘
123.1 [-        ] runScreen:screenSNPDiffs       -
123.1 ERROR ~ Error executing process > 'alignGenomes:runMUMmer (1)'
123.1
123.1 Caused by:
123.1   Process `alignGenomes:runMUMmer (1)` terminated with an error exit status (127)
123.1
123.1
123.1 Command executed:
123.1
123.1   module purge
123.1
123.1
123.1
123.1
123.1   cd /app/Test_Output/Contamination_Screen/MUMmer_Output
123.1   dnadiff -p Week_42_Assembly__vs__Lab_Control /app/assets/Screen/Assembly/Lab_Control.fasta /app/assets/Screen/Assembly/Week_42_Assembly.fasta
123.1
123.1   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.mdelta
123.1   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.mcoords
123.1   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.1delta
123.1   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.delta
123.1   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.qdiff
123.1   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.rdiff
123.1   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.unref
123.1   rm -rf /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.unqry
123.1
123.1   mv /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.snps /app/Test_Output/Contamination_Screen/MUMmer_Output/snps
123.1   mv /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.report /app/Test_Output/Contamination_Screen/MUMmer_Output/report
123.1   mv /app/Test_Output/Contamination_Screen/MUMmer_Output/Week_42_Assembly__vs__Lab_Control.1coords /app/Test_Output/Contamination_Screen/MUMmer_Output/1coords
123.1   python /app/bin/filterMUmmer.py "Week_42_Assembly" "/app/assets/Screen/Assembly/Week_42_Assembly.fasta" "Lab_Control" "/app/assets/Screen/Assembly/Lab_Control.fasta" "/app/Test_Output/Contamination_Screen" "85.0" "99.0" "500" "1000,125,15" "3,2,1" "500" "150" "screen"
123.1
123.1 Command exit status:
123.1   127
123.1
123.1 Command output:
123.1   (empty)
123.1
123.1 Command error:
123.1   .command.sh: line 2: module: command not found
123.1
123.1 Work dir:
123.1   /app/work/c0/cad9d33d46ccf78c403151dda86298
123.1
123.1 Tip: you can try to figure out what's wrong by changing to the process work dir and showing the script file named `.command.sh`
123.1
123.1  -- Check '.nextflow.log' file for details
123.2
123.2 make: *** [/app/Makefile:36: test_screen] Error 1
------

Any way to make this invocation of module optional so it runs outside an HPC context?

Thanks,

Justin

BobLiterman commented 2 months ago

Changed pushed to QC, let me know if it works!