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)); } }
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); }
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); }
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); }
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)); } } }
/// <summary> /// 打印item相关的信息,主要是标识、理论值、实验值、以及分布count数,应该与PrintHeader中定义的标题行一致。 /// </summary> /// <param name="sw"></param> /// <param name="item"></param> protected abstract void PrintItem(StreamWriter sw, CalculationItem item);