JAFFA error using docker in nf-core/nanoseq version 3.0.0 and 3.1.0
Description of the bug
curl not found in docker image and also not recognize jaffa ref directory when --jaffal_ref_dir was used with hg18 files.
Command used and terminal output
Command line:
nextflow run nf-core/nanoseq -r 3.1.0 \
--input samplesheet.csv \
--protocol cDNA \
--skip_demultiplexing \
-profile docker \
--max_cpus 30 \
--max_memory "120 GB" \
--outdir Results_nfcore
Terminal output:
Execution cancelled -- Finishing pending tasks before exit
-[nf-core/nanoseq] Pipeline completed with errors-
WARN: The `echo` directive has been deprecated - use to `debug` instead
ERROR ~ Error executing process > 'NFCORE_NANOSEQ:NANOSEQ:RNA_FUSIONS_JAFFAL:GET_JAFFAL_REF'
Caused by:
Process `NFCORE_NANOSEQ:NANOSEQ:RNA_FUSIONS_JAFFAL:GET_JAFFAL_REF` terminated with an error exit status (127)
Command executed:
curl \
-L https://ndownloader.figshare.com/files/28168755 \
-o for_jaffal.tar.gz
cat <<-END_VERSIONS > versions.yml
"NFCORE_NANOSEQ:NANOSEQ:RNA_FUSIONS_JAFFAL:GET_JAFFAL_REF":
curl: $(curl --version | grep "curl" | sed "s/curl //; s/ .*$//")
END_VERSIONS
Command exit status:
127
Command output:
(empty)
Command error:
20.04: Pulling from library/ubuntu
Digest: sha256:db8bf6f4fb351aa7a26e27ba2686cf35a6a409f65603e59d4c203e58387dc6b3
Status: Image is up to date for ubuntu:20.04
.command.sh: line 3: curl: command not found
Work dir:
/media/yanlab/HD2/Rubens/LongReads_pipeline/nf-core_run/work/39/6b06aca63a30e9a116a5e79ee7b160
Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`
-- Check '.nextflow.log' file for details
Relevant files
System information
nextflow version 23.04.1.5866 Hardware Desktop Executor Local Container Docker OS Ubuntu 22.04 Version nf-core/nanoseq 3.1.0 and 3.0.0 tested
I have also encountered this issue!
me too. Because this shell scripts ran in a docker container ,but there is no curl installed in this container.
I have the same issue.
I'm having a similar issue when I run this on a singularity profile:
nextflow run nf-core/nanoseq --samplesheet.csv --protocol directRNA --skip_demultiplexing -profile singularity
The only difference in case of my error is:
Command error:
INFO: Converting SIF file to temporary sandbox...
WARNING: underlay of /etc/localtime required more than 50 (66) bind mounts
.command.sh: line 3: curl: command not found
INFO: Cleaning up image...
.command.run: line 77: awk: command not found
I have the same issue, has anyone solved it?
Hi everyone,
The addition of the --skip_fusion_analysis option is particularly valuable for me because it addresses a specific issue – the absence of the curl command, leading to errors. By including this option, it allows me to circumvent the JAFFA step, effectively avoiding the reported error related to the missing curl command.
I have the same issue. It should be an easy fix of just replacing the use of ubuntu20.04 with a custom image:
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y curl && \
# Clean up to reduce the image size
apt-get clean && \
rm -rf /var/lib/apt/lists/*
I am also having the same error. I worked around it by downloading and unpacking the jaffal reference outside of the pipeline with the code below
curl -L https://ndownloader.figshare.com/files/28168755 -o for_jaffal.tar.gz
tar -xzvf for_jaffal.tar.gz
Then I used --jaffal_ref_dir /path/to/for_jaffal in the run command (https://nf-co.re/nanoseq/3.1.0/parameters#jaffal_ref_dir) .
I am also having the same error. I worked around it by downloading and unpacking the jaffal reference outside of the pipeline with the code below
curl -L https://ndownloader.figshare.com/files/28168755 -o for_jaffal.tar.gz tar -xzvf for_jaffal.tar.gzThen I used
--jaffal_ref_dir /path/to/for_jaffalin the run command (https://nf-co.re/nanoseq/3.1.0/parameters#jaffal_ref_dir) .
@scoughlan2 Thanks for your sharing. And when I try jaffal with --jaffal_ref_dir , an error occured in 'Stage minimap2_transcriptome':
======================== Stage minimap2_transcriptome (Mutant_1_basecalled) ========================
bash: line 1: minimap2: command not found
Cleaned up file Mutant_1_basecalled.fastq/Mutant_1_basecalled.fastq.paf to .bpipe/trash/Mutant_1_basecalled.fastq.paf.1
ERROR: stage minimap2_transcriptome failed: Command in stage minimap2_transcriptome failed with exit status = 127 :
minimap2 -t 16 -x map-ont -c for_jaffal/hg38_genCode22.fa Mutant_1_basecalled.fastq/Mutant_1_basecalled.fastq.fasta > Mutant_1_basecalled.fastq/Mutant_1_basecalled.fastq.paf ;
Do you have any idea about where I should install minimap2 in?
I got around the jaffa process errors happening by using a different docker container for the NFCORE_NANOSEQ:NANOSEQ:RNA_FUSIONS_JAFFAL:JAFFAL step
I used docker.io/wdesaint/jaffal_older_bpipe:latest in https://github.com/nf-core/nanoseq/blob/master/modules/local/jaffal.nf
How I got to the above docker container: See https://github.com/Oshlack/JAFFA/issues/102#issuecomment-1907594734