Easy sequence alignment plots
Project description
shabam
A python tool to plot BAM or CRAM sequence reads.
Installation
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)
Credit
Initial cigar parsing code lifted with permission from pybamview.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
shabam-1.0.0.tar.gz
(10.1 kB
view hashes)