Ejemplo n.º 1
0
        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));
                //  });
                //}
            });
        }
Ejemplo n.º 2
0
        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));
        }