Open remiolsen opened 7 months ago
In case anyone else is playing along with what I'm attempting to do, i.e. deploying non nf-core pipelines using download. I had to cut-and-paste the following nf-core stuff into the config to make it work:
params {
// Config options
custom_config_version = 'master'
custom_config_base = "${projectDir}/../configs/"
config_profile_description = null
config_profile_contact = null
config_profile_url = null
config_profile_name = null
}
// Load nf-core custom profiles from different Institutions
try {
includeConfig "${params.custom_config_base}/nfcore_custom.config"
} catch (Exception e) {
System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config")
}
singularity.cacheDir = "${projectDir}/../singularity-images/"
I could gather after carefully reading the commandline output that it tried to download the images from quay.io when in reality the images are hosted on docker.io.
Since nf-core images are primarily hosted on quay.io
, I believe it is a reasonable default, if no explicit -l
/ --container-library
parameter has been specified. The only alternative would be to make this argument mandatory without a default?
The error message was not helpful in immediately identifying this as it only stated that it "failed for unclear reasons."
Admittedly, this is not ideal. Since nf-core download
only operates on the stderr
output of singularity pull
to assess the cause of an error, it is somewhat limited. The registries have different error messages in the response bodies of the request, and it is difficult to keep the regexes/keywords appropriately in sync despite a corresponding test. Please feel free to submit a PR suggesting an appropriate change to the ContainerError
class to make it work in that case.
The better solution would be to make a separate request to the URI prior to trying singularity pull
and utilize the HTTP status codes rather than bits of the response body text. Again, if you feel like implementing this, a PR is more than welcome.
Description of the bug
Hi! I was trying to download a non nf-core nextflow pipeline using
nf-core download
, which I understand could (or should?) work. However when I tried this forepi2me-labs/wf-single-cell
version 1.1.0 it would fail in downloading the singularity images. I could gather after carefully reading the commandline output that it tried to download the images fromquay.io
when in reality the images are hosted ondocker.io
. The error message was not helpful in immediately identifying this as it only stated that it "failed for unclear reasons.".This might be caused by the authors not specifying docker.io anywhere e.g. in
docker.registry
. I was able to get around this problem by using the option-l docker.io
(thanks @ewels). This could be less troublesome by a more informative error message and/or not defaulting to quay.io if no registry is given - I'll leave that discussion to others.Thanks.
Command used and terminal output
System information