Merge branch 'master' of https://github.com/nf-core/modules into rhocall

This commit is contained in:
Ramprasad Neethiraj 2022-06-08 16:34:34 +02:00
commit 0b090a6b6d
16 changed files with 178 additions and 87 deletions

View file

@ -23,6 +23,9 @@ input:
- af_file:
type: file
description: "Read allele frequencies from a tab-delimited file containing the columns: CHROM\tPOS\tREF,ALT\tAF."
- af_file_tbi:
type: file
description: "tbi index of af_file."
- genetic_map:
type: file
description: "Genetic map in the format required also by IMPUTE2."

View file

@ -7,7 +7,8 @@ process MULTIQC {
'quay.io/biocontainers/multiqc:1.12--pyhdfd78af_0' }"
input:
path multiqc_files
path multiqc_files, stageAs: "?/*"
tuple path(multiqc_config), path(multiqc_logo)
output:
path "*multiqc_report.html", emit: report
@ -20,8 +21,13 @@ process MULTIQC {
script:
def args = task.ext.args ?: ''
def config = multiqc_config ? "--config $multiqc_config" : ''
"""
multiqc -f $args .
multiqc \\
--force \\
$config \\
$args \\
.
cat <<-END_VERSIONS > versions.yml
"${task.process}":

View file

@ -17,6 +17,14 @@ input:
type: file
description: |
List of reports / files recognised by MultiQC, for example the html and zip output of FastQC
- multiqc_config:
type: file
description: Config yml for MultiQC
pattern: "*.{yml,yaml}"
- multiqc_logo:
type: file
description: Logo file for MultiQC
pattern: "*.{png}"
output:
- report:
type: file

View file

@ -2,17 +2,17 @@ process TIDDIT_COV {
tag "$meta.id"
label 'process_low'
conda (params.enable_conda ? "bioconda::tiddit=2.12.1" : null)
conda (params.enable_conda ? "bioconda::tiddit=3.0.0" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/tiddit:2.12.1--py38h1773678_0' :
'quay.io/biocontainers/tiddit:2.12.1--py38h1773678_0' }"
'https://depot.galaxyproject.org/singularity/tiddit:3.0.0--py39h59fae87_1' :
'quay.io/biocontainers/tiddit:3.0.0--py39h59fae87_1' }"
input:
tuple val(meta), path(bam)
tuple val(meta), path(input)
path fasta
output:
tuple val(meta), path("*.tab"), optional: true, emit: cov
tuple val(meta), path("*.bed"), optional: true, emit: cov
tuple val(meta), path("*.wig"), optional: true, emit: wig
path "versions.yml" , emit: versions
@ -28,12 +28,12 @@ process TIDDIT_COV {
--cov \\
-o $prefix \\
$args \\
--bam $bam \\
--bam $input \\
$reference
cat <<-END_VERSIONS > versions.yml
"${task.process}":
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*TIDDIT-//; s/ .*\$//')
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*tiddit-//; s/ .*\$//')
END_VERSIONS
"""
@ -45,7 +45,7 @@ process TIDDIT_COV {
cat <<-END_VERSIONS > versions.yml
"${task.process}":
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*TIDDIT-//; s/ .*\$//')
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*tiddit-//; s/ .*\$//')
END_VERSIONS
"""
}

View file

@ -19,7 +19,7 @@ input:
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- bam:
- input:
type: file
description: BAM/CRAM file
pattern: "*.{bam,cram}"

View file

@ -2,21 +2,20 @@ process TIDDIT_SV {
tag "$meta.id"
label 'process_medium'
conda (params.enable_conda ? "bioconda::tiddit=2.12.1" : null)
conda (params.enable_conda ? "bioconda::tiddit=3.0.0" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/tiddit:2.12.1--py38h1773678_0' :
'quay.io/biocontainers/tiddit:2.12.1--py38h1773678_0' }"
'https://depot.galaxyproject.org/singularity/tiddit:3.0.0--py39h59fae87_1' :
'quay.io/biocontainers/tiddit:3.0.0--py39h59fae87_1' }"
input:
tuple val(meta), path(bam)
tuple val(meta), path(input), path(input_index)
path fasta
path fai
path bwa_index
output:
tuple val(meta), path("*.vcf") , emit: vcf
tuple val(meta), path("*.ploidy.tab") , emit: ploidy
tuple val(meta), path("*.signals.tab"), emit: signals
path "versions.yml" , emit: versions
tuple val(meta), path("*.vcf") , emit: vcf
tuple val(meta), path("*.ploidies.tab"), emit: ploidy
path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
@ -24,18 +23,19 @@ process TIDDIT_SV {
script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
def reference = fasta ? "--ref $fasta" : ""
"""
[[ -d $bwa_index ]] && for i in $bwa_index/*; do [[ -f $fasta && ! "\$i" =~ .*"$fasta".* ]] && ln -s \$i ${fasta}.\${i##*.} || ln -s \$i .; done
tiddit \\
--sv \\
$args \\
--bam $bam \\
$reference \\
--bam $input \\
--ref $fasta \\
-o $prefix
cat <<-END_VERSIONS > versions.yml
"${task.process}":
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*TIDDIT-//; s/ .*\$//')
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*tiddit-//; s/ .*\$//')
END_VERSIONS
"""
@ -43,12 +43,11 @@ process TIDDIT_SV {
def prefix = task.ext.prefix ?: "${meta.id}"
"""
touch ${prefix}.vcf
touch ${prefix}.ploidy.tab
touch ${prefix}.signals.tab
touch ${prefix}.ploidies.tab
cat <<-END_VERSIONS > versions.yml
"${task.process}":
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*TIDDIT-//; s/ .*\$//')
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*tiddit-//; s/ .*\$//')
END_VERSIONS
"""
}

View file

@ -17,14 +17,22 @@ input:
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- input:
type: file
description: BAM/CRAM file
pattern: "*.{bam,cram}"
- index:
type: file
description: BAM/CRAM index file
pattern: "*.{bai,crai}"
- fasta:
type: file
description: Input FASTA file
pattern: "*.{fasta,fa}"
- fai:
- bwa_index:
type: file
description: FASTA index file
pattern: "*.{fai}"
description: BWA genome index files
pattern: "Directory containing BWA index *.{amb,ann,bwt,pac,sa}"
output:
- meta:
type: map
@ -38,11 +46,7 @@ output:
- ploidy:
type: file
description: tab
pattern: "*.{ploidy.tab}"
- signals:
type: file
description: tab
pattern: "*.{signals.tab}"
pattern: "*.{ploidies.tab}"
- versions:
type: file
description: File containing software versions

View file

@ -10,7 +10,7 @@ workflow test_bcftools_roh {
file(params.test_data['sarscov2']['illumina']['test_vcf_gz'], checkIfExists: true),
file(params.test_data['sarscov2']['illumina']['test_vcf_gz_tbi'], checkIfExists: true)]
af_file = []
af_file = [[],[]]
gen_map = []
regions = []
targets = []
@ -25,7 +25,7 @@ workflow test_bcftools_roh_stub {
file(params.test_data['sarscov2']['illumina']['test_vcf_gz'], checkIfExists: true),
file(params.test_data['sarscov2']['illumina']['test_vcf_gz_tbi'], checkIfExists: true)]
af_file = []
af_file = [[],[]]
gen_map = []
regions = []
targets = []

View file

@ -2,15 +2,32 @@
nextflow.enable.dsl = 2
include { FASTQC } from '../../../modules/fastqc/main.nf'
include { MULTIQC } from '../../../modules/multiqc/main.nf'
include { FASTQC } from '../../../modules/fastqc/main.nf'
include { FASTQC as FASTQC2 } from '../../../modules/fastqc/main.nf'
include { MULTIQC } from '../../../modules/multiqc/main.nf'
workflow test_multiqc {
input = [ [ id: 'test', single_end: false ],
[ file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true),
file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) ]
]
input = [
[ id: 'test', single_end: false ],
[ file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true)]
]
FASTQC ( input )
MULTIQC ( FASTQC.out.zip.collect { it[1] } )
MULTIQC ( FASTQC.out.zip.collect { it[1] }, [[],[]] )
}
workflow test_multiqc_fn_collision {
fqc_input = [
[ id: 'test', single_end: false ],
[ file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true)]
]
mqc_input = Channel.empty()
FASTQC ( fqc_input )
mqc_input = mqc_input.mix(FASTQC.out.zip.collect { it[1] })
FASTQC2 ( fqc_input )
mqc_input = mqc_input.mix(FASTQC2.out.zip.collect { it[1] })
MULTIQC ( mqc_input, [[],[]] )
}

View file

@ -1,5 +1,7 @@
process {
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
withName: "FASTQC*" {
publishDir = [ enabled: false ]
}
}

View file

@ -1,5 +1,12 @@
- name: multiqc
command: nextflow run ./tests/modules/multiqc -entry test_multiqc -c ./tests/config/nextflow.config -c ./tests/modules/multiqc/nextflow.config
- name: multiqc test_multiqc
command: nextflow run ./tests/modules/multiqc -entry test_multiqc -c ./tests/config/nextflow.config -c ./tests/modules/multiqc/nextflow.config
tags:
- multiqc
files:
- path: output/multiqc/multiqc_report.html
- name: multiqc test_multiqc_fn_collision
command: nextflow run ./tests/modules/multiqc -entry test_multiqc_fn_collision -c ./tests/config/nextflow.config -c ./tests/modules/multiqc/nextflow.config
tags:
- multiqc
files:

View file

@ -2,22 +2,41 @@
nextflow.enable.dsl = 2
include { TIDDIT_COV } from '../../../../modules/tiddit/cov/main.nf'
include { TIDDIT_COV as TIDDIT_COV_BED } from '../../../../modules/tiddit/cov/main.nf'
include { TIDDIT_COV as TIDDIT_COV_WIG } from '../../../../modules/tiddit/cov/main.nf'
workflow test_tiddit_cov {
workflow test_tiddit_cov_cram_bed {
input = [ [ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ]
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram'], checkIfExists: true) ]
fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true)
fasta = file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
TIDDIT_COV ( input, fasta )
TIDDIT_COV_BED ( input, fasta )
}
workflow test_tiddit_cov_no_ref {
workflow test_tiddit_cov_bam_bed {
input = [ [ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ]
file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ]
TIDDIT_COV ( input, [] )
TIDDIT_COV_BED ( input, [] )
}
workflow test_tiddit_cov_cram_wig {
input = [ [ id:'test', single_end:false ], // meta map
file(params.test_data['homo_sapiens']['illumina']['test_paired_end_sorted_cram'], checkIfExists: true) ]
fasta = file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
TIDDIT_COV_WIG ( input, fasta )
}
workflow test_tiddit_cov_bam_wig {
input = [ [ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ]
TIDDIT_COV_WIG ( input, [] )
}

View file

@ -2,4 +2,8 @@ process {
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
withName: TIDDIT_COV_WIG {
ext.args = '-w'
}
}

View file

@ -1,17 +1,35 @@
- name: tiddit cov test_tiddit_cov
command: nextflow run ./tests/modules/tiddit/cov -entry test_tiddit_cov -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/cov/nextflow.config
- name: tiddit cov test_tiddit_cov_cram_bed
command: nextflow run ./tests/modules/tiddit/cov -entry test_tiddit_cov_cram_bed -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/cov/nextflow.config
tags:
- tiddit
- tiddit/cov
files:
- path: output/tiddit/test.tab
md5sum: f7974948f809f94879d8a60b726194f5
- path: output/tiddit/test.bed
md5sum: 3b1a28c62a5f25bbba77c1042e9abdf7
- name: tiddit cov test_tiddit_cov_no_ref
command: nextflow run ./tests/modules/tiddit/cov -entry test_tiddit_cov_no_ref -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/cov/nextflow.config
- name: tiddit cov test_tiddit_cov_bam_bed
command: nextflow run ./tests/modules/tiddit/cov -entry test_tiddit_cov_bam_bed -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/cov/nextflow.config
tags:
- tiddit
- tiddit/cov
files:
- path: output/tiddit/test.tab
md5sum: f7974948f809f94879d8a60b726194f5
- path: output/tiddit/test.bed
md5sum: 9d1474f1c7c6516205254077087bb026
- name: tiddit cov test_tiddit_cov_cram_wig
command: nextflow run ./tests/modules/tiddit/cov -entry test_tiddit_cov_cram_wig -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/cov/nextflow.config
tags:
- tiddit
- tiddit/cov
files:
- path: output/tiddit/test.wig
md5sum: ca3645fd0c3491c86c075c91d16d57c4
- name: tiddit cov test_tiddit_cov_bam_wig
command: nextflow run ./tests/modules/tiddit/cov -entry test_tiddit_cov_bam_wig -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/cov/nextflow.config
tags:
- tiddit
- tiddit/cov
files:
- path: output/tiddit/test.wig
md5sum: 44bea2ac6a56774738e65773065da670

View file

@ -2,25 +2,33 @@
nextflow.enable.dsl = 2
include { BWA_INDEX } from '../../../../modules/bwa/index/main.nf'
include { TIDDIT_SV } from '../../../../modules/tiddit/sv/main.nf'
workflow test_tiddit_sv {
input = [
workflow test_tiddit_sv_bam {
input = [
[ id:'test' ], // meta map
[ file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ]
[ file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ],
[ file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true) ]
]
fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true)
fai = file(params.test_data['sarscov2']['genome']['genome_fasta_fai'], checkIfExists: true)
TIDDIT_SV ( input, fasta, fai )
BWA_INDEX( fasta )
TIDDIT_SV ( input, fasta, BWA_INDEX.out.index)
}
workflow test_tiddit_sv_no_ref {
input = [
workflow test_tiddit_sv_cram {
input = [
[ id:'test' ], // meta map
[ file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], 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) ]
]
TIDDIT_SV ( input, [], [] )
fasta = file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
BWA_INDEX( fasta )
TIDDIT_SV ( input, fasta, BWA_INDEX.out.index)
}

View file

@ -1,25 +1,21 @@
- name: tiddit sv
command: nextflow run ./tests/modules/tiddit/sv -entry test_tiddit_sv -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/sv/nextflow.config
- name: tiddit sv test_tiddit_sv_bam
command: nextflow run ./tests/modules/tiddit/sv -entry test_tiddit_sv_bam -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/sv/nextflow.config
tags:
- tiddit
- tiddit/sv
files:
- path: output/tiddit/test.ploidy.tab
md5sum: 45e050b0e204f0a5a3a99627cc440eaa
- path: output/tiddit/test.signals.tab
md5sum: dab4b2fec4ddf8eb1c23005b0770150e
- path: output/tiddit/test.ploidies.tab
md5sum: 6319d3611f7b6b94425a184d274b3dfc
- path: output/tiddit/test.vcf
md5sum: bdce14ae8292bf3deb81f6f255baf859
md5sum: 41d3f8746f0420f894104321b7e64f67
- name: tiddit sv no ref
command: nextflow run ./tests/modules/tiddit/sv -entry test_tiddit_sv_no_ref -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/sv/nextflow.config
- name: tiddit sv test_tiddit_sv_cram
command: nextflow run ./tests/modules/tiddit/sv -entry test_tiddit_sv_cram -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/sv/nextflow.config
tags:
- tiddit
- tiddit/sv
files:
- path: output/tiddit/test.ploidy.tab
md5sum: 45e050b0e204f0a5a3a99627cc440eaa
- path: output/tiddit/test.signals.tab
md5sum: dab4b2fec4ddf8eb1c23005b0770150e
- path: output/tiddit/test.ploidies.tab
md5sum: f1162a940ddc8b963f6e0e506bb5c136
- path: output/tiddit/test.vcf
md5sum: 3d0e83a8199b2bdb81cfe3e6b12bf64b
md5sum: 34db59578991285d6b62dc1500272fca