From 3fede7c6484b01a35245b50437d2fbd268b1731a Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent@modolo.fr> Date: Wed, 19 Dec 2018 16:38:19 +0100 Subject: [PATCH] deepTools: add plot_profile module --- .../deepTools/compute_matrix.config | 2 +- src/nf_modules/deepTools/compute_matrix.nf | 1 - src/nf_modules/deepTools/plot_profile.config | 25 +++++++++++++ src/nf_modules/deepTools/plot_profile.nf | 37 +++++++++++++++++++ src/nf_modules/deepTools/tests.sh | 1 + 5 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 src/nf_modules/deepTools/plot_profile.config create mode 100644 src/nf_modules/deepTools/plot_profile.nf diff --git a/src/nf_modules/deepTools/compute_matrix.config b/src/nf_modules/deepTools/compute_matrix.config index cb32bf55..27e63ca6 100644 --- a/src/nf_modules/deepTools/compute_matrix.config +++ b/src/nf_modules/deepTools/compute_matrix.config @@ -10,7 +10,7 @@ profiles { } psmn { process{ - withName: bam_to_bigwig { + withName: compute_matrix { beforeScript = "source /usr/share/lmod/lmod/init/bash; module use ~/privatemodules" module = "deepTools/3.0.2" executor = "sge" diff --git a/src/nf_modules/deepTools/compute_matrix.nf b/src/nf_modules/deepTools/compute_matrix.nf index 53b4b195..e9de4136 100644 --- a/src/nf_modules/deepTools/compute_matrix.nf +++ b/src/nf_modules/deepTools/compute_matrix.nf @@ -19,7 +19,6 @@ Channel process compute_matrix { tag "$file_id" cpus 4 - echo true publishDir "results/mapping/region_matrix/", mode: 'copy' input: diff --git a/src/nf_modules/deepTools/plot_profile.config b/src/nf_modules/deepTools/plot_profile.config new file mode 100644 index 00000000..4a94d1de --- /dev/null +++ b/src/nf_modules/deepTools/plot_profile.config @@ -0,0 +1,25 @@ +profiles { + docker { + docker.temp = 'auto' + docker.enabled = true + process { + withName: plot_profile { + container = "deeptools:3.0.2" + } + } + } + psmn { + process{ + withName: plot_profile { + beforeScript = "source /usr/share/lmod/lmod/init/bash; module use ~/privatemodules" + module = "deepTools/3.0.2" + executor = "sge" + clusterOptions = "-m e -cwd -V" + memory = "30GB" + time = "24h" + queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F' + penv = 'openmp16' + } + } + } +} diff --git a/src/nf_modules/deepTools/plot_profile.nf b/src/nf_modules/deepTools/plot_profile.nf new file mode 100644 index 00000000..eb089714 --- /dev/null +++ b/src/nf_modules/deepTools/plot_profile.nf @@ -0,0 +1,37 @@ +params.matrix = "$baseDir/data/region_matrix/*.mat.gz" +params.title = "plot title" + +log.info "matrix files : ${params.matrix}" +log.info "plot title : ${params.title}" + +Channel + .fromPath( params.matrix ) + .ifEmpty { error "Cannot find any matrix files matching: ${params.matrix}" } + .map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]} + .set { matrix_files } + +process plot_profile { + tag "$file_id" + cpus 4 + publishDir "results/mapping/region_matrix/", mode: 'copy' + + input: + set file_id, file(matrix) from matrix_files + + output: + set file_id, "*.pdf" into region_matrix + + script: +/* +see more option at +https://deeptools.readthedocs.io/en/develop/content/tools/plotProfile.html +*/ +""" +plotProfile -m ${matrix} \ + --plotFileFormat=pdf \ + -out ${file_id}.pdf \ + --plotType=fill \ + --perGroup \ + --plotTitle "${params.title}" +""" +} diff --git a/src/nf_modules/deepTools/tests.sh b/src/nf_modules/deepTools/tests.sh index 63b8434e..06057a81 100755 --- a/src/nf_modules/deepTools/tests.sh +++ b/src/nf_modules/deepTools/tests.sh @@ -4,3 +4,4 @@ ./nextflow src/nf_modules/deepTools/compute_matrix.nf -c src/nf_modules/deepTools/compute_matrix.config -profile docker --bw "results/mapping/bigwig/*.bw" --bed "data/tiny_dataset/annot/tiny.bed" +./nextflow src/nf_modules/deepTools/plot_profile.nf -c src/nf_modules/deepTools/plot_profile.config -profile docker --matrix "results/mapping/region_matrix/*.mat.gz" --title "plot title" -- GitLab