protected override void PrepareIntensityFile(List <IIdentifiedSpectrum> spectra, string filename) { var pepfilename = Path.ChangeExtension(filename, ".pep.csv"); using (StreamWriter sw = new StreamWriter(pepfilename)) { sw.WriteLine("RefIntensity,SamIntensity,Peptide,FileScan"); foreach (var pep in spectra) { if (pep.IsEnabled(true) && Option.IsPeptideRatioValid(pep)) { string ratioFile = Option.GetRatioFile(pep); if (ratioFile == null) { continue; } O18QuantificationSummaryItem item = new O18QuantificationSummaryItemXmlFormat().ReadFromFile(ratioFile); item.CalculateIndividualAbundance(); foreach (var envelope in item.ObservedEnvelopes) { if (!envelope.Enabled) { continue; } double refIntensity = envelope.SampleAbundance.O16; double sampleIntensity = envelope.SampleAbundance.O18; if (refIntensity == 0.0 || sampleIntensity == 0.0) { continue; } sw.WriteLine("{0},{1},{2},{3}", refIntensity, sampleIntensity, pep.Sequence, pep.Query.FileScan); } } } } }
public override void Update(object sender, UpdateQuantificationItemEventArgs e) { IQuantificationSummaryOption option = e.Option as IQuantificationSummaryOption; panel.InitGraphPane(title, option.Func.ReferenceKey, option.Func.SampleKey, true, 0.0); IIdentifiedProteinGroup group = e.Item as IIdentifiedProteinGroup; try { var pplNormal = new PointPairList(); var pplSelected = new PointPairList(); var spectra = group.GetPeptides(); var format = new O18QuantificationSummaryItemXmlFormat(); foreach (var pep in spectra) { if (pep.IsEnabled(true) && option.IsPeptideRatioValid(pep)) { string ratioFile = GetRatioFile(option, pep); if (ratioFile == null) { continue; } O18QuantificationSummaryItem item = new O18QuantificationSummaryItemXmlFormat().ReadFromFile(ratioFile); item.CalculateIndividualAbundance(); PointPairList ppl; if (pep.Selected) { ppl = pplSelected; } else { ppl = pplNormal; } foreach (var envelope in item.ObservedEnvelopes) { if (!envelope.Enabled) { continue; } double refIntensity = envelope.SampleAbundance.O16; double sampleIntensity = envelope.SampleAbundance.O18; if (refIntensity == 0.0 || sampleIntensity == 0.0) { continue; } ppl.Add(refIntensity, sampleIntensity); ppl[ppl.Count - 1].Tag = pep; Debug.Assert(ppl[ppl.Count - 1].Tag == pep); } } } this.panel.ClearData(); this.panel.AddPoints(pplSelected, SelectedColor); this.panel.AddPoints(pplNormal, NormalColor); var pplTotal = new PointPairList(); pplTotal.AddRange(pplSelected); pplTotal.AddRange(pplNormal); if (pplTotal.Count > 0) { var maxValue = (from p in pplTotal select Math.Max(p.X, p.Y)).Max() * 1.1; this.panel.XAxis.Scale.Max = maxValue; this.panel.YAxis.Scale.Max = maxValue; var ratio = option.GetProteinRatio(group[0]); PointPairList line = pplTotal.GetRegressionLine(ratio); var lineItem = this.panel.AddCurve(option.GetProteinRatioDescription(group[0]), line, RegressionLineColor, SymbolType.None); lineItem.Label.FontSpec = new FontSpec() { Size = 15, Border = new Border() { IsVisible = false } }; } } finally { ZedGraphicExtension.UpdateGraph(this.zgcGraph); } }
public void TestLoadFromFile() { O18QuantificationSummaryItem item = new O18QuantificationSummaryItemXmlFormat().ReadFromFile(TestContext.CurrentContext.TestDirectory + "/../../../data/O18QuantificationInformation.xml"); Assert.AreEqual(@"D:\sqh\Science\Project/4NLFOR.raw", item.RawFilename); Assert.AreEqual("AFATDITDAEEDK", item.PeptideSequence); Assert.AreEqual("C60H92N14O26", item.PeptideAtomComposition); Assert.AreEqual(0.95, item.PurityOfO18Water, 0.01); var expectPeptideProfile = new List <double>(new[] { 0.4611, 0.3340, 0.1439, 0.0459, 0.0119, 0.0026, 0.0005, 0.0001 }); Assert.AreEqual(expectPeptideProfile, item.PeptideProfile); Assert.AreEqual(713.3209, item.SpeciesAbundance.RegressionItems[0].Mz); Assert.AreEqual(36513020.6, item.SpeciesAbundance.RegressionItems[0].ObservedIntensity); Assert.AreEqual(36512100.5, item.SpeciesAbundance.RegressionItems[0].RegressionIntensity); Assert.AreEqual(713.8254, item.SpeciesAbundance.RegressionItems[1].Mz); Assert.AreEqual(26438219.2, item.SpeciesAbundance.RegressionItems[1].ObservedIntensity); Assert.AreEqual(26447909.0, item.SpeciesAbundance.RegressionItems[1].RegressionIntensity); Assert.AreEqual(714.3221, item.SpeciesAbundance.RegressionItems[2].Mz); Assert.AreEqual(29639265.4, item.SpeciesAbundance.RegressionItems[2].ObservedIntensity); Assert.AreEqual(29595148.6, item.SpeciesAbundance.RegressionItems[2].RegressionIntensity); Assert.AreEqual(714.8242, item.SpeciesAbundance.RegressionItems[3].Mz); Assert.AreEqual(16687280.4, item.SpeciesAbundance.RegressionItems[3].ObservedIntensity); Assert.AreEqual(16812006.0, item.SpeciesAbundance.RegressionItems[3].RegressionIntensity); Assert.AreEqual(715.3243, item.SpeciesAbundance.RegressionItems[4].Mz); Assert.AreEqual(7087781.0, item.SpeciesAbundance.RegressionItems[4].ObservedIntensity); Assert.AreEqual(6823450.3, item.SpeciesAbundance.RegressionItems[4].RegressionIntensity); Assert.AreEqual(715.8316, item.SpeciesAbundance.RegressionItems[5].Mz); Assert.AreEqual(1799203.9, item.SpeciesAbundance.RegressionItems[5].ObservedIntensity); Assert.AreEqual(2164120.0, item.SpeciesAbundance.RegressionItems[5].RegressionIntensity); Assert.AreEqual(2, item.ObservedEnvelopes.Count); Assert.AreEqual(6741, item.ObservedEnvelopes[0].ScanTimes[0].Scan); Assert.AreEqual(12.34, item.ObservedEnvelopes[0].ScanTimes[0].RetentionTime); Assert.IsTrue(item.ObservedEnvelopes[0].Enabled); Assert.IsTrue(item.ObservedEnvelopes[0].IsIdentified); Assert.AreEqual(713.3209, item.ObservedEnvelopes[0][0].Mz); Assert.AreEqual(424345.9, item.ObservedEnvelopes[0][0].Intensity); Assert.AreEqual(713.8254, item.ObservedEnvelopes[0][1].Mz); Assert.AreEqual(198378.3, item.ObservedEnvelopes[0][1].Intensity); Assert.AreEqual(714.3221, item.ObservedEnvelopes[0][2].Mz); Assert.AreEqual(246866.8, item.ObservedEnvelopes[0][2].Intensity); Assert.AreEqual(714.8242, item.ObservedEnvelopes[0][3].Mz); Assert.AreEqual(221648.0, item.ObservedEnvelopes[0][3].Intensity); Assert.AreEqual(715.3243, item.ObservedEnvelopes[0][4].Mz); Assert.AreEqual(107701.3, item.ObservedEnvelopes[0][4].Intensity); Assert.AreEqual(715.8316, item.ObservedEnvelopes[0][5].Mz); Assert.AreEqual(0.0, item.ObservedEnvelopes[0][5].Intensity); Assert.AreEqual(6746, item.ObservedEnvelopes[1].ScanTimes[0].Scan); Assert.AreEqual(13.34, item.ObservedEnvelopes[1].ScanTimes[0].RetentionTime); Assert.IsFalse(item.ObservedEnvelopes[1].Enabled); Assert.IsFalse(item.ObservedEnvelopes[1].IsIdentified); Assert.AreEqual(713.3209, item.ObservedEnvelopes[1][0].Mz); Assert.AreEqual(796597.7, item.ObservedEnvelopes[1][0].Intensity); Assert.AreEqual(713.8254, item.ObservedEnvelopes[1][1].Mz); Assert.AreEqual(530778.4, item.ObservedEnvelopes[1][1].Intensity); Assert.AreEqual(714.3221, item.ObservedEnvelopes[1][2].Mz); Assert.AreEqual(456099.6, item.ObservedEnvelopes[1][2].Intensity); Assert.AreEqual(714.8242, item.ObservedEnvelopes[1][3].Mz); Assert.AreEqual(339509.8, item.ObservedEnvelopes[1][3].Intensity); Assert.AreEqual(715.3243, item.ObservedEnvelopes[1][4].Mz); Assert.AreEqual(182812.3, item.ObservedEnvelopes[1][4].Intensity); Assert.AreEqual(715.8316, item.ObservedEnvelopes[1][5].Mz); Assert.AreEqual(0.0, item.ObservedEnvelopes[1][5].Intensity); Assert.AreEqual(79184307.0, item.SpeciesAbundance.O16); Assert.AreEqual(39464386.0, item.SpeciesAbundance.O181); Assert.AreEqual(440969.4, item.SpeciesAbundance.O182); Assert.AreEqual(0.0219, item.SampleAbundance.LabellingEfficiency); Assert.AreEqual(50, item.SampleAbundance.Ratio); Assert.AreEqual(0.0, item.SampleAbundance.O16); Assert.AreEqual(922867772.7, item.SampleAbundance.O18); }