wf-transcriptomes-v202/subworkflows/differential_expression.nf
2026-05-05 18:42:18 +01:00

64 lines
1.7 KiB
Plaintext

nextflow.enable.dsl = 2
process checkExperimentDesign {
label "wf_common"
cpus 1
memory "2 GB"
input:
path sample_sheet
output:
path "validated.ok", emit: ok
script:
String covariates_arg = params.covariates ? "--covariates '${params.covariates}'" : ""
String reference_arg = params.reference_level ? "--reference_level '${params.reference_level}'" : ""
"""
workflow-glue check_experiment_design \
--sample_sheet "${sample_sheet}" \
--condition_column "${params.condition_column}" \
${covariates_arg} \
${reference_arg}
touch validated.ok
"""
}
process runDifferentialAnalysis {
label "wf_transcriptomes"
cpus { params.threads ?: 4 }
memory "32 GB"
input:
path transcript_rds
path gene_rds
path sample_sheet
path validation_token
output:
path "de_analysis", emit: dir
script:
String covariates_arg = params.covariates ? "--covariates '${params.covariates}'" : ""
String reference_arg = params.reference_level ? "--reference_level '${params.reference_level}'" : ""
"""
supeRglue de_analysis \
--transcript_rds "${transcript_rds}" \
--gene_rds "${gene_rds}" \
--sample_sheet "${sample_sheet}" \
--condition_column "${params.condition_column}" \
${covariates_arg} \
${reference_arg} \
--out_dir de_analysis
"""
}
workflow differential_expression {
take:
transcript_rds
gene_rds
sample_sheet
main:
validated = checkExperimentDesign(sample_sheet)
results = runDifferentialAnalysis(transcript_rds, gene_rds, sample_sheet, validated.ok)
emit:
dir = results.dir
}