public void LoadData(string dtaFile, string outFile)
        {
            ExperimentalPeakList = DtaIO.ReadFromDta <MatchedPeak>(dtaFile);

            SequestOutHeaderParser parser = new SequestOutHeaderParser();

            string[] lines = FileUtils.ReadFile(outFile).ToArray();

            int index = ParseMassType(lines, 0, parser);

            index = ParseModification(lines, index, parser);

            IIdentifiedSpectrum spectrum = new OutParser().ParseFromFile(outFile);

            ScoreMap = new Dictionary <string, string>();
            if (spectrum != null)
            {
                Peptide = spectrum.Sequence;

                ScoreMap["Xcorr"]   = MyConvert.Format("{0:0.0000}", spectrum.Score);
                ScoreMap["DeltaCn"] = MyConvert.Format("{0:0.0000}", spectrum.DeltaScore);

                InitTheoreticalPeaks();
            }
        }
        private int ParseMassType(string[] lines, int index, SequestOutHeaderParser parser)
        {
            while (index < lines.Length)
            {
                bool precursorIsMono, peakIsMono;
                if (parser.ParseMassType(lines[index], out precursorIsMono, out peakIsMono))
                {
                    return(index + 1);
                }
                index++;
            }

            throw new ArgumentException("Cannot find mass type information");
        }
        private int ParseModification(string[] lines, int index, SequestOutHeaderParser parser)
        {
            while (index < lines.Length)
            {
                if (lines[index].IndexOf("Enzyme:") != -1)
                {
                    DynamicModification = parser.ParseDynamicModification(lines[index]);
                    StaticModification  = parser.ParseStaticModification(lines[index]);
                    return(index + 1);
                }
                index++;
            }

            throw new ArgumentException("Cannot find modification information");
        }
 public void TestParseModification()
 {
   var dm = new SequestOutHeaderParser().ParseStaticModification("  (STY* +79.9663) (M# -15.9949) C=160.0307  Enzyme:Trypsin(KR) (2)");
   Assert.AreEqual(dm['C'], 160.0307, 0.0001);
 }