private void DisplayScan() { if (this.reader == null) { return; } try { this.scan.ValidateComponent(); this.minPeakIntensity.ValidateComponent(); double rt = retentionTimes[this.scan.Value - 1]; PeakList <Peak> pkl = reader.GetPeakList(rt, this.minPeakIntensity.Value, topPeak.Value); try { ZedGraphicExtension.ClearData(this.zgcScan, false); var pplLight = new PointPairList(); pkl.ForEach(p => pplLight.Add(p.Mz, p.Intensity)); ZedGraphicExtension.AddIndividualLine(this.zgcScan, MyConvert.Format("Scan {0}", this.scan.Value), pplLight, Color.Blue, false); if (reader.GetMsLevel(rt) == 2) { this.zgcScan.GraphPane.Title.Text = MyConvert.Format("Precursor MZ = {0:0.0000}", pkl.PrecursorMZ); } else { this.zgcScan.GraphPane.Title.Text = string.Empty; } } finally { ZedGraphicExtension.UpdateGraph(this.zgcScan); } StringBuilder sb = new StringBuilder(); pkl.ForEach(m => sb.AppendLine(MyConvert.Format("{0:0.0000}\t{1:0.00}", m.Mz, m.Intensity))); txtPeaks.Text = sb.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
protected override void DoRealGo() { PeakList <MatchedPeak> pkl = GetAnnotatedPeakList(); var points = new PointPairList(); pkl.ForEach(p => { if (p.PeakType == IonType.UNKNOWN) { points.Add(new PointPair(p.Mz, p.Intensity)); } else { points.Add(new PointPair(p.Mz, p.Intensity, p.PeakType.ToString())); } }); zgcPeaks.InitGraph(new FileInfo(dtaFile.FullName).Name, "MZ", "Intensity", false, 1.0); zgcPeaks.AddIndividualLine("", points, Color.Black, true); }
public override IEnumerable <string> Process(string rootDirectory) { DirectoryInfo[] dirs = new DirectoryInfo(rootDirectory).GetDirectories("*.d"); Regex reg = new Regex(@"([\d-_]*)"); Progress.SetRange(1, dirs.Length); int count = 0; foreach (var dir in dirs) { if (Progress.IsCancellationPending()) { throw new UserTerminatedException(); } count++; Progress.SetPosition(count); Progress.SetMessage("Processing " + dir.FullName + "..."); Match match = reg.Match(dir.Name); string name = match.Groups[1].Value; if (name.StartsWith("_")) { name = name.Substring(1); } string fileName = GetFileName(dir); if (File.Exists(fileName)) { continue; } double[] intensities = new double[maxPeakMz + 1]; using (StreamWriter sw = new StreamWriter(fileName)) { rawFile.Open(dir.FullName); sw.Write("{0:0}", rawFile.GetTotalIntensity()); for (int peak = minPeakMz; peak <= maxPeakMz; peak++) { sw.Write("\t{0}", peak); } sw.WriteLine(); for (int scan = rawFile.GetFirstSpectrumNumber(); scan <= rawFile.GetLastSpectrumNumber(); scan++) { if (Progress.IsCancellationPending()) { sw.Close(); File.Delete(fileName); throw new UserTerminatedException(); } PeakList <Peak> pkl = rawFile.GetPeakList(scan, minPeakMz, maxPeakMz); for (int peak = minPeakMz; peak <= maxPeakMz; peak++) { intensities[peak] = 0.0; } pkl.ForEach(m => { int mz = (int)Math.Abs(m.Mz); if (m.Intensity > intensities[mz]) { intensities[mz] = m.Intensity; } }); sw.Write(scan); for (int peak = minPeakMz; peak <= maxPeakMz; peak++) { sw.Write("\t{0:0.0}", intensities[peak]); } sw.WriteLine(); } } } return(new string[] { rootDirectory }); }