Hidden Markov Modeling (HMM) is a statistical technique to represent and predict a sequence of hidden features in a sequence of observed data. For example, a HMM could distinguish words in a stream of sounds. This technique can be very useful in Bioinformatic Sequence Analysis as public databases count with an ever growing number of sequences of nucleotides and aminoacids. In those sequences we would like to predict “hidden” functional, structural and evolutionary features. For example, we would like to predict functional motives in a gene sequence. Or, we would like to predict the secondary structure of a protein sequence.
In order to teach and learn this technique, we developed a Java based software that solves HMM algorithms once the user inputs the model. The graphical interface guides the learner through five steps: Steps 1 to 3, requesting the main elements of a HMM; 4. Asking the user which one of the three questions (related to algorithms Forward, Backward and Viterbi) is to be answered and; 5. Reporting the solutions step-by-step in PDF format document. In the case the user doesn’t know the information the software is requesting, it provides an option in which the program fills the unknown box with random generated numbers. This way, the student can go on and learn by examining the solution of the model.
This first version allows the Bioinformatics teacher to focus the HMM classes on modeling the biology and in the problem solving practice instead of on the mathematical theory that leads to the algorithm formulae.