mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-12-22 19:18:17 +00:00
Merge remote-tracking branch 'origin/master' into gatk_spark
This commit is contained in:
commit
0204d2374b
33 changed files with 682 additions and 88 deletions
|
@ -9,7 +9,7 @@ process BCFTOOLS_ROH {
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(vcf), path(tbi)
|
tuple val(meta), path(vcf), path(tbi)
|
||||||
path af_file
|
tuple path(af_file), path(af_file_tbi)
|
||||||
path genetic_map
|
path genetic_map
|
||||||
path regions_file
|
path regions_file
|
||||||
path samples_file
|
path samples_file
|
||||||
|
|
|
@ -23,6 +23,9 @@ input:
|
||||||
- af_file:
|
- af_file:
|
||||||
type: file
|
type: file
|
||||||
description: "Read allele frequencies from a tab-delimited file containing the columns: CHROM\tPOS\tREF,ALT\tAF."
|
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:
|
- genetic_map:
|
||||||
type: file
|
type: file
|
||||||
description: "Genetic map in the format required also by IMPUTE2."
|
description: "Genetic map in the format required also by IMPUTE2."
|
||||||
|
|
54
modules/gatk/indelrealigner/main.nf
Normal file
54
modules/gatk/indelrealigner/main.nf
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
process GATK_INDELREALIGNER {
|
||||||
|
tag "$meta.id"
|
||||||
|
label 'process_low'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "bioconda::gatk=3.5" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/gatk:3.5--hdfd78af_11':
|
||||||
|
'quay.io/biocontainers/gatk:3.5--hdfd78af_11' }"
|
||||||
|
|
||||||
|
input:
|
||||||
|
tuple val(meta), path(bam), path(bai), path(intervals)
|
||||||
|
path(fasta)
|
||||||
|
path(fai)
|
||||||
|
path(dict)
|
||||||
|
path(known_vcf)
|
||||||
|
|
||||||
|
output:
|
||||||
|
tuple val(meta), path("*.bam"), path("*.bai"), emit: bam
|
||||||
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
|
when:
|
||||||
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
|
script:
|
||||||
|
def args = task.ext.args ?: ''
|
||||||
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
|
def known = known_vcf ? "-known ${known_vcf}" : ""
|
||||||
|
|
||||||
|
if ("$bam" == "${prefix}.bam") error "Input and output names are the same, set prefix in module configuration to disambiguate!"
|
||||||
|
|
||||||
|
def avail_mem = 3
|
||||||
|
if (!task.memory) {
|
||||||
|
log.info '[GATK IndelRealigner] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.'
|
||||||
|
} else {
|
||||||
|
avail_mem = task.memory.giga
|
||||||
|
}
|
||||||
|
|
||||||
|
"""
|
||||||
|
gatk3 \\
|
||||||
|
-Xmx${avail_mem}g \\
|
||||||
|
-T IndelRealigner \\
|
||||||
|
-R ${fasta} \\
|
||||||
|
-I ${bam} \\
|
||||||
|
--targetIntervals ${intervals} \\
|
||||||
|
${known} \\
|
||||||
|
-o ${prefix}.bam \\
|
||||||
|
$args
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
gatk: \$(echo \$(gatk3 --version))
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
71
modules/gatk/indelrealigner/meta.yml
Normal file
71
modules/gatk/indelrealigner/meta.yml
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
name: "gatk_indelrealigner"
|
||||||
|
description: Performs local realignment around indels to correct for mapping errors
|
||||||
|
keywords:
|
||||||
|
- bam
|
||||||
|
- vcf
|
||||||
|
- variant calling
|
||||||
|
- indel
|
||||||
|
- realignment
|
||||||
|
tools:
|
||||||
|
- "gatk":
|
||||||
|
description: "The full Genome Analysis Toolkit (GATK) framework, license restricted."
|
||||||
|
homepage: "https://gatk.broadinstitute.org/hc/en-us"
|
||||||
|
documentation: "https://github.com/broadinstitute/gatk-docs"
|
||||||
|
licence: "['https://software.broadinstitute.org/gatk/download/licensing', 'BSD', 'https://www.broadinstitute.org/gatk/about/#licensing']"
|
||||||
|
|
||||||
|
input:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- bam:
|
||||||
|
type: file
|
||||||
|
description: Sorted and indexed BAM file
|
||||||
|
pattern: "*.bam"
|
||||||
|
- bai:
|
||||||
|
type: file
|
||||||
|
description: BAM index file
|
||||||
|
pattern: "*.bai"
|
||||||
|
- intervals:
|
||||||
|
type: file
|
||||||
|
description: Intervals file created by gatk3 RealignerTargetCreator
|
||||||
|
pattern: "*.{intervals,list}"
|
||||||
|
- fasta:
|
||||||
|
type: file
|
||||||
|
description: Reference file used to generate BAM file
|
||||||
|
pattern: ".{fasta,fa,fna}"
|
||||||
|
- fai:
|
||||||
|
type: file
|
||||||
|
description: Index of reference file used to generate BAM file
|
||||||
|
pattern: ".fai"
|
||||||
|
- dict:
|
||||||
|
type: file
|
||||||
|
description: GATK dict file for reference
|
||||||
|
pattern: ".dict"
|
||||||
|
- known_vcf:
|
||||||
|
type: file
|
||||||
|
description: Optional input VCF file(s) with known indels
|
||||||
|
pattern: ".vcf"
|
||||||
|
|
||||||
|
output:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- versions:
|
||||||
|
type: file
|
||||||
|
description: File containing software versions
|
||||||
|
pattern: "versions.yml"
|
||||||
|
- bam:
|
||||||
|
type: file
|
||||||
|
description: Sorted and indexed BAM file with local realignment around variants
|
||||||
|
pattern: "*.bam"
|
||||||
|
- bai:
|
||||||
|
type: file
|
||||||
|
description: Output BAM Index file
|
||||||
|
pattern: "*.bai"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@jfy133"
|
53
modules/gatk/realignertargetcreator/main.nf
Normal file
53
modules/gatk/realignertargetcreator/main.nf
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
process GATK_REALIGNERTARGETCREATOR {
|
||||||
|
tag "$meta.id"
|
||||||
|
label 'process_low'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "bioconda::gatk=3.5" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/gatk:3.5--hdfd78af_11':
|
||||||
|
'quay.io/biocontainers/gatk:3.5--hdfd78af_11' }"
|
||||||
|
|
||||||
|
input:
|
||||||
|
tuple val(meta), path(input), path(index)
|
||||||
|
path fasta
|
||||||
|
path fai
|
||||||
|
path dict
|
||||||
|
path known_vcf
|
||||||
|
|
||||||
|
output:
|
||||||
|
tuple val(meta), path("*.intervals"), emit: intervals
|
||||||
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
|
when:
|
||||||
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
|
script:
|
||||||
|
def args = task.ext.args ?: ''
|
||||||
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
|
def known = known_vcf ? "-known ${known_vcf}" : ""
|
||||||
|
if ("$input" == "${prefix}.bam") error "Input and output names are the same, set prefix in module configuration to disambiguate!"
|
||||||
|
|
||||||
|
def avail_mem = 3
|
||||||
|
if (!task.memory) {
|
||||||
|
log.info '[GATK RealignerTargetCreator] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.'
|
||||||
|
} else {
|
||||||
|
avail_mem = task.memory.giga
|
||||||
|
}
|
||||||
|
|
||||||
|
"""
|
||||||
|
gatk3 \\
|
||||||
|
-Xmx${avail_mem}g \\
|
||||||
|
-T RealignerTargetCreator \\
|
||||||
|
-nt ${task.cpus} \\
|
||||||
|
-I ${input} \\
|
||||||
|
-R ${fasta} \\
|
||||||
|
-o ${prefix}.intervals \\
|
||||||
|
${known} \\
|
||||||
|
$args
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
gatk: \$(echo \$(gatk3 --version))
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
64
modules/gatk/realignertargetcreator/meta.yml
Normal file
64
modules/gatk/realignertargetcreator/meta.yml
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
name: "gatk_realignertargetcreator"
|
||||||
|
description: Generates a list of locations that should be considered for local realignment prior genotyping.
|
||||||
|
keywords:
|
||||||
|
- bam
|
||||||
|
- vcf
|
||||||
|
- variant calling
|
||||||
|
- indel
|
||||||
|
- realignment
|
||||||
|
- targets
|
||||||
|
tools:
|
||||||
|
- "gatk":
|
||||||
|
description: "The full Genome Analysis Toolkit (GATK) framework, license restricted."
|
||||||
|
homepage: "https://gatk.broadinstitute.org/hc/en-us"
|
||||||
|
documentation: "https://github.com/broadinstitute/gatk-docs"
|
||||||
|
licence: "['https://software.broadinstitute.org/gatk/download/licensing', 'BSD', 'https://www.broadinstitute.org/gatk/about/#licensing']"
|
||||||
|
|
||||||
|
input:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- input:
|
||||||
|
type: file
|
||||||
|
description: Sorted and indexed BAM/CRAM/SAM file
|
||||||
|
pattern: "*.bam"
|
||||||
|
- index:
|
||||||
|
type: file
|
||||||
|
description: BAM index file
|
||||||
|
pattern: "*.bai"
|
||||||
|
- fasta:
|
||||||
|
type: file
|
||||||
|
description: Reference file used to generate BAM file
|
||||||
|
pattern: ".{fasta,fa,fna}"
|
||||||
|
- fai:
|
||||||
|
type: file
|
||||||
|
description: Index of reference file used to generate BAM file
|
||||||
|
pattern: ".fai"
|
||||||
|
- dict:
|
||||||
|
type: file
|
||||||
|
description: GATK dict file for reference
|
||||||
|
pattern: ".dict"
|
||||||
|
- known_vcf:
|
||||||
|
type: file
|
||||||
|
description: Optional input VCF file(s) with known indels
|
||||||
|
pattern: ".vcf"
|
||||||
|
|
||||||
|
output:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- versions:
|
||||||
|
type: file
|
||||||
|
description: File containing software versions
|
||||||
|
pattern: "versions.yml"
|
||||||
|
- intervals:
|
||||||
|
type: file
|
||||||
|
description: File containg intervals that represent sites of extant and potential indels.
|
||||||
|
pattern: "*.intervals"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@jfy133"
|
|
@ -7,7 +7,8 @@ process MULTIQC {
|
||||||
'quay.io/biocontainers/multiqc:1.12--pyhdfd78af_0' }"
|
'quay.io/biocontainers/multiqc:1.12--pyhdfd78af_0' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
path multiqc_files
|
path multiqc_files, stageAs: "?/*"
|
||||||
|
tuple path(multiqc_config), path(multiqc_logo)
|
||||||
|
|
||||||
output:
|
output:
|
||||||
path "*multiqc_report.html", emit: report
|
path "*multiqc_report.html", emit: report
|
||||||
|
@ -20,8 +21,13 @@ process MULTIQC {
|
||||||
|
|
||||||
script:
|
script:
|
||||||
def args = task.ext.args ?: ''
|
def args = task.ext.args ?: ''
|
||||||
|
def config = multiqc_config ? "--config $multiqc_config" : ''
|
||||||
"""
|
"""
|
||||||
multiqc -f $args .
|
multiqc \\
|
||||||
|
--force \\
|
||||||
|
$config \\
|
||||||
|
$args \\
|
||||||
|
.
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
|
|
|
@ -17,6 +17,14 @@ input:
|
||||||
type: file
|
type: file
|
||||||
description: |
|
description: |
|
||||||
List of reports / files recognised by MultiQC, for example the html and zip output of FastQC
|
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:
|
output:
|
||||||
- report:
|
- report:
|
||||||
type: file
|
type: file
|
||||||
|
|
51
modules/rhocall/annotate/main.nf
Normal file
51
modules/rhocall/annotate/main.nf
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
process RHOCALL_ANNOTATE {
|
||||||
|
tag "$meta.id"
|
||||||
|
label 'process_medium'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "bioconda::rhocall=0.5.1" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/rhocall:0.5.1--py39hbf8eff0_0':
|
||||||
|
'quay.io/biocontainers/rhocall:0.5.1--py39hbf8eff0_0' }"
|
||||||
|
|
||||||
|
input:
|
||||||
|
tuple val(meta), path(vcf), path(tbi)
|
||||||
|
tuple val(meta), path(roh)
|
||||||
|
path bed
|
||||||
|
|
||||||
|
output:
|
||||||
|
tuple val(meta), path("*_rhocall.vcf"), emit: vcf
|
||||||
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
|
when:
|
||||||
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
|
script:
|
||||||
|
def args = task.ext.args ?: ''
|
||||||
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
|
def az_bed = bed ? "-b ${bed}" : ''
|
||||||
|
"""
|
||||||
|
rhocall \\
|
||||||
|
annotate \\
|
||||||
|
$args \\
|
||||||
|
$az_bed \\
|
||||||
|
-r $roh \\
|
||||||
|
-o ${prefix}_rhocall.vcf \\
|
||||||
|
$vcf
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
rhocall: \$(echo \$(rhocall --version 2>&1) | sed 's/rhocall, version //' )
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
|
||||||
|
stub:
|
||||||
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
|
"""
|
||||||
|
touch ${prefix}_rhocall.vcf
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
rhocall: \$(echo \$(rhocall --version 2>&1) | sed 's/rhocall, version //' )
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
54
modules/rhocall/annotate/meta.yml
Normal file
54
modules/rhocall/annotate/meta.yml
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
name: "rhocall_annotate"
|
||||||
|
description: "Markup VCF file using rho-calls."
|
||||||
|
keywords:
|
||||||
|
- roh
|
||||||
|
- rhocall
|
||||||
|
tools:
|
||||||
|
- "rhocall":
|
||||||
|
description: "Call regions of homozygosity and make tentative UPD calls."
|
||||||
|
homepage: "https://github.com/dnil/rhocall"
|
||||||
|
documentation: "https://github.com/dnil/rhocall"
|
||||||
|
tool_dev_url: "https://github.com/dnil"
|
||||||
|
doi: ""
|
||||||
|
licence: "['GPL v3']"
|
||||||
|
|
||||||
|
input:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- vcf:
|
||||||
|
type: file
|
||||||
|
description: vcf file
|
||||||
|
pattern: "*.{vcf,vcf.gz}"
|
||||||
|
- tbi:
|
||||||
|
type: file
|
||||||
|
description: vcf index file
|
||||||
|
pattern: "*.{tbi}"
|
||||||
|
- roh:
|
||||||
|
type: file
|
||||||
|
description: Bcftools roh style TSV file with CHR,POS,AZ,QUAL
|
||||||
|
pattern: "*.{roh}"
|
||||||
|
- bed:
|
||||||
|
type: file
|
||||||
|
description: BED file with AZ windows.
|
||||||
|
pattern: "*.{bed}"
|
||||||
|
|
||||||
|
output:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- vcf:
|
||||||
|
type: file
|
||||||
|
description: vcf file
|
||||||
|
pattern: "*.{vcf,vcf.gz}"
|
||||||
|
- versions:
|
||||||
|
type: file
|
||||||
|
description: File containing software versions
|
||||||
|
pattern: "versions.yml"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@ramprasadn"
|
|
@ -2,17 +2,17 @@ process TIDDIT_COV {
|
||||||
tag "$meta.id"
|
tag "$meta.id"
|
||||||
label 'process_low'
|
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 ?
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
'https://depot.galaxyproject.org/singularity/tiddit:2.12.1--py38h1773678_0' :
|
'https://depot.galaxyproject.org/singularity/tiddit:3.0.0--py39h59fae87_1' :
|
||||||
'quay.io/biocontainers/tiddit:2.12.1--py38h1773678_0' }"
|
'quay.io/biocontainers/tiddit:3.0.0--py39h59fae87_1' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(bam)
|
tuple val(meta), path(input)
|
||||||
path fasta
|
path fasta
|
||||||
|
|
||||||
output:
|
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
|
tuple val(meta), path("*.wig"), optional: true, emit: wig
|
||||||
path "versions.yml" , emit: versions
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
|
@ -28,12 +28,12 @@ process TIDDIT_COV {
|
||||||
--cov \\
|
--cov \\
|
||||||
-o $prefix \\
|
-o $prefix \\
|
||||||
$args \\
|
$args \\
|
||||||
--bam $bam \\
|
--bam $input \\
|
||||||
$reference
|
$reference
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*TIDDIT-//; s/ .*\$//')
|
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*tiddit-//; s/ .*\$//')
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ process TIDDIT_COV {
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*TIDDIT-//; s/ .*\$//')
|
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*tiddit-//; s/ .*\$//')
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ 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 ]
|
||||||
- bam:
|
- input:
|
||||||
type: file
|
type: file
|
||||||
description: BAM/CRAM file
|
description: BAM/CRAM file
|
||||||
pattern: "*.{bam,cram}"
|
pattern: "*.{bam,cram}"
|
||||||
|
|
|
@ -2,20 +2,19 @@ process TIDDIT_SV {
|
||||||
tag "$meta.id"
|
tag "$meta.id"
|
||||||
label 'process_medium'
|
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 ?
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
'https://depot.galaxyproject.org/singularity/tiddit:2.12.1--py38h1773678_0' :
|
'https://depot.galaxyproject.org/singularity/tiddit:3.0.0--py39h59fae87_1' :
|
||||||
'quay.io/biocontainers/tiddit:2.12.1--py38h1773678_0' }"
|
'quay.io/biocontainers/tiddit:3.0.0--py39h59fae87_1' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(bam)
|
tuple val(meta), path(input), path(input_index)
|
||||||
path fasta
|
path fasta
|
||||||
path fai
|
path bwa_index
|
||||||
|
|
||||||
output:
|
output:
|
||||||
tuple val(meta), path("*.vcf") , emit: vcf
|
tuple val(meta), path("*.vcf") , emit: vcf
|
||||||
tuple val(meta), path("*.ploidy.tab") , emit: ploidy
|
tuple val(meta), path("*.ploidies.tab"), emit: ploidy
|
||||||
tuple val(meta), path("*.signals.tab"), emit: signals
|
|
||||||
path "versions.yml" , emit: versions
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
when:
|
when:
|
||||||
|
@ -24,18 +23,19 @@ process TIDDIT_SV {
|
||||||
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 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 \\
|
tiddit \\
|
||||||
--sv \\
|
--sv \\
|
||||||
$args \\
|
$args \\
|
||||||
--bam $bam \\
|
--bam $input \\
|
||||||
$reference \\
|
--ref $fasta \\
|
||||||
-o $prefix
|
-o $prefix
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*TIDDIT-//; s/ .*\$//')
|
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*tiddit-//; s/ .*\$//')
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -43,12 +43,11 @@ process TIDDIT_SV {
|
||||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
"""
|
"""
|
||||||
touch ${prefix}.vcf
|
touch ${prefix}.vcf
|
||||||
touch ${prefix}.ploidy.tab
|
touch ${prefix}.ploidies.tab
|
||||||
touch ${prefix}.signals.tab
|
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*TIDDIT-//; s/ .*\$//')
|
tiddit: \$(echo \$(tiddit 2>&1) | sed 's/^.*tiddit-//; s/ .*\$//')
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,14 +17,22 @@ 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 ]
|
||||||
|
- input:
|
||||||
|
type: file
|
||||||
|
description: BAM/CRAM file
|
||||||
|
pattern: "*.{bam,cram}"
|
||||||
|
- index:
|
||||||
|
type: file
|
||||||
|
description: BAM/CRAM index file
|
||||||
|
pattern: "*.{bai,crai}"
|
||||||
- fasta:
|
- fasta:
|
||||||
type: file
|
type: file
|
||||||
description: Input FASTA file
|
description: Input FASTA file
|
||||||
pattern: "*.{fasta,fa}"
|
pattern: "*.{fasta,fa}"
|
||||||
- fai:
|
- bwa_index:
|
||||||
type: file
|
type: file
|
||||||
description: FASTA index file
|
description: BWA genome index files
|
||||||
pattern: "*.{fai}"
|
pattern: "Directory containing BWA index *.{amb,ann,bwt,pac,sa}"
|
||||||
output:
|
output:
|
||||||
- meta:
|
- meta:
|
||||||
type: map
|
type: map
|
||||||
|
@ -38,11 +46,7 @@ output:
|
||||||
- ploidy:
|
- ploidy:
|
||||||
type: file
|
type: file
|
||||||
description: tab
|
description: tab
|
||||||
pattern: "*.{ploidy.tab}"
|
pattern: "*.{ploidies.tab}"
|
||||||
- signals:
|
|
||||||
type: file
|
|
||||||
description: tab
|
|
||||||
pattern: "*.{signals.tab}"
|
|
||||||
- versions:
|
- versions:
|
||||||
type: file
|
type: file
|
||||||
description: File containing software versions
|
description: File containing software versions
|
||||||
|
|
|
@ -715,6 +715,14 @@ gamma/gamma:
|
||||||
- modules/gamma/gamma/**
|
- modules/gamma/gamma/**
|
||||||
- tests/modules/gamma/gamma/**
|
- tests/modules/gamma/gamma/**
|
||||||
|
|
||||||
|
gatk/indelrealigner:
|
||||||
|
- modules/gatk/indelrealigner/**
|
||||||
|
- tests/modules/gatk/indelrealigner/**
|
||||||
|
|
||||||
|
gatk/realignertargetcreator:
|
||||||
|
- modules/gatk/realignertargetcreator/**
|
||||||
|
- tests/modules/gatk/realignertargetcreator/**
|
||||||
|
|
||||||
gatk/unifiedgenotyper:
|
gatk/unifiedgenotyper:
|
||||||
- modules/gatk/unifiedgenotyper/**
|
- modules/gatk/unifiedgenotyper/**
|
||||||
- tests/modules/gatk/unifiedgenotyper/**
|
- tests/modules/gatk/unifiedgenotyper/**
|
||||||
|
@ -1647,6 +1655,10 @@ rgi/main:
|
||||||
- modules/rgi/main/**
|
- modules/rgi/main/**
|
||||||
- tests/modules/rgi/main/**
|
- tests/modules/rgi/main/**
|
||||||
|
|
||||||
|
rhocall/annotate:
|
||||||
|
- modules/rhocall/annotate/**
|
||||||
|
- tests/modules/rhocall/annotate/**
|
||||||
|
|
||||||
rmarkdownnotebook:
|
rmarkdownnotebook:
|
||||||
- modules/rmarkdownnotebook/**
|
- modules/rmarkdownnotebook/**
|
||||||
- tests/modules/rmarkdownnotebook/**
|
- tests/modules/rmarkdownnotebook/**
|
||||||
|
|
|
@ -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'], checkIfExists: true),
|
||||||
file(params.test_data['sarscov2']['illumina']['test_vcf_gz_tbi'], checkIfExists: true)]
|
file(params.test_data['sarscov2']['illumina']['test_vcf_gz_tbi'], checkIfExists: true)]
|
||||||
|
|
||||||
af_file = []
|
af_file = [[],[]]
|
||||||
gen_map = []
|
gen_map = []
|
||||||
regions = []
|
regions = []
|
||||||
targets = []
|
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'], checkIfExists: true),
|
||||||
file(params.test_data['sarscov2']['illumina']['test_vcf_gz_tbi'], checkIfExists: true)]
|
file(params.test_data['sarscov2']['illumina']['test_vcf_gz_tbi'], checkIfExists: true)]
|
||||||
|
|
||||||
af_file = []
|
af_file = [[],[]]
|
||||||
gen_map = []
|
gen_map = []
|
||||||
regions = []
|
regions = []
|
||||||
targets = []
|
targets = []
|
||||||
|
|
33
tests/modules/gatk/indelrealigner/main.nf
Normal file
33
tests/modules/gatk/indelrealigner/main.nf
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { GATK_REALIGNERTARGETCREATOR } from '../../../../modules/gatk/realignertargetcreator/main.nf'
|
||||||
|
include { GATK_INDELREALIGNER } from '../../../../modules/gatk/indelrealigner/main.nf'
|
||||||
|
|
||||||
|
|
||||||
|
workflow test_gatk_indelrealigner {
|
||||||
|
|
||||||
|
|
||||||
|
fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true)
|
||||||
|
fai = file(params.test_data['sarscov2']['genome']['genome_fasta_fai'], checkIfExists: true)
|
||||||
|
dict = file(params.test_data['sarscov2']['genome']['genome_dict'], checkIfExists: true)
|
||||||
|
|
||||||
|
input_realignertargetcreator = [ [ 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_bai'], checkIfExists: true),
|
||||||
|
]
|
||||||
|
|
||||||
|
GATK_REALIGNERTARGETCREATOR ( input_realignertargetcreator, fasta, fai, dict, [] )
|
||||||
|
|
||||||
|
ch_intervals = GATK_REALIGNERTARGETCREATOR.out.intervals
|
||||||
|
|
||||||
|
ch_bams_indelrealigner = Channel.of([ [ 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_bai'], checkIfExists: true)
|
||||||
|
])
|
||||||
|
|
||||||
|
ch_input_indelrealigner = ch_bams_indelrealigner.mix(ch_intervals).groupTuple(by: 0).map{ [it[0], it[1][0], it[2], it[1][1] ] }.dump(tag: "input")
|
||||||
|
|
||||||
|
GATK_INDELREALIGNER ( ch_input_indelrealigner, fasta, fai, dict, [] )
|
||||||
|
}
|
6
tests/modules/gatk/indelrealigner/nextflow.config
Normal file
6
tests/modules/gatk/indelrealigner/nextflow.config
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
process {
|
||||||
|
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
ext.prefix = { "${meta.id}.realigned" }
|
||||||
|
|
||||||
|
}
|
12
tests/modules/gatk/indelrealigner/test.yml
Normal file
12
tests/modules/gatk/indelrealigner/test.yml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
- name: gatk indelrealigner test_gatk_indelrealigner
|
||||||
|
command: nextflow run ./tests/modules/gatk/indelrealigner -entry test_gatk_indelrealigner -c ./tests/config/nextflow.config -c ./tests/modules/gatk/indelrealigner/nextflow.config
|
||||||
|
tags:
|
||||||
|
- gatk/indelrealigner
|
||||||
|
- gatk
|
||||||
|
files:
|
||||||
|
- path: output/gatk/test.realigned.bai
|
||||||
|
md5sum: 85a67df8827fe426e7f3a458134c0551
|
||||||
|
- path: output/gatk/test.realigned.bam
|
||||||
|
md5sum: ea1df6f7fcafc408fae4dc1574813d8a
|
||||||
|
- path: output/gatk/test.realigned.intervals
|
||||||
|
md5sum: 7aa7a1b235a510e6591e262382086bf8
|
18
tests/modules/gatk/realignertargetcreator/main.nf
Normal file
18
tests/modules/gatk/realignertargetcreator/main.nf
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { GATK_REALIGNERTARGETCREATOR } from '../../../../modules/gatk/realignertargetcreator/main.nf'
|
||||||
|
|
||||||
|
workflow test_gatk_realignertargetcreator {
|
||||||
|
|
||||||
|
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_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)
|
||||||
|
dict = file(params.test_data['sarscov2']['genome']['genome_dict'], checkIfExists: true)
|
||||||
|
|
||||||
|
GATK_REALIGNERTARGETCREATOR ( input, fasta, fai, dict, [] )
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
process {
|
||||||
|
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
|
||||||
|
}
|
8
tests/modules/gatk/realignertargetcreator/test.yml
Normal file
8
tests/modules/gatk/realignertargetcreator/test.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
- name: gatk realignertargetcreator test_gatk_realignertargetcreator
|
||||||
|
command: nextflow run ./tests/modules/gatk/realignertargetcreator -entry test_gatk_realignertargetcreator -c ./tests/config/nextflow.config -c ./tests/modules/gatk/realignertargetcreator/nextflow.config
|
||||||
|
tags:
|
||||||
|
- gatk
|
||||||
|
- gatk/realignertargetcreator
|
||||||
|
files:
|
||||||
|
- path: output/gatk/test.intervals
|
||||||
|
md5sum: 7aa7a1b235a510e6591e262382086bf8
|
|
@ -3,14 +3,31 @@
|
||||||
nextflow.enable.dsl = 2
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
include { FASTQC } from '../../../modules/fastqc/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'
|
include { MULTIQC } from '../../../modules/multiqc/main.nf'
|
||||||
|
|
||||||
workflow test_multiqc {
|
workflow test_multiqc {
|
||||||
input = [ [ id: 'test', single_end: false ],
|
input = [
|
||||||
[ file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true),
|
[ id: 'test', single_end: false ],
|
||||||
file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) ]
|
[ file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true)]
|
||||||
]
|
]
|
||||||
|
|
||||||
FASTQC ( input )
|
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, [[],[]] )
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
process {
|
process {
|
||||||
|
|
||||||
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
withName: "FASTQC*" {
|
||||||
|
publishDir = [ enabled: false ]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
- name: multiqc
|
- name: multiqc test_multiqc
|
||||||
command: nextflow run ./tests/modules/multiqc -entry test_multiqc -c ./tests/config/nextflow.config -c ./tests/modules/multiqc/nextflow.config
|
command: nextflow run ./tests/modules/multiqc -entry test_multiqc -c ./tests/config/nextflow.config -c ./tests/modules/multiqc/nextflow.config
|
||||||
tags:
|
tags:
|
||||||
- multiqc
|
- multiqc
|
||||||
files:
|
files:
|
||||||
- path: output/multiqc/multiqc_report.html
|
- 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:
|
||||||
|
- path: output/multiqc/multiqc_report.html
|
||||||
|
|
40
tests/modules/rhocall/annotate/main.nf
Normal file
40
tests/modules/rhocall/annotate/main.nf
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { RHOCALL_ANNOTATE } from '../../../../modules/rhocall/annotate/main.nf'
|
||||||
|
include { BCFTOOLS_ROH } from '../../../../modules/bcftools/roh/main.nf'
|
||||||
|
|
||||||
|
workflow test_rhocall_annotate {
|
||||||
|
|
||||||
|
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)]
|
||||||
|
|
||||||
|
af_file = [[],[]]
|
||||||
|
gen_map = []
|
||||||
|
regions = []
|
||||||
|
targets = []
|
||||||
|
samples = []
|
||||||
|
|
||||||
|
BCFTOOLS_ROH ( input, af_file, gen_map, regions, samples, targets )
|
||||||
|
RHOCALL_ANNOTATE ( input, BCFTOOLS_ROH.out.roh, [])
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_rhocall_annotate_stub {
|
||||||
|
|
||||||
|
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)]
|
||||||
|
|
||||||
|
af_file = [[],[]]
|
||||||
|
gen_map = []
|
||||||
|
regions = []
|
||||||
|
targets = []
|
||||||
|
samples = []
|
||||||
|
|
||||||
|
BCFTOOLS_ROH ( input, af_file, gen_map, regions, samples, targets )
|
||||||
|
RHOCALL_ANNOTATE ( input, BCFTOOLS_ROH.out.roh, [])
|
||||||
|
|
||||||
|
}
|
5
tests/modules/rhocall/annotate/nextflow.config
Normal file
5
tests/modules/rhocall/annotate/nextflow.config
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
process {
|
||||||
|
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
|
||||||
|
}
|
17
tests/modules/rhocall/annotate/test.yml
Normal file
17
tests/modules/rhocall/annotate/test.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
- name: "rhocall annotate"
|
||||||
|
command: nextflow run ./tests/modules/rhocall/annotate -entry test_rhocall_annotate -c ./tests/config/nextflow.config -c ./tests/modules/rhocall/annotate/nextflow.config
|
||||||
|
tags:
|
||||||
|
- "rhocall"
|
||||||
|
- "rhocall/annotate"
|
||||||
|
files:
|
||||||
|
- path: "output/rhocall/test_rhocall.vcf"
|
||||||
|
- path: "output/rhocall/versions.yml"
|
||||||
|
|
||||||
|
- name: "rhocall annotate stub"
|
||||||
|
command: nextflow run ./tests/modules/rhocall/annotate -entry test_rhocall_annotate_stub -c ./tests/config/nextflow.config -c ./tests/modules/rhocall/annotate/nextflow.config -stub-run
|
||||||
|
tags:
|
||||||
|
- "rhocall"
|
||||||
|
- "rhocall/annotate"
|
||||||
|
files:
|
||||||
|
- path: "output/rhocall/test_rhocall.vcf"
|
||||||
|
- path: "output/rhocall/versions.yml"
|
|
@ -2,22 +2,41 @@
|
||||||
|
|
||||||
nextflow.enable.dsl = 2
|
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['homo_sapiens']['illumina']['test_paired_end_sorted_cram'], checkIfExists: true) ]
|
||||||
|
|
||||||
|
fasta = file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
|
||||||
|
|
||||||
|
TIDDIT_COV_BED ( input, fasta )
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_tiddit_cov_bam_bed {
|
||||||
|
|
||||||
input = [ [ id:'test', single_end:false ], // meta map
|
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) ]
|
||||||
|
|
||||||
fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true)
|
TIDDIT_COV_BED ( input, [] )
|
||||||
|
|
||||||
TIDDIT_COV ( input, fasta )
|
|
||||||
}
|
}
|
||||||
|
|
||||||
workflow test_tiddit_cov_no_ref {
|
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
|
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_WIG ( input, [] )
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,4 +2,8 @@ process {
|
||||||
|
|
||||||
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
|
||||||
|
withName: TIDDIT_COV_WIG {
|
||||||
|
ext.args = '-w'
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,35 @@
|
||||||
- name: tiddit cov test_tiddit_cov
|
- name: tiddit cov test_tiddit_cov_cram_bed
|
||||||
command: nextflow run ./tests/modules/tiddit/cov -entry test_tiddit_cov -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/cov/nextflow.config
|
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:
|
tags:
|
||||||
- tiddit
|
- tiddit
|
||||||
- tiddit/cov
|
- tiddit/cov
|
||||||
files:
|
files:
|
||||||
- path: output/tiddit/test.tab
|
- path: output/tiddit/test.bed
|
||||||
md5sum: f7974948f809f94879d8a60b726194f5
|
md5sum: 3b1a28c62a5f25bbba77c1042e9abdf7
|
||||||
|
|
||||||
- name: tiddit cov test_tiddit_cov_no_ref
|
- name: tiddit cov test_tiddit_cov_bam_bed
|
||||||
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
|
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:
|
tags:
|
||||||
- tiddit
|
- tiddit
|
||||||
- tiddit/cov
|
- tiddit/cov
|
||||||
files:
|
files:
|
||||||
- path: output/tiddit/test.tab
|
- path: output/tiddit/test.bed
|
||||||
md5sum: f7974948f809f94879d8a60b726194f5
|
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
|
||||||
|
|
|
@ -2,25 +2,33 @@
|
||||||
|
|
||||||
nextflow.enable.dsl = 2
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { BWA_INDEX } from '../../../../modules/bwa/index/main.nf'
|
||||||
include { TIDDIT_SV } from '../../../../modules/tiddit/sv/main.nf'
|
include { TIDDIT_SV } from '../../../../modules/tiddit/sv/main.nf'
|
||||||
|
|
||||||
workflow test_tiddit_sv {
|
workflow test_tiddit_sv_bam {
|
||||||
input = [
|
input = [
|
||||||
[ id:'test' ], // meta map
|
[ 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)
|
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 {
|
workflow test_tiddit_sv_cram {
|
||||||
input = [
|
input = [
|
||||||
[ id:'test' ], // meta map
|
[ 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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,25 +1,21 @@
|
||||||
- name: tiddit sv
|
- name: tiddit sv test_tiddit_sv_bam
|
||||||
command: nextflow run ./tests/modules/tiddit/sv -entry test_tiddit_sv -c ./tests/config/nextflow.config -c ./tests/modules/tiddit/sv/nextflow.config
|
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:
|
tags:
|
||||||
- tiddit
|
- tiddit
|
||||||
- tiddit/sv
|
- tiddit/sv
|
||||||
files:
|
files:
|
||||||
- path: output/tiddit/test.ploidy.tab
|
- path: output/tiddit/test.ploidies.tab
|
||||||
md5sum: 45e050b0e204f0a5a3a99627cc440eaa
|
md5sum: 6319d3611f7b6b94425a184d274b3dfc
|
||||||
- path: output/tiddit/test.signals.tab
|
|
||||||
md5sum: dab4b2fec4ddf8eb1c23005b0770150e
|
|
||||||
- path: output/tiddit/test.vcf
|
- path: output/tiddit/test.vcf
|
||||||
md5sum: bdce14ae8292bf3deb81f6f255baf859
|
md5sum: 41d3f8746f0420f894104321b7e64f67
|
||||||
|
|
||||||
- name: tiddit sv no ref
|
- name: tiddit sv test_tiddit_sv_cram
|
||||||
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
|
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:
|
tags:
|
||||||
- tiddit
|
- tiddit
|
||||||
- tiddit/sv
|
- tiddit/sv
|
||||||
files:
|
files:
|
||||||
- path: output/tiddit/test.ploidy.tab
|
- path: output/tiddit/test.ploidies.tab
|
||||||
md5sum: 45e050b0e204f0a5a3a99627cc440eaa
|
md5sum: f1162a940ddc8b963f6e0e506bb5c136
|
||||||
- path: output/tiddit/test.signals.tab
|
|
||||||
md5sum: dab4b2fec4ddf8eb1c23005b0770150e
|
|
||||||
- path: output/tiddit/test.vcf
|
- path: output/tiddit/test.vcf
|
||||||
md5sum: 3d0e83a8199b2bdb81cfe3e6b12bf64b
|
md5sum: 34db59578991285d6b62dc1500272fca
|
||||||
|
|
Loading…
Reference in a new issue