public void TestSameEngineDifferentParameters() { ClassificationOptions co = new ClassificationOptions(); co.ClassifyByCharge = true; co.ClassifyByMissCleavage = true; co.ClassifyByModification = true; co.ModifiedAminoacids = "STY"; co.ClassifyByNumProteaseTermini = true; var s1 = new MascotPeptideTextFormat().ReadFromFile(TestContext.CurrentContext.TestDirectory + "/../../../data/deisotopic.peptides"); IdentifiedSpectrumUtils.RemoveSpectrumWithAmbigiousAssignment(s1); s1.ForEach(m => m.Tag = "deisotopic"); var s2 = new MascotPeptideTextFormat().ReadFromFile(TestContext.CurrentContext.TestDirectory + "/../../../data/deisotopic-top10.peptides"); IdentifiedSpectrumUtils.RemoveSpectrumWithAmbigiousAssignment(s2); s2.ForEach(m => m.Tag = "deisotopic-top"); var all = s1.Union(s2).ToList(); var p1 = new List <IIdentifiedSpectrum>(all); IdentifiedSpectrumUtils.KeepTopPeptideFromSameEngineDifferentParameters(p1, new ScoreFunction()); p1.ForEach(m => m.ClassificationTag = "deisotopic/deisotopic-top"); var bin1 = co.BuildSpectrumBin(p1); var p2 = new List <IIdentifiedSpectrum>(all); IdentifiedSpectrumUtils.KeepUnconflictPeptidesFromSameEngineDifferentParameters(p2, new ScoreFunction()); p2.ForEach(m => m.ClassificationTag = "deisotopic/deisotopic-top"); var bin2 = co.BuildSpectrumBin(p2); bin2.ForEach(m => { IdentifiedSpectrumUtils.KeepTopPeptideFromSameEngineDifferentParameters(m.Spectra, new ScoreFunction()); var n = bin1.Find(a => a.Condition.ToString().Equals(m.Condition.ToString())); Assert.AreEqual(m.Spectra.Count, n.Spectra.Count); //{ // if (m.Condition.ToString().Equals("deisotopic/deisotopic-top; Charge=2; MissCleavage=0; Modification=1; NumProteaseTermini=2")) // { // Assert.IsTrue(n.Spectra.Any(k => k.Query.FileScan.ShortFileName.Equals("20111128_CLi_v_4-2k_2mg_TiO2_iTRAQ,4992"))); // } // var diff1 = m.Spectra.Except(n.Spectra).ToList(); // Console.WriteLine(m.Condition.ToString() + " : " + diff1.Count.ToString()); // diff1.ForEach(k => // { // var lst = all.FindAll(l => l.Query.FileScan.LongFileName.Equals(k.Query.FileScan.LongFileName)); // lst.ForEach(q => Console.WriteLine(q.Query.FileScan.ShortFileName + "\t" + q.Tag + "\t" + q.Score.ToString() + "\t" + q.Sequence)); // }); //} }); }
public void KeepUnconflictPeptidesFromSameEngineDifferentParameters() { List <IIdentifiedSpectrum> spectra = new List <IIdentifiedSpectrum>(new IIdentifiedSpectrum[] { s1, s2, s6, s7 }); IdentifiedSpectrumUtils.KeepUnconflictPeptidesFromSameEngineDifferentParameters(spectra, new ScoreFunction()); Assert.AreEqual(3, spectra.Count); Assert.IsTrue(spectra.Contains(s1)); Assert.IsTrue(spectra.Contains(s6)); Assert.IsTrue(spectra.Contains(s7)); }