Skip to main content

Easy sequence alignment plots

Project description


A python tool to plot BAM or CRAM sequence reads.


install cairo if not already installed:

# macOS via conda, or via homebrew (choose one, then set the library path)
conda install cairo pkgconfig
brew install cairo pkg-config

Install shabam:

pip install shabam

The dream

from shabam import seqplot
seqplot('example.bam', chrom='1', start=30243, end=30321,
    fastafile='reference.fasta', out='plot.svg')


Plotting options

  • shade reads by strand with by_strand=True
  • plot multiple sequence files together with a list of paths e.g. ['child.bam', 'mom.bam', 'dad.bam']
  • export PDF, PNG, SVG or PS formatted plots with matching filename extensions

Command line version

shabam \
  --seqfiles tests/data/example.bam \
  --chrom 1 \
  --start 30243 \
  --end 30321 \
  --fastafile tests/data/reference.fasta \
  --out plot.svg

Further improvements to the dream

  • [ ] Use consensus sequence when we don't provide a reference sequence
  • [ ] Allow custom colors
  • [ ] Compute proportion of variants at any site
  • [ ] Plot read depth
  • [ ] At positions with proportion of variants > threshold, reflect proportion with base colors
  • [ ] Option to scale plotted base size, currently at 10 pixels per base
  • [ ] Optionally shade plots deepVariant style:
    • red channel: nucleotide
    • blue channel: read strand
    • green channel: base quality
    • alpha: base supports ref or alt
  • [ ] Flatten vertical plotting in high depth sequence data
  • [ ] Down-sample reads for extremely high depth sequence data (>1000X)


Initial cigar parsing code lifted with permission from pybamview.

Project details

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for shabam, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size shabam-1.0.0.tar.gz (10.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page