BWA-MEM2 INDEX¶
Creates a bwa-mem2 index.
URL:
Example¶
This wrapper can be used in the following way:
rule bwa_mem2_index:
input:
"{genome}",
output:
"{genome}.0123",
"{genome}.amb",
"{genome}.ann",
"{genome}.bwt.2bit.64",
"{genome}.pac",
log:
"logs/bwa-mem2_index/{genome}.log",
params:
prefix=lambda w: w.genome,
wrapper:
"v1.2.1/bio/bwa-mem2/index"
Note that input, output and log file paths can be chosen freely.
When running with
snakemake --use-conda
the software dependencies will be automatically deployed into an isolated environment before execution.
Software dependencies¶
bwa-mem2==2.2.1
Authors¶
- Christopher Schröder
- Patrik Smeds
Code¶
__author__ = "Christopher Schröder, Patrik Smeds"
__copyright__ = "Copyright 2020, Christopher Schröder, Patrik Smeds"
__email__ = "christopher.schroeder@tu-dortmund.de, patrik.smeds@gmail.com"
__license__ = "MIT"
from os import path
from snakemake.shell import shell
log = snakemake.log_fmt_shell(stdout=False, stderr=True)
# Check inputs/arguments.
if len(snakemake.input) == 0:
raise ValueError("A reference genome has to be provided.")
elif len(snakemake.input) > 1:
raise ValueError("Please provide exactly one reference genome as input.")
# Prefix that should be used for the database
prefix = None
if "prefix" in snakemake.params.keys():
prefix = snakemake.params["prefix"]
else:
prefix = splitext(snakemake.output[0])[0]
if len(prefix) > 0:
prefix = "-p " + prefix
shell("bwa-mem2 index" " {prefix}" " {snakemake.input[0]}" " {log}")