mzLib
mzLib copied to clipboard
The number of target peptides is not the same as the number of decoy peptides
This appears to be an N-terminal Methionine related issue. It is observed independent of variable modifications, but disappears without an M on the N-terminus. I suspect there are two problems: one with an N-terminal duplication and another with variable modifications generating combinations (Example: MARM -> MAR, M(Ox)AR, M, and M(Ox) [4] vs the decoy MMRA -> MMR, M(Ox)MR, MM(Ox)R, M(Ox)M(Ox)R, and A [5]).
Here's a unit test that fails: [Test] public static void DecoyIsBroken() { Protein targetProtein = new Protein("MPRTEINSEQENCEWITHAKANDANRANDSMSTFF", "accession1"); var decoyProtein = DecoyProteinGenerator.GenerateDecoys(new List<Protein> { targetProtein }, DecoyType.Reverse)[0]; DigestionParams dp = new DigestionParams(); var targetPeptides = targetProtein.Digest(dp, new List<Modification>(), new List<Modification>()).ToList(); var decoyPeptides = decoyProtein.Digest(dp, new List<Modification>(), new List<Modification>()).ToList(); Assert.AreEqual(targetPeptides.Count, decoyPeptides.Count); }