Skip to content
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions modules/nf-core/umitools/dedup/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ process UMITOOLS_DEDUP {
val get_output_stats

output:
tuple val(meta), path("*.bam") , emit: bam
tuple val(meta), path("${prefix}.bam") , emit: bam
tuple val(meta), path("*.log") , emit: log
tuple val(meta), path("*edit_distance.tsv"), optional:true, emit: tsv_edit_distance
tuple val(meta), path("*per_umi.tsv") , optional:true, emit: tsv_per_umi
tuple val(meta), path("*per_position.tsv") , optional:true, emit: tsv_umi_per_position
Expand All @@ -23,16 +24,18 @@ process UMITOOLS_DEDUP {

script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
prefix = task.ext.prefix ?: "${meta.id}"
def paired = meta.single_end ? "" : "--paired"
def stats = get_output_stats ? "--output-stats $prefix" : ""
stats = get_output_stats ? "--output-stats ${prefix}" : ""
if ("$bam" == "${prefix}.bam") error "Input and output names are the same, set prefix in module configuration to disambiguate!"

if (!(args ==~ /.*--random-seed.*/)) {args += " --random-seed=100"}
"""
PYTHONHASHSEED=0 umi_tools \\
dedup \\
-I $bam \\
-S ${prefix}.bam \\
-L ${prefix}.log \\
$stats \\
$paired \\
$args
Expand Down
5 changes: 5 additions & 0 deletions modules/nf-core/umitools/dedup/meta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ description: Deduplicate reads based on the mapping co-ordinate and the UMI atta
keywords:
- umitools
- deduplication
- dedup
tools:
- umi_tools:
description: >
Expand Down Expand Up @@ -40,6 +41,10 @@ output:
type: file
description: BAM file with deduplicated UMIs.
pattern: "*.{bam}"
- log:
type: file
description: File with logging information
pattern: "*.{log}"
- tsv_edit_distance:
type: file
description: Reports the (binned) average edit distance between the UMIs at each position.
Expand Down
6 changes: 6 additions & 0 deletions tests/modules/nf-core/umitools/dedup/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@
- path: output/umitools/test.umi_extract.log
contains: ["Starting barcode extraction"]
- path: output/umitools/versions.yml
- path: output/umitools/test.dedup.log
contains: ["# UMI-tools version:"]

- name: umitools dedup test_umitools_dedup_paired_end_no_stats
command: nextflow run ./tests/modules/nf-core/umitools/dedup -entry test_umitools_dedup_paired_end_no_stats -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/umitools/dedup/nextflow.config
Expand Down Expand Up @@ -63,6 +65,8 @@
- path: output/umitools/test.umi_extract.log
contains: ["Starting barcode extraction"]
- path: output/umitools/versions.yml
- path: output/umitools/test.dedup.log
contains: ["# UMI-tools version:"]

- name: umitools dedup test_umitools_dedup_paired_end_stats
command: nextflow run ./tests/modules/nf-core/umitools/dedup -entry test_umitools_dedup_paired_end_stats -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/umitools/dedup/nextflow.config
Expand Down Expand Up @@ -97,3 +101,5 @@
- path: output/umitools/test.umi_extract.log
contains: ["Starting barcode extraction"]
- path: output/umitools/versions.yml
- path: output/umitools/test.dedup.log
contains: ["# UMI-tools version:"]