示例#1
0
        protected override void PrintItem(StreamWriter pw, CalculationItem calculationItem)
        {
            pw.Write("{0}", calculationItem.Key);

            foreach (var s in option.GetClassifiedNames())
            {
                Count count = calculationItem.Classifications[s];
                pw.Write("\t" + count.PeptideCount);
                pw.Write("\t" + GetRank(peptideCounts[s], count.PeptideCount));
            }
        }
示例#2
0
        public void TestClassifyPeptideHit()
        {
            List <IIdentifiedSpectrum> spectra = new List <IIdentifiedSpectrum>();

            spectra.Add(new IdentifiedSpectrum()
            {
                Rank = 1
            });
            spectra.Add(new IdentifiedSpectrum()
            {
                Rank = 1
            });
            spectra.Add(new IdentifiedSpectrum()
            {
                Rank = 2
            });
            spectra.Add(new IdentifiedSpectrum()
            {
                Rank = 2
            });

            new IdentifiedPeptide(spectra[0])
            {
                Sequence = "SE*Q"
            };
            new IdentifiedPeptide(spectra[1])
            {
                Sequence = "SEQ"
            };
            new IdentifiedPeptide(spectra[2])
            {
                Sequence = "SEQSEQ"
            };
            new IdentifiedPeptide(spectra[3])
            {
                Sequence = "SEQSEQSEQ"
            };

            CalculationItem item = new CalculationItem()
            {
                Peptides = spectra.ConvertAll(m => m.Peptide).ToList()
            };


            item.ClassifyPeptideHit(m => m.Spectrum.Rank.ToString(), new string[] { "1", "2" });

            Assert.AreEqual(2, item.Classifications.Count);
            Assert.AreEqual(2, item.Classifications["1"].PeptideCount);
            Assert.AreEqual(1, item.Classifications["1"].UniquePeptideCount);
            Assert.AreEqual(2, item.Classifications["2"].PeptideCount);
            Assert.AreEqual(2, item.Classifications["2"].UniquePeptideCount);
        }
示例#3
0
        protected override void PrintItem(StreamWriter pw, CalculationItem calculationItem)
        {
            IIdentifiedProteinGroup progroup = (IIdentifiedProteinGroup)calculationItem.Key;

            pw.Write(StringUtils.Merge(
                         from p in progroup select parser.GetValue(p.Name),
                         " ! "));

            pw.Write("\t");

            pw.Write(StringUtils.Merge(
                         from p in progroup select p.Description,
                         " ! "));

            PrintClassifiedPeptideCount(pw, calculationItem);
        }
示例#4
0
        public void TestClassifyPeptideHit2()
        {
            var ir = new SequestResultTextFormat().ReadFromFile(TestContext.CurrentContext.TestDirectory + "/../../../data/TestDistributionOption.noredundant");

            CalculationItem item = new CalculationItem()
            {
                Peptides = ir[0][0].GetDistinctPeptides()
            };

            item.ClassifyPeptideHit(m => "G1");
            Assert.AreEqual(1360, item.Classifications["G1"].PeptideCount);
            Assert.AreEqual(24, item.Classifications["G1"].UniquePeptideCount);

            item.Peptides = ir[1][0].GetDistinctPeptides();
            item.ClassifyPeptideHit(m => "G1");
            Assert.AreEqual(5, item.Classifications["G1"].PeptideCount);
            Assert.AreEqual(1, item.Classifications["G1"].UniquePeptideCount);
        }
示例#5
0
        protected void PrintClassifiedPeptideCount(StreamWriter pw, CalculationItem calculationItem)
        {
            if (!ExportPeptideCountOnly)
            {
                foreach (var s in option.GetClassifiedNames())
                {
                    Count count = calculationItem.Classifications[s];
                    pw.Write("\t" + count.UniquePeptideCount);
                    pw.Write("\t" + GetRank(uniquePeptideCounts[s], count.UniquePeptideCount));
                }
            }

            foreach (var s in option.GetClassifiedNames())
            {
                Count count = calculationItem.Classifications[s];
                pw.Write("\t" + count.PeptideCount);
                if (!ExportPeptideCountOnly)
                {
                    pw.Write("\t" + GetRank(peptideCounts[s], count.PeptideCount));
                }
            }
        }
示例#6
0
 /// <summary>
 /// 打印item相关的信息,主要是标识、理论值、实验值、以及分布count数,应该与PrintHeader中定义的标题行一致。
 /// </summary>
 /// <param name="sw"></param>
 /// <param name="item"></param>
 protected abstract void PrintItem(StreamWriter sw, CalculationItem item);