From f1a4012f9305c7815b104832f94547677065e6a9 Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent.modolo@ens-lyon.fr> Date: Tue, 26 Oct 2021 14:40:56 +0200 Subject: [PATCH] danpos: add dpos_bw_no_b process --- src/nf_modules/danpos/main.nf | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/src/nf_modules/danpos/main.nf b/src/nf_modules/danpos/main.nf index 99ff55dc..93d332cc 100644 --- a/src/nf_modules/danpos/main.nf +++ b/src/nf_modules/danpos/main.nf @@ -134,6 +134,66 @@ awk -v FS='\t' -v OFS='\t' 'FNR > 1 { print \$1, \$2-1, \$3, "Interval_"NR-1, \$ """ } +workflow dpos_bw_no_b { + take: + fasta + fastq + bw + main: + bigwig_to_wig(bw) + dpos_wig_no_b(fastq, bigwig_to_wig.out.wig) + wig_to_bedgraph(fasta, bigwig_to_wig.out.wig) + + emit: + bg = wig_to_bedgraph.out.bg + wig = bigwig_to_wig.out.wig + bed = dpos_wig.out.bed +} + +process dpos_wig { + container = "${container_url}" + label "big_mem_mono_cpus" + tag "$file_id" + if (params.dpos_out != "") { + publishDir "results/${params.dpos_out}", mode: 'copy', overwrite: true + } + + input: + val fastq + tuple val(file_id), path(wig_ip), path(wig_wce) + + output: + tuple val(file_id), path("${file_prefix}/*.positions.bed"), emit: bed + + script: + + switch(file_id) { + case {it instanceof List}: + file_prefix = file_id[0] + break + case {it instanceof Map}: + file_prefix = file_id.values()[0] + break + default: + file_prefix = file_id + break + } + + m = 0 + if (fastq[1].size() == 2){ + m = 1 + } +""" +danpos.py dpos -m ${m} \ + ${params.dpos} \ + -o ${file_prefix} \ + ${wig_ip} +mv ${file_prefix}/pooled/* ${file_prefix}/ +rm -R ${file_prefix}/pooled +awk -v FS='\t' -v OFS='\t' 'FNR > 1 { print \$1, \$2-1, \$3, "Interval_"NR-1, \$6, "+" }' ${file_prefix}/${wig_ip.simpleName}.positions.xls > ${file_prefix}/${wig_ip.simpleName}.positions.bed +""" +} + workflow dwig_bwvsbw { take: fasta -- GitLab