Skip to content

Commit

Permalink
feat: explicitly specify bwa index in bwa samxe (#448)
Browse files Browse the repository at this point in the history
* explicitly specify bwa index in bwa samxe

* Extra docs

* Fixed rest of tests

* Removed misleading comment
  • Loading branch information
fgvieira committed Feb 21, 2022
1 parent c17266b commit ef5b36a
Show file tree
Hide file tree
Showing 16 changed files with 29 additions and 25 deletions.
1 change: 0 additions & 1 deletion bio/bwa/aln/test/Snakefile
@@ -1,7 +1,6 @@
rule bwa_aln:
input:
fastq="reads/{sample}.{pair}.fastq",
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"sai/{sample}.{pair}.sai",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/mem-samblaster/test/Snakefile
@@ -1,7 +1,6 @@
rule bwa_mem:
input:
reads=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
bam="mapped/{sample}.bam",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/mem/test/Snakefile
@@ -1,7 +1,6 @@
rule bwa_mem:
input:
reads=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.bam",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/mem/test/Snakefile_picard
@@ -1,7 +1,6 @@
rule bwa_mem:
input:
reads=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.bam",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/mem/test/Snakefile_samtools
@@ -1,7 +1,6 @@
rule bwa_mem:
input:
reads=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.bam",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/sampe/test/Snakefile
Expand Up @@ -2,7 +2,6 @@ rule bwa_sampe:
input:
fastq=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
sai=["sai/{sample}.1.sai", "sai/{sample}.2.sai"],
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.bam",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/sampe/test/Snakefile_picard
Expand Up @@ -2,7 +2,6 @@ rule bwa_sampe:
input:
fastq=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
sai=["sai/{sample}.1.sai", "sai/{sample}.2.sai"],
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.bam",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/sampe/test/Snakefile_samtools
Expand Up @@ -2,7 +2,6 @@ rule bwa_sampe:
input:
fastq=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
sai=["sai/{sample}.1.sai", "sai/{sample}.2.sai"],
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.bam",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/samse/test/Snakefile
Expand Up @@ -2,7 +2,6 @@ rule bwa_samse:
input:
fastq="reads/{sample}.1.fastq",
sai="sai/{sample}.1.sai",
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.bam",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/samse/test/Snakefile_picard
Expand Up @@ -2,7 +2,6 @@ rule bwa_samse:
input:
fastq="reads/{sample}.1.fastq",
sai="sai/{sample}.1.sai",
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.bam",
Expand Down
1 change: 0 additions & 1 deletion bio/bwa/samse/test/Snakefile_samtools
Expand Up @@ -2,7 +2,6 @@ rule bwa_samse:
input:
fastq="reads/{sample}.1.fastq",
sai="sai/{sample}.1.sai",
# Index can be a list of (all) files created by bwa, or one of them
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.bam",
Expand Down
11 changes: 10 additions & 1 deletion bio/bwa/samxe/meta.yaml
@@ -1,4 +1,13 @@
name: "bwa sam(se/pe)"
description: Map paired-end reads with either bwa samse or sampe. For more information about BWA see `BWA documentation <http://bio-bwa.sourceforge.net/bwa.shtml>`_.
description: Map paired-end reads with either bwa samse or sampe.
authors:
- Filipe G. Vieira
input:
- FASTQ file(s)
- SAI file(s)
- reference genome
output:
- SAM/BAM alignment file
notes: |
* The `extra` param allows for additional program arguments.
* For more information see, http://bio-bwa.sourceforge.net/bwa.shtml
8 changes: 4 additions & 4 deletions bio/bwa/samxe/test/Snakefile
Expand Up @@ -2,10 +2,10 @@ rule bwa_sam_pe:
input:
fastq=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
sai=["sai/{sample}.1.sai", "sai/{sample}.2.sai"],
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.pe.sam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="none",
log:
Expand All @@ -18,10 +18,10 @@ rule bwa_sam_se:
input:
fastq="reads/{sample}.1.fastq",
sai="sai/{sample}.1.sai",
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.se.sam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="none",
log:
Expand All @@ -34,10 +34,10 @@ rule bwa_bam_pe:
input:
fastq=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
sai=["sai/{sample}.1.sai", "sai/{sample}.2.sai"],
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.pe.bam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="none",
log:
Expand All @@ -50,10 +50,10 @@ rule bwa_bam_se:
input:
fastq="reads/{sample}.1.fastq",
sai="sai/{sample}.1.sai",
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.se.bam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="none",
log:
Expand Down
8 changes: 4 additions & 4 deletions bio/bwa/samxe/test/Snakefile_picard
Expand Up @@ -2,10 +2,10 @@ rule bwa_sam_pe:
input:
fastq=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
sai=["sai/{sample}.1.sai", "sai/{sample}.2.sai"],
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.pe.picard_sort.sam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="picard", # optional: Enable sorting. Possible values: 'none', 'samtools' or 'picard'`
sort_order="queryname", # optional: Sort by 'queryname' or 'coordinate'
Expand All @@ -20,10 +20,10 @@ rule bwa_sam_se:
input:
fastq="reads/{sample}.1.fastq",
sai="sai/{sample}.1.sai",
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.se.picard_sort.sam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="picard", # optional: Enable sorting. Possible values: 'none', 'samtools' or 'picard'`
sort_order="queryname", # optional: Sort by 'queryname' or 'coordinate'
Expand All @@ -38,10 +38,10 @@ rule bwa_bam_pe:
input:
fastq=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
sai=["sai/{sample}.1.sai", "sai/{sample}.2.sai"],
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.pe.picard_sort.bam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="picard", # optional: Enable sorting. Possible values: 'none', 'samtools' or 'picard'`
sort_order="queryname", # optional: Sort by 'queryname' or 'coordinate'
Expand All @@ -56,10 +56,10 @@ rule bwa_bam_se:
input:
fastq="reads/{sample}.1.fastq",
sai="sai/{sample}.1.sai",
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.se.picard_sort.bam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="picard", # optional: Enable sorting. Possible values: 'none', 'samtools' or 'picard'`
sort_order="queryname", # optional: Sort by 'queryname' or 'coordinate'
Expand Down
8 changes: 4 additions & 4 deletions bio/bwa/samxe/test/Snakefile_samtools
Expand Up @@ -2,10 +2,10 @@ rule bwa_sam_pe:
input:
fastq=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
sai=["sai/{sample}.1.sai", "sai/{sample}.2.sai"],
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.pe.samtools_sort.sam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="samtools", # optional: Enable sorting. Possible values: 'none', 'samtools' or 'picard'`
sort_order="queryname", # optional: Sort by 'queryname' or 'coordinate'
Expand All @@ -20,10 +20,10 @@ rule bwa_sam_se:
input:
fastq="reads/{sample}.1.fastq",
sai="sai/{sample}.1.sai",
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.se.samtools_sort.sam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="samtools", # optional: Enable sorting. Possible values: 'none', 'samtools' or 'picard'`
sort_order="queryname", # optional: Sort by 'queryname' or 'coordinate'
Expand All @@ -38,10 +38,10 @@ rule bwa_bam_pe:
input:
fastq=["reads/{sample}.1.fastq", "reads/{sample}.2.fastq"],
sai=["sai/{sample}.1.sai", "sai/{sample}.2.sai"],
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.pe.samtools_sort.bam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="samtools", # optional: Enable sorting. Possible values: 'none', 'samtools' or 'picard'`
sort_order="queryname", # optional: Sort by 'queryname' or 'coordinate'
Expand All @@ -56,10 +56,10 @@ rule bwa_bam_se:
input:
fastq="reads/{sample}.1.fastq",
sai="sai/{sample}.1.sai",
idx=multiext("genome", ".amb", ".ann", ".bwt", ".pac", ".sa"),
output:
"mapped/{sample}.se.samtools_sort.bam",
params:
index="genome",
extra=r"-r '@RG\tID:{sample}\tSM:{sample}'", # optional: Extra parameters for bwa.
sort="samtools", # optional: Enable sorting. Possible values: 'none', 'samtools' or 'picard'`
sort_order="queryname", # optional: Sort by 'queryname' or 'coordinate'
Expand Down
8 changes: 7 additions & 1 deletion bio/bwa/samxe/wrapper.py
Expand Up @@ -10,6 +10,12 @@
from snakemake.shell import shell


index = snakemake.input.get("idx", "")
if isinstance(index, str):
index = path.splitext(snakemake.input.idx)[0]
else:
index = path.splitext(snakemake.input.idx[0])[0]

# Check inputs.
fastq = (
snakemake.input.fastq
Expand Down Expand Up @@ -80,7 +86,7 @@
shell(
"(bwa {alg}"
" {extra}"
" {snakemake.params.index}"
" {index}"
" {snakemake.input.sai}"
" {snakemake.input.fastq}"
" | " + pipe_cmd + ") {log}"
Expand Down

0 comments on commit ef5b36a

Please sign in to comment.