nanoseq icon indicating copy to clipboard operation
nanoseq copied to clipboard

JAFFA error using docker in nf-core/nanoseq version 3.0.0 and 3.1.0

Open criphg opened this issue 2 years ago • 10 comments

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

nextflow.log

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

criphg avatar May 06 '23 01:05 criphg

I have also encountered this issue!

mianlee avatar May 10 '23 12:05 mianlee

me too. Because this shell scripts ran in a docker container ,but there is no curl installed in this container.

gawxyz avatar Jun 09 '23 06:06 gawxyz

I have the same issue.

zya067025 avatar Jun 19 '23 19:06 zya067025

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

rugilemat avatar Aug 31 '23 13:08 rugilemat

I have the same issue, has anyone solved it?

ShacharParshani avatar Nov 12 '23 10:11 ShacharParshani

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.

weir12 avatar Jan 22 '24 12:01 weir12

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/*

nick-youngblut avatar Mar 13 '24 18:03 nick-youngblut

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) .

scoughlan2 avatar Mar 19 '24 16:03 scoughlan2

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) .

@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?

wonitawowowo avatar Jan 14 '25 09:01 wonitawowowo

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

tamuanand avatar Jun 03 '25 05:06 tamuanand