Hello,
I have tried testing multiple qiime2-core and qiime2-amplicon images using singularity. Everytime I try to test my nextflow script it ends up not recognizing qiime command (not finding qiime in my bash script). Am I doing something wrong?
There’s a missing } in your Nextflow script. Can you please share the SIF image so that I can try to replicate it here on my side? You confirm that you set the -profile to singularity?
Next time, please make sure you share
the command line you used to run your pipeline e.g. nextflow run main.nf -profile singularity
I will make sure to include a proper output profile next time. Regarding the command line here is exactly what I inputted [u6060645@notch068:nextflow_script]$ nextflow run test.nf -profile singularity
the .command.log ....long directory removed/nextflow_script/work/4e/41bcb4aaf2f8ff510966c7fe489dc6/.command.sh: line 2: qiime: command not found
Command Exist Status: 127
the SIF image, please read below:
I have tried using multiple images (the ones that I will link below are the ones that I have tried and they’ve given me exactly the same error!
The way I got the SIF image is by using singularity pull dock://<image code or link>
Thanks for looking into it. I found a workaround for now. I built another conda sub-process for qiime2 using their provided yml. That fixed it for now. I will troubleshoot this problem further to see what the problem is.
I just tested what you did and it worked. I believe (possibly) that the problem was with how I handled it with out HPCP. You need to first load singularity module before you can use it in nextflow. I made sure to load it first, and now it did work following the exact steps you provided.
My config file had process.container, between that and not loading module singularity, one or both was causing that error. Testing without module singularity loaded causes an error, and with loading it the error is gone (container = ‘’ is used), and with singularity loaded but using process.container I get the same error.
I can’t find in the document a clear difference between container vs process.container. Why was using process.container causing it not to identify the sif image?
After couple of tries and little reading. I think I understand. Process.config is not a process-specific option, it’s a global setting that goes into the main profile itself, so above singularity and conda. While conda=‘’ is a process-specific directive, that directs the processes to certain images.
That fixes the problem along with module loading singularity in home directory.