Hi, I'm running nfcore/mag on an HTC system. I use...
# help
p
Hi, I'm running nfcore/mag on an HTC system. I used to be able to do this by installing nextflow, nf-core and singularity in a conda environment, but I'm updating my workflow to be in a container instead. I've built a Apptainer/Singularity, but when I test the command
nextflow run nf-core/mag -r 3.0.2 -profile test,singularity --outdir test_dir
I get the error that the version of singularity is too old (specifically that it can't pull URLs) (2.4) I did see some Slack messages saying that I should have >3.0. My question is -- does anyone know which exact versions of miniconda, nextflow, nfcore and singularity versions are compatible so I could build a container please? thank you!
p
You don't need nf-core to run nf-core pipelines (there are some cases where it's useful for special situations but generally you won't need it). And using conda to get the
nextflow
binary is a bit like using a bazooka to peel a banana. E.g. https://www.nextflow.io/docs/latest/install.html#install-nextflow will show you a much easier way of doing that (if the Java provided by your system isn't usable, you can work around that in various ways, e.g. SDKMAN, but it's a hint that you might want to look for another setup anyway). And it's strongly recommended to not try to put nextflow in a container - it's certainly not impossible but there are very few benefits and it brings up a lot of issues you'll need to address (e.g. make nested containers work, bring in your scheduler so that works to submit jobs).
👍 1
p
Thanks for the tips. I retried using this method. I made a container containing a new version of singularity, curl and wget only. When I activate the container, I ran some bash scripts commands to install java (indeed I had an issue with Java not being installed on the execute node the job was running on) and the commands to install Nextflow using the binary (link you posted), I just ran the
-profile test,singularity
which worked successfully