I am looking for tools that would help process multiple alignment of protein sequences and extract polymorphic sites only--based on reference sequence. Well, what I have in mind is an output of something matrix-like like so:

```
Position             2    10     20    45     60     63
RefSeq               Val  Leu    Ala   Ser    Phe    Thr 
Seq1                 Met               Tyr
Seq2                             Gly                Pro
Seq3                      Ala                 Arg
```

Any suggestion for tools or scripts(preferably python) that can help me achieve this fast?

Thanks.
This looks like a task you can write up a script by yourself before finding a tool to do the job for you.

Assuming you have sequences saved in a python list and the reference is the last one, here's something you could do...

```
seqs = do_your_magic_to_get_the_sequences()

ref = seqs[-1]
diffs_top, diffs = [], []
all_diffs = set()

for s in seqs[:-1]:
    diffs = []
    for i, c in enumerate(s):
        if s[i] != ref[i]:
            diffs.append(i)
            all_diffs.add(i)
    diffs_top.append(diffs)

for d in all_diffs:
    print "%-3d" % int(d+1),
print

for c in ref:
    print "%-3s" % c,
print

for i, s in enumerate(seqs[:-1]):
    for j, c in enumerate(s):
        if j in diffs_top[i]:
            print "%-3s" % c,
        else:
            print "%-3s" % " ",
    print
```

The print out of an example data would then be like:

```
1   2   3   4   5   6   7   8   9   10  11  12  13  14
M   L   Y   M   V   A   R   V   A   Y   K   K   N   P
V   P   R           F   M           G           L
    A   B   K   L   P   P   K       B               C
N       P       Y       F       C       C   L       C
```