Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add starting deseq2 differential module #2167

Merged
merged 65 commits into from
Oct 20, 2022
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
f14c4e9
Add starting deseq2 differential module
Oct 6, 2022
424dda3
Merge branch 'nf-core:master' into deseq2_differential
Oct 7, 2022
ed42cf1
[automated] Fix linting with Prettier
nf-core-bot Oct 7, 2022
935d4fa
Run eclint fix
Oct 7, 2022
0f8e48e
Try to appease eclint
Oct 7, 2022
d944fe0
Try to appease eclint
Oct 7, 2022
72be6a0
Merge branch 'master' into deseq2_differential
Oct 7, 2022
5920c56
Add deseq2 test suite
Oct 7, 2022
d22ab50
Merge branch 'master' into deseq2_differential
Oct 7, 2022
a8f490d
[automated] Fix linting with Prettier
nf-core-bot Oct 7, 2022
4ef8cfc
Update pytest_modules
Oct 7, 2022
0a3ce7a
Fix new module path
Oct 7, 2022
beee38d
Revert "Fix new module path"
Oct 7, 2022
46bc018
Try test fix
Oct 7, 2022
451ecac
Fix up versions generation / usage
Oct 7, 2022
55be8b2
appease eclint
Oct 7, 2022
b2b395a
Remove unnecessary outdir param
Oct 7, 2022
5423607
Re-fix structure, bump deseq2 version
Oct 7, 2022
62265e7
Update test yaml for newer deseq
Oct 7, 2022
e05d9f6
update pytest_modules.yml
Oct 7, 2022
92afa0a
[automated] Fix linting with Prettier
nf-core-bot Oct 7, 2022
d7074b0
Suspect local M1 architecture issues, manually set md5sums to match CI
Oct 7, 2022
55fe537
Random seed had no effect locally, see if it impacts in ci
Oct 7, 2022
5b02d39
final attempt to see if I've made CI md5sums static
Oct 7, 2022
3606e11
Try slightly older DESeq version for reproducibility
Oct 8, 2022
5ce458e
Merge branch 'master' into deseq2_differential
Oct 8, 2022
f1ea328
Try rounding results for CI
Oct 8, 2022
05f9c80
Don't check session info or R object for CI
Oct 8, 2022
fdf7674
Move test workflow params to nextflow.config
Oct 8, 2022
15b5d9d
Don't check dispersion plot for CI- differs in Conda
Oct 8, 2022
0f8025c
Rename contrast_meta to dissambiguate from sample meta used elsewhere
Oct 8, 2022
4b4adfc
Take parameter overrides from task.ext.args
Oct 9, 2022
5ff1784
Fix for linter
Oct 9, 2022
8165d70
Fix for linter
Oct 9, 2022
d59f148
Fix for linter
Oct 9, 2022
1b812e4
Strip random seed handling which didn't do anything
Oct 10, 2022
0292a2e
Make expression table output unconditional
Oct 10, 2022
83c547e
RData -> rds
Oct 10, 2022
3dc9912
Fix typo
Oct 10, 2022
a128cef
Add deseq2 tag
Oct 10, 2022
c89f067
deseq_de.r -> deseq_de.R
Oct 10, 2022
4cd16ce
Reinstate parallel operation
Oct 10, 2022
a28ec88
Prefix results
Oct 10, 2022
52f5b45
Prefix results, always apply limited rounding to the files that need it
Oct 10, 2022
2282cd4
Merge branch 'master' into deseq2_differential
Oct 10, 2022
546987f
Fix output prefixing, vs_method outputs
Oct 11, 2022
d8fc50b
Merge branch 'master' into deseq2_differential
Oct 11, 2022
c5c5323
add lfc shrinkage
Oct 11, 2022
6042648
Merge branch 'master' into deseq2_differential
Oct 11, 2022
58fce0f
appease eclint
Oct 11, 2022
322e38a
Merge branch 'master' into deseq2_differential
Oct 11, 2022
9f9c63c
Merge branch 'master' into deseq2_differential
Oct 11, 2022
a17649b
Merge branch 'master' into deseq2_differential
Oct 11, 2022
dc68282
Merge branch 'master' into deseq2_differential
Oct 12, 2022
00fc62e
Fix singularity image
Oct 12, 2022
a8af486
Merge branch 'master' into deseq2_differential
Oct 12, 2022
0d35fb3
Source sample sheet and contrasts from test data
Oct 14, 2022
3133221
Merge branch 'master' into deseq2_differential
Oct 14, 2022
8ddcfc0
Merge branch 'master' into deseq2_differential
Oct 14, 2022
fe1b940
Merge branch 'master' into deseq2_differential
Oct 14, 2022
52cafbc
Merge branch 'master' into deseq2_differential
ggabernet Oct 20, 2022
4d8b75a
Update modules/nf-core/deseq2/differential/meta.yml
Oct 20, 2022
039b0c5
simplify input with meta, use new test data with blocking
Oct 20, 2022
9b18d9e
Merge branch 'master' into deseq2_differential
ggabernet Oct 20, 2022
c379a9a
Merge branch 'master' into deseq2_differential
Oct 20, 2022
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
46 changes: 46 additions & 0 deletions modules/deseq2/differential/main.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
params.deseq_gene_id_col = "gene_id"
SPPearce marked this conversation as resolved.
Show resolved Hide resolved
params.deseq_sample_id_col = "experiment_accession"
params.deseq_test = "Wald"
params.deseq_fit_type = "parametric"
params.deseq_sf_type = 'ratio'
params.deseq_min_replicates_for_replace = 7
params.deseq_use_t = 'FALSE'
params.deseq_lfc_threshold = 0
params.deseq_alt_hypothesis = 'greaterAbs'
params.deseq_independent_filtering = 'TRUE'
params.deseq_p_adjust_method = 'BH'
params.deseq_alpha = 0.1
params.deseq_minmu = 0.5
params.deseq_write_normalised = 'TRUE'
params.deseq_write_variance_stabilised = 'TRUE'
params.deseq_vs_method = 'vst'

process DESEQ2_DIFFERENTIAL {
tag "$meta"
label 'process_medium'

conda (params.enable_conda ? "bioconda::bioconductor-deseq2=1.28.0" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/bioconductor-deseq2%3A1.28.0--r40h5f743cb_0' :
'quay.io/biocontainers/bioconductor-deseq2:1.28.0--r40h5f743cb_0' }"

input:
path samplesheet
path counts
val meta

output:
tuple val(meta), path("deseq2.results.tsv") , emit: results
tuple val(meta), path("deseq2.dispersion.png") , emit: dispersion_plot
tuple val(meta), path("dds.rld.RData") , emit: rdata
tuple val(meta), path("deseq2.sizefactors.tsv") , emit: size_factors
tuple val(meta), path("normalised_counts.tsv") , emit: normalised_counts
tuple val(meta), path("variance_stabilised_counts.tsv") , emit: variance_stabilised_counts
tuple val(meta), path("R_sessionInfo.log") , emit: session_info

when:
task.ext.when == null || task.ext.when

script:
template 'deseq_de.r'
}
63 changes: 63 additions & 0 deletions modules/deseq2/differential/meta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: "deseq2_differential"
description: runs a differential expression analysis with DESeq2
keywords:
- differential
- expression
- rna-seq

tools:
- "deseq2":
description: "Differential gene expression analysis based on the negative binomial distribution"
homepage: "https://bioconductor.org/packages/release/bioc/html/DESeq2.html"
documentation: "https://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html"
tool_dev_url: "https://github.com/mikelove/DESeq2"
doi: "10.1186/s13059-014-0550-8"
licence: "['LGPL >=3']"

input:
- sample:
type: file
description: |
CSV-format sample sheet with sample metadata
- counts:
type: file
description: |
Raw TSV-format expression matrix as output from the nf-core RNA-seq workflow
- meta:
type: map
description: |
Groovy Map containing contrast information
e.g. [ variable:'treamtent', reference:'treated', control:'saline', blocking:'' ]

output:
- results:
type: file
description: TSV-format table of differential expression information as output by DESeq2
pattern: "deseq2.results.tsv"
- dispersion_plot:
type: file
description: DESeq2 dispersion plot
pattern: "deseq2.dispersion.png"
- rdata:
type: file
description: Serialised DESeq2 object
pattern: "dds.rld.RData"
- sizefactors:
type: file
description: Size factors
pattern: "deseq2.sizefactors.tsv"
- normalised_counts:
type: file
description: TSV-format counts matrix, normalised to size factors
pattern: "normalised_counts.tsv"
- variance_stabilised_counts:
type: file
description: TSV-format counts matrix, normalised to size factors, with variance stabilisation applied
pattern: "variance_stabilised_counts.tsv"
- versions:
type: file
description: File containing software versions
pattern: "versions.yml"

authors:
- "@pinin4fjords"
Loading