Skip to content

Commit

Permalink
fix: manage properly bwamem2 indexes
Browse files Browse the repository at this point in the history
  • Loading branch information
jlanga committed Apr 26, 2024
1 parent 4c74cb9 commit 6f585f0
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 11 deletions.
18 changes: 11 additions & 7 deletions workflow/rules/preprocess/index.smk
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,24 @@ rule preprocess__index:
input:
fa=REFERENCE / f"{REFERENCE_NAME}.fa.gz",
output:
mock=touch(PRE_INDEX / f"{REFERENCE_NAME}"),
buckets=[
PRE_INDEX / f"{reference_name}.{suffix}"
for reference_name in [REFERENCE_NAME]
for suffix in "0123 amb ann bwt.2bit.64 pac".split()
],
buckets=multiext(
str(PRE_INDEX / f"{REFERENCE_NAME}."),
"0123",
"amb",
"ann",
"bwt.2bit.64",
"pac",
),
log:
PRE_INDEX / f"{REFERENCE_NAME}.log",
conda:
"__environment__.yml"
params:
prefix=PRE_INDEX / f"{REFERENCE_NAME}",
shell:
"""
bwa-mem2 index \
-p {output.mock} \
-p {params.prefix} \
{input.fa} \
> {log} 2>&1
"""
16 changes: 12 additions & 4 deletions workflow/rules/preprocess/map.smk
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,32 @@ rule preprocess__map__bwamem2__:
input:
forward_=READS / "{population}.{library}_1.fq.gz",
reverse_=READS / "{population}.{library}_2.fq.gz",
index=PRE_INDEX / f"{REFERENCE_NAME}",
buckets=multiext(
str(PRE_INDEX / f"{REFERENCE_NAME}."),
"0123",
"amb",
"ann",
"bwt.2bit.64",
"pac",
),
reference=REFERENCE / f"{REFERENCE_NAME}.fa.gz",
output:
cram=PRE_MAP / "{population}.{library}.cram",
params:
rg_tag=compose_rg_tag,
threads: 24
log:
PRE_MAP / "{population}.{library}.bwa_mem.log",
conda:
"__environment__.yml"
params:
rg_tag=compose_rg_tag,
prefix=PRE_INDEX / f"{REFERENCE_NAME}",
shell:
"""
( bwa-mem2 mem \
-M \
-R '{params.rg_tag}' \
-t {threads} \
{input.index} \
{params.prefix} \
{input.forward_} \
{input.reverse_} \
| samtools sort \
Expand Down

0 comments on commit 6f585f0

Please sign in to comment.