[Biojava-l] changes to handle ambiguities

Matthew Pocock mrp@sanger.ac.uk
Sat, 24 Jun 2000 15:56:00 +0100

Dear all,

I have commited the ambiguity changes. While I was breaking things, I
have made some other changes. Please check the latest code from CVS, and
mail me/the list with any bugs or queries. I will post a jar & javadoc
to the ftp site in a couple of days time when I am a little more
confident that everything is fine.

Have fun


1) Added AmbiguitySymbol - a thing that can appear in a symbol list,
which means that the symbol there is not known, but is one of the
symbols within ambiguitySymbol.getMatchingAlphabet() - this models
things like n in DNA.

2) the gap symbol becomes an AmbiguitySymbol with an empty alphabet - it
matches nothing. This can be taken to mean that in the symbol list there
is an unfilled slot.

3) updated alphabet so that it accepts AmbiguitySymbol instances iff all
of the symbols matching the ambiguity symbol are also in the alphabet.
This has removed the need for messy things like the DNA alphabet vs
DNA-gapped vs DNAAmbiguity etc. (good thing too).

4) all interfaces with methods like alphabet() have been migrated to be
getAlphabet() - this makes things more beaney and you should be able to
search&replace this one away (affects Distribution, SymbolParser,

5) with DP, I have moved the concept of the weights for emitting symbols
into it's own interface - Distribuiton. EmissionStates now have a
Distribution, rather than accidentaly being one. WeightMatrix becomes
effectively an array of Distributions. StateFactory becomes
DistribuitonFactory etc..

6) performance improvements to single-head dp which means for all
practical perposes it is now io, not cpu bound (very cool - spends
10-100x more in io than dp on my alpha box for the ViterbiAlign demo) -
I will see if the same trick will work for pair-wise pd in the comming

7) all demos rolled over to the new code & working and also moved all
the associated demo files under the demo/files directory to avoid

Joon: You're out of your tree
Sam:  It wasn't my tree
                                                 (Benny & Joon)