Take the 2-minute tour ×
Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. It's 100% free, no registration required.

My end goal is a C++ implementation of

  • a Profile HMM (a profile hidden markov model is a model which contains information about a multiple sequence alignment of proteins; just providing some background as the type of model is not necessarily important for what I want to ask).
  • Baum Welch training (and implicitly Forward algorithm, Backward algorithm)

I have everything up and running as long as I don't try to use any silent states.

My biggest problem is that I do not know how to account/modify equations for silent states in my Forward/Backward algorithms. I didn't really find any good examples of this particular case online and I was wondering if anybody could give me a hint or point me in the right direction as I am not very math/stat savvy.

Follow up question: is there a user friendly package/toolbox with these algorithms already implemented? I ask this so that after I manage to complete my algos I can compare results to make sure I compute everything correctly.

I apologize if I was a bit incoherent about my problem. I will be monitoring this question and I will provide additional details as required.

share|improve this question
e.g. hmmer.janelia.org This is the one I have experience with and it is used for bioinformatical research. There are many, many HMM implementations out there (C#, Java, python, C++, ...). Did you already search google for it and did not find something that worked for you (please specify why) or did you just not look yourself yet ;) -> sorry I just saw this post is very old, I don't know why it showed up at the top! –  ExpectoPatronum Jan 3 at 10:15
add comment

1 Answer

I saw this PDF today, it has some slides talking about silent states and how to modufy them in your code.. http://disi.unitn.it/~passerini/teaching/complex_systems/slides/HMM.pdf If you can do it, please, tell me.

Thank you!

share|improve this answer
Could you please provide more details? –  Sven Hohenstein Feb 5 '13 at 18:53
url is not working for me. –  ExpectoPatronum Jan 3 at 10:15
add comment

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.