Skip to content
bismark-rust-v3.0.0

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 Rust · byte-identical to Perl v0.25.1
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 used across whole-genome (WGBS), reduced-representation (RRBS) and PBAT libraries. Bismark is now a single Rust binary — faster and lower-memory, with output byte-identical to Perl v0.25.1; the original Perl scripts are archived as legacy.

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; BAM/SAM/CRAM I/O is pure-Rust (no Samtools needed). 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 bismark report and bismark summary: 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

One command via bioconda — installs the aligners too.

mamba install -c bioconda bismark
2

Prepare the genome

Build the bisulfite-converted indices once per reference.

bismark prepare /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).

bismark dedup --bam R1_bismark_bt2_pe.bam
5

Extract methylation

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

bismark extract --gzip --bedGraph sample.bam