public IonSpectrum getIonSpectrum2() { IonSpectrum expectedSpectrum2 = new IonSpectrum(); expectedSpectrum2.title = "File565 Spectrum2 scans: 4"; expectedSpectrum2.pepmass = "506.38400"; expectedSpectrum2.pepmass_intensity = "3076.27000"; expectedSpectrum2.charge = "2+"; expectedSpectrum2.retentionTime = 2; expectedSpectrum2.scans = 4; expectedSpectrum2.AddPeak(157.043, 5.19905); expectedSpectrum2.AddPeak(175.127, 5.34553); expectedSpectrum2.AddPeak(202.957, 4.52134); expectedSpectrum2.AddPeak(208.036, 2.51525); expectedSpectrum2.AddPeak(216.957, 2.84039); expectedSpectrum2.AddPeak(221.419, 3.91015); expectedSpectrum2.AddPeak(223.048, 4.78027); expectedSpectrum2.AddPeak(228.053, 3.37681); expectedSpectrum2.AddPeak(228.835, 1.09891); expectedSpectrum2.AddPeak(230.047, 4.48171); expectedSpectrum2.AddPeak(246.991, 7.47876); expectedSpectrum2.AddPeak(260.046, 4.58196); expectedSpectrum2.AddPeak(265.090, 5.2341); expectedSpectrum2.AddPeak(265.811, 12.9218); expectedSpectrum2.AddPeak(268.218, 3.58545); expectedSpectrum2.AddPeak(269.078, 5.97038); return expectedSpectrum2; }
public IonSpectrum getTestIonSpectrum() { IonSpectrum spectrum = new IonSpectrum(); spectrum.charge = "2+"; // Add a phosphate neutral loss series spectrum.AddPeak(228.2, 100); spectrum.AddPeak(179.2, 90); spectrum.AddPeak(130.3, 76); // Add a near-miss phosphate peaks spectrum.AddPeak(179.39, 84); spectrum.AddPeak(132.0, 80); // Add some random noise spectrum.AddPeak(140.17, 48); spectrum.AddPeak(130.1, 10); spectrum.AddPeak(77, 33); spectrum.AddPeak(61.9, 2); spectrum.AddPeak(35, 11); spectrum.AddPeak(33, 19); spectrum.AddPeak(31, 7); spectrum.AddPeak(22, 24); return spectrum; }
public IonSpectrum getIonSpectrum1() { IonSpectrum expectedSpectrum1 = new IonSpectrum(); expectedSpectrum1.title = "File565 Spectrum1 scans: 3"; expectedSpectrum1.pepmass = "508.90073"; expectedSpectrum1.pepmass_intensity = "1994.07000"; expectedSpectrum1.charge = "2+"; expectedSpectrum1.retentionTime = 2; expectedSpectrum1.scans = 3; expectedSpectrum1.AddPeak(170.084, 1.30444); expectedSpectrum1.AddPeak(195.201, 3.68346); expectedSpectrum1.AddPeak(202.326, 7.06028); expectedSpectrum1.AddPeak(211.204, 3.53445); expectedSpectrum1.AddPeak(213.118, 2.86394); expectedSpectrum1.AddPeak(221.046, 8.60954); expectedSpectrum1.AddPeak(239.047, 2.50649); return expectedSpectrum1; }
public IonSpectrum parseSpectrum(int ionStartLineIndex, System.IO.StreamReader sr) { IonSpectrum spectrum = null; bool isInsideIonSpectrum = false; int i = ionStartLineIndex; if (i < 0) return null; string line = ""; isInsideIonSpectrum = true; // We're assuming the passed "sr" variable is currently AT the "BEGIN IONS" line spectrum = new IonSpectrum(); spectrum.lineIndex_begin = i; while((line = sr.ReadLine()) != null) { i++; if (isInsideIonSpectrum) { if (line.Contains("TITLE=")) spectrum.title = line.Substring(6); else if (line.Contains("PEPMASS=")) { string[] pepmassInfo = line.Substring(8).Split(' '); if (pepmassInfo.Length == 2) { spectrum.pepmass = pepmassInfo[0]; spectrum.pepmass_intensity = pepmassInfo[1]; } else if (pepmassInfo.Length == 1) spectrum.pepmass = pepmassInfo[0]; } else if (line.Contains("CHARGE=")) spectrum.charge = line.Substring(7); else if (line.Contains("RTINSECONDS=")) spectrum.retentionTime = Double.Parse(line.Substring(12)); else if (line.Contains("SCANS=")) spectrum.scans = Int32.Parse(line.Substring(6)); else if (line.Trim().Equals("END IONS")) { isInsideIonSpectrum = false; spectrum.lineIndex_end = i; break; } else { string[] tokens = line.Trim().Split(' '); if (tokens.Length != 2) Console.WriteLine("Failed to parse the line, " + line + ". Skipping line."); else { try { double mz = Double.Parse(tokens[0]); double intensity = Double.Parse(tokens[1]); spectrum.AddPeak(mz, intensity); } catch { Console.WriteLine("Failed to parse the line, " + line + ". Skipping line."); } } } } } if (isInsideIonSpectrum) { Console.WriteLine("Warning: An ion's MS2 spectrum was not closed by the line, END IONS."); spectrum.lineIndex_end = -1; } return spectrum; }