diff --git a/modules/nf-core/sentieon/applyvarcal/main.nf b/modules/nf-core/sentieon/applyvarcal/main.nf index 6e5e863c515..d0493e4768b 100644 --- a/modules/nf-core/sentieon/applyvarcal/main.nf +++ b/modules/nf-core/sentieon/applyvarcal/main.nf @@ -7,8 +7,8 @@ process SENTIEON_APPLYVARCAL { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(vcf), path(vcf_tbi), path(recal), path(recal_index), path(tranches) @@ -24,20 +24,10 @@ process SENTIEON_APPLYVARCAL { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" def sentieon_auth_mech_base64 = task.ext.sentieon_auth_mech_base64 ?: '' def sentieon_auth_data_base64 = task.ext.sentieon_auth_data_base64 ?: '' - """ if [ "\${#SENTIEON_LICENSE_BASE64}" -lt "1500" ]; then # If the string SENTIEON_LICENSE_BASE64 is short, then it is an encrypted url. export SENTIEON_LICENSE=\$(echo -e "\$SENTIEON_LICENSE_BASE64" | base64 -d) @@ -55,8 +45,6 @@ process SENTIEON_APPLYVARCAL { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver -r ${fasta} --algo ApplyVarCal \\ -v $vcf \\ --recal $recal \\ @@ -71,19 +59,8 @@ process SENTIEON_APPLYVARCAL { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" """ - $fix_ld_library_path - touch ${prefix}.vcf.gz touch ${prefix}.vcf.gz.tbi diff --git a/modules/nf-core/sentieon/bwaindex/main.nf b/modules/nf-core/sentieon/bwaindex/main.nf index f5e8b582ecc..2d3f1afa61f 100644 --- a/modules/nf-core/sentieon/bwaindex/main.nf +++ b/modules/nf-core/sentieon/bwaindex/main.nf @@ -5,8 +5,8 @@ process SENTIEON_BWAINDEX { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(fasta) @@ -19,20 +19,9 @@ process SENTIEON_BWAINDEX { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' def prefix = task.ext.prefix ? "bwa/${task.ext.prefix}" : "bwa/${fasta.baseName}" """ - $fix_ld_library_path - mkdir bwa sentieon \\ @@ -49,18 +38,7 @@ process SENTIEON_BWAINDEX { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - """ - $fix_ld_library_path - mkdir bwa touch bwa/genome.amb diff --git a/modules/nf-core/sentieon/bwamem/main.nf b/modules/nf-core/sentieon/bwamem/main.nf index fedf0bfb69f..6ed6a840150 100644 --- a/modules/nf-core/sentieon/bwamem/main.nf +++ b/modules/nf-core/sentieon/bwamem/main.nf @@ -9,8 +9,8 @@ process SENTIEON_BWAMEM { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(reads) @@ -26,20 +26,10 @@ process SENTIEON_BWAMEM { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" def sentieon_auth_mech_base64 = task.ext.sentieon_auth_mech_base64 ?: '' def sentieon_auth_data_base64 = task.ext.sentieon_auth_data_base64 ?: '' - """ if [ "\${SENTIEON_LICSRVR_IP}" ]; then # NOTE: This is how pipeline users will use Sentieon in real world @@ -59,8 +49,6 @@ process SENTIEON_BWAMEM { echo "If sentieon_auth_mech and sentieon_auth_data are non-empty strings, then Sentieon is mostly likely being run with some test-license." fi - $fix_ld_library_path - INDEX=`find -L ./ -name "*.amb" | sed 's/.amb//'` sentieon bwa mem \\ @@ -78,19 +66,8 @@ process SENTIEON_BWAMEM { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" """ - $fix_ld_library_path - touch ${prefix}.bam touch ${prefix}.bam.bai diff --git a/modules/nf-core/sentieon/datametrics/main.nf b/modules/nf-core/sentieon/datametrics/main.nf index bc55d275f6a..1a68c9db96b 100644 --- a/modules/nf-core/sentieon/datametrics/main.nf +++ b/modules/nf-core/sentieon/datametrics/main.nf @@ -7,8 +7,8 @@ process SENTIEON_DATAMETRICS { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(bam), path(bai) @@ -28,15 +28,6 @@ process SENTIEON_DATAMETRICS { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" def input = bam.sort().collect{"-i $it"}.join(' ') @@ -59,8 +50,6 @@ process SENTIEON_DATAMETRICS { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon \\ driver \\ -t $task.cpus \\ @@ -80,19 +69,8 @@ process SENTIEON_DATAMETRICS { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" """ - $fix_ld_library_path - touch ${prefix}_mq_metrics.txt touch ${prefix}_qd_metrics.txt touch ${prefix}_gc_summary.txt diff --git a/modules/nf-core/sentieon/dedup/main.nf b/modules/nf-core/sentieon/dedup/main.nf index 5f19ab56d8e..c76aa839176 100644 --- a/modules/nf-core/sentieon/dedup/main.nf +++ b/modules/nf-core/sentieon/dedup/main.nf @@ -7,8 +7,8 @@ process SENTIEON_DEDUP { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(bam), path(bai) @@ -29,15 +29,6 @@ process SENTIEON_DEDUP { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' def args2 = task.ext.args2 ?: '' def args3 = task.ext.args3 ?: '' @@ -48,7 +39,6 @@ process SENTIEON_DEDUP { def sentieon_auth_mech_base64 = task.ext.sentieon_auth_mech_base64 ?: '' def sentieon_auth_data_base64 = task.ext.sentieon_auth_data_base64 ?: '' def input_list = bam.collect{"-i $it"}.join(' ') - """ if [ "\${#SENTIEON_LICENSE_BASE64}" -lt "1500" ]; then # If the string SENTIEON_LICENSE_BASE64 is short, then it is an encrypted url. export SENTIEON_LICENSE=\$(echo -e "\$SENTIEON_LICENSE_BASE64" | base64 -d) @@ -66,8 +56,6 @@ process SENTIEON_DEDUP { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver $args $input_list -r ${fasta} --algo LocusCollector $args2 --fun score_info ${prefix}.score sentieon driver $args3 -t $task.cpus $input_list -r ${fasta} --algo Dedup $args4 --score_info ${prefix}.score --metrics ${metrics} ${prefix}${suffix} # This following tsv-file is produced in order to get a proper tsv-file with Dedup-metrics for importing in MultiQC as "custom content". @@ -81,20 +69,10 @@ process SENTIEON_DEDUP { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } def prefix = task.ext.prefix ?: "${meta.id}" def suffix = task.ext.suffix ?: ".cram" // The suffix should be either ".cram" or ".bam". def metrics = task.ext.metrics ?: "${prefix}${suffix}.metrics" """ - $fix_ld_library_path - touch "${prefix}${suffix}" touch "${prefix}${suffix}\$(echo ${suffix} | sed 's/m\$/i/')" touch "${metrics}" diff --git a/modules/nf-core/sentieon/dnamodelapply/main.nf b/modules/nf-core/sentieon/dnamodelapply/main.nf index 9a0c70dc228..97c2986d299 100644 --- a/modules/nf-core/sentieon/dnamodelapply/main.nf +++ b/modules/nf-core/sentieon/dnamodelapply/main.nf @@ -7,8 +7,8 @@ process SENTIEON_DNAMODELAPPLY { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(vcf), path(idx) @@ -25,20 +25,10 @@ process SENTIEON_DNAMODELAPPLY { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" def sentieon_auth_mech_base64 = task.ext.sentieon_auth_mech_base64 ?: '' def sentieon_auth_data_base64 = task.ext.sentieon_auth_data_base64 ?: '' - """ if [ "\${#SENTIEON_LICENSE_BASE64}" -lt "1500" ]; then # If the string SENTIEON_LICENSE_BASE64 is short, then it is an encrypted url. export SENTIEON_LICENSE=\$(echo -e "\$SENTIEON_LICENSE_BASE64" | base64 -d) @@ -56,8 +46,6 @@ process SENTIEON_DNAMODELAPPLY { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver \\ -t $task.cpus \\ -r $fasta \\ @@ -74,20 +62,8 @@ process SENTIEON_DNAMODELAPPLY { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" - """ - $fix_ld_library_path - touch ${prefix}.vcf.gz touch ${prefix}.vcf.gz.tbi diff --git a/modules/nf-core/sentieon/dnascope/main.nf b/modules/nf-core/sentieon/dnascope/main.nf index 0671307ba00..a69f40cdb37 100644 --- a/modules/nf-core/sentieon/dnascope/main.nf +++ b/modules/nf-core/sentieon/dnascope/main.nf @@ -7,8 +7,8 @@ process SENTIEON_DNASCOPE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(bam), path(bai), path(intervals) @@ -32,15 +32,6 @@ process SENTIEON_DNASCOPE { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' // options for the driver def args2 = task.ext.args2 ?: '' // options for the vcf generation def args3 = task.ext.args3 ?: '' // options for the gvcf generation @@ -80,8 +71,6 @@ process SENTIEON_DNASCOPE { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver $args -r $fasta -t $task.cpus -i $bam $interval $vcf_cmd $gvcf_cmd cat <<-END_VERSIONS > versions.yml @@ -91,20 +80,8 @@ process SENTIEON_DNASCOPE { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" - """ - $fix_ld_library_path - touch ${prefix}.unfiltered.vcf.gz touch ${prefix}.unfiltered.vcf.gz.tbi touch ${prefix}.g.vcf.gz diff --git a/modules/nf-core/sentieon/gvcftyper/main.nf b/modules/nf-core/sentieon/gvcftyper/main.nf index 7539214507d..09265ad66a7 100644 --- a/modules/nf-core/sentieon/gvcftyper/main.nf +++ b/modules/nf-core/sentieon/gvcftyper/main.nf @@ -7,8 +7,8 @@ process SENTIEON_GVCFTYPER { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(gvcfs), path(tbis), path(intervals) @@ -26,21 +26,11 @@ process SENTIEON_GVCFTYPER { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" def sentieon_auth_mech_base64 = task.ext.sentieon_auth_mech_base64 ?: '' def sentieon_auth_data_base64 = task.ext.sentieon_auth_data_base64 ?: '' def gvcfs_input = '-v ' + gvcfs.join(' -v ') def dbsnp_cmd = dbsnp ? "--dbsnp $dbsnp" : "" - """ if [ "\${#SENTIEON_LICENSE_BASE64}" -lt "1500" ]; then # If the string SENTIEON_LICENSE_BASE64 is short, then it is an encrypted url. export SENTIEON_LICENSE=\$(echo -e "\$SENTIEON_LICENSE_BASE64" | base64 -d) @@ -58,8 +48,6 @@ process SENTIEON_GVCFTYPER { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver -r ${fasta} --algo GVCFtyper ${gvcfs_input} ${dbsnp_cmd} ${prefix}.vcf.gz cat <<-END_VERSIONS > versions.yml @@ -69,20 +57,8 @@ process SENTIEON_GVCFTYPER { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" - """ - $fix_ld_library_path - touch ${prefix}.vcf.gz touch ${prefix}.vcf.gz.tbi diff --git a/modules/nf-core/sentieon/haplotyper/main.nf b/modules/nf-core/sentieon/haplotyper/main.nf index 16eb775744c..8001fa66458 100644 --- a/modules/nf-core/sentieon/haplotyper/main.nf +++ b/modules/nf-core/sentieon/haplotyper/main.nf @@ -7,8 +7,8 @@ process SENTIEON_HAPLOTYPER { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(input), path(input_index), path(intervals) @@ -30,15 +30,6 @@ process SENTIEON_HAPLOTYPER { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' // options for the driver def args2 = task.ext.args2 ?: '' // options for the vcf generation def args3 = task.ext.args3 ?: '' // options for the gvcf generation @@ -76,8 +67,6 @@ process SENTIEON_HAPLOTYPER { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver $args -r $fasta -t $task.cpus -i $input $interval_command $vcf_cmd $gvcf_cmd cat <<-END_VERSIONS > versions.yml @@ -87,19 +76,8 @@ process SENTIEON_HAPLOTYPER { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" """ - $fix_ld_library_path - touch ${prefix}.unfiltered.vcf.gz touch ${prefix}.unfiltered.vcf.gz.tbi touch ${prefix}.g.vcf.gz diff --git a/modules/nf-core/sentieon/readwriter/main.nf b/modules/nf-core/sentieon/readwriter/main.nf index c12ca2f99fb..178d9a03e70 100644 --- a/modules/nf-core/sentieon/readwriter/main.nf +++ b/modules/nf-core/sentieon/readwriter/main.nf @@ -7,8 +7,8 @@ process SENTIEON_READWRITER { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(input), path(index) @@ -25,14 +25,7 @@ process SENTIEON_READWRITER { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } + def args = task.ext.args ?: '' def args2 = task.ext.args2 ?: '' @@ -60,7 +53,6 @@ process SENTIEON_READWRITER { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path sentieon \\ driver \\ @@ -79,20 +71,12 @@ process SENTIEON_READWRITER { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } + def prefix = task.ext.prefix ?: "${meta.id}" format = input.extension == "bam" ? "bam" : "cram" index = format == "bam" ? "bam.bai" : "cram.crai" """ - $fix_ld_library_path touch ${prefix}.${format} touch ${prefix}.${index} diff --git a/modules/nf-core/sentieon/tnfilter/main.nf b/modules/nf-core/sentieon/tnfilter/main.nf index 49c57ebedb6..9d31f5c0dae 100644 --- a/modules/nf-core/sentieon/tnfilter/main.nf +++ b/modules/nf-core/sentieon/tnfilter/main.nf @@ -7,8 +7,8 @@ process SENTIEON_TNFILTER { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(vcf), path(vcf_tbi), path(stats), path(contamination), path(segments), path(orientation_priors) @@ -25,15 +25,6 @@ process SENTIEON_TNFILTER { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' // options for the driver def args2 = task.ext.args2 ?: '' // options for --algo TNfilter def prefix = task.ext.prefix ?: "${meta.id}" @@ -42,7 +33,6 @@ process SENTIEON_TNFILTER { def contamination_command = contamination ? " --contamination ${contamination} " : '' def segments_command = segments ? segments.collect{"--tumor_segments $it"}.join(' ') : '' def orientation_priors_command = orientation_priors ? orientation_priors.collect{"--orientation_priors $it"}.join(' ') : '' - """ if [ "\${#SENTIEON_LICENSE_BASE64}" -lt "1500" ]; then # If the string SENTIEON_LICENSE_BASE64 is short, then it is an encrypted url. export SENTIEON_LICENSE=\$(echo -e "\$SENTIEON_LICENSE_BASE64" | base64 -d) @@ -60,8 +50,6 @@ process SENTIEON_TNFILTER { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver -r $fasta \\ $args \\ --algo TNfilter \\ @@ -79,19 +67,8 @@ process SENTIEON_TNFILTER { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" """ - $fix_ld_library_path - touch ${prefix}.vcf.gz touch ${prefix}.vcf.gz.tbi touch ${prefix}.vcf.gz.stats diff --git a/modules/nf-core/sentieon/tnhaplotyper2/main.nf b/modules/nf-core/sentieon/tnhaplotyper2/main.nf index e95b7466d1e..10f4106d10a 100644 --- a/modules/nf-core/sentieon/tnhaplotyper2/main.nf +++ b/modules/nf-core/sentieon/tnhaplotyper2/main.nf @@ -7,8 +7,8 @@ process SENTIEON_TNHAPLOTYPER2 { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(input), path(input_index), path(intervals) @@ -35,15 +35,6 @@ process SENTIEON_TNHAPLOTYPER2 { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def sentieon_auth_mech_base64 = task.ext.sentieon_auth_mech_base64 ?: '' def sentieon_auth_data_base64 = task.ext.sentieon_auth_data_base64 ?: '' def args = task.ext.args ?: '' // options for "sentieon driver" @@ -83,8 +74,6 @@ process SENTIEON_TNHAPLOTYPER2 { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver \\ -t $task.cpus \\ -r $fasta \\ @@ -106,20 +95,8 @@ process SENTIEON_TNHAPLOTYPER2 { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" - """ - $fix_ld_library_path - touch ${prefix}.vcf.gz touch ${prefix}.vcf.gz.tbi touch ${prefix}.contamination_data.tsv diff --git a/modules/nf-core/sentieon/tnscope/main.nf b/modules/nf-core/sentieon/tnscope/main.nf index 239d8b76316..0f8c2759d7a 100644 --- a/modules/nf-core/sentieon/tnscope/main.nf +++ b/modules/nf-core/sentieon/tnscope/main.nf @@ -7,8 +7,8 @@ process SENTIEON_TNSCOPE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(bam), path(bai) @@ -28,15 +28,6 @@ process SENTIEON_TNSCOPE { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' def args2 = task.ext.args2 ?: '' def interval_str = interval ? "--interval ${interval}" : '' @@ -63,8 +54,6 @@ process SENTIEON_TNSCOPE { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver \\ -t $task.cpus \\ -r $fasta \\ @@ -86,20 +75,8 @@ process SENTIEON_TNSCOPE { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" - """ - $fix_ld_library_path - touch ${prefix}.vcf.gz touch ${prefix}.vcf.gz.tbi diff --git a/modules/nf-core/sentieon/varcal/main.nf b/modules/nf-core/sentieon/varcal/main.nf index aa8847f8392..ea62c53accf 100644 --- a/modules/nf-core/sentieon/varcal/main.nf +++ b/modules/nf-core/sentieon/varcal/main.nf @@ -7,8 +7,8 @@ process SENTIEON_VARCAL { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(vcf), path(tbi) // input vcf and tbi of variants to recalibrate @@ -29,15 +29,6 @@ process SENTIEON_VARCAL { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" def reference_command = fasta ? "--reference $fasta " : '' @@ -77,8 +68,6 @@ process SENTIEON_VARCAL { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon driver -r ${fasta} --algo VarCal \\ -v $vcf \\ --tranches_file ${prefix}.tranches \\ @@ -93,19 +82,8 @@ process SENTIEON_VARCAL { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" """ - $fix_ld_library_path - touch ${prefix}.recal touch ${prefix}.idx touch ${prefix}.tranches diff --git a/modules/nf-core/sentieon/wgsmetrics/main.nf b/modules/nf-core/sentieon/wgsmetrics/main.nf index 811c0077fbe..bba6188d82b 100644 --- a/modules/nf-core/sentieon/wgsmetrics/main.nf +++ b/modules/nf-core/sentieon/wgsmetrics/main.nf @@ -7,8 +7,8 @@ process SENTIEON_WGSMETRICS { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sentieon:202308.02--h43eeafb_0' : - 'biocontainers/sentieon:202308.02--h43eeafb_0' }" + 'oras://community.wave.seqera.io/library/sentieon:202308.02--ffce1b7074ce9924' : + 'nf-core/sentieon:202308.02--c641bc397cbf79d5' }" input: tuple val(meta), path(bam), path(bai) @@ -16,7 +16,6 @@ process SENTIEON_WGSMETRICS { tuple val(meta3), path(fai) tuple val(meta4), path(intervals_list) - output: tuple val(meta), path('*.txt'), emit: wgs_metrics path "versions.yml" , emit: versions @@ -25,15 +24,6 @@ process SENTIEON_WGSMETRICS { task.ext.when == null || task.ext.when script: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def args = task.ext.args ?: '' def input = bam.sort().collect{"-i $it"}.join(' ') def prefix = task.ext.prefix ?: "${meta.id}" @@ -57,8 +47,6 @@ process SENTIEON_WGSMETRICS { echo "Decoded and exported Sentieon test-license system environment variables" fi - $fix_ld_library_path - sentieon \\ driver \\ -t $task.cpus \\ @@ -75,19 +63,8 @@ process SENTIEON_WGSMETRICS { """ stub: - // The following code sets LD_LIBRARY_PATH in the script-section when the module is run by Singularity. - // That turned out to be one way of overcoming the following issue with the Singularity-Sentieon-containers from galaxy, Sentieon (LD_LIBRARY_PATH) and the way Nextflow runs Singularity-containers. - // The galaxy container uses a runscript which is responsible for setting LD_PRELOAD properly. Nextflow executes singularity containers using `singularity exec`, which avoids the run script, leading to the LD_LIBRARY_PATH/libstdc++.so.6 error. - if (workflow.containerEngine in ['singularity','apptainer']) { - fix_ld_library_path = 'LD_LIBRARY_PATH=/usr/local/lib/:\$LD_LIBRARY_PATH;export LD_LIBRARY_PATH' - } else { - fix_ld_library_path = '' - } - def prefix = task.ext.prefix ?: "${meta.id}" """ - $fix_ld_library_path - touch ${prefix}.txt cat <<-END_VERSIONS > versions.yml