Skip to content
Snippets Groups Projects
Commit 52badb4b authored by Kenza Bazi-Kabbaj's avatar Kenza Bazi-Kabbaj
Browse files

fix bug sample merging

parent 03f15728
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@
"""
__author__ = "Kenza BAZI KABBAJ - Sigenae"
__version__ = "1.0.0"
__version__ = "1.0.1"
Aim: A Snakemake workflow to process paired-end or/and single end WGS data.
Project: 1000GBovins
Run locally: snakemake -p
......@@ -42,8 +42,7 @@ rule_resources = {
"bwa_mem_pe" : ["cpu"],
"bwa_mem_se_R1" : ["cpu"],
"bwa_mem_se_R2" : ["cpu"],
"sample_merge_SE" : ["mem"],
"sample_merge_PE" : ["mem"],
"sample_merge" : ["mem"],
"callableLoci" : ["mem"],
"depthOfCoverage" : ["mem"],
"markduplicates" : ["mem"],
......@@ -126,8 +125,6 @@ include:
include_prefix + "rules/trim_pe.rules"
include:
include_prefix + "rules/bwa_mem_pe.rules"
include:
include_prefix + "rules/sample_merge_PE.rules"
#process single-end reads if available
include:
......@@ -135,7 +132,7 @@ include:
include:
include_prefix + "rules/bwa_mem_se.rules"
include:
include_prefix + "rules/sample_merge_SE.rules"
include_prefix + "rules/sample_merge.rules"
# bam processing
include:
......
......@@ -47,11 +47,9 @@ bwa_se_sort:
bwa_se_index:
cpu: 8
sample_merge_PE:
sample_merge:
mem : "40G"
sample_merge_SE:
mem : "40G"
markduplicates:
mem : "20G"
......
......@@ -7,11 +7,21 @@ __version__ = "1.0.0"
Merge PE bam files for multiple units into one for the given sample.
"""
rule sample_merge_PE:
def get_input(wildcards):
input=list()
if wildcards.sample in PE_samples:
for unit in PE_samples[wildcards.sample]:
input.append("results/mapping/PE/"+unit+"-pe.sorted.bam")
input.append("results/mapping/PE/"+unit+"_1U-se.sorted.bam")
input.append("results/mapping/PE/"+unit+"_2U-se.sorted.bam")
if wildcards.sample in SE_samples:
for unit in SE_samples[wildcards.sample]:
input.append("results/mapping/SE/"+unit+"-se.sorted.bam")
return input
rule sample_merge:
input:
lambda wildcards: expand("results/mapping/PE/{unit}-pe.sorted.bam", unit=PE_samples[wildcards.sample]),
lambda wildcards: expand("results/mapping/PE/{unit}_1U-se.sorted.bam", unit=PE_samples[wildcards.sample]),
lambda wildcards: expand("results/mapping/PE/{unit}_2U-se.sorted.bam", unit=PE_samples[wildcards.sample])
get_input
output:
temp("results/sample_merge/{sample}.sorted.bam")
......@@ -21,7 +31,7 @@ rule sample_merge_PE:
stderr="results/sample_merge/logs/{sample}_merge_PE.stderr"
params:
mem=config["sample_merge_PE"]["mem"]
mem=config["sample_merge"]["mem"]
run:
......
# coding: utf-8
__author__ = "Kenza BAZI KABBAJ - Sigenae"
__version__ = "1.0.0"
"""
Merge SE bam files for multiple units into one for the given sample.
"""
rule sample_merge_SE:
input:
lambda wildcards: expand("results/mapping/SE/{unit}-se.sorted.bam", unit=SE_samples[wildcards.sample])
output:
temp("results/sample_merge/{sample}.sorted.bam")
log:
stdout="results/sample_merge/logs/{sample}_merge_SE.stdout",
stderr="results/sample_merge/logs/{sample}_merge_SE.stderr"
params:
mem=config["sample_merge_SE"]["mem"]
run:
reads=" I=".join(input)
shell("java -Xmx{params.mem} -jar {config[picard]} MergeSamFiles I={reads} VALIDATION_STRINGENCY=LENIENT ASSUME_SORTED=true MERGE_SEQUENCE_DICTIONARIES=true O={output} > {log.stdout} 2> {log.stderr}")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment