mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-12-22 11:08:17 +00:00
Merge pull request #1701 from matthdsm/update/mosdepth
Mosdepth: add all remaining outputs
This commit is contained in:
commit
f89b76afa4
5 changed files with 146 additions and 48 deletions
|
@ -14,13 +14,17 @@ process MOSDEPTH {
|
|||
|
||||
output:
|
||||
tuple val(meta), path('*.global.dist.txt') , emit: global_txt
|
||||
tuple val(meta), path('*.region.dist.txt') , emit: regions_txt , optional:true
|
||||
tuple val(meta), path('*.summary.txt') , emit: summary_txt
|
||||
tuple val(meta), path('*.per-base.d4') , emit: per_base_d4 , optional:true
|
||||
tuple val(meta), path('*.per-base.bed.gz') , emit: per_base_bed, optional:true
|
||||
tuple val(meta), path('*.per-base.bed.gz.csi'), emit: per_base_csi, optional:true
|
||||
tuple val(meta), path('*.regions.bed.gz') , emit: regions_bed , optional:true
|
||||
tuple val(meta), path('*.regions.bed.gz.csi') , emit: regions_csi , optional:true
|
||||
tuple val(meta), path('*.region.dist.txt') , optional:true, emit: regions_txt
|
||||
tuple val(meta), path('*.per-base.d4') , optional:true, emit: per_base_d4
|
||||
tuple val(meta), path('*.per-base.bed.gz') , optional:true, emit: per_base_bed
|
||||
tuple val(meta), path('*.per-base.bed.gz.csi') , optional:true, emit: per_base_csi
|
||||
tuple val(meta), path('*.regions.bed.gz') , optional:true, emit: regions_bed
|
||||
tuple val(meta), path('*.regions.bed.gz.csi') , optional:true, emit: regions_csi
|
||||
tuple val(meta), path('*.quantized.bed.gz') , optional:true, emit: quantized_bed
|
||||
tuple val(meta), path('*.quantized.bed.gz.csi') , optional:true, emit: quantized_csi
|
||||
tuple val(meta), path('*.thresholds.bed.gz') , optional:true, emit: thresholds_bed
|
||||
tuple val(meta), path('*.thresholds.bed.gz.csi'), optional:true, emit: thresholds_csi
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
|
@ -34,10 +38,13 @@ process MOSDEPTH {
|
|||
if (bed && args.contains("--by")) {
|
||||
exit 1, "'--by' can only be specified once when running mosdepth! Either remove input BED file definition or remove '--by' from 'ext.args' definition"
|
||||
}
|
||||
if (!bed && args.contains("--thresholds")) {
|
||||
exit 1, "'--thresholds' can only be specified in conjunction with '--by'"
|
||||
}
|
||||
|
||||
"""
|
||||
mosdepth \\
|
||||
--threads ${task.cpus} \\
|
||||
--threads $task.cpus \\
|
||||
$interval \\
|
||||
$reference \\
|
||||
$args \\
|
||||
|
@ -61,6 +68,10 @@ process MOSDEPTH {
|
|||
touch ${prefix}.per-base.bed.gz.csi
|
||||
touch ${prefix}.regions.bed.gz
|
||||
touch ${prefix}.regions.bed.gz.csi
|
||||
touch ${prefix}.quantized.bed.gz
|
||||
touch ${prefix}.quantized.bed.gz.csi
|
||||
touch ${prefix}.thresholds.bed.gz
|
||||
touch ${prefix}.thresholds.bed.gz.csi
|
||||
|
||||
cat <<-END_VERSIONS > versions.yml
|
||||
"${task.process}":
|
||||
|
|
|
@ -72,6 +72,22 @@ output:
|
|||
type: file
|
||||
description: Index file for BED file with per-region coverage
|
||||
pattern: "*.{regions.bed.gz.csi}"
|
||||
- quantized_bed:
|
||||
type: file
|
||||
description: BED file with binned coverage
|
||||
pattern: "*.{quantized.bed.gz}"
|
||||
- quantized_csi:
|
||||
type: file
|
||||
description: Index file for BED file with binned coverage
|
||||
pattern: "*.{quantized.bed.gz.csi}"
|
||||
- thresholds_bed:
|
||||
type: file
|
||||
description: BED file with the number of bases in each region that are covered at or above each threshold
|
||||
pattern: "*.{thresholds.bed.gz}"
|
||||
- thresholds_csi:
|
||||
type: file
|
||||
description: Index file for BED file with threshold coverage
|
||||
pattern: "*.{thresholds.bed.gz.csi}"
|
||||
- versions:
|
||||
type: file
|
||||
description: File containing software versions
|
||||
|
|
|
@ -5,12 +5,14 @@ nextflow.enable.dsl = 2
|
|||
include { MOSDEPTH } from '../../../modules/mosdepth/main.nf'
|
||||
include { MOSDEPTH as MOSDEPTH_FAIL } from '../../../modules/mosdepth/main.nf'
|
||||
include { MOSDEPTH as MOSDEPTH_WINDOW } from '../../../modules/mosdepth/main.nf'
|
||||
include { MOSDEPTH as MOSDEPTH_THRESHOLD } from '../../../modules/mosdepth/main.nf'
|
||||
include { MOSDEPTH as MOSDEPTH_QUANTIZED } from '../../../modules/mosdepth/main.nf'
|
||||
|
||||
workflow test_mosdepth {
|
||||
input = [
|
||||
[ id:'test', single_end:true ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true) ]
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true),
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true)
|
||||
]
|
||||
|
||||
MOSDEPTH ( input, [], [] )
|
||||
|
@ -19,10 +21,10 @@ workflow test_mosdepth {
|
|||
workflow test_mosdepth_bed {
|
||||
input = [
|
||||
[ id:'test', single_end:true ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true) ]
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true),
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true)
|
||||
]
|
||||
bed = [ file(params.test_data['homo_sapiens']['genome']['genome_bed'], checkIfExists: true) ]
|
||||
bed = file(params.test_data['homo_sapiens']['genome']['genome_bed'], checkIfExists: true)
|
||||
|
||||
MOSDEPTH ( input, bed, [] )
|
||||
}
|
||||
|
@ -30,10 +32,10 @@ workflow test_mosdepth_bed {
|
|||
workflow test_mosdepth_cram {
|
||||
input = [
|
||||
[ id:'test', single_end:true ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram'], checkIfExists: true) ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram_crai'], checkIfExists: true) ]
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram'], checkIfExists: true),
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram_crai'], checkIfExists: true)
|
||||
]
|
||||
fasta = [ file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true) ]
|
||||
fasta = file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
|
||||
|
||||
MOSDEPTH ( input, [], fasta )
|
||||
}
|
||||
|
@ -41,11 +43,11 @@ workflow test_mosdepth_cram {
|
|||
workflow test_mosdepth_cram_bed {
|
||||
input = [
|
||||
[ id:'test', single_end:true ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram'], checkIfExists: true) ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram_crai'], checkIfExists: true) ]
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram'], checkIfExists: true),
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram_crai'], checkIfExists: true)
|
||||
]
|
||||
bed = [ file(params.test_data['homo_sapiens']['genome']['genome_bed'], checkIfExists: true) ]
|
||||
fasta = [ file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true) ]
|
||||
bed = file(params.test_data['homo_sapiens']['genome']['genome_bed'], checkIfExists: true)
|
||||
fasta = file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
|
||||
|
||||
MOSDEPTH ( input, bed, fasta )
|
||||
}
|
||||
|
@ -53,21 +55,42 @@ workflow test_mosdepth_cram_bed {
|
|||
workflow test_mosdepth_window {
|
||||
input = [
|
||||
[ id:'test', single_end:true ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true) ]
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true),
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true)
|
||||
]
|
||||
bed = [ file(params.test_data['homo_sapiens']['genome']['genome_bed'], checkIfExists: true) ]
|
||||
bed = file(params.test_data['homo_sapiens']['genome']['genome_bed'], checkIfExists: true)
|
||||
|
||||
MOSDEPTH_WINDOW ( input, [], [] )
|
||||
}
|
||||
|
||||
workflow test_mosdepth_quantized {
|
||||
input = [
|
||||
[ id:'test', single_end:true ],
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true),
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true)
|
||||
]
|
||||
|
||||
MOSDEPTH_QUANTIZED ( input, [], [] )
|
||||
}
|
||||
|
||||
workflow test_mosdepth_thresholds {
|
||||
input = [
|
||||
[ id:'test', single_end:true ],
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true),
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true)
|
||||
]
|
||||
bed = file(params.test_data['homo_sapiens']['genome']['genome_bed'], checkIfExists: true)
|
||||
|
||||
MOSDEPTH_THRESHOLD ( input, bed, [] )
|
||||
}
|
||||
|
||||
workflow test_mosdepth_fail {
|
||||
input = [
|
||||
[ id:'test', single_end:true ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ],
|
||||
[ file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true) ]
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true),
|
||||
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true)
|
||||
]
|
||||
bed = [ file(params.test_data['homo_sapiens']['genome']['genome_bed'], checkIfExists: true) ]
|
||||
bed = file(params.test_data['homo_sapiens']['genome']['genome_bed'], checkIfExists: true)
|
||||
|
||||
MOSDEPTH_FAIL ( input, bed, [] )
|
||||
}
|
||||
|
|
|
@ -7,4 +7,10 @@ process {
|
|||
withName: MOSDEPTH_WINDOW {
|
||||
ext.args = "--by 100"
|
||||
}
|
||||
withName: MOSDEPTH_QUANTIZED {
|
||||
ext.args = "--quantize 0:1:4:100:200"
|
||||
}
|
||||
withName: MOSDEPTH_THRESHOLD {
|
||||
ext.args = "--thresholds 1,10,20,30"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -86,6 +86,48 @@
|
|||
- path: output/mosdepth/test.regions.bed.gz.csi
|
||||
md5sum: 257d67678136963d9dd904330079609d
|
||||
|
||||
- name: mosdepth test_mosdepth_quantized
|
||||
command: nextflow run ./tests/modules/mosdepth -entry test_mosdepth_quantized -c ./tests/config/nextflow.config -c ./tests/modules/mosdepth/nextflow.config
|
||||
tags:
|
||||
- mosdepth
|
||||
files:
|
||||
- path: output/mosdepth/test.mosdepth.global.dist.txt
|
||||
md5sum: e82e90c7d508a135b5a8a7cd6933452e
|
||||
- path: output/mosdepth/test.mosdepth.summary.txt
|
||||
md5sum: 4f0d231060cbde4efdd673863bd2fb59
|
||||
- path: output/mosdepth/test.per-base.bed.gz
|
||||
md5sum: bc1df47d46f818fee5275975925d769a
|
||||
- path: output/mosdepth/test.per-base.bed.gz.csi
|
||||
md5sum: 9e649ac749ff6c6073bef5ab63e8aaa4
|
||||
- path: output/mosdepth/test.quantized.bed.gz
|
||||
md5sum: 3e434a8bafcf59a67841ae3d4d752838
|
||||
- path: output/mosdepth/test.quantized.bed.gz.csi
|
||||
md5sum: be9617f551f19a33923f1e886eaefb93
|
||||
|
||||
- name: mosdepth test_mosdepth_thresholds
|
||||
command: nextflow run ./tests/modules/mosdepth -entry test_mosdepth_thresholds -c ./tests/config/nextflow.config -c ./tests/modules/mosdepth/nextflow.config
|
||||
tags:
|
||||
- mosdepth
|
||||
files:
|
||||
- path: output/mosdepth/test.mosdepth.global.dist.txt
|
||||
md5sum: e82e90c7d508a135b5a8a7cd6933452e
|
||||
- path: output/mosdepth/test.mosdepth.region.dist.txt
|
||||
md5sum: e82e90c7d508a135b5a8a7cd6933452e
|
||||
- path: output/mosdepth/test.mosdepth.summary.txt
|
||||
md5sum: 96c037f769974b904beb53edc4f56d82
|
||||
- path: output/mosdepth/test.per-base.bed.gz
|
||||
md5sum: bc1df47d46f818fee5275975925d769a
|
||||
- path: output/mosdepth/test.per-base.bed.gz.csi
|
||||
md5sum: 9e649ac749ff6c6073bef5ab63e8aaa4
|
||||
- path: output/mosdepth/test.regions.bed.gz
|
||||
md5sum: 5d398caf7171ec4406278e2add3009ae
|
||||
- path: output/mosdepth/test.regions.bed.gz.csi
|
||||
md5sum: 47669cfe41f3e222e74d81e1b1be191f
|
||||
- path: output/mosdepth/test.thresholds.bed.gz
|
||||
md5sum: 13101e326eea3cbfa1d569b69f494f4c
|
||||
- path: output/mosdepth/test.thresholds.bed.gz.csi
|
||||
md5sum: 912055ee9452229439df6fae95644196
|
||||
|
||||
- name: mosdepth test_mosdepth_fail
|
||||
command: nextflow run ./tests/modules/mosdepth -entry test_mosdepth_fail -c ./tests/config/nextflow.config -c ./tests/modules/mosdepth/nextflow.config
|
||||
tags:
|
||||
|
|
Loading…
Reference in a new issue