Exemplo 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));
                //  });
                //}
            });
        }
    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(@"../../../data/deisotopic.peptides");
      IdentifiedSpectrumUtils.RemoveSpectrumWithAmbigiousAssignment(s1);

      s1.ForEach(m => m.Tag = "deisotopic");
      var s2 = new MascotPeptideTextFormat().ReadFromFile(@"../../../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));
        //  });
        //}
      });
    }