Skip to content

Commit

Permalink
split untar out
Browse files Browse the repository at this point in the history
  • Loading branch information
maxulysse committed Dec 13, 2024
1 parent 49457f3 commit cb6eedb
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 27 deletions.
3 changes: 0 additions & 3 deletions modules/nf-core/untar/environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ channels:
- conda-forge
- bioconda
dependencies:
- conda-forge::coreutils=9.5
- conda-forge::grep=3.11
- conda-forge::gzip=1.13
- conda-forge::lbzip2=2.5
- conda-forge::sed=4.8
- conda-forge::tar=1.34
36 changes: 18 additions & 18 deletions modules/nf-core/untar/main.nf
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
process UNTAR {
tag "${archive}"
tag "$archive"
label 'process_single'

conda "${moduleDir}/environment.yml"
container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container
? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data'
: 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/ubuntu:22.04' :
'nf-core/ubuntu:22.04' }"

input:
tuple val(meta), path(archive)

output:
tuple val(meta), path("${prefix}"), emit: untar
path "versions.yml", emit: versions
tuple val(meta), path("$prefix"), emit: untar
path "versions.yml" , emit: versions

when:
task.ext.when == null || task.ext.when

script:
def args = task.ext.args ?: ''
def args = task.ext.args ?: ''
def args2 = task.ext.args2 ?: ''
prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.baseName.toString().replaceFirst(/\.tar$/, ""))
prefix = task.ext.prefix ?: ( meta.id ? "${meta.id}" : archive.baseName.toString().replaceFirst(/\.tar$/, ""))

"""
mkdir ${prefix}
mkdir $prefix
## Ensures --strip-components only applied when top level of tar contents is a directory
## If just files or multiple directories, place all in prefix
if [[ \$(tar -taf ${archive} | grep -o -P "^.*?\\/" | uniq | wc -l) -eq 1 ]]; then
tar \\
-C ${prefix} --strip-components 1 \\
-C $prefix --strip-components 1 \\
-xavf \\
${args} \\
${archive} \\
${args2}
$args \\
$archive \\
$args2
else
tar \\
-C ${prefix} \\
-C $prefix \\
-xavf \\
${args} \\
${archive} \\
${args2}
$args \\
$archive \\
$args2
fi
cat <<-END_VERSIONS > versions.yml
Expand All @@ -50,7 +50,7 @@ process UNTAR {
"""

stub:
prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.toString().replaceFirst(/\.[^\.]+(.gz)?$/, ""))
prefix = task.ext.prefix ?: ( meta.id ? "${meta.id}" : archive.toString().replaceFirst(/\.[^\.]+(.gz)?$/, ""))
"""
mkdir ${prefix}
## Dry-run untaring the archive to get the files and place all in prefix
Expand Down
9 changes: 3 additions & 6 deletions modules/nf-core/untar/meta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,9 @@ output:
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
pattern: "*/"
- ${prefix}:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- $prefix:
type: directory
description: Directory containing contents of archive
pattern: "*/"
- versions:
- versions.yml:
Expand Down

0 comments on commit cb6eedb

Please sign in to comment.