private void Plot(int spectrumNumber, bool rescale = true)
{
zedGraphControl1.GraphPane.CurveList.Clear();
zedGraphControl2.GraphPane.CurveList.Clear();
var rawSpectrum = _rawFile.GetSpectrum(spectrumNumber);
Polarity polarity = _rawFile.GetPolarity(spectrumNumber);
double precursorMZ = _rawFile.GetPrecusorMz(spectrumNumber);
int precursorZ = _rawFile.GetPrecusorCharge(spectrumNumber);
double precursorMass = Mass.MassFromMz(precursorMZ, precursorZ);
textBox2.Text = precursorMZ.ToString("f5");
textBox3.Text = ((polarity == Polarity.Positive) ? "+" : "") + precursorZ.ToString("N0");
textBox4.Text = precursorMass.ToString("f5");
List<IRange<double>> mzRangesToRemove = new List<IRange<double>>();
if (checkBox1.Checked)
{
double lowMZ = (double)numericUpDown1.Value;
double highMZ = (double)numericUpDown2.Value;
DtaGenerator.CleanPrecursor(mzRangesToRemove, precursorMZ, lowMZ, highMZ);
}
if (checkBox2.Checked)
{
double lowMZ = (double)numericUpDown3.Value;
double highMZ = (double)numericUpDown4.Value;
DtaGenerator.CleanETD(mzRangesToRemove, precursorMass, precursorZ, lowMZ, highMZ);
}
var cleanSpectrum = rawSpectrum.Filter(mzRangesToRemove);
zedGraphControl1.GraphPane.AddStick("Raw", rawSpectrum.GetMasses(), rawSpectrum.GetIntensities(), Color.Black);
zedGraphControl2.GraphPane.AddStick("Cleaned", cleanSpectrum.GetMasses(), cleanSpectrum.GetIntensities(), Color.Black);
if (rescale)
{
zedGraphControl1.GraphPane.XAxis.Scale.Min = rawSpectrum.FirstMz;
zedGraphControl2.GraphPane.XAxis.Scale.Min = rawSpectrum.FirstMz;
zedGraphControl1.GraphPane.XAxis.Scale.Max = rawSpectrum.LastMZ;
zedGraphControl2.GraphPane.XAxis.Scale.Max = rawSpectrum.LastMZ;
}
zedGraphControl1.GraphPane.Title.Text = _rawFile.GetScanFilter(spectrumNumber);
//zedGraphControl2.GraphPane.Title.Text = dta.Name;
zedGraphControl1.Invalidate();
zedGraphControl2.Invalidate();
zedGraphControl1.AxisChange();
zedGraphControl2.AxisChange();
zedGraphControl1.SetScrollRangeFromData();
zedGraphControl2.SetScrollRangeFromData();
_currentIndex = spectrumNumber;
}