mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-11-10 20:23:10 +00:00
Merge branch 'master' into new-module-rtg/vcfeval
This commit is contained in:
commit
5153e10840
75 changed files with 1612 additions and 197 deletions
84
modules/busco/main.nf
Normal file
84
modules/busco/main.nf
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
process BUSCO {
|
||||||
|
tag "$meta.id"
|
||||||
|
label 'process_medium'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "bioconda::busco=5.3.2" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/busco:5.3.2--pyhdfd78af_0':
|
||||||
|
'quay.io/biocontainers/busco:5.3.2--pyhdfd78af_0' }"
|
||||||
|
|
||||||
|
input:
|
||||||
|
tuple val(meta), path('tmp_input/*')
|
||||||
|
each lineage // Required: lineage to check against, "auto" enables --auto-lineage instead
|
||||||
|
path busco_lineages_path // Recommended: path to busco lineages - downloads if not set
|
||||||
|
path config_file // Optional: busco configuration file
|
||||||
|
|
||||||
|
output:
|
||||||
|
tuple val(meta), path("*-busco.batch_summary.txt"), emit: batch_summary
|
||||||
|
tuple val(meta), path("short_summary.*.txt") , emit: short_summaries_txt, optional: true
|
||||||
|
tuple val(meta), path("short_summary.*.json") , emit: short_summaries_json, optional: true
|
||||||
|
tuple val(meta), path("*-busco") , emit: busco_dir
|
||||||
|
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}-${lineage}"
|
||||||
|
def busco_config = config_file ? "--config $config_file" : ''
|
||||||
|
def busco_lineage = lineage.equals('auto') ? '--auto-lineage' : "--lineage_dataset ${lineage}"
|
||||||
|
def busco_lineage_dir = busco_lineages_path ? "--offline --download_path ${busco_lineages_path}" : ''
|
||||||
|
"""
|
||||||
|
# Nextflow changes the container --entrypoint to /bin/bash (container default entrypoint: /usr/local/env-execute)
|
||||||
|
# Check for container variable initialisation script and source it.
|
||||||
|
if [ -f "/usr/local/env-activate.sh" ]; then
|
||||||
|
set +u # Otherwise, errors out because of various unbound variables
|
||||||
|
. "/usr/local/env-activate.sh"
|
||||||
|
set -u
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If the augustus config directory is not writable, then copy to writeable area
|
||||||
|
if [ ! -w "\${AUGUSTUS_CONFIG_PATH}" ]; then
|
||||||
|
# Create writable tmp directory for augustus
|
||||||
|
AUG_CONF_DIR=\$( mktemp -d -p \$PWD )
|
||||||
|
cp -r \$AUGUSTUS_CONFIG_PATH/* \$AUG_CONF_DIR
|
||||||
|
export AUGUSTUS_CONFIG_PATH=\$AUG_CONF_DIR
|
||||||
|
echo "New AUGUSTUS_CONFIG_PATH=\${AUGUSTUS_CONFIG_PATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ensure the input is uncompressed
|
||||||
|
INPUT_SEQS=input_seqs
|
||||||
|
mkdir "\$INPUT_SEQS"
|
||||||
|
cd "\$INPUT_SEQS"
|
||||||
|
for FASTA in ../tmp_input/*; do
|
||||||
|
if [ "\${FASTA##*.}" == 'gz' ]; then
|
||||||
|
gzip -cdf "\$FASTA" > \$( basename "\$FASTA" .gz )
|
||||||
|
else
|
||||||
|
ln -s "\$FASTA" .
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
busco \\
|
||||||
|
--cpu $task.cpus \\
|
||||||
|
--in "\$INPUT_SEQS" \\
|
||||||
|
--out ${prefix}-busco \\
|
||||||
|
$busco_lineage \\
|
||||||
|
$busco_lineage_dir \\
|
||||||
|
$busco_config \\
|
||||||
|
$args
|
||||||
|
|
||||||
|
# clean up
|
||||||
|
rm -rf "\$INPUT_SEQS"
|
||||||
|
|
||||||
|
# Move files to avoid staging/publishing issues
|
||||||
|
mv ${prefix}-busco/batch_summary.txt ${prefix}-busco.batch_summary.txt
|
||||||
|
mv ${prefix}-busco/*/short_summary.*.{json,txt} . || echo "Short summaries were not available: No genes were found."
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
busco: \$( busco --version 2>&1 | sed 's/^BUSCO //' )
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
69
modules/busco/meta.yml
Normal file
69
modules/busco/meta.yml
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
name: busco
|
||||||
|
description: Benchmarking Universal Single Copy Orthologs
|
||||||
|
keywords:
|
||||||
|
- quality control
|
||||||
|
- genome
|
||||||
|
- transcriptome
|
||||||
|
- proteome
|
||||||
|
tools:
|
||||||
|
- busco:
|
||||||
|
description: BUSCO provides measures for quantitative assessment of genome assembly, gene set, and transcriptome completeness based on evolutionarily informed expectations of gene content from near-universal single-copy orthologs selected from OrthoDB.
|
||||||
|
homepage: https://busco.ezlab.org/
|
||||||
|
documentation: https://busco.ezlab.org/busco_userguide.html
|
||||||
|
tool_dev_url: https://gitlab.com/ezlab/busco
|
||||||
|
doi: "10.1007/978-1-4939-9173-0_14"
|
||||||
|
licence: ["MIT"]
|
||||||
|
|
||||||
|
input:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- fasta:
|
||||||
|
type: file
|
||||||
|
description: Nucleic or amino acid sequence file in FASTA format.
|
||||||
|
pattern: "*.{fasta,fna,fa,fasta.gz,fna.gz,fa.gz}"
|
||||||
|
- lineage:
|
||||||
|
type: value
|
||||||
|
description: The BUSCO lineage to use, or "auto" to automatically select lineage
|
||||||
|
- busco_lineages_path:
|
||||||
|
type: directory
|
||||||
|
description: Path to local BUSCO lineages directory.
|
||||||
|
- config_file:
|
||||||
|
type: file
|
||||||
|
description: Path to BUSCO config file.
|
||||||
|
|
||||||
|
output:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- batch_summary:
|
||||||
|
type: file
|
||||||
|
description: Summary of all sequence files analyzed
|
||||||
|
pattern: "*-busco.batch_summary.txt"
|
||||||
|
- short_summaries_txt:
|
||||||
|
type: file
|
||||||
|
description: Short Busco summary in plain text format
|
||||||
|
pattern: "short_summary.*.txt"
|
||||||
|
- short_summaries_json:
|
||||||
|
type: file
|
||||||
|
description: Short Busco summary in JSON format
|
||||||
|
pattern: "short_summary.*.json"
|
||||||
|
- busco_dir:
|
||||||
|
type: directory
|
||||||
|
description: BUSCO lineage specific output
|
||||||
|
pattern: "*-busco"
|
||||||
|
- versions:
|
||||||
|
type: file
|
||||||
|
description: File containing software versions
|
||||||
|
pattern: "versions.yml"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@priyanka-surana"
|
||||||
|
- "@charles-plessy"
|
||||||
|
- "@mahesh-panchal"
|
||||||
|
- "@muffato"
|
||||||
|
- "@jvhagey"
|
|
@ -2,43 +2,42 @@ process CNVPYTOR_CALLCNVS {
|
||||||
tag "$meta.id"
|
tag "$meta.id"
|
||||||
label 'process_medium'
|
label 'process_medium'
|
||||||
|
|
||||||
conda (params.enable_conda ? "bioconda::cnvpytor=1.0" : null)
|
conda (params.enable_conda ? "bioconda::cnvpytor=1.2.1" : 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/cnvpytor:1.0--py39h6a678da_2':
|
'https://depot.galaxyproject.org/singularity/cnvpytor:1.2.1--pyhdfd78af_0':
|
||||||
'quay.io/biocontainers/cnvpytor:1.0--py39h6a678da_2' }"
|
'quay.io/biocontainers/cnvpytor:1.2.1--pyhdfd78af_0' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(pytor)
|
tuple val(meta), path(pytor)
|
||||||
|
val bin_sizes
|
||||||
|
|
||||||
output:
|
output:
|
||||||
tuple val(meta), path("*.tsv"), emit: cnvs
|
tuple val(meta), path("${pytor.baseName}.pytor") , emit: pytor
|
||||||
path "versions.yml" , emit: versions
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
when:
|
when:
|
||||||
task.ext.when == null || task.ext.when
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
script:
|
script:
|
||||||
def args = task.ext.args ?: '1000'
|
def bins = bin_sizes ?: '1000'
|
||||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
|
||||||
"""
|
"""
|
||||||
cnvpytor \\
|
cnvpytor \\
|
||||||
-root $pytor \\
|
-root $pytor \\
|
||||||
-call $args > ${prefix}.tsv
|
-call $bin_sizes
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/^.*pyCNVnator //; s/Using.*\$//' ))
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
|
|
||||||
stub:
|
stub:
|
||||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
|
||||||
"""
|
"""
|
||||||
touch ${prefix}.tsv
|
touch ${pytor.baseName}.pytor
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/^.*pyCNVnator //; s/Using.*\$//' ))
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,11 @@ input:
|
||||||
e.g. [ id:'test']
|
e.g. [ id:'test']
|
||||||
- pytor:
|
- pytor:
|
||||||
type: file
|
type: file
|
||||||
description: cnvpytor root file
|
description: pytor file containing partitions of read depth histograms using mean-shift method
|
||||||
pattern: "*.{pytor}"
|
pattern: "*.{pytor}"
|
||||||
|
- bin_sizes:
|
||||||
|
type: string
|
||||||
|
description: list of binsizes separated by space e.g. "1000 10000" and "1000"
|
||||||
|
|
||||||
output:
|
output:
|
||||||
- meta:
|
- meta:
|
||||||
|
@ -26,10 +29,10 @@ output:
|
||||||
description: |
|
description: |
|
||||||
Groovy Map containing sample information
|
Groovy Map containing sample information
|
||||||
e.g. [ id:'test' ]
|
e.g. [ id:'test' ]
|
||||||
- cnvs:
|
- pytor:
|
||||||
type: file
|
type: file
|
||||||
description: file containing identified copy numer variations
|
description: pytor files containing cnv calls
|
||||||
pattern: "*.{tsv}"
|
pattern: "*.{pytor}"
|
||||||
- versions:
|
- versions:
|
||||||
type: file
|
type: file
|
||||||
description: File containing software versions
|
description: File containing software versions
|
||||||
|
|
|
@ -2,13 +2,15 @@ process CNVPYTOR_HISTOGRAM {
|
||||||
tag "$meta.id"
|
tag "$meta.id"
|
||||||
label 'process_medium'
|
label 'process_medium'
|
||||||
|
|
||||||
conda (params.enable_conda ? "bioconda::cnvpytor=1.0" : null)
|
conda (params.enable_conda ? "bioconda::cnvpytor=1.2.1" : 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/cnvpytor:1.0--py39h6a678da_2':
|
'https://depot.galaxyproject.org/singularity/cnvpytor:1.2.1--pyhdfd78af_0':
|
||||||
'quay.io/biocontainers/cnvpytor:1.0--py39h6a678da_2' }"
|
'quay.io/biocontainers/cnvpytor:1.2.1--pyhdfd78af_0' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(pytor)
|
tuple val(meta), path(pytor)
|
||||||
|
val bin_sizes
|
||||||
|
|
||||||
|
|
||||||
output:
|
output:
|
||||||
tuple val(meta), path("${pytor.baseName}.pytor") , emit: pytor
|
tuple val(meta), path("${pytor.baseName}.pytor") , emit: pytor
|
||||||
|
@ -18,15 +20,15 @@ process CNVPYTOR_HISTOGRAM {
|
||||||
task.ext.when == null || task.ext.when
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
script:
|
script:
|
||||||
def args = task.ext.args ?: '1000'
|
def bins = bin_sizes ?: '1000'
|
||||||
"""
|
"""
|
||||||
cnvpytor \\
|
cnvpytor \\
|
||||||
-root $pytor \\
|
-root $pytor \\
|
||||||
-his $args
|
-his $bins
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/^.*pyCNVnator //; s/Using.*\$//' ))
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -36,7 +38,7 @@ process CNVPYTOR_HISTOGRAM {
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/^.*pyCNVnator //; s/Using.*\$//' ))
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,9 @@ input:
|
||||||
type: file
|
type: file
|
||||||
description: pytor file containing read depth data
|
description: pytor file containing read depth data
|
||||||
pattern: "*.{pytor}"
|
pattern: "*.{pytor}"
|
||||||
|
- bin_sizes:
|
||||||
|
type: string
|
||||||
|
description: list of binsizes separated by space e.g. "1000 10000" and "1000"
|
||||||
|
|
||||||
output:
|
output:
|
||||||
- meta:
|
- meta:
|
||||||
|
@ -40,3 +43,4 @@ output:
|
||||||
|
|
||||||
authors:
|
authors:
|
||||||
- "@sima-r"
|
- "@sima-r"
|
||||||
|
- "@ramprasadn"
|
||||||
|
|
|
@ -2,10 +2,10 @@ process CNVPYTOR_IMPORTREADDEPTH {
|
||||||
tag "$meta.id"
|
tag "$meta.id"
|
||||||
label 'process_medium'
|
label 'process_medium'
|
||||||
|
|
||||||
conda (params.enable_conda ? "bioconda::cnvpytor=1.0" : null)
|
conda (params.enable_conda ? "bioconda::cnvpytor=1.2.1" : 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/cnvpytor:1.0--py39h6a678da_2':
|
'https://depot.galaxyproject.org/singularity/cnvpytor:1.2.1--pyhdfd78af_0':
|
||||||
'quay.io/biocontainers/cnvpytor:1.0--py39h6a678da_2' }"
|
'quay.io/biocontainers/cnvpytor:1.2.1--pyhdfd78af_0' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(input_file), path(index)
|
tuple val(meta), path(input_file), path(index)
|
||||||
|
@ -32,7 +32,7 @@ process CNVPYTOR_IMPORTREADDEPTH {
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/^.*pyCNVnator //; s/Using.*\$//' ))
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ process CNVPYTOR_IMPORTREADDEPTH {
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/^.*pyCNVnator //; s/Using.*\$//' ))
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,3 +52,4 @@ output:
|
||||||
|
|
||||||
authors:
|
authors:
|
||||||
- "@sima-r"
|
- "@sima-r"
|
||||||
|
- "@ramprasadn"
|
||||||
|
|
|
@ -2,13 +2,14 @@ process CNVPYTOR_PARTITION {
|
||||||
tag "$meta.id"
|
tag "$meta.id"
|
||||||
label 'process_medium'
|
label 'process_medium'
|
||||||
|
|
||||||
conda (params.enable_conda ? "bioconda::cnvpytor=1.0" : null)
|
conda (params.enable_conda ? "bioconda::cnvpytor=1.2.1" : 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/cnvpytor:1.0--py39h6a678da_2':
|
'https://depot.galaxyproject.org/singularity/cnvpytor:1.2.1--pyhdfd78af_0':
|
||||||
'quay.io/biocontainers/cnvpytor:1.0--py39h6a678da_2' }"
|
'quay.io/biocontainers/cnvpytor:1.2.1--pyhdfd78af_0' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(pytor)
|
tuple val(meta), path(pytor)
|
||||||
|
val bin_sizes
|
||||||
|
|
||||||
output:
|
output:
|
||||||
tuple val(meta), path("${pytor.baseName}.pytor"), emit: pytor
|
tuple val(meta), path("${pytor.baseName}.pytor"), emit: pytor
|
||||||
|
@ -18,15 +19,15 @@ process CNVPYTOR_PARTITION {
|
||||||
task.ext.when == null || task.ext.when
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
script:
|
script:
|
||||||
def args = task.ext.args ?: ''
|
def bins = bin_sizes ?: '1000'
|
||||||
"""
|
"""
|
||||||
cnvpytor \\
|
cnvpytor \\
|
||||||
-root $pytor \\
|
-root $pytor \\
|
||||||
-partition $args
|
-partition $bins
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/^.*pyCNVnator //; s/Using.*\$//' ))
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -36,7 +37,7 @@ process CNVPYTOR_PARTITION {
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/^.*pyCNVnator //; s/Using.*\$//' ))
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
END_VERSIONS
|
END_VERSIONS
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,9 @@ input:
|
||||||
type: file
|
type: file
|
||||||
description: pytor file containing read depth data
|
description: pytor file containing read depth data
|
||||||
pattern: "*.{pytor}"
|
pattern: "*.{pytor}"
|
||||||
|
- bin_sizes:
|
||||||
|
type: string
|
||||||
|
description: list of binsizes separated by space e.g. "1000 10000" and "1000"
|
||||||
|
|
||||||
output:
|
output:
|
||||||
- meta:
|
- meta:
|
||||||
|
@ -40,3 +43,4 @@ output:
|
||||||
|
|
||||||
authors:
|
authors:
|
||||||
- "@sima-r"
|
- "@sima-r"
|
||||||
|
- "@ramprasadn"
|
||||||
|
|
60
modules/cnvpytor/view/main.nf
Normal file
60
modules/cnvpytor/view/main.nf
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
process CNVPYTOR_VIEW {
|
||||||
|
tag "$meta.id"
|
||||||
|
label 'process_medium'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "bioconda::cnvpytor=1.2.1" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/cnvpytor:1.2.1--pyhdfd78af_0':
|
||||||
|
'quay.io/biocontainers/cnvpytor:1.2.1--pyhdfd78af_0' }"
|
||||||
|
|
||||||
|
input:
|
||||||
|
tuple val(meta), path(pytor_files)
|
||||||
|
val bin_sizes
|
||||||
|
val output_format
|
||||||
|
|
||||||
|
output:
|
||||||
|
tuple val(meta), path("*.vcf"), emit: vcf , optional: true
|
||||||
|
tuple val(meta), path("*.tsv"), emit: tsv , optional: true
|
||||||
|
tuple val(meta), path("*.xls"), emit: xls , optional: true
|
||||||
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
|
when:
|
||||||
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
|
script:
|
||||||
|
def output_suffix = output_format ?: 'vcf'
|
||||||
|
def bins = bin_sizes ?: '1000'
|
||||||
|
def input = pytor_files.join(" ")
|
||||||
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
|
"""
|
||||||
|
|
||||||
|
python3 <<CODE
|
||||||
|
import cnvpytor,os
|
||||||
|
binsizes = "${bins}".split(" ")
|
||||||
|
for binsize in binsizes:
|
||||||
|
file_list = "${input}".split(" ")
|
||||||
|
app = cnvpytor.Viewer(file_list, params={} )
|
||||||
|
outputfile = "{}_{}.{}".format("${prefix}",binsize.strip(),"${output_suffix}")
|
||||||
|
app.print_filename = outputfile
|
||||||
|
app.bin_size = int(binsize)
|
||||||
|
app.print_calls_file()
|
||||||
|
CODE
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
|
||||||
|
stub:
|
||||||
|
def output_suffix = output_format ?: 'vcf'
|
||||||
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
|
"""
|
||||||
|
touch ${prefix}.${output_suffix}
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
cnvpytor: \$(echo \$(cnvpytor --version 2>&1) | sed 's/CNVpytor //' ))
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
56
modules/cnvpytor/view/meta.yml
Normal file
56
modules/cnvpytor/view/meta.yml
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
name: cnvpytor_view
|
||||||
|
description: view function to generate vcfs
|
||||||
|
keywords:
|
||||||
|
- cnv calling
|
||||||
|
tools:
|
||||||
|
- cnvpytor:
|
||||||
|
description: calling CNVs using read depth
|
||||||
|
homepage: https://github.com/abyzovlab/CNVpytor
|
||||||
|
documentation: https://github.com/abyzovlab/CNVpytor
|
||||||
|
tool_dev_url: https://github.com/abyzovlab/CNVpytor
|
||||||
|
doi: "10.1101/2021.01.27.428472v1"
|
||||||
|
licence: ["MIT"]
|
||||||
|
|
||||||
|
input:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test' ]
|
||||||
|
- pytor_files:
|
||||||
|
type: file
|
||||||
|
description: pytor file containing cnv calls. To merge calls from multiple samples use a list of files.
|
||||||
|
pattern: "*.{pytor}"
|
||||||
|
- bin_sizes:
|
||||||
|
type: string
|
||||||
|
description: list of binsizes separated by space e.g. "1000 10000" and "1000"
|
||||||
|
- output_format:
|
||||||
|
type: string
|
||||||
|
description: output format of the cnv calls. Valid entries are "tsv", "vcf", and "xls"
|
||||||
|
|
||||||
|
output:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test' ]
|
||||||
|
- tsv:
|
||||||
|
type: file
|
||||||
|
description: tsv file containing cnv calls
|
||||||
|
pattern: "*.{tsv}"
|
||||||
|
- vcf:
|
||||||
|
type: file
|
||||||
|
description: vcf file containing cnv calls
|
||||||
|
pattern: "*.{vcf}"
|
||||||
|
- xls:
|
||||||
|
type: file
|
||||||
|
description: xls file containing cnv calls
|
||||||
|
pattern: "*.{xls}"
|
||||||
|
- versions:
|
||||||
|
type: file
|
||||||
|
description: File containing software versions
|
||||||
|
pattern: "versions.yml"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@sima-r"
|
||||||
|
- "@ramprasadn"
|
|
@ -8,13 +8,14 @@ LABEL \
|
||||||
COPY environment.yml /
|
COPY environment.yml /
|
||||||
RUN conda env create -f /environment.yml && conda clean -a
|
RUN conda env create -f /environment.yml && conda clean -a
|
||||||
|
|
||||||
# Add conda installation dir to PATH (instead of doing 'conda activate')
|
|
||||||
ENV PATH /opt/conda/envs/nf-core-vep-104.3/bin:$PATH
|
|
||||||
|
|
||||||
# Setup default ARG variables
|
# Setup default ARG variables
|
||||||
ARG GENOME=GRCh38
|
ARG GENOME=GRCh38
|
||||||
ARG SPECIES=homo_sapiens
|
ARG SPECIES=homo_sapiens
|
||||||
ARG VEP_VERSION=99
|
ARG VEP_VERSION=104
|
||||||
|
ARG VEP_TAG=104.3
|
||||||
|
|
||||||
|
# Add conda installation dir to PATH (instead of doing 'conda activate')
|
||||||
|
ENV PATH /opt/conda/envs/nf-core-vep-${VEP_TAG}/bin:$PATH
|
||||||
|
|
||||||
# Download Genome
|
# Download Genome
|
||||||
RUN vep_install \
|
RUN vep_install \
|
||||||
|
@ -27,4 +28,4 @@ RUN vep_install \
|
||||||
--NO_BIOPERL --NO_HTSLIB --NO_TEST --NO_UPDATE
|
--NO_BIOPERL --NO_HTSLIB --NO_TEST --NO_UPDATE
|
||||||
|
|
||||||
# Dump the details of the installed packages to a file for posterity
|
# Dump the details of the installed packages to a file for posterity
|
||||||
RUN conda env export --name nf-core-vep-104.3 > nf-core-vep-104.3.yml
|
RUN conda env export --name nf-core-vep-${VEP_TAG} > nf-core-vep-${VEP_TAG}.yml
|
||||||
|
|
|
@ -10,11 +10,12 @@ build_push() {
|
||||||
VEP_TAG=$4
|
VEP_TAG=$4
|
||||||
|
|
||||||
docker build \
|
docker build \
|
||||||
|
. \
|
||||||
-t nfcore/vep:${VEP_TAG}.${GENOME} \
|
-t nfcore/vep:${VEP_TAG}.${GENOME} \
|
||||||
software/vep/. \
|
|
||||||
--build-arg GENOME=${GENOME} \
|
--build-arg GENOME=${GENOME} \
|
||||||
--build-arg SPECIES=${SPECIES} \
|
--build-arg SPECIES=${SPECIES} \
|
||||||
--build-arg VEP_VERSION=${VEP_VERSION}
|
--build-arg VEP_VERSION=${VEP_VERSION} \
|
||||||
|
--build-arg VEP_TAG=${VEP_TAG}
|
||||||
|
|
||||||
docker push nfcore/vep:${VEP_TAG}.${GENOME}
|
docker push nfcore/vep:${VEP_TAG}.${GENOME}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ process ENSEMBLVEP {
|
||||||
val species
|
val species
|
||||||
val cache_version
|
val cache_version
|
||||||
path cache
|
path cache
|
||||||
|
path extra_files
|
||||||
|
|
||||||
output:
|
output:
|
||||||
tuple val(meta), path("*.ann.vcf"), emit: vcf
|
tuple val(meta), path("*.ann.vcf"), emit: vcf
|
||||||
|
|
|
@ -10,17 +10,6 @@ tools:
|
||||||
homepage: https://www.ensembl.org/info/docs/tools/vep/index.html
|
homepage: https://www.ensembl.org/info/docs/tools/vep/index.html
|
||||||
documentation: https://www.ensembl.org/info/docs/tools/vep/script/index.html
|
documentation: https://www.ensembl.org/info/docs/tools/vep/script/index.html
|
||||||
licence: ["Apache-2.0"]
|
licence: ["Apache-2.0"]
|
||||||
params:
|
|
||||||
- use_cache:
|
|
||||||
type: boolean
|
|
||||||
description: |
|
|
||||||
Enable the usage of containers with cache
|
|
||||||
Does not work with conda
|
|
||||||
- vep_tag:
|
|
||||||
type: value
|
|
||||||
description: |
|
|
||||||
Specify the tag for the container
|
|
||||||
https://hub.docker.com/r/nfcore/vep/tags
|
|
||||||
input:
|
input:
|
||||||
- meta:
|
- meta:
|
||||||
type: map
|
type: map
|
||||||
|
@ -47,6 +36,10 @@ input:
|
||||||
type: file
|
type: file
|
||||||
description: |
|
description: |
|
||||||
path to VEP cache (optional)
|
path to VEP cache (optional)
|
||||||
|
- extra_files:
|
||||||
|
type: tuple
|
||||||
|
description: |
|
||||||
|
path to file(s) needed for plugins (optional)
|
||||||
output:
|
output:
|
||||||
- vcf:
|
- vcf:
|
||||||
type: file
|
type: file
|
||||||
|
|
|
@ -18,7 +18,9 @@ process KRONA_KRONADB {
|
||||||
script:
|
script:
|
||||||
def args = task.ext.args ?: ''
|
def args = task.ext.args ?: ''
|
||||||
"""
|
"""
|
||||||
ktUpdateTaxonomy.sh taxonomy
|
ktUpdateTaxonomy.sh \\
|
||||||
|
$args \\
|
||||||
|
taxonomy/
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
|
|
|
@ -23,7 +23,10 @@ process KRONA_KTIMPORTTAXONOMY {
|
||||||
script:
|
script:
|
||||||
def args = task.ext.args ?: ''
|
def args = task.ext.args ?: ''
|
||||||
"""
|
"""
|
||||||
ktImportTaxonomy "$report" -tax taxonomy
|
ktImportTaxonomy \\
|
||||||
|
$args \\
|
||||||
|
-tax taxonomy/ \\
|
||||||
|
"$report"
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
|
|
|
@ -23,8 +23,11 @@ input:
|
||||||
Groovy Map containing sample information
|
Groovy Map containing sample information
|
||||||
e.g. [ id:'test']
|
e.g. [ id:'test']
|
||||||
- database:
|
- database:
|
||||||
type: path
|
type: file
|
||||||
description: "Path to the taxonomy database downloaded by krona/kronadb"
|
description: |
|
||||||
|
Path to the taxonomy database .tab file downloaded by krona/ktUpdateTaxonomy
|
||||||
|
The file will be saved under a folder named "taxonomy" as "taxonomy/taxonomy.tab".
|
||||||
|
The parent folder will be passed as argument to ktImportTaxonomy.
|
||||||
- report:
|
- report:
|
||||||
type: file
|
type: file
|
||||||
description: "A tab-delimited file with taxonomy IDs and (optionally) query IDs, magnitudes, and scores. Query IDs are taken from column 1, taxonomy IDs from column 2, and scores from column 3. Lines beginning with # will be ignored."
|
description: "A tab-delimited file with taxonomy IDs and (optionally) query IDs, magnitudes, and scores. Query IDs are taken from column 1, taxonomy IDs from column 2, and scores from column 3. Lines beginning with # will be ignored."
|
||||||
|
|
30
modules/krona/ktupdatetaxonomy/main.nf
Normal file
30
modules/krona/ktupdatetaxonomy/main.nf
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
def VERSION='2.7.1' // Version information not provided by tool on CLI
|
||||||
|
|
||||||
|
process KRONA_KTUPDATETAXONOMY {
|
||||||
|
label 'process_low'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "bioconda::krona=2.7.1" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/krona:2.7.1--pl526_5' :
|
||||||
|
'quay.io/biocontainers/krona:2.7.1--pl526_5' }"
|
||||||
|
|
||||||
|
output:
|
||||||
|
path 'taxonomy/taxonomy.tab', emit: db
|
||||||
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
|
when:
|
||||||
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
|
script:
|
||||||
|
def args = task.ext.args ?: ''
|
||||||
|
"""
|
||||||
|
ktUpdateTaxonomy.sh \\
|
||||||
|
$args \\
|
||||||
|
taxonomy/
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
krona: $VERSION
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
31
modules/krona/ktupdatetaxonomy/meta.yml
Normal file
31
modules/krona/ktupdatetaxonomy/meta.yml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
name: krona_ktupdatetaxonomy
|
||||||
|
description: KronaTools Update Taxonomy downloads a taxonomy database
|
||||||
|
keywords:
|
||||||
|
- database
|
||||||
|
- taxonomy
|
||||||
|
- krona
|
||||||
|
- visualisation
|
||||||
|
tools:
|
||||||
|
- krona:
|
||||||
|
description: Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.
|
||||||
|
homepage: https://github.com/marbl/Krona/wiki/KronaTools
|
||||||
|
documentation: https://github.com/marbl/Krona/wiki/Installing
|
||||||
|
tool_dev_url:
|
||||||
|
doi: https://doi.org/10.1186/1471-2105-12-385
|
||||||
|
licence:
|
||||||
|
|
||||||
|
input:
|
||||||
|
- none: There is no input. This module downloads a pre-built taxonomy database for use with Krona Tools.
|
||||||
|
|
||||||
|
output:
|
||||||
|
- versions:
|
||||||
|
type: file
|
||||||
|
description: File containing software versions
|
||||||
|
pattern: "versions.yml"
|
||||||
|
- db:
|
||||||
|
type: file
|
||||||
|
description: A TAB separated file that contains a taxonomy database.
|
||||||
|
pattern: "*.{tab}"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@mjakobs"
|
35
modules/md5sum/main.nf
Normal file
35
modules/md5sum/main.nf
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
process MD5SUM {
|
||||||
|
tag "$meta.id"
|
||||||
|
label 'process_low'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "conda-forge::coreutils=9.1" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/ubuntu:20.04' :
|
||||||
|
'ubuntu:20.04' }"
|
||||||
|
|
||||||
|
input:
|
||||||
|
tuple val(meta), path(file)
|
||||||
|
|
||||||
|
output:
|
||||||
|
tuple val(meta), path("*.md5"), emit: checksum
|
||||||
|
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}"
|
||||||
|
|
||||||
|
"""
|
||||||
|
md5sum \\
|
||||||
|
$args \\
|
||||||
|
${file} \\
|
||||||
|
> ${file}.md5
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
md5sum: \$(echo \$(md5sum --version 2>&1 | head -n 1| sed 's/^.*) //;' ))
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
39
modules/md5sum/meta.yml
Normal file
39
modules/md5sum/meta.yml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
name: "md5sum"
|
||||||
|
description: Create an MD5 (128-bit) checksum
|
||||||
|
keywords:
|
||||||
|
- checksum
|
||||||
|
tools:
|
||||||
|
- "md5sum":
|
||||||
|
description: Create an MD5 (128-bit) checksum
|
||||||
|
homepage: "https://www.gnu.org"
|
||||||
|
documentation: "https://man7.org/linux/man-pages/man1/md5sum.1.html"
|
||||||
|
licence: GPLv3+
|
||||||
|
|
||||||
|
input:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- file:
|
||||||
|
type: file
|
||||||
|
description: Any file
|
||||||
|
pattern: "*.*"
|
||||||
|
|
||||||
|
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"
|
||||||
|
- checksum:
|
||||||
|
type: file
|
||||||
|
description: File containing checksum
|
||||||
|
pattern: "*.md5"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@matthdsm"
|
39
modules/motus/downloaddb/main.nf
Normal file
39
modules/motus/downloaddb/main.nf
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
process MOTUS_DOWNLOADDB {
|
||||||
|
label 'process_low'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "bioconda::motus=3.0.1" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/motus:3.0.1--pyhdfd78af_0':
|
||||||
|
'quay.io/biocontainers/motus:3.0.1--pyhdfd78af_0' }"
|
||||||
|
|
||||||
|
input:
|
||||||
|
path motus_downloaddb_script
|
||||||
|
|
||||||
|
output:
|
||||||
|
path "db_mOTU/" , emit: db
|
||||||
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
|
when:
|
||||||
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
|
script:
|
||||||
|
def args = task.ext.args ?: ''
|
||||||
|
def software = "${motus_downloaddb_script.simpleName}_copy.py"
|
||||||
|
"""
|
||||||
|
## must copy script file to working directory,
|
||||||
|
## otherwise the reference_db will be download to bin folder
|
||||||
|
## other than current directory
|
||||||
|
cp $motus_downloaddb_script ${software}
|
||||||
|
python ${software} \\
|
||||||
|
$args \\
|
||||||
|
-t $task.cpus
|
||||||
|
|
||||||
|
## mOTUs version number is not available from command line.
|
||||||
|
## mOTUs save the version number in index database folder.
|
||||||
|
## mOTUs will check the database version is same version as exec version.
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
mOTUs: \$(grep motus db_mOTU/db_mOTU_versions | sed 's/motus\\t//g')
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
39
modules/motus/downloaddb/meta.yml
Normal file
39
modules/motus/downloaddb/meta.yml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
name: "motus_downloaddb"
|
||||||
|
description: Download the mOTUs database
|
||||||
|
keywords:
|
||||||
|
- classify
|
||||||
|
- metagenomics
|
||||||
|
- fastq
|
||||||
|
- taxonomic profiling
|
||||||
|
- database
|
||||||
|
- download
|
||||||
|
tools:
|
||||||
|
- "motus":
|
||||||
|
description: "The mOTU profiler is a computational tool that estimates relative taxonomic abundance of known and currently unknown microbial community members using metagenomic shotgun sequencing data."
|
||||||
|
homepage: "None"
|
||||||
|
documentation: "https://github.com/motu-tool/mOTUs/wiki"
|
||||||
|
tool_dev_url: "https://github.com/motu-tool/mOTUs"
|
||||||
|
doi: "10.1038/s41467-019-08844-4"
|
||||||
|
licence: "['GPL v3']"
|
||||||
|
|
||||||
|
input:
|
||||||
|
- motus_downloaddb:
|
||||||
|
type: directory
|
||||||
|
description: |
|
||||||
|
The mOTUs downloadDB script source file.
|
||||||
|
It is the source file installed or
|
||||||
|
remote source in github such as https://raw.githubusercontent.com/motu-tool/mOTUs/master/motus/downloadDB.py
|
||||||
|
pattern: "downloadDB.py"
|
||||||
|
|
||||||
|
output:
|
||||||
|
- versions:
|
||||||
|
type: file
|
||||||
|
description: File containing software versions
|
||||||
|
pattern: "versions.yml"
|
||||||
|
- db:
|
||||||
|
type: directory
|
||||||
|
description: The mOTUs database directory
|
||||||
|
pattern: "db_mOTU"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@jianhong"
|
|
@ -45,7 +45,7 @@ process SAMTOOLS_BAM2FQ {
|
||||||
bam2fq \\
|
bam2fq \\
|
||||||
$args \\
|
$args \\
|
||||||
-@ $task.cpus \\
|
-@ $task.cpus \\
|
||||||
$inputbam >${prefix}_interleaved.fq.gz
|
$inputbam | gzip --no-name > ${prefix}_interleaved.fq.gz
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
|
|
35
modules/shasum/main.nf
Normal file
35
modules/shasum/main.nf
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
process SHASUM {
|
||||||
|
tag "$meta.id"
|
||||||
|
label 'process_low'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "conda-forge::coreutils=9.1" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/ubuntu:20.04' :
|
||||||
|
'ubuntu:20.04' }"
|
||||||
|
|
||||||
|
input:
|
||||||
|
tuple val(meta), path(file)
|
||||||
|
|
||||||
|
output:
|
||||||
|
tuple val(meta), path("*.sha256"), emit: checksum
|
||||||
|
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}"
|
||||||
|
|
||||||
|
"""
|
||||||
|
sha256sum \\
|
||||||
|
$args \\
|
||||||
|
${file} \\
|
||||||
|
> ${file}.sha256
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
sha256sum: \$(echo \$(sha256sum --version 2>&1 | head -n 1| sed 's/^.*) //;' ))
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
40
modules/shasum/meta.yml
Normal file
40
modules/shasum/meta.yml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
name: "shasum"
|
||||||
|
description: Print SHA256 (256-bit) checksums.
|
||||||
|
keywords:
|
||||||
|
- checksum
|
||||||
|
- sha256
|
||||||
|
tools:
|
||||||
|
- "md5sum":
|
||||||
|
description: Create an SHA256 (256-bit) checksum.
|
||||||
|
homepage: "https://www.gnu.org"
|
||||||
|
documentation: "https://linux.die.net/man/1/shasum"
|
||||||
|
licence: GPLv3+
|
||||||
|
|
||||||
|
input:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- file:
|
||||||
|
type: file
|
||||||
|
description: Any file
|
||||||
|
pattern: "*.*"
|
||||||
|
|
||||||
|
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"
|
||||||
|
- checksum:
|
||||||
|
type: file
|
||||||
|
description: File containing checksum
|
||||||
|
pattern: "*.sha256"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@matthdsm"
|
|
@ -8,15 +8,16 @@ LABEL \
|
||||||
COPY environment.yml /
|
COPY environment.yml /
|
||||||
RUN conda env create -f /environment.yml && conda clean -a
|
RUN conda env create -f /environment.yml && conda clean -a
|
||||||
|
|
||||||
# Add conda installation dir to PATH (instead of doing 'conda activate')
|
|
||||||
ENV PATH /opt/conda/envs/nf-core-snpeff-5.0/bin:$PATH
|
|
||||||
|
|
||||||
# Setup default ARG variables
|
# Setup default ARG variables
|
||||||
ARG GENOME=GRCh38
|
ARG GENOME=GRCh38
|
||||||
ARG SNPEFF_CACHE_VERSION=99
|
ARG SNPEFF_CACHE_VERSION=99
|
||||||
|
ARG SNPEFF_TAG=99
|
||||||
|
|
||||||
|
# Add conda installation dir to PATH (instead of doing 'conda activate')
|
||||||
|
ENV PATH /opt/conda/envs/nf-core-snpeff-${SNPEFF_TAG}/bin:$PATH
|
||||||
|
|
||||||
# Download Genome
|
# Download Genome
|
||||||
RUN snpEff download -v ${GENOME}.${SNPEFF_CACHE_VERSION}
|
RUN snpEff download -v ${GENOME}.${SNPEFF_CACHE_VERSION}
|
||||||
|
|
||||||
# Dump the details of the installed packages to a file for posterity
|
# Dump the details of the installed packages to a file for posterity
|
||||||
RUN conda env export --name nf-core-snpeff-5.0 > nf-core-snpeff-5.0.yml
|
RUN conda env export --name nf-core-snpeff-${SNPEFF_TAG} > nf-core-snpeff-${SNPEFF_TAG}.yml
|
||||||
|
|
5
modules/snpeff/build.sh
Executable file → Normal file
5
modules/snpeff/build.sh
Executable file → Normal file
|
@ -9,10 +9,11 @@ build_push() {
|
||||||
SNPEFF_TAG=$3
|
SNPEFF_TAG=$3
|
||||||
|
|
||||||
docker build \
|
docker build \
|
||||||
|
. \
|
||||||
-t nfcore/snpeff:${SNPEFF_TAG}.${GENOME} \
|
-t nfcore/snpeff:${SNPEFF_TAG}.${GENOME} \
|
||||||
software/snpeff/. \
|
|
||||||
--build-arg GENOME=${GENOME} \
|
--build-arg GENOME=${GENOME} \
|
||||||
--build-arg SNPEFF_CACHE_VERSION=${SNPEFF_CACHE_VERSION}
|
--build-arg SNPEFF_CACHE_VERSION=${SNPEFF_CACHE_VERSION} \
|
||||||
|
--build-arg SNPEFF_TAG=${SNPEFF_TAG}
|
||||||
|
|
||||||
docker push nfcore/snpeff:${SNPEFF_TAG}.${GENOME}
|
docker push nfcore/snpeff:${SNPEFF_TAG}.${GENOME}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,18 +10,6 @@ tools:
|
||||||
homepage: https://pcingola.github.io/SnpEff/
|
homepage: https://pcingola.github.io/SnpEff/
|
||||||
documentation: https://pcingola.github.io/SnpEff/se_introduction/
|
documentation: https://pcingola.github.io/SnpEff/se_introduction/
|
||||||
licence: ["MIT"]
|
licence: ["MIT"]
|
||||||
params:
|
|
||||||
- use_cache:
|
|
||||||
type: boolean
|
|
||||||
description: |
|
|
||||||
boolean to enable the usage of containers with cache
|
|
||||||
Enable the usage of containers with cache
|
|
||||||
Does not work with conda
|
|
||||||
- snpeff_tag:
|
|
||||||
type: value
|
|
||||||
description: |
|
|
||||||
Specify the tag for the container
|
|
||||||
https://hub.docker.com/r/nfcore/snpeff/tags
|
|
||||||
input:
|
input:
|
||||||
- meta:
|
- meta:
|
||||||
type: map
|
type: map
|
||||||
|
|
|
@ -2,10 +2,10 @@ process SVDB_MERGE {
|
||||||
tag "$meta.id"
|
tag "$meta.id"
|
||||||
label 'process_medium'
|
label 'process_medium'
|
||||||
|
|
||||||
conda (params.enable_conda ? "bioconda::svdb=2.6.0" : null)
|
conda (params.enable_conda ? "bioconda::svdb=2.6.1" : 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/svdb:2.6.0--py39h5371cbf_0':
|
'https://depot.galaxyproject.org/singularity/svdb:2.6.1--py39h5371cbf_0':
|
||||||
'quay.io/biocontainers/svdb:2.6.0--py39h5371cbf_0' }"
|
'quay.io/biocontainers/svdb:2.6.1--py39h5371cbf_0' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(vcfs)
|
tuple val(meta), path(vcfs)
|
||||||
|
|
|
@ -2,10 +2,10 @@ process SVDB_QUERY {
|
||||||
tag "$meta.id"
|
tag "$meta.id"
|
||||||
label 'process_medium'
|
label 'process_medium'
|
||||||
|
|
||||||
conda (params.enable_conda ? "bioconda::svdb=2.6.0" : null)
|
conda (params.enable_conda ? "bioconda::svdb=2.6.1" : 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/svdb:2.6.0--py39h5371cbf_0':
|
'https://depot.galaxyproject.org/singularity/svdb:2.6.1--py39h5371cbf_0':
|
||||||
'quay.io/biocontainers/svdb:2.6.0--py39h5371cbf_0' }"
|
'quay.io/biocontainers/svdb:2.6.1--py39h5371cbf_0' }"
|
||||||
|
|
||||||
input:
|
input:
|
||||||
tuple val(meta), path(vcf)
|
tuple val(meta), path(vcf)
|
||||||
|
|
31
subworkflows/nf-core/annotation/ensemblvep/main.nf
Normal file
31
subworkflows/nf-core/annotation/ensemblvep/main.nf
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
//
|
||||||
|
// Run VEP to annotate VCF files
|
||||||
|
//
|
||||||
|
|
||||||
|
include { ENSEMBLVEP } from '../../../../modules/ensemblvep/main'
|
||||||
|
include { TABIX_BGZIPTABIX } from '../../../../modules/tabix/bgziptabix/main'
|
||||||
|
|
||||||
|
workflow ANNOTATION_ENSEMBLVEP {
|
||||||
|
take:
|
||||||
|
vcf // channel: [ val(meta), vcf ]
|
||||||
|
vep_genome // value: genome to use
|
||||||
|
vep_species // value: species to use
|
||||||
|
vep_cache_version // value: cache version to use
|
||||||
|
vep_cache // path: /path/to/vep/cache (optionnal)
|
||||||
|
vep_extra_files // channel: [ file1, file2...] (optionnal)
|
||||||
|
|
||||||
|
main:
|
||||||
|
ch_versions = Channel.empty()
|
||||||
|
|
||||||
|
ENSEMBLVEP(vcf, vep_genome, vep_species, vep_cache_version, vep_cache, vep_extra_files)
|
||||||
|
TABIX_BGZIPTABIX(ENSEMBLVEP.out.vcf)
|
||||||
|
|
||||||
|
// Gather versions of all tools used
|
||||||
|
ch_versions = ch_versions.mix(ENSEMBLVEP.out.versions.first())
|
||||||
|
ch_versions = ch_versions.mix(TABIX_BGZIPTABIX.out.versions.first())
|
||||||
|
|
||||||
|
emit:
|
||||||
|
vcf_tbi = TABIX_BGZIPTABIX.out.gz_tbi // channel: [ val(meta), vcf.gz, vcf.gz.tbi ]
|
||||||
|
reports = ENSEMBLVEP.out.report // path: *.html
|
||||||
|
versions = ch_versions // path: versions.yml
|
||||||
|
}
|
49
subworkflows/nf-core/annotation/ensemblvep/meta.yml
Normal file
49
subworkflows/nf-core/annotation/ensemblvep/meta.yml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
name: annotation_ensemblvep
|
||||||
|
description: |
|
||||||
|
Perform annotation with ensemblvep and bgzip + tabix index the resulting VCF file
|
||||||
|
keywords:
|
||||||
|
- ensemblvep
|
||||||
|
modules:
|
||||||
|
- ensemblvep
|
||||||
|
- tabix/bgziptabix
|
||||||
|
input:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- vcf:
|
||||||
|
type: file
|
||||||
|
description: |
|
||||||
|
vcf to annotate
|
||||||
|
- genome:
|
||||||
|
type: value
|
||||||
|
description: |
|
||||||
|
which genome to annotate with
|
||||||
|
- species:
|
||||||
|
type: value
|
||||||
|
description: |
|
||||||
|
which species to annotate with
|
||||||
|
- cache_version:
|
||||||
|
type: value
|
||||||
|
description: |
|
||||||
|
which version of the cache to annotate with
|
||||||
|
- cache:
|
||||||
|
type: file
|
||||||
|
description: |
|
||||||
|
path to VEP cache (optional)
|
||||||
|
- extra_files:
|
||||||
|
type: tuple
|
||||||
|
description: |
|
||||||
|
path to file(s) needed for plugins (optional)
|
||||||
|
output:
|
||||||
|
- versions:
|
||||||
|
type: file
|
||||||
|
description: File containing software versions
|
||||||
|
pattern: "versions.yml"
|
||||||
|
- vcf_tbi:
|
||||||
|
type: file
|
||||||
|
description: Compressed vcf file + tabix index
|
||||||
|
pattern: "[ *{.vcf.gz,vcf.gz.tbi} ]"
|
||||||
|
authors:
|
||||||
|
- "@maxulysse"
|
28
subworkflows/nf-core/annotation/snpeff/main.nf
Normal file
28
subworkflows/nf-core/annotation/snpeff/main.nf
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
//
|
||||||
|
// Run SNPEFF to annotate VCF files
|
||||||
|
//
|
||||||
|
|
||||||
|
include { SNPEFF } from '../../../../modules/snpeff/main'
|
||||||
|
include { TABIX_BGZIPTABIX } from '../../../../modules/tabix/bgziptabix/main'
|
||||||
|
|
||||||
|
workflow ANNOTATION_SNPEFF {
|
||||||
|
take:
|
||||||
|
vcf // channel: [ val(meta), vcf ]
|
||||||
|
snpeff_db // value: db version to use
|
||||||
|
snpeff_cache // path: /path/to/snpeff/cache (optionnal)
|
||||||
|
|
||||||
|
main:
|
||||||
|
ch_versions = Channel.empty()
|
||||||
|
|
||||||
|
SNPEFF(vcf, snpeff_db, snpeff_cache)
|
||||||
|
TABIX_BGZIPTABIX(SNPEFF.out.vcf)
|
||||||
|
|
||||||
|
// Gather versions of all tools used
|
||||||
|
ch_versions = ch_versions.mix(SNPEFF.out.versions.first())
|
||||||
|
ch_versions = ch_versions.mix(TABIX_BGZIPTABIX.out.versions.first())
|
||||||
|
|
||||||
|
emit:
|
||||||
|
vcf_tbi = TABIX_BGZIPTABIX.out.gz_tbi // channel: [ val(meta), vcf.gz, vcf.gz.tbi ]
|
||||||
|
reports = SNPEFF.out.report // path: *.html
|
||||||
|
versions = ch_versions // path: versions.yml
|
||||||
|
}
|
|
@ -11,11 +11,19 @@ input:
|
||||||
type: map
|
type: map
|
||||||
description: |
|
description: |
|
||||||
Groovy Map containing sample information
|
Groovy Map containing sample information
|
||||||
e.g. [ id:'test' ]
|
e.g. [ id:'test', single_end:false ]
|
||||||
- input:
|
- vcf:
|
||||||
type: vcf
|
type: file
|
||||||
description: list containing one vcf file
|
description: |
|
||||||
pattern: "[ *.{vcf,vcf.gz} ]"
|
vcf to annotate
|
||||||
|
- db:
|
||||||
|
type: value
|
||||||
|
description: |
|
||||||
|
which db to annotate with
|
||||||
|
- cache:
|
||||||
|
type: file
|
||||||
|
description: |
|
||||||
|
path to snpEff cache (optional)
|
||||||
output:
|
output:
|
||||||
- versions:
|
- versions:
|
||||||
type: file
|
type: file
|
|
@ -1,26 +0,0 @@
|
||||||
//
|
|
||||||
// Run VEP to annotate VCF files
|
|
||||||
//
|
|
||||||
|
|
||||||
include { ENSEMBLVEP } from '../../../modules/ensemblvep/main'
|
|
||||||
include { TABIX_BGZIPTABIX as ANNOTATION_BGZIPTABIX } from '../../../modules/tabix/bgziptabix/main'
|
|
||||||
|
|
||||||
workflow ANNOTATION_ENSEMBLVEP {
|
|
||||||
take:
|
|
||||||
vcf // channel: [ val(meta), vcf ]
|
|
||||||
vep_genome // value: which genome
|
|
||||||
vep_species // value: which species
|
|
||||||
vep_cache_version // value: which cache version
|
|
||||||
vep_cache // path: path_to_vep_cache (optionnal)
|
|
||||||
|
|
||||||
main:
|
|
||||||
ENSEMBLVEP(vcf, vep_genome, vep_species, vep_cache_version, vep_cache)
|
|
||||||
ANNOTATION_BGZIPTABIX(ENSEMBLVEP.out.vcf)
|
|
||||||
|
|
||||||
ch_versions = ENSEMBLVEP.out.versions.first().mix(ANNOTATION_BGZIPTABIX.out.versions.first())
|
|
||||||
|
|
||||||
emit:
|
|
||||||
vcf_tbi = ANNOTATION_BGZIPTABIX.out.gz_tbi // channel: [ val(meta), vcf.gz, vcf.gz.tbi ]
|
|
||||||
reports = ENSEMBLVEP.out.report // path: *.html
|
|
||||||
versions = ch_versions // path: versions.yml
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
name: annotation_ensemblvep
|
|
||||||
description: |
|
|
||||||
Perform annotation with ensemblvep and bgzip + tabix index the resulting VCF file
|
|
||||||
keywords:
|
|
||||||
- ensemblvep
|
|
||||||
modules:
|
|
||||||
- ensemblvep
|
|
||||||
- tabix/bgziptabix
|
|
||||||
input:
|
|
||||||
- meta:
|
|
||||||
type: map
|
|
||||||
description: |
|
|
||||||
Groovy Map containing sample information
|
|
||||||
e.g. [ id:'test' ]
|
|
||||||
- input:
|
|
||||||
type: vcf
|
|
||||||
description: list containing one vcf file
|
|
||||||
pattern: "[ *.{vcf,vcf.gz} ]"
|
|
||||||
output:
|
|
||||||
- versions:
|
|
||||||
type: file
|
|
||||||
description: File containing software versions
|
|
||||||
pattern: "versions.yml"
|
|
||||||
- vcf_tbi:
|
|
||||||
type: file
|
|
||||||
description: Compressed vcf file + tabix index
|
|
||||||
pattern: "[ *{.vcf.gz,vcf.gz.tbi} ]"
|
|
||||||
authors:
|
|
||||||
- "@maxulysse"
|
|
|
@ -1,23 +0,0 @@
|
||||||
//
|
|
||||||
// Run SNPEFF to annotate VCF files
|
|
||||||
//
|
|
||||||
|
|
||||||
include { SNPEFF } from '../../../modules/snpeff/main'
|
|
||||||
include { TABIX_BGZIPTABIX as ANNOTATION_BGZIPTABIX } from '../../../modules/tabix/bgziptabix/main'
|
|
||||||
|
|
||||||
workflow ANNOTATION_SNPEFF {
|
|
||||||
take:
|
|
||||||
vcf // channel: [ val(meta), vcf ]
|
|
||||||
snpeff_db // value: version of db to use
|
|
||||||
snpeff_cache // path: path_to_snpeff_cache (optionnal)
|
|
||||||
|
|
||||||
main:
|
|
||||||
SNPEFF(vcf, snpeff_db, snpeff_cache)
|
|
||||||
ANNOTATION_BGZIPTABIX(SNPEFF.out.vcf)
|
|
||||||
ch_versions = SNPEFF.out.versions.first().mix(ANNOTATION_BGZIPTABIX.out.versions.first())
|
|
||||||
|
|
||||||
emit:
|
|
||||||
vcf_tbi = ANNOTATION_BGZIPTABIX.out.gz_tbi // channel: [ val(meta), vcf.gz, vcf.gz.tbi ]
|
|
||||||
reports = SNPEFF.out.report // path: *.html
|
|
||||||
versions = ch_versions // path: versions.yml
|
|
||||||
}
|
|
|
@ -337,6 +337,10 @@ bracken/bracken:
|
||||||
- modules/bracken/bracken/**
|
- modules/bracken/bracken/**
|
||||||
- tests/modules/bracken/bracken/**
|
- tests/modules/bracken/bracken/**
|
||||||
|
|
||||||
|
busco:
|
||||||
|
- modules/busco/**
|
||||||
|
- tests/modules/busco/**
|
||||||
|
|
||||||
bwa/aln:
|
bwa/aln:
|
||||||
- modules/bwa/aln/**
|
- modules/bwa/aln/**
|
||||||
- tests/modules/bwa/aln/**
|
- tests/modules/bwa/aln/**
|
||||||
|
@ -1066,6 +1070,10 @@ krona/ktimporttext:
|
||||||
- modules/krona/ktimporttext/**
|
- modules/krona/ktimporttext/**
|
||||||
- tests/modules/krona/ktimporttext/**
|
- tests/modules/krona/ktimporttext/**
|
||||||
|
|
||||||
|
krona/ktupdatetaxonomy:
|
||||||
|
- modules/krona/ktupdatetaxonomy/**
|
||||||
|
- tests/modules/krona/ktupdatetaxonomy/**
|
||||||
|
|
||||||
last/dotplot:
|
last/dotplot:
|
||||||
- modules/last/dotplot/**
|
- modules/last/dotplot/**
|
||||||
- tests/modules/last/dotplot/**
|
- tests/modules/last/dotplot/**
|
||||||
|
@ -1186,6 +1194,10 @@ maxbin2:
|
||||||
- modules/maxbin2/**
|
- modules/maxbin2/**
|
||||||
- tests/modules/maxbin2/**
|
- tests/modules/maxbin2/**
|
||||||
|
|
||||||
|
md5sum:
|
||||||
|
- modules/md5sum/**
|
||||||
|
- tests/modules/md5sum/**
|
||||||
|
|
||||||
medaka:
|
medaka:
|
||||||
- modules/medaka/**
|
- modules/medaka/**
|
||||||
- tests/modules/medaka/**
|
- tests/modules/medaka/**
|
||||||
|
@ -1250,6 +1262,10 @@ mosdepth:
|
||||||
- modules/mosdepth/**
|
- modules/mosdepth/**
|
||||||
- tests/modules/mosdepth/**
|
- tests/modules/mosdepth/**
|
||||||
|
|
||||||
|
motus/downloaddb:
|
||||||
|
- modules/motus/downloaddb/**
|
||||||
|
- tests/modules/motus/downloaddb/**
|
||||||
|
|
||||||
msisensor/msi:
|
msisensor/msi:
|
||||||
- modules/msisensor/msi/**
|
- modules/msisensor/msi/**
|
||||||
- tests/modules/msisensor/msi/**
|
- tests/modules/msisensor/msi/**
|
||||||
|
@ -1731,6 +1747,10 @@ seqwish/induce:
|
||||||
- modules/seqwish/induce/**
|
- modules/seqwish/induce/**
|
||||||
- tests/modules/seqwish/induce/**
|
- tests/modules/seqwish/induce/**
|
||||||
|
|
||||||
|
shasum:
|
||||||
|
- modules/shasum/**
|
||||||
|
- tests/modules/shasum/**
|
||||||
|
|
||||||
shigatyper:
|
shigatyper:
|
||||||
- modules/shigatyper/**
|
- modules/shigatyper/**
|
||||||
- tests/modules/shigatyper/**
|
- tests/modules/shigatyper/**
|
||||||
|
|
|
@ -111,7 +111,9 @@ params {
|
||||||
test_sequencing_summary = "${test_data_dir}/genomics/sarscov2/nanopore/sequencing_summary/test.sequencing_summary.txt"
|
test_sequencing_summary = "${test_data_dir}/genomics/sarscov2/nanopore/sequencing_summary/test.sequencing_summary.txt"
|
||||||
}
|
}
|
||||||
'metagenome' {
|
'metagenome' {
|
||||||
|
classified_reads_assignment = "${test_data_dir}/genomics/sarscov2/metagenome/test_1.kraken2.reads.txt"
|
||||||
kraken_report = "${test_data_dir}/genomics/sarscov2/metagenome/test_1.kraken2.report.txt"
|
kraken_report = "${test_data_dir}/genomics/sarscov2/metagenome/test_1.kraken2.report.txt"
|
||||||
|
krona_taxonomy = "${test_data_dir}/genomics/sarscov2/metagenome/krona_taxonomy.tab"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'homo_sapiens' {
|
'homo_sapiens' {
|
||||||
|
|
404
tests/modules/busco/main.nf
Normal file
404
tests/modules/busco/main.nf
Normal file
|
@ -0,0 +1,404 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { BUSCO } from '../../../modules/busco/main.nf'
|
||||||
|
|
||||||
|
workflow test_busco_genome_single_fasta {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test' ], // meta map
|
||||||
|
file( params.test_data['bacteroides_fragilis']['genome']['genome_fna_gz'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
BUSCO (
|
||||||
|
input,
|
||||||
|
['bacteria_odb10', 'bacteroidetes_odb10'], // Launch with 'auto' to use --auto-lineage, and specified lineages // 'auto' removed from test due to memory issues
|
||||||
|
[], // Download busco lineage
|
||||||
|
[], // No config
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Output tree:
|
||||||
|
/tmp/tmpyz_hi62i/busco/
|
||||||
|
├── short_summary.specific.bacteria_odb10.genome.fna.json -> /tmp/tmpza_0dth3/33/7d8c9b2c8931d9ad6a67aa843895e7/short_summary.specific.bacteria_odb10.genome.fna.json
|
||||||
|
├── short_summary.specific.bacteria_odb10.genome.fna.txt -> /tmp/tmpza_0dth3/33/7d8c9b2c8931d9ad6a67aa843895e7/short_summary.specific.bacteria_odb10.genome.fna.txt
|
||||||
|
├── short_summary.specific.bacteroidetes_odb10.genome.fna.json -> /tmp/tmpza_0dth3/6a/e95a0cd21785ce33d63b8f73a68a51/short_summary.specific.bacteroidetes_odb10.genome.fna.json
|
||||||
|
├── short_summary.specific.bacteroidetes_odb10.genome.fna.txt -> /tmp/tmpza_0dth3/6a/e95a0cd21785ce33d63b8f73a68a51/short_summary.specific.bacteroidetes_odb10.genome.fna.txt
|
||||||
|
├── test-bacteria_odb10-busco -> /tmp/tmpza_0dth3/33/7d8c9b2c8931d9ad6a67aa843895e7/test-bacteria_odb10-busco/
|
||||||
|
│ ├── genome.fna/
|
||||||
|
│ │ ├── logs/
|
||||||
|
│ │ │ ├── hmmsearch_err.log
|
||||||
|
│ │ │ ├── hmmsearch_out.log
|
||||||
|
│ │ │ ├── prodigal_err.log
|
||||||
|
│ │ │ └── prodigal_out.log
|
||||||
|
│ │ ├── prodigal_output/
|
||||||
|
│ │ │ └── predicted_genes/
|
||||||
|
│ │ └── run_bacteria_odb10/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ ├── full_table.tsv
|
||||||
|
│ │ ├── hmmer_output/
|
||||||
|
│ │ ├── missing_busco_list.tsv
|
||||||
|
│ │ ├── short_summary.json
|
||||||
|
│ │ └── short_summary.txt
|
||||||
|
│ └── logs/
|
||||||
|
│ └── busco.log
|
||||||
|
├── test-bacteria_odb10-busco.batch_summary.txt -> /tmp/tmpza_0dth3/33/7d8c9b2c8931d9ad6a67aa843895e7/test-bacteria_odb10-busco.batch_summary.txt
|
||||||
|
├── test-bacteroidetes_odb10-busco -> /tmp/tmpza_0dth3/6a/e95a0cd21785ce33d63b8f73a68a51/test-bacteroidetes_odb10-busco/
|
||||||
|
│ ├── genome.fna/
|
||||||
|
│ │ ├── logs/
|
||||||
|
│ │ │ ├── hmmsearch_err.log
|
||||||
|
│ │ │ ├── hmmsearch_out.log
|
||||||
|
│ │ │ ├── prodigal_err.log
|
||||||
|
│ │ │ └── prodigal_out.log
|
||||||
|
│ │ ├── prodigal_output/
|
||||||
|
│ │ │ └── predicted_genes/
|
||||||
|
│ │ └── run_bacteroidetes_odb10/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ ├── full_table.tsv
|
||||||
|
│ │ ├── hmmer_output/
|
||||||
|
│ │ ├── missing_busco_list.tsv
|
||||||
|
│ │ ├── short_summary.json
|
||||||
|
│ │ └── short_summary.txt
|
||||||
|
│ └── logs/
|
||||||
|
│ └── busco.log
|
||||||
|
├── test-bacteroidetes_odb10-busco.batch_summary.txt -> /tmp/tmpza_0dth3/6a/e95a0cd21785ce33d63b8f73a68a51/test-bacteroidetes_odb10-busco.batch_summary.txt
|
||||||
|
└── versions.yml -> /tmp/tmpza_0dth3/6a/e95a0cd21785ce33d63b8f73a68a51/versions.yml
|
||||||
|
|
||||||
|
Former Output tree -w 'auto':
|
||||||
|
/tmp/tmp846crjv2/busco/
|
||||||
|
├── short_summary.generic.bacteria_odb10.genome.fna.json -> /tmp/tmpi6af66j1/18/8be22ecd7a71471ff5082bd512972b/short_summary.generic.bacteria_odb10.genome.fna.json
|
||||||
|
├── short_summary.generic.bacteria_odb10.genome.fna.txt -> /tmp/tmpi6af66j1/18/8be22ecd7a71471ff5082bd512972b/short_summary.generic.bacteria_odb10.genome.fna.txt
|
||||||
|
├── short_summary.specific.bacteria_odb10.genome.fna.json -> /tmp/tmpi6af66j1/45/107812e983a8e695c380ebc215e7d9/short_summary.specific.bacteria_odb10.genome.fna.json
|
||||||
|
├── short_summary.specific.bacteria_odb10.genome.fna.txt -> /tmp/tmpi6af66j1/45/107812e983a8e695c380ebc215e7d9/short_summary.specific.bacteria_odb10.genome.fna.txt
|
||||||
|
├── short_summary.specific.bacteroidales_odb10.genome.fna.json -> /tmp/tmpi6af66j1/18/8be22ecd7a71471ff5082bd512972b/short_summary.specific.bacteroidales_odb10.genome.fna.json
|
||||||
|
├── short_summary.specific.bacteroidales_odb10.genome.fna.txt -> /tmp/tmpi6af66j1/18/8be22ecd7a71471ff5082bd512972b/short_summary.specific.bacteroidales_odb10.genome.fna.txt
|
||||||
|
├── short_summary.specific.bacteroidetes_odb10.genome.fna.json -> /tmp/tmpi6af66j1/a2/eb4a34894f3ac5554759ad6c9f652b/short_summary.specific.bacteroidetes_odb10.genome.fna.json
|
||||||
|
├── short_summary.specific.bacteroidetes_odb10.genome.fna.txt -> /tmp/tmpi6af66j1/a2/eb4a34894f3ac5554759ad6c9f652b/short_summary.specific.bacteroidetes_odb10.genome.fna.txt
|
||||||
|
├── test-auto-busco -> /tmp/tmpi6af66j1/18/8be22ecd7a71471ff5082bd512972b/test-auto-busco/
|
||||||
|
│ ├── genome.fna/
|
||||||
|
│ │ ├── auto_lineage/
|
||||||
|
│ │ │ ├── run_archaea_odb10/
|
||||||
|
│ │ │ ├── run_bacteria_odb10/
|
||||||
|
│ │ │ └── run_eukaryota_odb10/
|
||||||
|
│ │ ├── logs/
|
||||||
|
│ │ │ ├── hmmsearch_err.log
|
||||||
|
│ │ │ ├── hmmsearch_out.log
|
||||||
|
│ │ │ ├── metaeuk_err.log
|
||||||
|
│ │ │ ├── metaeuk_out.log
|
||||||
|
│ │ │ ├── prodigal_err.log
|
||||||
|
│ │ │ ├── prodigal_out.log
|
||||||
|
│ │ │ ├── sepp_err.log
|
||||||
|
│ │ │ └── sepp_out.log
|
||||||
|
│ │ ├── prodigal_output/
|
||||||
|
│ │ │ └── predicted_genes/
|
||||||
|
│ │ ├── run_bacteria_odb10 -> /tmp/tmpi6af66j1/18/8be22ecd7a71471ff5082bd512972b/test-auto-busco/genome.fna/auto_lineage/run_bacteria_odb10/ [recursive, not followed]
|
||||||
|
│ │ └── run_bacteroidales_odb10/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ ├── full_table.tsv
|
||||||
|
│ │ ├── hmmer_output/
|
||||||
|
│ │ ├── missing_busco_list.tsv
|
||||||
|
│ │ ├── short_summary.json
|
||||||
|
│ │ └── short_summary.txt
|
||||||
|
│ └── logs/
|
||||||
|
│ └── busco.log
|
||||||
|
├── test-auto-busco.batch_summary.txt -> /tmp/tmpi6af66j1/18/8be22ecd7a71471ff5082bd512972b/test-auto-busco.batch_summary.txt
|
||||||
|
├── test-bacteria_odb10-busco -> /tmp/tmpi6af66j1/45/107812e983a8e695c380ebc215e7d9/test-bacteria_odb10-busco/
|
||||||
|
│ ├── genome.fna/
|
||||||
|
│ │ ├── logs/
|
||||||
|
│ │ │ ├── hmmsearch_err.log
|
||||||
|
│ │ │ ├── hmmsearch_out.log
|
||||||
|
│ │ │ ├── prodigal_err.log
|
||||||
|
│ │ │ └── prodigal_out.log
|
||||||
|
│ │ ├── prodigal_output/
|
||||||
|
│ │ │ └── predicted_genes/
|
||||||
|
│ │ └── run_bacteria_odb10/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ ├── full_table.tsv
|
||||||
|
│ │ ├── hmmer_output/
|
||||||
|
│ │ ├── missing_busco_list.tsv
|
||||||
|
│ │ ├── short_summary.json
|
||||||
|
│ │ └── short_summary.txt
|
||||||
|
│ └── logs/
|
||||||
|
│ └── busco.log
|
||||||
|
├── test-bacteria_odb10-busco.batch_summary.txt -> /tmp/tmpi6af66j1/45/107812e983a8e695c380ebc215e7d9/test-bacteria_odb10-busco.batch_summary.txt
|
||||||
|
├── test-bacteroidetes_odb10-busco -> /tmp/tmpi6af66j1/a2/eb4a34894f3ac5554759ad6c9f652b/test-bacteroidetes_odb10-busco/
|
||||||
|
│ ├── genome.fna/
|
||||||
|
│ │ ├── logs/
|
||||||
|
│ │ │ ├── hmmsearch_err.log
|
||||||
|
│ │ │ ├── hmmsearch_out.log
|
||||||
|
│ │ │ ├── prodigal_err.log
|
||||||
|
│ │ │ └── prodigal_out.log
|
||||||
|
│ │ ├── prodigal_output/
|
||||||
|
│ │ │ └── predicted_genes/
|
||||||
|
│ │ └── run_bacteroidetes_odb10/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ ├── full_table.tsv
|
||||||
|
│ │ ├── hmmer_output/
|
||||||
|
│ │ ├── missing_busco_list.tsv
|
||||||
|
│ │ ├── short_summary.json
|
||||||
|
│ │ └── short_summary.txt
|
||||||
|
│ └── logs/
|
||||||
|
│ └── busco.log
|
||||||
|
├── test-bacteroidetes_odb10-busco.batch_summary.txt -> /tmp/tmpi6af66j1/a2/eb4a34894f3ac5554759ad6c9f652b/test-bacteroidetes_odb10-busco.batch_summary.txt
|
||||||
|
└── versions.yml -> /tmp/tmpi6af66j1/18/8be22ecd7a71471ff5082bd512972b/versions.yml
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_busco_genome_multi_fasta {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test' ], // meta map
|
||||||
|
[
|
||||||
|
file( params.test_data['bacteroides_fragilis']['genome']['genome_fna_gz'], checkIfExists: true),
|
||||||
|
file( params.test_data['candidatus_portiera_aleyrodidarum']['genome']['genome_fasta'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
BUSCO (
|
||||||
|
input,
|
||||||
|
'bacteria_odb10',
|
||||||
|
[], // Download busco lineage
|
||||||
|
[], // No config
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Output tree:
|
||||||
|
/tmp/tmpk19byek7/busco/
|
||||||
|
├── short_summary.specific.bacteria_odb10.genome.fasta.json -> /tmp/tmplt9fv3tl/15/ff310a16d9ce7ad24e207a05ce718e/short_summary.specific.bacteria_odb10.genome.fasta.json
|
||||||
|
├── short_summary.specific.bacteria_odb10.genome.fasta.txt -> /tmp/tmplt9fv3tl/15/ff310a16d9ce7ad24e207a05ce718e/short_summary.specific.bacteria_odb10.genome.fasta.txt
|
||||||
|
├── short_summary.specific.bacteria_odb10.genome.fna.json -> /tmp/tmplt9fv3tl/15/ff310a16d9ce7ad24e207a05ce718e/short_summary.specific.bacteria_odb10.genome.fna.json
|
||||||
|
├── short_summary.specific.bacteria_odb10.genome.fna.txt -> /tmp/tmplt9fv3tl/15/ff310a16d9ce7ad24e207a05ce718e/short_summary.specific.bacteria_odb10.genome.fna.txt
|
||||||
|
├── test-bacteria_odb10-busco -> /tmp/tmplt9fv3tl/15/ff310a16d9ce7ad24e207a05ce718e/test-bacteria_odb10-busco/
|
||||||
|
│ ├── genome.fasta/
|
||||||
|
│ │ ├── logs/
|
||||||
|
│ │ │ ├── hmmsearch_err.log
|
||||||
|
│ │ │ ├── hmmsearch_out.log
|
||||||
|
│ │ │ ├── prodigal_err.log
|
||||||
|
│ │ │ └── prodigal_out.log
|
||||||
|
│ │ ├── prodigal_output/
|
||||||
|
│ │ │ └── predicted_genes/
|
||||||
|
│ │ └── run_bacteria_odb10/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ ├── full_table.tsv
|
||||||
|
│ │ ├── hmmer_output/
|
||||||
|
│ │ ├── missing_busco_list.tsv
|
||||||
|
│ │ ├── short_summary.json
|
||||||
|
│ │ └── short_summary.txt
|
||||||
|
│ ├── genome.fna/
|
||||||
|
│ │ ├── logs/
|
||||||
|
│ │ │ ├── hmmsearch_err.log
|
||||||
|
│ │ │ ├── hmmsearch_out.log
|
||||||
|
│ │ │ ├── prodigal_err.log
|
||||||
|
│ │ │ └── prodigal_out.log
|
||||||
|
│ │ ├── prodigal_output/
|
||||||
|
│ │ │ └── predicted_genes/
|
||||||
|
│ │ └── run_bacteria_odb10/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ ├── full_table.tsv
|
||||||
|
│ │ ├── hmmer_output/
|
||||||
|
│ │ ├── missing_busco_list.tsv
|
||||||
|
│ │ ├── short_summary.json
|
||||||
|
│ │ └── short_summary.txt
|
||||||
|
│ └── logs/
|
||||||
|
│ └── busco.log
|
||||||
|
├── test-bacteria_odb10-busco.batch_summary.txt -> /tmp/tmplt9fv3tl/15/ff310a16d9ce7ad24e207a05ce718e/test-bacteria_odb10-busco.batch_summary.txt
|
||||||
|
└── versions.yml -> /tmp/tmplt9fv3tl/15/ff310a16d9ce7ad24e207a05ce718e/versions.yml
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_busco_eukaryote_metaeuk {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test' ], // meta map
|
||||||
|
file( params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
BUSCO (
|
||||||
|
input,
|
||||||
|
'eukaryota_odb10',
|
||||||
|
[], // Download busco lineage
|
||||||
|
[], // No config
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Output tree:
|
||||||
|
/tmp/tmpeq4dsir5/busco/
|
||||||
|
├── short_summary.specific.eukaryota_odb10.genome.fasta.json -> /tmp/tmp60hby2pk/6f/529873d91cda6bae3a4a6a21746aee/short_summary.specific.eukaryota_odb10.genome.fasta.json
|
||||||
|
├── short_summary.specific.eukaryota_odb10.genome.fasta.txt -> /tmp/tmp60hby2pk/6f/529873d91cda6bae3a4a6a21746aee/short_summary.specific.eukaryota_odb10.genome.fasta.txt
|
||||||
|
├── test-eukaryota_odb10-busco -> /tmp/tmp60hby2pk/6f/529873d91cda6bae3a4a6a21746aee/test-eukaryota_odb10-busco/
|
||||||
|
│ ├── genome.fasta/
|
||||||
|
│ │ ├── logs/
|
||||||
|
│ │ │ ├── hmmsearch_err.log
|
||||||
|
│ │ │ ├── hmmsearch_out.log
|
||||||
|
│ │ │ ├── metaeuk_err.log
|
||||||
|
│ │ │ └── metaeuk_out.log
|
||||||
|
│ │ └── run_eukaryota_odb10/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ ├── full_table.tsv
|
||||||
|
│ │ ├── hmmer_output/
|
||||||
|
│ │ ├── metaeuk_output/
|
||||||
|
│ │ ├── missing_busco_list.tsv
|
||||||
|
│ │ ├── short_summary.json
|
||||||
|
│ │ └── short_summary.txt
|
||||||
|
│ └── logs/
|
||||||
|
│ └── busco.log
|
||||||
|
├── test-eukaryota_odb10-busco.batch_summary.txt -> /tmp/tmp60hby2pk/6f/529873d91cda6bae3a4a6a21746aee/test-eukaryota_odb10-busco.batch_summary.txt
|
||||||
|
└── versions.yml -> /tmp/tmp60hby2pk/6f/529873d91cda6bae3a4a6a21746aee/versions.yml
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_busco_eukaryote_augustus {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test' ], // meta map
|
||||||
|
file( params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
BUSCO (
|
||||||
|
input,
|
||||||
|
'eukaryota_odb10',
|
||||||
|
[], // Download busco lineage
|
||||||
|
[], // No config
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Output tree:
|
||||||
|
/tmp/tmp2xqaygjj/busco/
|
||||||
|
├── test-eukaryota_odb10-busco -> /tmp/tmpjqs61x9o/3f/67cc14e873c0ceb45e2a27594d624c/test-eukaryota_odb10-busco/
|
||||||
|
│ ├── genome.fasta/
|
||||||
|
│ │ ├── blast_db/
|
||||||
|
│ │ │ ├── genome.fasta.ndb
|
||||||
|
│ │ │ ├── genome.fasta.nhr
|
||||||
|
│ │ │ ├── genome.fasta.nin
|
||||||
|
│ │ │ ├── genome.fasta.not
|
||||||
|
│ │ │ ├── genome.fasta.nsq
|
||||||
|
│ │ │ ├── genome.fasta.ntf
|
||||||
|
│ │ │ └── genome.fasta.nto
|
||||||
|
│ │ ├── logs/
|
||||||
|
│ │ │ ├── makeblastdb_err.log
|
||||||
|
│ │ │ ├── makeblastdb_out.log
|
||||||
|
│ │ │ ├── tblastn_err.log
|
||||||
|
│ │ │ └── tblastn_out.log
|
||||||
|
│ │ └── run_eukaryota_odb10/
|
||||||
|
│ │ ├── augustus_output/
|
||||||
|
│ │ ├── blast_output/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ └── hmmer_output/
|
||||||
|
│ └── logs/
|
||||||
|
│ └── busco.log
|
||||||
|
├── test-eukaryota_odb10-busco.batch_summary.txt -> /tmp/tmpjqs61x9o/3f/67cc14e873c0ceb45e2a27594d624c/test-eukaryota_odb10-busco.batch_summary.txt
|
||||||
|
└── versions.yml -> /tmp/tmpjqs61x9o/3f/67cc14e873c0ceb45e2a27594d624c/versions.yml
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_busco_protein {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test' ], // meta map
|
||||||
|
file( params.test_data['candidatus_portiera_aleyrodidarum']['genome']['proteome_fasta'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
BUSCO (
|
||||||
|
input,
|
||||||
|
'bacteria_odb10',
|
||||||
|
[], // Download busco lineage
|
||||||
|
[], // No config
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Output tree:
|
||||||
|
/tmp/tmpzwd5dn56/busco/
|
||||||
|
├── short_summary.specific.bacteria_odb10.proteome.fasta.json -> /tmp/tmpk1nlgbf_/ae/0db07b5cd08fb23d0aba5f134ebbe2/short_summary.specific.bacteria_odb10.proteome.fasta.json
|
||||||
|
├── short_summary.specific.bacteria_odb10.proteome.fasta.txt -> /tmp/tmpk1nlgbf_/ae/0db07b5cd08fb23d0aba5f134ebbe2/short_summary.specific.bacteria_odb10.proteome.fasta.txt
|
||||||
|
├── test-bacteria_odb10-busco -> /tmp/tmpk1nlgbf_/ae/0db07b5cd08fb23d0aba5f134ebbe2/test-bacteria_odb10-busco/
|
||||||
|
│ ├── logs/
|
||||||
|
│ │ └── busco.log
|
||||||
|
│ └── proteome.fasta/
|
||||||
|
│ ├── logs/
|
||||||
|
│ │ ├── hmmsearch_err.log
|
||||||
|
│ │ └── hmmsearch_out.log
|
||||||
|
│ └── run_bacteria_odb10/
|
||||||
|
│ ├── busco_sequences/
|
||||||
|
│ ├── full_table.tsv
|
||||||
|
│ ├── hmmer_output/
|
||||||
|
│ ├── missing_busco_list.tsv
|
||||||
|
│ ├── short_summary.json
|
||||||
|
│ └── short_summary.txt
|
||||||
|
├── test-bacteria_odb10-busco.batch_summary.txt -> /tmp/tmpk1nlgbf_/ae/0db07b5cd08fb23d0aba5f134ebbe2/test-bacteria_odb10-busco.batch_summary.txt
|
||||||
|
└── versions.yml -> /tmp/tmpk1nlgbf_/ae/0db07b5cd08fb23d0aba5f134ebbe2/versions.yml
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
workflow test_busco_transcriptome {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test' ], // meta map
|
||||||
|
file( params.test_data['bacteroides_fragilis']['illumina']['test1_contigs_fa_gz'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
BUSCO (
|
||||||
|
input,
|
||||||
|
'bacteria_odb10',
|
||||||
|
[], // Download busco lineage
|
||||||
|
[], // No config
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Output tree:
|
||||||
|
/tmp/tmpitjyvo9g/busco/
|
||||||
|
├── short_summary.specific.bacteria_odb10.test1.contigs.fa.json -> /tmp/tmp6wqi0eyx/4f/ed0b23f0fc807bb68091298845c135/short_summary.specific.bacteria_odb10.test1.contigs.fa.json
|
||||||
|
├── short_summary.specific.bacteria_odb10.test1.contigs.fa.txt -> /tmp/tmp6wqi0eyx/4f/ed0b23f0fc807bb68091298845c135/short_summary.specific.bacteria_odb10.test1.contigs.fa.txt
|
||||||
|
├── test-bacteria_odb10-busco -> /tmp/tmp6wqi0eyx/4f/ed0b23f0fc807bb68091298845c135/test-bacteria_odb10-busco/
|
||||||
|
│ ├── logs/
|
||||||
|
│ │ └── busco.log
|
||||||
|
│ └── test1.contigs.fa/
|
||||||
|
│ ├── blast_db/
|
||||||
|
│ │ ├── test1.contigs.fa.ndb
|
||||||
|
│ │ ├── test1.contigs.fa.nhr
|
||||||
|
│ │ ├── test1.contigs.fa.nin
|
||||||
|
│ │ ├── test1.contigs.fa.not
|
||||||
|
│ │ ├── test1.contigs.fa.nsq
|
||||||
|
│ │ ├── test1.contigs.fa.ntf
|
||||||
|
│ │ └── test1.contigs.fa.nto
|
||||||
|
│ ├── logs/
|
||||||
|
│ │ ├── hmmsearch_err.log
|
||||||
|
│ │ ├── hmmsearch_out.log
|
||||||
|
│ │ ├── makeblastdb_err.log
|
||||||
|
│ │ ├── makeblastdb_out.log
|
||||||
|
│ │ ├── tblastn_err.log
|
||||||
|
│ │ └── tblastn_out.log
|
||||||
|
│ ├── run_bacteria_odb10/
|
||||||
|
│ │ ├── blast_output/
|
||||||
|
│ │ ├── busco_sequences/
|
||||||
|
│ │ ├── full_table.tsv
|
||||||
|
│ │ ├── hmmer_output/
|
||||||
|
│ │ ├── missing_busco_list.tsv
|
||||||
|
│ │ ├── short_summary.json
|
||||||
|
│ │ ├── short_summary.txt
|
||||||
|
│ │ └── single_copy_proteins.faa
|
||||||
|
│ └── translated_proteins/
|
||||||
|
│ ├── 1024388at2.faa
|
||||||
|
│ ├── 1054741at2.faa
|
||||||
|
│ ├── 1093223at2.faa
|
||||||
|
│ ├── 1151822at2.faa
|
||||||
|
│ ├── 143460at2.faa
|
||||||
|
│ ├── 1491686at2.faa
|
||||||
|
│ ├── 1504821at2.faa
|
||||||
|
│ ├── 1574817at2.faa
|
||||||
|
│ ├── 1592033at2.faa
|
||||||
|
│ ├── 1623045at2.faa
|
||||||
|
│ ├── 1661836at2.faa
|
||||||
|
│ ├── 1674344at2.faa
|
||||||
|
│ ├── 1698718at2.faa
|
||||||
|
│ ├── 1990650at2.faa
|
||||||
|
│ ├── 223233at2.faa
|
||||||
|
│ ├── 402899at2.faa
|
||||||
|
│ ├── 505485at2.faa
|
||||||
|
│ ├── 665824at2.faa
|
||||||
|
│ ├── 776861at2.faa
|
||||||
|
│ ├── 874197at2.faa
|
||||||
|
│ ├── 932854at2.faa
|
||||||
|
│ └── 95696at2.faa
|
||||||
|
├── test-bacteria_odb10-busco.batch_summary.txt -> /tmp/tmp6wqi0eyx/4f/ed0b23f0fc807bb68091298845c135/test-bacteria_odb10-busco.batch_summary.txt
|
||||||
|
└── versions.yml -> /tmp/tmp6wqi0eyx/4f/ed0b23f0fc807bb68091298845c135/versions.yml
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
28
tests/modules/busco/nextflow.config
Normal file
28
tests/modules/busco/nextflow.config
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
process {
|
||||||
|
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
|
||||||
|
withName: 'test_busco_genome_single_fasta:BUSCO' {
|
||||||
|
ext.args = '--mode genome'
|
||||||
|
}
|
||||||
|
|
||||||
|
withName: 'test_busco_genome_multi_fasta:BUSCO' {
|
||||||
|
ext.args = '--mode genome'
|
||||||
|
}
|
||||||
|
|
||||||
|
withName: 'test_busco_eukaryote_metaeuk:BUSCO' {
|
||||||
|
ext.args = '--mode genome'
|
||||||
|
}
|
||||||
|
|
||||||
|
withName: 'test_busco_eukaryote_augustus:BUSCO' {
|
||||||
|
ext.args = '--mode genome --augustus'
|
||||||
|
}
|
||||||
|
|
||||||
|
withName: 'test_busco_protein:BUSCO' {
|
||||||
|
ext.args = '--mode proteins'
|
||||||
|
}
|
||||||
|
|
||||||
|
withName: 'test_busco_transcriptome:BUSCO'{
|
||||||
|
ext.args = '--mode transcriptome'
|
||||||
|
}
|
||||||
|
}
|
159
tests/modules/busco/test.yml
Normal file
159
tests/modules/busco/test.yml
Normal file
|
@ -0,0 +1,159 @@
|
||||||
|
- name: busco test_busco_genome_single_fasta
|
||||||
|
command: nextflow run tests/modules/busco -entry test_busco_genome_single_fasta -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- busco
|
||||||
|
files:
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.genome.fna.json
|
||||||
|
contains:
|
||||||
|
- "one_line_summary"
|
||||||
|
- "input_file"
|
||||||
|
- "mode"
|
||||||
|
- "dataset"
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.genome.fna.txt
|
||||||
|
contains:
|
||||||
|
- "BUSCO version"
|
||||||
|
- "The lineage dataset is"
|
||||||
|
- "BUSCO was run in mode"
|
||||||
|
- "Complete BUSCOs"
|
||||||
|
- "Missing BUSCOs"
|
||||||
|
- "Dependencies and versions"
|
||||||
|
- path: output/busco/short_summary.specific.bacteroidetes_odb10.genome.fna.json
|
||||||
|
contains:
|
||||||
|
- "one_line_summary"
|
||||||
|
- "input_file"
|
||||||
|
- "mode"
|
||||||
|
- "dataset"
|
||||||
|
- path: output/busco/short_summary.specific.bacteroidetes_odb10.genome.fna.txt
|
||||||
|
contains:
|
||||||
|
- "BUSCO version"
|
||||||
|
- "The lineage dataset is"
|
||||||
|
- "BUSCO was run in mode"
|
||||||
|
- "Complete BUSCOs"
|
||||||
|
- "Missing BUSCOs"
|
||||||
|
- "Dependencies and versions"
|
||||||
|
- path: output/busco/test-bacteria_odb10-busco.batch_summary.txt
|
||||||
|
md5sum: e50690742e9ae6abdd2bf99334ff9e12
|
||||||
|
- path: output/busco/test-bacteroidetes_odb10-busco.batch_summary.txt
|
||||||
|
md5sum: 4c1b2c4317c88398eddc30877ed740d9
|
||||||
|
- path: output/busco/versions.yml
|
||||||
|
md5sum: 8aa830f71587d859df35c6cfab59f35d
|
||||||
|
|
||||||
|
- name: busco test_busco_genome_multi_fasta
|
||||||
|
command: nextflow run tests/modules/busco -entry test_busco_genome_multi_fasta -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- busco
|
||||||
|
files:
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.genome.fasta.json
|
||||||
|
contains:
|
||||||
|
- "one_line_summary"
|
||||||
|
- "input_file"
|
||||||
|
- "mode"
|
||||||
|
- "dataset"
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.genome.fasta.txt
|
||||||
|
contains:
|
||||||
|
- "BUSCO version"
|
||||||
|
- "The lineage dataset is"
|
||||||
|
- "BUSCO was run in mode"
|
||||||
|
- "Complete BUSCOs"
|
||||||
|
- "Missing BUSCOs"
|
||||||
|
- "Dependencies and versions"
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.genome.fna.json
|
||||||
|
contains:
|
||||||
|
- "one_line_summary"
|
||||||
|
- "input_file"
|
||||||
|
- "mode"
|
||||||
|
- "dataset"
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.genome.fna.txt
|
||||||
|
contains:
|
||||||
|
- "BUSCO version"
|
||||||
|
- "The lineage dataset is"
|
||||||
|
- "BUSCO was run in mode"
|
||||||
|
- "Complete BUSCOs"
|
||||||
|
- "Missing BUSCOs"
|
||||||
|
- "Dependencies and versions"
|
||||||
|
- path: output/busco/test-bacteria_odb10-busco.batch_summary.txt
|
||||||
|
md5sum: 5360dfe83bec1f5741ee115e53e6b517
|
||||||
|
- path: output/busco/versions.yml
|
||||||
|
md5sum: 9a959eb0a1f765777dff1ea2f5c139c0
|
||||||
|
|
||||||
|
- name: busco test_busco_eukaryote_metaeuk
|
||||||
|
command: nextflow run tests/modules/busco -entry test_busco_eukaryote_metaeuk -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- busco
|
||||||
|
files:
|
||||||
|
- path: output/busco/short_summary.specific.eukaryota_odb10.genome.fasta.json
|
||||||
|
contains:
|
||||||
|
- "one_line_summary"
|
||||||
|
- "input_file"
|
||||||
|
- "mode"
|
||||||
|
- "dataset"
|
||||||
|
- path: output/busco/short_summary.specific.eukaryota_odb10.genome.fasta.txt
|
||||||
|
contains:
|
||||||
|
- "BUSCO version"
|
||||||
|
- "The lineage dataset is"
|
||||||
|
- "BUSCO was run in mode"
|
||||||
|
- "Complete BUSCOs"
|
||||||
|
- "Missing BUSCOs"
|
||||||
|
- "Dependencies and versions"
|
||||||
|
- path: output/busco/test-eukaryota_odb10-busco.batch_summary.txt
|
||||||
|
md5sum: a70806f99ba5706d7353d3353b3f1d2b
|
||||||
|
- path: output/busco/versions.yml
|
||||||
|
md5sum: 34a808c257e6db1b0456f3b4372bc477
|
||||||
|
|
||||||
|
- name: busco test_busco_eukaryote_augustus
|
||||||
|
command: nextflow run tests/modules/busco -entry test_busco_eukaryote_augustus -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- busco
|
||||||
|
files:
|
||||||
|
- path: output/busco/test-eukaryota_odb10-busco.batch_summary.txt
|
||||||
|
md5sum: 660393dd43cd6a093b952d4b8ad41e40
|
||||||
|
- path: output/busco/versions.yml
|
||||||
|
md5sum: 2caac915461410b16a1524ac064cd0df
|
||||||
|
|
||||||
|
- name: busco test_busco_protein
|
||||||
|
command: nextflow run tests/modules/busco -entry test_busco_protein -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- busco
|
||||||
|
files:
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.proteome.fasta.json
|
||||||
|
contains:
|
||||||
|
- "one_line_summary"
|
||||||
|
- "input_file"
|
||||||
|
- "mode"
|
||||||
|
- "dataset"
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.proteome.fasta.txt
|
||||||
|
contains:
|
||||||
|
- "BUSCO version"
|
||||||
|
- "The lineage dataset is"
|
||||||
|
- "BUSCO was run in mode"
|
||||||
|
- "Complete BUSCOs"
|
||||||
|
- "Missing BUSCOs"
|
||||||
|
- "Dependencies and versions"
|
||||||
|
- path: output/busco/test-bacteria_odb10-busco.batch_summary.txt
|
||||||
|
md5sum: fd3b4e30ce74d1fcb95d6286d6e2049f
|
||||||
|
- path: output/busco/versions.yml
|
||||||
|
md5sum: d7392261a57960a7e6aea609dce824f5
|
||||||
|
|
||||||
|
- name: busco test_busco_transcriptome
|
||||||
|
command: nextflow run tests/modules/busco -entry test_busco_transcriptome -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- busco
|
||||||
|
files:
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.test1.contigs.fa.json
|
||||||
|
contains:
|
||||||
|
- "one_line_summary"
|
||||||
|
- "input_file"
|
||||||
|
- "mode"
|
||||||
|
- "dataset"
|
||||||
|
- path: output/busco/short_summary.specific.bacteria_odb10.test1.contigs.fa.txt
|
||||||
|
contains:
|
||||||
|
- "BUSCO version"
|
||||||
|
- "The lineage dataset is"
|
||||||
|
- "BUSCO was run in mode"
|
||||||
|
- "Complete BUSCOs"
|
||||||
|
- "Missing BUSCOs"
|
||||||
|
- "Dependencies and versions"
|
||||||
|
- path: output/busco/test-bacteria_odb10-busco.batch_summary.txt
|
||||||
|
md5sum: 9a176cafe66ac0adca89dc34ad2be13f
|
||||||
|
- path: output/busco/versions.yml
|
||||||
|
md5sum: 30eacbc7df70f6b1e72e0a7b6d02a7e1
|
|
@ -4,10 +4,8 @@
|
||||||
- cnvpytor
|
- cnvpytor
|
||||||
- cnvpytor/callcnvs
|
- cnvpytor/callcnvs
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.tsv
|
- path: output/cnvpytor/test.pytor
|
||||||
md5sum: d41d8cd98f00b204e9800998ecf8427e
|
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: 0bea08a253fcb2ff0ff79b99df77b9fa
|
|
||||||
|
|
||||||
- name: cnvpytor callcnvs test_cnvpytor_callcnvs stub
|
- name: cnvpytor callcnvs test_cnvpytor_callcnvs stub
|
||||||
command: nextflow run tests/modules/cnvpytor/callcnvs -entry test_cnvpytor_callcnvs -c tests/config/nextflow.config -stub-run
|
command: nextflow run tests/modules/cnvpytor/callcnvs -entry test_cnvpytor_callcnvs -c tests/config/nextflow.config -stub-run
|
||||||
|
@ -15,6 +13,5 @@
|
||||||
- cnvpytor
|
- cnvpytor
|
||||||
- cnvpytor/callcnvs
|
- cnvpytor/callcnvs
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.tsv
|
- path: output/cnvpytor/test.pytor
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: 0bea08a253fcb2ff0ff79b99df77b9fa
|
|
||||||
|
|
|
@ -5,9 +5,7 @@
|
||||||
- cnvpytor/histogram
|
- cnvpytor/histogram
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.pytor
|
- path: output/cnvpytor/test.pytor
|
||||||
md5sum: aa03a8fa15b39f77816705a48e10312a
|
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: 0f4d75c4f3a3eb26c22616d12b0b78b2
|
|
||||||
|
|
||||||
- name: cnvpytor histogram test_cnvpytor_histogram stub
|
- name: cnvpytor histogram test_cnvpytor_histogram stub
|
||||||
command: nextflow run tests/modules/cnvpytor/histogram -entry test_cnvpytor_histogram -c tests/config/nextflow.config -stub-run
|
command: nextflow run tests/modules/cnvpytor/histogram -entry test_cnvpytor_histogram -c tests/config/nextflow.config -stub-run
|
||||||
|
@ -17,4 +15,3 @@
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.pytor
|
- path: output/cnvpytor/test.pytor
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: 0f4d75c4f3a3eb26c22616d12b0b78b2
|
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.pytor
|
- path: output/cnvpytor/test.pytor
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: 5834495324c08a37f3fd73ccdd881dc8
|
|
||||||
|
|
||||||
- name: cnvpytor importreaddepth test_cnvpytor_importreaddepth stub
|
- name: cnvpytor importreaddepth test_cnvpytor_importreaddepth stub
|
||||||
command: nextflow run tests/modules/cnvpytor/importreaddepth -entry test_cnvpytor_importreaddepth -c tests/config/nextflow.config -stub-run
|
command: nextflow run tests/modules/cnvpytor/importreaddepth -entry test_cnvpytor_importreaddepth -c tests/config/nextflow.config -stub-run
|
||||||
|
@ -16,7 +15,6 @@
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.pytor
|
- path: output/cnvpytor/test.pytor
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: 5834495324c08a37f3fd73ccdd881dc8
|
|
||||||
|
|
||||||
- name: cnvpytor importreaddepth test_cnvpytor_importreaddepth_cram
|
- name: cnvpytor importreaddepth test_cnvpytor_importreaddepth_cram
|
||||||
command: nextflow run tests/modules/cnvpytor/importreaddepth -entry test_cnvpytor_importreaddepth_cram -c tests/config/nextflow.config
|
command: nextflow run tests/modules/cnvpytor/importreaddepth -entry test_cnvpytor_importreaddepth_cram -c tests/config/nextflow.config
|
||||||
|
@ -26,7 +24,6 @@
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.pytor
|
- path: output/cnvpytor/test.pytor
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: dfa0afb0982d985b96d1633f71ebb82a
|
|
||||||
|
|
||||||
- name: cnvpytor importreaddepth test_cnvpytor_importreaddepth_cram stub
|
- name: cnvpytor importreaddepth test_cnvpytor_importreaddepth_cram stub
|
||||||
command: nextflow run tests/modules/cnvpytor/importreaddepth -entry test_cnvpytor_importreaddepth_cram -c tests/config/nextflow.config -stub-run
|
command: nextflow run tests/modules/cnvpytor/importreaddepth -entry test_cnvpytor_importreaddepth_cram -c tests/config/nextflow.config -stub-run
|
||||||
|
@ -36,4 +33,3 @@
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.pytor
|
- path: output/cnvpytor/test.pytor
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: dfa0afb0982d985b96d1633f71ebb82a
|
|
||||||
|
|
|
@ -5,9 +5,7 @@
|
||||||
- cnvpytor/partition
|
- cnvpytor/partition
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.pytor
|
- path: output/cnvpytor/test.pytor
|
||||||
md5sum: aa03a8fa15b39f77816705a48e10312a
|
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: 7fd6ec952a316463bcd324f176b46b64
|
|
||||||
|
|
||||||
- name: cnvpytor partition test_cnvpytor_partition stub
|
- name: cnvpytor partition test_cnvpytor_partition stub
|
||||||
command: nextflow run tests/modules/cnvpytor/partition -entry test_cnvpytor_partition -c tests/config/nextflow.config -stub-run
|
command: nextflow run tests/modules/cnvpytor/partition -entry test_cnvpytor_partition -c tests/config/nextflow.config -stub-run
|
||||||
|
@ -17,4 +15,3 @@
|
||||||
files:
|
files:
|
||||||
- path: output/cnvpytor/test.pytor
|
- path: output/cnvpytor/test.pytor
|
||||||
- path: output/cnvpytor/versions.yml
|
- path: output/cnvpytor/versions.yml
|
||||||
md5sum: 7fd6ec952a316463bcd324f176b46b64
|
|
||||||
|
|
42
tests/modules/cnvpytor/view/main.nf
Normal file
42
tests/modules/cnvpytor/view/main.nf
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { CNVPYTOR_VIEW } from '../../../../modules/cnvpytor/view/main.nf'
|
||||||
|
|
||||||
|
workflow test_cnvpytor_view {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test'], // meta map
|
||||||
|
[file(params.test_data['homo_sapiens']['illumina']['test_pytor'], checkIfExists: true)]
|
||||||
|
]
|
||||||
|
|
||||||
|
bin_sizes = "10000 100000"
|
||||||
|
|
||||||
|
CNVPYTOR_VIEW ( input, bin_sizes, [] )
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_cnvpytor_view_tsvout {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test'], // meta map
|
||||||
|
[file(params.test_data['homo_sapiens']['illumina']['test_pytor'], checkIfExists: true)]
|
||||||
|
]
|
||||||
|
|
||||||
|
output_suffix = "tsv"
|
||||||
|
|
||||||
|
CNVPYTOR_VIEW ( input, [], output_suffix )
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_cnvpytor_view_stub {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test'], // meta map
|
||||||
|
[file(params.test_data['homo_sapiens']['illumina']['test_pytor'], checkIfExists: true)]
|
||||||
|
]
|
||||||
|
|
||||||
|
bin_sizes = []
|
||||||
|
output_suffix = []
|
||||||
|
|
||||||
|
CNVPYTOR_VIEW ( input, bin_sizes, output_suffix )
|
||||||
|
}
|
7
tests/modules/cnvpytor/view/nextflow.config
Normal file
7
tests/modules/cnvpytor/view/nextflow.config
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
process {
|
||||||
|
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
withName: CNVPYTOR_VIEW {
|
||||||
|
ext.args = '10000 100000'
|
||||||
|
}
|
||||||
|
}
|
27
tests/modules/cnvpytor/view/test.yml
Normal file
27
tests/modules/cnvpytor/view/test.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
- name: cnvpytor view test_cnvpytor_view
|
||||||
|
command: nextflow run tests/modules/cnvpytor/view -entry test_cnvpytor_view -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- cnvpytor
|
||||||
|
- cnvpytor/view
|
||||||
|
files:
|
||||||
|
- path: output/cnvpytor/test_10000.vcf
|
||||||
|
- path: output/cnvpytor/test_100000.vcf
|
||||||
|
- path: output/cnvpytor/versions.yml
|
||||||
|
|
||||||
|
- name: cnvpytor view test_cnvpytor_view tsv
|
||||||
|
command: nextflow run tests/modules/cnvpytor/view -entry test_cnvpytor_view_tsvout -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- cnvpytor
|
||||||
|
- cnvpytor/view
|
||||||
|
files:
|
||||||
|
- path: output/cnvpytor/test_1000.tsv
|
||||||
|
- path: output/cnvpytor/versions.yml
|
||||||
|
|
||||||
|
- name: cnvpytor view test_cnvpytor_view stub
|
||||||
|
command: nextflow run tests/modules/cnvpytor/view -entry test_cnvpytor_view_stub -c tests/config/nextflow.config -stub-run
|
||||||
|
tags:
|
||||||
|
- cnvpytor
|
||||||
|
- cnvpytor/view
|
||||||
|
files:
|
||||||
|
- path: output/cnvpytor/test.vcf
|
||||||
|
- path: output/cnvpytor/versions.yml
|
|
@ -10,5 +10,5 @@ workflow test_ensemblvep {
|
||||||
file(params.test_data['sarscov2']['illumina']['test_vcf'], checkIfExists: true)
|
file(params.test_data['sarscov2']['illumina']['test_vcf'], checkIfExists: true)
|
||||||
]
|
]
|
||||||
|
|
||||||
ENSEMBLVEP ( input, "WBcel235", "caenorhabditis_elegans", "104", [] )
|
ENSEMBLVEP ( input, "WBcel235", "caenorhabditis_elegans", "104", [], [] )
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,15 +2,27 @@
|
||||||
|
|
||||||
nextflow.enable.dsl = 2
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
include { KRONA_KTIMPORTTAXONOMY } from '../../../../modules/krona/ktimporttaxonomy/main.nf'
|
include { KRONA_KTIMPORTTAXONOMY as KRONA_KTIMPORTTAXONOMY_READS } from '../../../../modules/krona/ktimporttaxonomy/main.nf'
|
||||||
|
include { KRONA_KTIMPORTTAXONOMY as KRONA_KTIMPORTTAXONOMY_REPORT } from '../../../../modules/krona/ktimporttaxonomy/main.nf'
|
||||||
|
|
||||||
workflow test_krona_ktimporttaxonomy {
|
workflow test_krona_ktimporttaxonomy_reads {
|
||||||
|
|
||||||
input = [
|
input = [
|
||||||
[ id:'test', single_end:false ], // meta map
|
[ id:'test', single_end:false ], // meta map
|
||||||
file(params.test_data['generic']['txt']['hello'], checkIfExists: true)
|
file(params.test_data['sarscov2']['metagenome']['classified_reads_assignment'], checkIfExists: true)
|
||||||
]
|
]
|
||||||
taxonomy = file(params.test_data['generic']['txt']['hello'], checkIfExists: true)
|
taxonomy = file(params.test_data['sarscov2']['metagenome']['krona_taxonomy'], checkIfExists: true)
|
||||||
|
|
||||||
KRONA_KTIMPORTTAXONOMY ( input, taxonomy )
|
KRONA_KTIMPORTTAXONOMY_READS ( input, taxonomy )
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_krona_ktimporttaxonomy_report {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test', single_end:false ], // meta map
|
||||||
|
file(params.test_data['sarscov2']['metagenome']['kraken_report'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
taxonomy = file(params.test_data['sarscov2']['metagenome']['krona_taxonomy'], checkIfExists: true)
|
||||||
|
|
||||||
|
KRONA_KTIMPORTTAXONOMY_REPORT ( input, taxonomy )
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,4 +2,12 @@ process {
|
||||||
|
|
||||||
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
|
||||||
|
withName: KRONA_KTIMPORTTAXONOMY_READS {
|
||||||
|
ext.args = '-t 3'
|
||||||
|
}
|
||||||
|
|
||||||
|
withName: KRONA_KTIMPORTTAXONOMY_REPORT {
|
||||||
|
ext.args = '-m 3 -t 5'
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,23 @@
|
||||||
- name: krona ktimporttaxonomy test_krona_ktimporttaxonomy
|
- name: krona ktimporttaxonomy test_krona_ktimporttaxonomy_reads
|
||||||
command: nextflow run ./tests/modules/krona/ktimporttaxonomy -entry test_krona_ktimporttaxonomy -c ./tests/config/nextflow.config -c ./tests/modules/krona/ktimporttaxonomy/nextflow.config
|
command: nextflow run tests/modules/krona/ktimporttaxonomy -entry test_krona_ktimporttaxonomy_reads -c tests/config/nextflow.config
|
||||||
tags:
|
tags:
|
||||||
- krona/ktimporttaxonomy
|
|
||||||
- krona
|
- krona
|
||||||
|
- krona/ktimporttaxonomy
|
||||||
files:
|
files:
|
||||||
- path: output/krona/taxonomy.krona.html
|
- path: output/krona/taxonomy.krona.html
|
||||||
contains:
|
contains:
|
||||||
- "DOCTYPE html PUBLIC"
|
- "DOCTYPE html PUBLIC"
|
||||||
|
- path: output/krona/versions.yml
|
||||||
|
md5sum: 660a8c151191bf4c63bd96db2c7fe503
|
||||||
|
|
||||||
|
- name: krona ktimporttaxonomy test_krona_ktimporttaxonomy_report
|
||||||
|
command: nextflow run tests/modules/krona/ktimporttaxonomy -entry test_krona_ktimporttaxonomy_report -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- krona
|
||||||
|
- krona/ktimporttaxonomy
|
||||||
|
files:
|
||||||
|
- path: output/krona/taxonomy.krona.html
|
||||||
|
contains:
|
||||||
|
- "DOCTYPE html PUBLIC"
|
||||||
|
- path: output/krona/versions.yml
|
||||||
|
md5sum: 8a593c16bb2d4132638fb0fc342fe2b7
|
||||||
|
|
9
tests/modules/krona/ktupdatetaxonomy/main.nf
Normal file
9
tests/modules/krona/ktupdatetaxonomy/main.nf
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { KRONA_KTUPDATETAXONOMY } from '../../../../modules/krona/ktupdatetaxonomy/main.nf'
|
||||||
|
|
||||||
|
workflow test_krona_ktupdatetaxonomy {
|
||||||
|
KRONA_KTUPDATETAXONOMY ( )
|
||||||
|
}
|
5
tests/modules/krona/ktupdatetaxonomy/nextflow.config
Normal file
5
tests/modules/krona/ktupdatetaxonomy/nextflow.config
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
process {
|
||||||
|
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
|
||||||
|
}
|
7
tests/modules/krona/ktupdatetaxonomy/test.yml
Normal file
7
tests/modules/krona/ktupdatetaxonomy/test.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
- name: krona ktupdatetaxonomy test_krona_ktupdatetaxonomy
|
||||||
|
command: nextflow run ./tests/modules/krona/ktupdatetaxonomy -entry test_krona_ktupdatetaxonomy -c ./tests/config/nextflow.config -c ./tests/modules/krona/ktupdatetaxonomy/nextflow.config
|
||||||
|
tags:
|
||||||
|
- krona
|
||||||
|
- krona/ktupdatetaxonomy
|
||||||
|
files:
|
||||||
|
- path: output/krona/taxonomy/taxonomy.tab
|
15
tests/modules/md5sum/main.nf
Normal file
15
tests/modules/md5sum/main.nf
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { MD5SUM } from '../../../modules/md5sum/main.nf'
|
||||||
|
|
||||||
|
workflow test_md5sum {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test', single_end:false ], // meta map
|
||||||
|
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
MD5SUM ( input )
|
||||||
|
}
|
3
tests/modules/md5sum/nextflow.config
Normal file
3
tests/modules/md5sum/nextflow.config
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
process {
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
}
|
8
tests/modules/md5sum/test.yml
Normal file
8
tests/modules/md5sum/test.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
- name: md5sum test_md5sum
|
||||||
|
command: nextflow run tests/modules/md5sum -entry test_md5sum -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- md5sum
|
||||||
|
files:
|
||||||
|
- path: output/md5sum/test.paired_end.bam.md5
|
||||||
|
md5sum: 1163095be8fdfb2acb3cc6c027389c4b
|
||||||
|
- path: output/md5sum/versions.yml
|
12
tests/modules/motus/downloaddb/main.nf
Normal file
12
tests/modules/motus/downloaddb/main.nf
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { MOTUS_DOWNLOADDB } from '../../../../modules/motus/downloaddb/main.nf'
|
||||||
|
|
||||||
|
workflow test_motus_downloaddb {
|
||||||
|
|
||||||
|
input = file('https://raw.githubusercontent.com/motu-tool/mOTUs/master/motus/downloadDB.py')
|
||||||
|
|
||||||
|
MOTUS_DOWNLOADDB ( input )
|
||||||
|
}
|
5
tests/modules/motus/downloaddb/nextflow.config
Normal file
5
tests/modules/motus/downloaddb/nextflow.config
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
process {
|
||||||
|
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
|
||||||
|
}
|
7
tests/modules/motus/downloaddb/test.yml
Normal file
7
tests/modules/motus/downloaddb/test.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
- name: motus downloaddb test_motus_downloaddb
|
||||||
|
command: nextflow run tests/modules/motus/downloaddb -entry test_motus_downloaddb -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- motus
|
||||||
|
- motus/downloaddb
|
||||||
|
files:
|
||||||
|
- path: output/motus/db_mOTU/db_mOTU_versions
|
|
@ -1,14 +1,15 @@
|
||||||
- name: samtools bam2fq test_samtools_bam2fq_nosplit
|
- name: samtools bam2fq test_samtools_bam2fq_nosplit
|
||||||
command: nextflow run ./tests/modules/samtools/bam2fq -entry test_samtools_bam2fq_nosplit -c ./tests/config/nextflow.config -c ./tests/modules/samtools/bam2fq/nextflow.config
|
command: nextflow run tests/modules/samtools/bam2fq -entry test_samtools_bam2fq_nosplit -c tests/config/nextflow.config
|
||||||
tags:
|
tags:
|
||||||
- samtools/bam2fq
|
- samtools/bam2fq
|
||||||
- samtools
|
- samtools
|
||||||
files:
|
files:
|
||||||
- path: output/samtools/test_interleaved.fq.gz
|
- path: output/samtools/test_interleaved.fq.gz
|
||||||
md5sum: d733e66d29a4b366bf9df8c42f845256
|
- path: output/samtools/versions.yml
|
||||||
|
md5sum: 4973eac1b6a8f090d5fcd4456d65a894
|
||||||
|
|
||||||
- name: samtools bam2fq test_samtools_bam2fq_withsplit
|
- name: samtools bam2fq test_samtools_bam2fq_withsplit
|
||||||
command: nextflow run ./tests/modules/samtools/bam2fq -entry test_samtools_bam2fq_withsplit -c ./tests/config/nextflow.config -c ./tests/modules/samtools/bam2fq/nextflow.config
|
command: nextflow run tests/modules/samtools/bam2fq -entry test_samtools_bam2fq_withsplit -c tests/config/nextflow.config
|
||||||
tags:
|
tags:
|
||||||
- samtools/bam2fq
|
- samtools/bam2fq
|
||||||
- samtools
|
- samtools
|
||||||
|
@ -21,3 +22,5 @@
|
||||||
md5sum: 709872fc2910431b1e8b7074bfe38c67
|
md5sum: 709872fc2910431b1e8b7074bfe38c67
|
||||||
- path: output/samtools/test_singleton.fq.gz
|
- path: output/samtools/test_singleton.fq.gz
|
||||||
md5sum: 709872fc2910431b1e8b7074bfe38c67
|
md5sum: 709872fc2910431b1e8b7074bfe38c67
|
||||||
|
- path: output/samtools/versions.yml
|
||||||
|
md5sum: e92d21bbcda2fed7cb438d95c51edff0
|
||||||
|
|
15
tests/modules/shasum/main.nf
Normal file
15
tests/modules/shasum/main.nf
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { SHASUM } from '../../../modules/shasum/main.nf'
|
||||||
|
|
||||||
|
workflow test_shasum {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test', single_end:false ], // meta map
|
||||||
|
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
SHASUM ( input )
|
||||||
|
}
|
5
tests/modules/shasum/nextflow.config
Normal file
5
tests/modules/shasum/nextflow.config
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
process {
|
||||||
|
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
|
||||||
|
}
|
8
tests/modules/shasum/test.yml
Normal file
8
tests/modules/shasum/test.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
- name: shasum test_shasum
|
||||||
|
command: nextflow run tests/modules/shasum -entry test_shasum -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- shasum
|
||||||
|
files:
|
||||||
|
- path: output/shasum/test.paired_end.bam.sha256
|
||||||
|
md5sum: 138a19e100f09fc975ea1b717da9b6dd
|
||||||
|
- path: output/shasum/versions.yml
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
nextflow.enable.dsl = 2
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
include { ANNOTATION_ENSEMBLVEP } from '../../../../subworkflows/nf-core/annotation_ensemblvep/main'
|
include { ANNOTATION_ENSEMBLVEP } from '../../../../../subworkflows/nf-core/annotation/ensemblvep/main'
|
||||||
|
|
||||||
workflow annotation_ensemblvep {
|
workflow annotation_ensemblvep {
|
||||||
input = [
|
input = [
|
||||||
|
@ -10,5 +10,5 @@ workflow annotation_ensemblvep {
|
||||||
file(params.test_data['sarscov2']['illumina']['test_vcf'], checkIfExists: true)
|
file(params.test_data['sarscov2']['illumina']['test_vcf'], checkIfExists: true)
|
||||||
]
|
]
|
||||||
|
|
||||||
ANNOTATION_ENSEMBLVEP ( input, "WBcel235", "caenorhabditis_elegans", "104", [] )
|
ANNOTATION_ENSEMBLVEP ( input, "WBcel235", "caenorhabditis_elegans", "104", [], [] )
|
||||||
}
|
}
|
|
@ -7,7 +7,7 @@ process {
|
||||||
publishDir = [ enabled: false ]
|
publishDir = [ enabled: false ]
|
||||||
}
|
}
|
||||||
|
|
||||||
withName: ANNOTATION_BGZIPTABIX {
|
withName: TABIX_BGZIPTABIX {
|
||||||
ext.prefix = { "${meta.id}_VEP.ann.vcf" }
|
ext.prefix = { "${meta.id}_VEP.ann.vcf" }
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
nextflow.enable.dsl = 2
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
include { ANNOTATION_SNPEFF } from '../../../../subworkflows/nf-core/annotation_snpeff/main'
|
include { ANNOTATION_SNPEFF } from '../../../../../subworkflows/nf-core/annotation_snpeff/main'
|
||||||
|
|
||||||
workflow annotation_snpeff {
|
workflow annotation_snpeff {
|
||||||
input = [
|
input = [
|
|
@ -7,7 +7,7 @@ process {
|
||||||
publishDir = [ enabled: false ]
|
publishDir = [ enabled: false ]
|
||||||
}
|
}
|
||||||
|
|
||||||
withName: ANNOTATION_BGZIPTABIX {
|
withName: TABIX_BGZIPTABIX {
|
||||||
ext.prefix = { "${meta.id}_snpEff.ann.vcf" }
|
ext.prefix = { "${meta.id}_snpEff.ann.vcf" }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue