コード例 #1
0
        protected string GetRatioFile(IQuantificationSummaryOption option, IIdentifiedSpectrum mph)
        {
            string ratioFile = mph.GetQuantificationItem().Filename;

            if (ratioFile.Equals("-"))
            {
                return(null);
            }

            FileInfo fi = new FileInfo(SummaryFilename);
            string   result;

            if (IsRelativeDir(ratioFile))
            {
                result = fi.DirectoryName + "/" + ratioFile;
            }
            else
            {
                result = fi.DirectoryName + "/" + DefaultDetailDirectory + "/" + ratioFile;
            }

            result = new FileInfo(result).FullName;

            if (!File.Exists(result))
            {
                return(null);
            }

            return(result);
        }
        protected virtual string GetRatioFile(IIdentifiedSpectrum mph)
        {
            string ratioFile;

            if (mph.GetQuantificationItem() != null)
            {
                ratioFile = mph.GetQuantificationItem().Filename;
            }
            else
            {
                ratioFile = (string)mph.Annotations[option.RatioFileKey];
            }

            if (string.IsNullOrEmpty(ratioFile) || ratioFile.Equals("-"))
            {
                return(null);
            }

            FileInfo fi = new FileInfo(summaryFilename);
            string   result;

            if (IsRelativeDir(ratioFile))
            {
                result = fi.DirectoryName + "/" + ratioFile;
            }
            else
            {
                result = fi.DirectoryName + "/" + GetDetailDirectoryName() + "/" + ratioFile;
            }

            result = new FileInfo(result).FullName;

            if (!File.Exists(result))
            {
                MessageBox.Show(this, "Cannot find file " + result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }

            return(result);
        }
コード例 #3
0
        public void WriteToStream(System.IO.StreamWriter sw, IIdentifiedSpectrum peptide)
        {
            string detailFile = this.detailDirectory + "\\" + peptide.GetQuantificationItem().Filename;

            if (File.Exists(detailFile))
            {
                SilacQuantificationSummaryItem item = format.ReadFromFile(detailFile);

                Func <SilacPeakListPair, double> SampleIntensityFunc;
                Func <SilacPeakListPair, double> ReferenceIntensityFunc;

                if (item.SampleIsLight)
                {
                    SampleIntensityFunc    = m => m.LightIntensity;
                    ReferenceIntensityFunc = m => m.HeavyIntensity;
                }
                else
                {
                    SampleIntensityFunc    = m => m.HeavyIntensity;
                    ReferenceIntensityFunc = m => m.LightIntensity;
                }

                var valueFuncs = new List <Func <SilacPeakListPair, string> >();
                foreach (var header in headers)
                {
                    switch (header)
                    {
                    case "Scan": valueFuncs.Add(m => string.Format("{0}", m.Scan));
                        break;

                    case "Retentiontime": valueFuncs.Add(m => string.Format("{0:0.00}", m.Light.ScanTimes[0].RetentionTime));
                        break;

                    case "Identified": valueFuncs.Add(m => m.IsIdentified.ToString());
                        break;

                    case QuantificationItem.KEY_REFERENCE_INTENSITY: valueFuncs.Add(m => string.Format("{0:0.0}", ReferenceIntensityFunc(m)));
                        break;

                    case QuantificationItem.KEY_SAMPLE_INTENSITY: valueFuncs.Add(m => string.Format("{0:0.0}", SampleIntensityFunc(m)));
                        break;

                    case QuantificationItem.KEY_RATIO: valueFuncs.Add(m => string.Format("{0:0.0000}", SampleIntensityFunc(m) / ReferenceIntensityFunc(m)));
                        break;

                    case "Protein": valueFuncs.Add(m => peptide.GetProteins("/"));
                        break;
                    }
                    ;
                }

                foreach (var scan in item.ObservedEnvelopes)
                {
                    if (scan.Enabled)
                    {
                        var ri = ReferenceIntensityFunc(scan);
                        var si = SampleIntensityFunc(scan);
                        if (ri == 0.0 || si == 0.0)
                        {
                            continue;
                        }

                        sw.Write("\t");
                        foreach (var func in valueFuncs)
                        {
                            sw.Write("\t{0}", func(scan));
                        }
                        sw.WriteLine();
                    }
                }
            }
        }
コード例 #4
0
 public double CalculatePeptideRatio(IIdentifiedSpectrum spectrum)
 {
     return(spectrum.GetQuantificationItem().Ratio);
 }
コード例 #5
0
 public bool HasPeptideRatio(IIdentifiedSpectrum spectrum)
 {
     return(spectrum.GetQuantificationItem() != null);
 }