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);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
        }