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); }