Skip to content
bismark-rust-v2.0.0-beta.11

Map bisulfite-treated reads to your reference genome and call cytosine methylation in CpG, CHG and CHH context. One command, one pass, byte-stable output.

Bowtie2 · HISAT2 · minimap2 single & paired-end WGBS · RRBS · PBAT Perl today, Rust in progress
01

What is Bismark

Bisulfite sequencing turns the methylation state of every cytosine into a base change: unmethylated C reads as T, methylated C stays C. That conversion breaks ordinary aligners.

Bismark handles both halves at once. It maps bisulfite-treated reads to your reference, then reads methylation calls straight off the alignments, keeping CpG, CHG and CHH context separate. No second caller, no glue scripts.

It is a command-line tool, written in Perl, used across whole-genome (WGBS), reduced-representation (RRBS) and PBAT libraries. A Rust rewrite is underway for faster runs with byte-identical results.

Lollipop notation

filled — methylated cytosine
open — unmethylated cytosine
02

What you get

Everything a bisulfite workflow needs, exposed as flags you can read.

reads
Single- and paired-end, directional and non-directional libraries. FastQ or FastA, gzipped input read directly.
aligners
Bowtie2, HISAT2 or minimap2 under the hood, with Samtools for BAM handling. Pick the backend that fits your genome and read length.
methylation
Per-cytosine calls in every context, kept separate so you never conflate them.CpGCHGCHH
protocols
First-class support for WGBS, RRBS and PBAT BS-Seq, with the conversion handling each protocol expects.
reports
HTML reports out of the box via bismark2report and bismark2summary: alignment rates, M-bias, context coverage, the lot.
03

From genome to methylation calls

Install, prep a genome, align, deduplicate, extract. Copy each block as you go.

1

Install

Via Bioconda, or grab a release from GitHub.

conda install -c bioconda bismark
2

Prepare the genome

Build the bisulfite-converted indices once per reference.

bismark_genome_preparation /ref/GRCh38/
3

Align reads

Paired-end here; pass a single -1 for single-end.

bismark --genome /ref/GRCh38/ -1 R1.fq.gz -2 R2.fq.gz
4

Deduplicate

Remove PCR duplicates (skip for RRBS libraries).

deduplicate_bismark --bam R1_bismark_bt2_pe.bam
5

Extract methylation

Write per-cytosine calls and a bedGraph, then build the reports.

bismark_methylation_extractor --gzip --bedGraph sample.bam