MPUSP/snakemake-simple-mapping
A Snakemake workflow for the mapping of reads to reference genomes, minimalistic and simple.
Overview
Testing:
Last update: 2026-03-30
Latest release: v1.6.1
Topics: bowtie2 bwa-mem2 genomics mapping next-generation-sequencing snakemake snakemake-workflow star-alignment variant-calling
Authors: @m-jahn
Configuration
The following configuration details are extracted from the config's README file.
Workflow overview
This workflow is a best-practice workflow for mapping of reads to reference genomes, minimalistic and simple.
It will attempt to map reads to the reference using one of the included mappers, report read and experiment statistics, create coverage profiles, quantify variants (such as SNPs) using two different tools, and predict the effect of these variants. All of this is performed with minimal input and without lookups to external databases (e.g. for variant effects), which makes the workflow ideal for bacteria and other low-complexity non-model organisms.
The workflow is built using snakemake and consists of the following steps:
- Download genome reference from NCBI (
ncbi tools), or use manual input (fasta,gffformat) - Check quality of input read data (
FastQC) - Trim adapters and apply quality filtering (
fastp) - Map reads to reference genome using:
- (
Bowtie2)[http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml] or - (
BWA-MEM2)[https://github.com/bwa-mem2/bwa-mem2] or - (
STAR)[https://github.com/alexdobin/STAR] - (
minimap2)[https://github.com/lh3/minimap2]
- (
- Determine experiment type, get mapping stats (
rseqc) - Generate
bigwigorbedgaphcoverage profiles (deeptools) - Quantify variations and SNPs (
bcftools,freebayes) - Predict effect of variants such as premature stop codons (
VEPorSnpEff) - Create consensus of variants and create a visual report (
R markdown) - Collect statistics from tool output (
MultiQC)
Running the workflow
Input data
The workflow requires sequencing data in *.fastq.gz format, and a reference genome to map to.
The sample sheet listing read input files needs to have the following layout:
| sample | description | read1 | read2 |
|---|---|---|---|
| sample1 | strain XY | sample1_R1.fastq.gz | sample1_R2.fastq.gz |
| ... | ... | ... | ... |