QuasiNovo: Algorithms for De Novo Peptide Sequencing