NeoBio project consists of Bioinformatics algorithms in Java.
What algorithms? The current version consists mainly of (pairwise) sequence alignment algorithms such as the classical dynamic programming methods of Needleman & Wunsch (global alignment) and Smith & Waterman (local alignment).
Anything else? Yes, a more efficient approach, due to Crochemore, Landau and Ziv-Ukelson is also available.
It uses Lempel-Ziv compression to speed-up the computation of the dynamic programming matrix. It also relies on the SMAWK algorithm, due to Aggarwal et al., that computes all column maxima of a totally monotone matrix in linear time.
Hum... And all sequence alignment algorithms support simple scoring schemes as well as substitution matrices such as standard BLOSUM and PAM matrices. But so far they support constant gap penalty functions only.
Future versions may contain related algorithms such as multiple sequence alignment, database search and protein structure prediction.
Wow...Last but not least, NeoBio also provides a simple GUI and command line based tools to run the sequence alignment algorithms on DNA and protein sequences.