-
Notifications
You must be signed in to change notification settings - Fork 695
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added new module for Toulligqc (#5131)
* ADD: working toulligqc as module * ToulligQC module passed tests * [automated] Fix linting with Prettier * Remove whitespaces * Update main.nf * Update main.nf * Update modules/nf-core/toulligqc/meta.yml Co-authored-by: Friederike Hanssen <[email protected]> * Update modules/nf-core/toulligqc/meta.yml Co-authored-by: Friederike Hanssen <[email protected]> * Update modules/nf-core/toulligqc/meta.yml Co-authored-by: Friederike Hanssen <[email protected]> * Update modules/nf-core/toulligqc/main.nf Co-authored-by: Friederike Hanssen <[email protected]> * UPDATE: added fastq as input option * Update environment.yml * UPDATE: moved to ToulligQC v2.5.4 and added BAM as input file option * Update modules/nf-core/toulligqc/meta.yml Co-authored-by: James A. Fellows Yates <[email protected]> * Update modules/nf-core/toulligqc/meta.yml Co-authored-by: James A. Fellows Yates <[email protected]> * UPDATE: added meta map to module * UPDATE: added stub section to module * Update modules/nf-core/toulligqc/main.nf Co-authored-by: James A. Fellows Yates <[email protected]> * FIX: pass seq_summarry, fastq, bam as one tuple --------- Co-authored-by: nf-core-bot <[email protected]> Co-authored-by: Jonathan Manning <[email protected]> Co-authored-by: Friederike Hanssen <[email protected]> Co-authored-by: James A. Fellows Yates <[email protected]>
- Loading branch information
1 parent
30d3ca4
commit 49423bb
Showing
6 changed files
with
454 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json | ||
name: "toulligqc" | ||
channels: | ||
- conda-forge | ||
- bioconda | ||
- defaults | ||
dependencies: | ||
- "bioconda::toulligqc=2.5.4" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
process TOULLIGQC { | ||
label 'process_low' | ||
tag "$meta.id" | ||
|
||
conda "${moduleDir}/environment.yml" | ||
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? | ||
'https://depot.galaxyproject.org/singularity/toulligqc:2.5.4--pyhdfd78af_0': | ||
'biocontainers/toulligqc:2.5.4--pyhdfd78af_0' }" | ||
|
||
input: | ||
tuple val(meta), path(seq_summary), path(fastq), path(bam) | ||
|
||
output: | ||
tuple val(meta), path("*/*.data") , emit: report_data | ||
path "*/*.html" , emit: report_html, optional: true | ||
path "*/images/*.html" , emit: plots_html | ||
path "*/images/plotly.min.js" , emit: plotly_js | ||
|
||
path "versions.yml" , emit: versions | ||
|
||
when: | ||
task.ext.when == null || task.ext.when | ||
|
||
script: | ||
def args = task.ext.args ?: '' | ||
def prefix = task.ext.prefix ?: "${meta.id}" | ||
|
||
def seq_summary_input = seq_summary ? "--sequencing-summary-source ${seq_summary}" : "" | ||
def fastq_input = fastq ? "--fastq ${fastq}" : "" | ||
def bam_input = bam ? "--bam ${bam}" : "" | ||
|
||
""" | ||
toulligqc \\ | ||
${seq_summary_input} \\ | ||
${fastq_input} \\ | ||
${bam_input} \\ | ||
--output-directory ${prefix} \\ | ||
$args | ||
cat <<-END_VERSIONS > versions.yml | ||
"${task.process}": | ||
toulligqc: \$(toulligqc --version 2>&1) | ||
END_VERSIONS | ||
""" | ||
|
||
stub: | ||
def args = task.ext.args ?: '' | ||
def prefix = task.ext.prefix ?: "${meta.id}" | ||
""" | ||
mkdir ${prefix} | ||
mkdir ${prefix}/images | ||
touch ${prefix}/report.data | ||
touch ${prefix}/images/Correlation_between_read_length_and_PHRED_score.html | ||
touch ${prefix}/images/Distribution_of_read_lengths.html | ||
touch ${prefix}/images/PHRED_score_density_distribution.html | ||
touch ${prefix}/images/Read_count_histogram.html | ||
touch ${prefix}/images/plotly.min.js | ||
cat <<-END_VERSIONS > versions.yml | ||
"${task.process}": | ||
toulligqc: \$(toulligqc --version 2>&1) | ||
END_VERSIONS | ||
""" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
--- | ||
# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json | ||
name: "toulligqc" | ||
description: "A post sequencing QC tool for Oxford Nanopore sequencers" | ||
keywords: | ||
- nanopore sequencing | ||
- quality control | ||
- genomics | ||
tools: | ||
- "toulligqc": | ||
description: "A post sequencing QC tool for Oxford Nanopore sequencers" | ||
homepage: https://github.com/GenomiqueENS/toulligQC | ||
documentation: https://github.com/GenomiqueENS/toulligQC | ||
tool_dev_url: https://github.com/GenomiqueENS/toulligQC | ||
licence: ["CECILL-2.1"] | ||
|
||
input: | ||
- meta: | ||
type: map | ||
description: | | ||
Groovy Map containing sample information | ||
e.g. [ id:'test', single_end:false ] | ||
- seq_summary: | ||
type: file | ||
description: Basecaller sequencing summary source | ||
pattern: "*.txt" | ||
- fastq: | ||
type: file | ||
description: FASTQ file (necessary if no sequencing summary file) | ||
pattern: "*.{fq,fastq,fq.gz,fastq.gz}" | ||
- bam: | ||
type: file | ||
description: BAM file (necessary if no sequencing summary file) | ||
pattern: "*.bam" | ||
|
||
output: | ||
- meta: | ||
type: map | ||
description: | | ||
Groovy Map containing sample information | ||
e.g. [ id:'test', single_end:false ] | ||
- report_data: | ||
type: file | ||
description: Report data emitted from toulligqc | ||
pattern: "*.data" | ||
- report_html: | ||
type: file | ||
description: Report data in html format | ||
pattern: "*.html" | ||
- plots_html: | ||
type: file | ||
description: Plots emitted in html format | ||
pattern: "*.html" | ||
- plotly_js: | ||
type: file | ||
description: Plots emitted from toulligqc | ||
pattern: "plotly.min.js" | ||
- versions: | ||
type: file | ||
description: File containing software versions | ||
pattern: "versions.yml" | ||
|
||
authors: | ||
- "@Salome-Brunon" | ||
maintainers: | ||
- "@Salome-Brunon" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
nextflow_process { | ||
|
||
name "Test Process TOULLIGQC" | ||
script "../main.nf" | ||
process "TOULLIGQC" | ||
|
||
tag "modules" | ||
tag "modules_nfcore" | ||
tag "toulligqc" | ||
|
||
test("sarscov2 - nanopore sequencing_summary") { | ||
when { | ||
process { | ||
""" | ||
input[0] = [ | ||
[ id:'test' ], // meta map | ||
file(params.test_data['sarscov2']['nanopore']['test2_sequencing_summary'], checkIfExists: true), | ||
[], | ||
[] | ||
] | ||
""" | ||
} | ||
} | ||
|
||
then { | ||
assertAll( | ||
{ assert process.success }, | ||
{ assert snapshot(file(process.out.report_data.get(0).get(1)).readLines()[11..74]).match() }, | ||
{ assert process.out.report_html[0] ==~ ".*/report.html"} | ||
) | ||
} | ||
|
||
} | ||
|
||
test("sarscov2 - nanopore fastq") { | ||
when { | ||
process { | ||
""" | ||
input[0] = [ | ||
[ id:'test' ], // meta map | ||
[], | ||
file(params.test_data['sarscov2']['nanopore']['test_fastq_gz'], checkIfExists: true), | ||
[] | ||
] | ||
""" | ||
} | ||
} | ||
|
||
then { | ||
assertAll( | ||
{ assert process.success }, | ||
{ assert snapshot(file(process.out.report_data.get(0).get(1)).readLines()[11..67]).match() }, | ||
{ assert process.out.report_html[0] ==~ ".*/report.html"} | ||
) | ||
} | ||
|
||
} | ||
|
||
test("sarscov2 - nanopore bam") { | ||
when { | ||
process { | ||
""" | ||
input[0] = [ | ||
[ id:'test' ], // meta map | ||
[], | ||
[], | ||
file(params.test_data['sarscov2']['nanopore']['test_sorted_bam'], checkIfExists: true) | ||
] | ||
""" | ||
} | ||
} | ||
|
||
then { | ||
assertAll( | ||
{ assert process.success }, | ||
{ assert snapshot(file(process.out.report_data.get(0).get(1)).readLines()[11..74]).match() }, | ||
{ assert process.out.report_html[0] ==~ ".*/report.html"} | ||
) | ||
} | ||
|
||
} | ||
test("sarscov2 - naopore bam - stub") { | ||
|
||
options "-stub" | ||
|
||
when { | ||
process { | ||
""" | ||
input[0] = [ | ||
[ id:'test' ], // meta map | ||
[], | ||
[], | ||
file(params.test_data['sarscov2']['nanopore']['test_sorted_bam'], checkIfExists: true) | ||
] | ||
""" | ||
} | ||
} | ||
|
||
then { | ||
assertAll( | ||
{ assert process.success } | ||
) | ||
} | ||
} | ||
} |
Oops, something went wrong.