public override List <string> GeneratePeptideSequences(IProtein protein) { if (protein.GetPeptides().Count == 0) { List <string> sequences = GeneratePeptideSequence.Generate( protein.GetSequence(), parameter.GetProtease(), parameter.GetMissCleavage(), parameter.GetMiniLength()); return(sequences); } List <IPeptide> peptides = protein.GetPeptides(); HashSet <string> seqList = new HashSet <string>(); foreach (IPeptide peptide in peptides) { string seq = peptide.GetSequence(); seqList.UnionWith(GeneratePeptideSequence.Generate( seq, parameter.GetProtease(), parameter.GetMissCleavage(), parameter.GetMiniLength())); } return(seqList.ToList()); }