From b158ad1bfbcfda2116ec9b3bcc04dc0623748848 Mon Sep 17 00:00:00 2001 From: alsmith Date: Mon, 5 Feb 2024 11:25:45 +0000 Subject: [PATCH] fix: multiple errors with get_control_X files --- seqnado/workflow/rules/peak_call_chip.smk | 24 +++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/seqnado/workflow/rules/peak_call_chip.smk b/seqnado/workflow/rules/peak_call_chip.smk index 43f360b4..785bd25f 100644 --- a/seqnado/workflow/rules/peak_call_chip.smk +++ b/seqnado/workflow/rules/peak_call_chip.smk @@ -12,17 +12,26 @@ def get_lanceotron_threshold(wildcards): def get_control_bam(wildcards): exp = DESIGN.query(sample_name=wildcards.sample, ip=wildcards.treatment) - return f"seqnado_output/aligned/{sample}_{exp.control}.bam" + control = f"seqnado_output/aligned/{wildcards.sample}_{exp.control}.bam".replace( + " ", "" + ) + return control def get_control_tag(wildcards): exp = DESIGN.query(sample_name=wildcards.sample, ip=wildcards.treatment) - return f"seqnado_output/tag_dirs/{sample}_{exp.control}" + control = f"seqnado_output/tag_dirs/{wildcards.sample}_{exp.control}".replace( + " ", "" + ) + return control def get_control_bigwig(wildcards): exp = DESIGN.query(sample_name=wildcards.sample, ip=wildcards.treatment) - return f"seqnado_output/bigwigs/deeptools/{sample}_{exp.control}.bigWig" + control = f"seqnado_output/bigwigs/deeptools/{wildcards.sample}_{exp.control}.bigWig".replace( + " ", "" + ) + return control rule macs2_with_input: @@ -43,7 +52,8 @@ rule macs2_with_input: shell: """ macs2 callpeak -t {input.treatment} -c {input.control} -n seqnado_output/peaks/macs/{wildcards.treatment} -f BAMPE {params.options} > {log} 2>&1 && - cat {params.narrow} | cut -f 1-3 > {output.peaks} + cat {params.narrow} | cut -f 1-3 > {output.peaks} && + touch {output.sentinel} """ @@ -87,7 +97,8 @@ rule homer_with_input: """ findPeaks {input.treatment} {params.options} -o {output.peaks}.tmp -i {input.control} > {log} 2>&1 && pos2bed.pl {output.peaks}.tmp -o {output.peaks} >> {log} 2>&1 && - rm {output.peaks}.tmp + rm {output.peaks}.tmp && + touch {output.sentinel} """ @@ -132,7 +143,8 @@ rule lanceotron_with_input: shell: """ lanceotron callPeaksInput {input.treatment} -i {input.control} -f {params.outdir} --skipheader > {log} 2>&1 && - cat {params.outdir}/{wildcards.treatment}_L-tron.bed | awk 'BEGIN{{OFS="\\t"}} $4 >= {params.threshold} {{print $1, $2, $3}}' > {output.peaks} + cat {params.outdir}/{wildcards.treatment}_L-tron.bed | awk 'BEGIN{{OFS="\\t"}} $4 >= {params.threshold} {{print $1, $2, $3}}' > {output.peaks} && + touch {output.sentinel} """