Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion modules/nf-core/deseq2/differential/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ process DESEQ2_DIFFERENTIAL {

output:
tuple val(meta), path("*.deseq2.results.tsv") , emit: results
tuple val(meta), path("*.deseq2.dispersion.png") , emit: dispersion_plot
tuple val(meta), path("*.deseq2.dispersion.png") , emit: dispersion_plot_png
tuple val(meta), path("*.deseq2.dispersion.pdf") , emit: dispersion_plot_pdf
tuple val(meta), path("*.dds.rld.rds") , emit: rdata
tuple val(meta), path("*.deseq2.sizefactors.tsv") , emit: size_factors
tuple val(meta), path("*.normalised_counts.tsv") , emit: normalised_counts
Expand All @@ -35,6 +36,7 @@ process DESEQ2_DIFFERENTIAL {
"""
touch ${meta.id}.deseq2.results.tsv
touch ${meta.id}.deseq2.dispersion.png
touch ${meta.id}.deseq2.dispersion.pdf
touch ${meta.id}.dds.rld.rds
touch ${meta.id}.deseq2.sizefactors.tsv
touch ${meta.id}.normalised_counts.tsv
Expand Down
126 changes: 55 additions & 71 deletions modules/nf-core/deseq2/differential/meta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ input:
RNA-seq workflow
ontologies: []
- - meta3:
type: file
type: map
description: |
Meta map describing control genes, e.g. [ id: 'ERCC' ]
ontologies: []
Expand All @@ -85,131 +85,115 @@ input:
output:
results:
- - meta:
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.deseq2.results.tsv":
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
description: TSV-format table of differential expression information as output by DESeq2
pattern: "*.deseq2.results.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
dispersion_plot:
dispersion_plot_png:
- - meta:
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.deseq2.dispersion.png":
type: file
description: DESeq2 dispersion plot
pattern: "deseq2.dispersion.png"
ontologies: []
rdata:
description: DESeq2 dispersion plot in PNG format
pattern: "*.deseq2.dispersion.png"
ontologies:
- edam: "http://edamontology.org/format_3603" # PNG
dispersion_plot_pdf:
- - meta:
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.deseq2.dispersion.pdf":
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
description: DESeq2 dispersion plot in PDF format
pattern: "*.deseq2.dispersion.pdf"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
- edam: "http://edamontology.org/format_3508" # PDF
rdata:
- - meta:
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.dds.rld.rds":
type: file
description: Serialised DESeq2 object
pattern: "dds.rld.rds"
pattern: "*.dds.rld.rds"
ontologies: []
size_factors:
- - meta:
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.deseq2.sizefactors.tsv":
type: file
description: Size factors
pattern: "deseq2.sizefactors.tsv"
description: TSV-format table containing DESeq2 size factors
pattern: "*.deseq2.sizefactors.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
normalised_counts:
- - meta:
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.normalised_counts.tsv":
type: file
description: TSV-format counts matrix, normalised to size factors
pattern: "normalised_counts.tsv"
pattern: "*.normalised_counts.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
rlog_counts:
- - meta:
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.rlog.tsv":
type: file
description: |
Optional, TSV-format counts matrix, normalised to size factors, with
variance stabilisation applied via `rlog()`.
pattern: "rlog.tsv"
pattern: "*.rlog.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
vst_counts:
- - meta:
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.vst.tsv":
type: file
description: |
Optional, TSV-format counts matrix, normalised to size factors, with
variance stabilisation applied via `vst()`.
pattern: "vst_counts.tsv"
pattern: "*.vst.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
model:
- - meta:
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.deseq2.model.txt":
type: file
description: TXT-format DESeq2 model
pattern: "deseq2.model.tsv"
pattern: "*.deseq2.model.txt"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
- edam: http://edamontology.org/format_2330 # TXT
session_info:
- - meta:
type: file
description: TSV-format table of differential expression information as output
by DESeq2
pattern: "deseq2.results.tsv"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
type: map
description: |
Groovy Map containing contrast information, same as input meta
- "*.R_sessionInfo.log":
type: file
description: dump of R SessionInfo
pattern: "*.log"
description: Dump of R SessionInfo
pattern: "*.R_sessionInfo.log"
ontologies: []
versions:
- versions.yml:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,12 @@ png(
plotDispEsts(dds)
dev.off()

pdf(
file = paste(opt\$output_prefix, 'deseq2.dispersion.pdf', sep = '.')
)
plotDispEsts(dds)
dev.off()

# R object for other processes to use

saveRDS(dds, file = paste(opt\$output_prefix, 'dds.rld.rds', sep = '.'))
Expand Down
38 changes: 25 additions & 13 deletions modules/nf-core/deseq2/differential/tests/main.nf.test
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -97,7 +98,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -145,7 +147,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -193,7 +196,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -246,7 +250,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -295,7 +300,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -346,7 +352,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -397,7 +404,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -451,7 +459,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -499,7 +508,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -547,7 +557,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -595,7 +606,8 @@ nextflow_process {
process.out.vst_counts,
process.out.model,
process.out.versions,
file(process.out.dispersion_plot[0][1]).name,
file(process.out.dispersion_plot_png[0][1]).name,
file(process.out.dispersion_plot_pdf[0][1]).name,
file(process.out.rdata[0][1]).name
).match() },
{ assert path(process.out.session_info[0][1]).text.contains("DESeq2_1.34.0") }
Expand Down Expand Up @@ -636,7 +648,7 @@ nextflow_process {
then {
assertAll(
{ assert process.success },
{ assert snapshot( process.out).match() }
{ assert snapshot( process.out ).match() }
)
}
}
Expand Down
Loading