nf-core / viralrecon

Assembly and intrahost/low-frequency variant calling for viral samples
https://nf-co.re/viralrecon
MIT License
118 stars 108 forks source link

Old container for FASTQC processes in current release (2.6.0) is old and now fails on AWS Batch #431

Closed FloWuenne closed 3 months ago

FloWuenne commented 3 months ago

Description of the bug

The current container version used by viralrecon release 2.6.0 for FASTQC modules is 0.11.9.

This version is extremely outdated and uses and old docker image format and manifest specification. This can be shown by pulling the container using docker:

docker pull quay.io/biocontainers/fastqc:0.11.9--0
[DEPRECATION NOTICE] Docker Image Format v1, and Docker Image manifest version 2, schema 1 support will be removed in an upcoming release. Suggest the author of wave.seqera.io/wt/870285518668/biocontainers/fastqc:0.11.9--0 to upgrade the image to the OCI Format, or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs

Amazon AWS batch seems to have removed support for these old specification as this started breaking between May 31st 2024 and June 10th 2024. Updating the fastqc container version fixes this issue. An updated nf-core module version for fastqc is already included in the dev branch, so nothing needs to be done beside a new release soon!

A current fix for anybody running into this with version 2.6.0 is to add the following to your nextflow.config:

process {
  withName:'NFCORE_VIRALRECON:ILLUMINA:FASTQ_TRIM_FASTP_FASTQC:FASTQC_TRIM' {
    container = 'quay.io/biocontainers/fastqc:0.12.1--hdfd78af_0'
  }
  withName:'NFCORE_VIRALRECON:ILLUMINA:FASTQ_TRIM_FASTP_FASTQC:FASTQC_RAW' {
    container = 'quay.io/biocontainers/fastqc:0.12.1--hdfd78af_0'
  }
  withName:'NFCORE_VIRALRECON:ILLUMINA:FASTQC' {
    container = 'quay.io/biocontainers/fastqc:0.12.1--hdfd78af_0'
  }
}

Command used and terminal output

No response

Relevant files

No response

System information

No response

FloWuenne commented 3 months ago

This issue is discussing the same problems as described by these two for nf-core/rnaseq:

https://github.com/nf-core/rnaseq/issues/1140 https://github.com/nf-core/rnaseq/issues/1100

FloWuenne commented 3 months ago

Apologies, I forgot to put the error message from Nextflow that is returned when trying to run with the outdated version of fastqc.

To reproduce, one can run nf-core/viralrecon profile": "test_full" and fusion and wave enabled. This will result in the following error:

Error executing process > 'NFCORE_VIRALRECON:ILLUMINA:FASTQ_TRIM_FASTP_FASTQC:FASTQC_RAW (SAMPLE_35)'

Caused by:
  Task failed to start - CannotPullContainerError: image verification failed for digest sha256:92c044ab3d3ca1a450f2d0615019ef48db79637249f5fb2ebef256ecaf764541

Command executed:

  printf "%s %s\n" GOL2051A67504_S137_L002_R1_001.fastq.gz SAMPLE_35_1.gz GOL2051A67504_S137_L002_R2_001.fastq.gz SAMPLE_35_2.gz | while read old_name new_name; do
      [ -f "${new_name}" ] || ln -s $old_name $new_name
  done
  fastqc --quiet --threads 6 SAMPLE_35_1.gz SAMPLE_35_2.gz

  cat <<-END_VERSIONS > versions.yml
  "NFCORE_VIRALRECON:ILLUMINA:FASTQ_TRIM_FASTP_FASTQC:FASTQC_RAW":
      fastqc: $( fastqc --version | sed -e "s/FastQC v//g" )
  END_VERSIONS

Command exit status:
  -

Command output:
  (empty)
Joon-Klaps commented 3 months ago

Was already fixed on dev branch 😄 #430

FloWuenne commented 3 months ago

Awesome, thanks @Joon-Klaps !