A Hidden Markov Model for de Novo Peptide Sequencing