Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

BSBolt (BiSulfite Bolt)

A fast and safe bisulfite sequencing analysis platform

BiSuflite Bolt (BSBolt); a fast and scalable bisulfite sequencing analysis platform. BSBolt is an integrated analysis platform that offers support for bisulfite sequencing read simulation, alignment, methylation calling, data aggregation, and data imputation. BSBolt has been validated to work with a wide array of bisulfite sequencing data,including whole genome bisulfite sequencing (WGBS), reduced representative bisulfite sequencing data (RRBS), and targeted methylation sequencing data. BSBolt utilizes forked versions of BWA and WGSIM for read alignment and read simulation respectively. BSBolt is released under the MIT license.


Farrell, C., Thompson, M., Tosevska, A., Oyetunde, A. & Pellegrini, M. BiSulfite Bolt: A BiSulfite Sequencing Analysis Platform. 2020.10.06.328559 (2020). doi:10.1101/2020.10.06.328559


Documentation can be found at

Release Notes

  • v1.6.0
    • MethyDackel compatibility
    • Option to output alignment to stdout
  • v1.5.0
    • Improved thread handling for methylation / variant calling.
    • Experimental bisulfite aware SNP caller.
  • v1.4.8
    • Fixed bug ending alignment when the reference template end greater than reference boundary.
  • v1.4.7
    • Alignment stats fix.
  • v1.4.6
    • Alignment statistics now output as generated.
    • Fixed bug where alignment would stop when observed mappability was low.
  • v1.4.5
    • Fixed maximum read depth bug that prevented methylation call on site covered by greater than 8000 reads
    • Refactored build script, with experimental support for M1 Macs
  • v1.4.4
    • The default entry point for BSBolt has changed from BSBolt to bsbolt for conda compatibility


PyPi Installation

Pre-compiled binaries can be installed using PyPi. Binaries are available for python >=3.6 on unix like systems (macOS >=10.15 and linux).

pip3 install bsbolt --user

Conda Installation

BSBolt can be installed using the conda package manager using the instructions below.

conda config --add channels bioconda
conda config --add channels conda-forge
conda install -c cpfarrell bsbolt

Installing from Source


  • zlib-devel >= 1.2.3-29
  • GCC >= 8.3.1
# clone the repository
git clone
cd bsbolt
# compile and install package
pip3 install .

Installing from Source on macOS


  • autoconf
  • automake
  • homebrew
  • xcode

Installation from source requires xcode command line utilities, homebrew macOS package manager, autoconf, python (>=3.6), and automake.The full installation process is outlined below.

# install xcode utilities
xcode-select --install
# install homebrew
/bin/bash -c "$(curl -fsSL"
# install autoconf
brew install autoconf
# install automake
brew install automake
# optionally install python > 3.5
brew install python3.8
# clone the repository
git clone
cd BSBolt
# compile and install package
pip3 install -e .


Following installation BSBolt can be called using bsbolt Module.

python3 -m bsbolt
usage: bsbolt Module {Module Arguments}

BiSulfite Bolt v1.6.0

  -h, --help            show this help message and exit

  Please invoke bsbolt module for help, see for detailed

  Index, Align, CallMethylation, AggregateMatrix, Simulate, Impute
    Align               Alignment
    Index               Index Generation
    CallMethylation     Methylation Calling
    AggregateMatrix     CGmap Matrix Aggregation
    Simulate            Read Simulation
    Impute              kNN Imputation
    Sort                BAM Sort
    BamIndex            BAM Index
    CallVariation       Genetic Variation Calling
    GenotypeMatrix      Variant Bed Matrix Aggregation