SCABIO is a framework written in Scala that contains a collection of algorithms and methods for bioinformatics. It was originally developed to demonstrate algorithms for a lecture in bioinformatics but has grown in the meantime and become a comprehensive collection. The framework contains so far a generic (2D) extensible dynamic programing algorithm, global, semi-local and local pairwise alignment, multiple alignment, pattern recognition with the Viterbi-algorithm, RNA 2D structure viewer based on Nussinov algorithm, greedy superstring algorithm for sequence assembly and much more.
A key feature is a generic and extensible dynamic programming (DP) algorithm. Many bioinformatics algorithms rely on this method. scabio simply comes with a dynamic programming framework/interface which can be (re-)used or extended for many purposes, especially for all kind of bioinformatics algorithms. Within SCABIO, all pairwise alignment algorithms, the Viterbi-algorithm and the Nussinov-algorithm are based on these DP classes.
SCABIO requires a Java virtual machine (Java 5 or above) and works with Scala 2.9 or above. It uses Maven 2 and GIT for development.