mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-12-21 18:58:16 +00:00
Fix bcftools/stats module (#1953)
* test verified commit bcftools * adjust tests * add suggestions * test for actual file content
This commit is contained in:
parent
ab4c2e440d
commit
41dfa13929
4 changed files with 77 additions and 14 deletions
|
@ -8,8 +8,10 @@ process BCFTOOLS_STATS {
|
||||||
'quay.io/biocontainers/bcftools:1.15.1--h0ea216a_0' }"
|
'quay.io/biocontainers/bcftools:1.15.1--h0ea216a_0' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(vcf)
|
tuple val(meta), path(vcf), path(tbi)
|
||||||
path(target_bed)
|
path regions
|
||||||
|
path targets
|
||||||
|
path samples
|
||||||
|
|
||||||
output:
|
output:
|
||||||
tuple val(meta), path("*stats.txt"), emit: stats
|
tuple val(meta), path("*stats.txt"), emit: stats
|
||||||
|
@ -21,11 +23,15 @@ process BCFTOOLS_STATS {
|
||||||
script:
|
script:
|
||||||
def args = task.ext.args ?: ''
|
def args = task.ext.args ?: ''
|
||||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
def target = target_bed ? "--regions-file ${target_bed}" : ""
|
def regions_file = regions ? "--regions-file ${regions}" : ""
|
||||||
|
def targets_file = targets ? "--targets-file ${targets}" : ""
|
||||||
|
def samples_file = samples ? "--samples-file ${samples}" : ""
|
||||||
"""
|
"""
|
||||||
bcftools stats \\
|
bcftools stats \\
|
||||||
$args \\
|
$args \\
|
||||||
$target \\
|
$regions_file \\
|
||||||
|
$targets_file \\
|
||||||
|
$samples_file \\
|
||||||
$vcf > ${prefix}.bcftools_stats.txt
|
$vcf > ${prefix}.bcftools_stats.txt
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
|
|
@ -19,14 +19,28 @@ input:
|
||||||
description: |
|
description: |
|
||||||
Groovy Map containing sample information
|
Groovy Map containing sample information
|
||||||
e.g. [ id:'test', single_end:false ]
|
e.g. [ id:'test', single_end:false ]
|
||||||
- target_bed:
|
|
||||||
type: file
|
|
||||||
description: target bed file
|
|
||||||
pattern: "*.{bed}"
|
|
||||||
- vcf:
|
- vcf:
|
||||||
type: file
|
type: file
|
||||||
description: VCF input file
|
description: VCF input file
|
||||||
pattern: "*.{vcf}"
|
pattern: "*.{vcf}"
|
||||||
|
- tbi:
|
||||||
|
type: file
|
||||||
|
description: |
|
||||||
|
The tab index for the VCF file to be inspected. Optional: only required when parameter regions is chosen.
|
||||||
|
pattern: "*.tbi"
|
||||||
|
- regions:
|
||||||
|
type: file
|
||||||
|
description: |
|
||||||
|
Optionally, restrict the operation to regions listed in this file. (VCF, BED or tab-delimited)
|
||||||
|
- targets:
|
||||||
|
type: file
|
||||||
|
description: |
|
||||||
|
Optionally, restrict the operation to regions listed in this file (doesn't rely upon tbi index files)
|
||||||
|
- samples:
|
||||||
|
type: file
|
||||||
|
description: |
|
||||||
|
Optional, file of sample names to be included or excluded.
|
||||||
|
e.g. 'file.tsv'
|
||||||
output:
|
output:
|
||||||
- meta:
|
- meta:
|
||||||
type: map
|
type: map
|
||||||
|
|
|
@ -6,8 +6,33 @@ include { BCFTOOLS_STATS } from '../../../../modules/bcftools/stats/main.nf'
|
||||||
|
|
||||||
workflow test_bcftools_stats {
|
workflow test_bcftools_stats {
|
||||||
input = [ [ id:'test' ], // meta map
|
input = [ [ id:'test' ], // meta map
|
||||||
[ file(params.test_data['sarscov2']['illumina']['test_vcf'], checkIfExists: true) ],
|
file(params.test_data['sarscov2']['illumina']['test_vcf_gz'], checkIfExists: true),
|
||||||
]
|
[]]
|
||||||
|
regions = []
|
||||||
|
targets = []
|
||||||
|
samples = []
|
||||||
|
|
||||||
BCFTOOLS_STATS ( input, [] )
|
BCFTOOLS_STATS ( input, regions, targets, samples )
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_bcftools_stats_regions {
|
||||||
|
input = [ [ id:'test' ], // meta map
|
||||||
|
file(params.test_data['sarscov2']['illumina']['test_vcf_gz'], checkIfExists: true),
|
||||||
|
file(params.test_data['sarscov2']['illumina']['test_vcf_gz_tbi'], checkIfExists: true)]
|
||||||
|
regions = file(params.test_data['sarscov2']['illumina']['test3_vcf_gz'], checkIfExists: true)
|
||||||
|
targets = []
|
||||||
|
samples = []
|
||||||
|
|
||||||
|
BCFTOOLS_STATS ( input, regions, targets, samples )
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_bcftools_stats_targets {
|
||||||
|
input = [ [ id:'test' ], // meta map
|
||||||
|
file(params.test_data['sarscov2']['illumina']['test_vcf_gz'], checkIfExists: true),
|
||||||
|
[]]
|
||||||
|
regions = []
|
||||||
|
targets = file(params.test_data['sarscov2']['illumina']['test2_vcf_targets_tsv_gz'], checkIfExists: true)
|
||||||
|
samples = []
|
||||||
|
|
||||||
|
BCFTOOLS_STATS ( input, regions, targets, samples )
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,26 @@
|
||||||
- name: bcftools stats test_bcftools_stats
|
- name: bcftools stats test_bcftools_stats
|
||||||
command: nextflow run ./tests/modules/bcftools/stats -entry test_bcftools_stats -c ./tests/config/nextflow.config -c ./tests/modules/bcftools/stats/nextflow.config
|
command: nextflow run ./tests/modules/bcftools/stats -entry test_bcftools_stats -c ./tests/config/nextflow.config -c ./tests/modules/bcftools/stats/nextflow.config
|
||||||
tags:
|
tags:
|
||||||
- bcftools
|
|
||||||
- bcftools/stats
|
- bcftools/stats
|
||||||
|
- bcftools
|
||||||
files:
|
files:
|
||||||
- path: output/bcftools/test.bcftools_stats.txt
|
- path: output/bcftools/test.bcftools_stats.txt
|
||||||
md5sum: b7b9abecf0f6a77c1472a380feca708b
|
contains: ["TSTV 0 6 2 3.00 6 2 3.00", "DP 0 1 0 0.000000 5 55.555556"]
|
||||||
|
|
||||||
|
- name: bcftools stats test_bcftools_stats_regions
|
||||||
|
command: nextflow run ./tests/modules/bcftools/stats -entry test_bcftools_stats_regions -c ./tests/config/nextflow.config -c ./tests/modules/bcftools/stats/nextflow.config
|
||||||
|
tags:
|
||||||
|
- bcftools/stats
|
||||||
|
- bcftools
|
||||||
|
files:
|
||||||
|
- path: output/bcftools/test.bcftools_stats.txt
|
||||||
|
contains: ["TSTV 0 5 1 5.00 5 1 5.00", "DP 0 1 0 0.000000 3 42.857143"]
|
||||||
|
|
||||||
|
- name: bcftools stats test_bcftools_stats_targets
|
||||||
|
command: nextflow run ./tests/modules/bcftools/stats -entry test_bcftools_stats_targets -c ./tests/config/nextflow.config -c ./tests/modules/bcftools/stats/nextflow.config
|
||||||
|
tags:
|
||||||
|
- bcftools/stats
|
||||||
|
- bcftools
|
||||||
|
files:
|
||||||
|
- path: output/bcftools/test.bcftools_stats.txt
|
||||||
|
contains: ["TSTV 0 6 2 3.00 6 2 3.00", "DP 0 1 0 0.000000 5 55.555556"]
|
||||||
|
|
Loading…
Reference in a new issue