Mutations in sequences relative to reference (histogram) I have a reference sequence of amino acids that I compare other sequences to using Bio.pairwise2.align.globalmx of Biopython package (one to many compare - one by one [is there a better way?])

It's works fine but only returns strings of the alignment with very little metadata.

Now I want to extract the indices of the amino acids that are different than the reference sequence and plot it in some kind of histogram according to protein features:

For example:


pos 1-36: 3 mutations.
pos 37-202: 4 mutations.
pos 203: 1 mutation
pos 204-660: 0 mutations


Is there any builtin package to do so?

How can I get the data of diff between 2 sequences in python? I mean which AA changed to which AA and at each position. Bio.pairwise2.align.globalmx returns some data structures of strings (see below) that can be printed but does not contain the locations in a convenient way. 

LLGHKVNPFKALYNRIDMK-QVEALVEASKEE 
|||||||||||||||||||||||||||||||| 
LLGHKVNPFKALYNRIDM-RQVEALVEASKEE
You can use AlignBuddy to process alignments in GenBank format, which allows you to keep the metadata. From the command line:

$: alignbuddy input.gb --generate_alignment mafft | \
   alignbuddy --extract_feature_sequences 'PROT_FEAT_1' | \
   alignbuddy --percent_id


If you want to do a large one-to-many comparison and loop through a bunch of features, I'd recommend importing AlignBuddy into a custom python script and calling the relevant functions directly. You can then collect the relevant data and build a histogram with matplotlib.