Exemplo n.º 1
0
        public double[][] Data()
        {
            double[][] data = new double[2][];

            // next make a request for the filtered chromatogram.
            // Define settings for XIC
            ChromatogramTraceSettings traceSettings =
                new ChromatogramTraceSettings(TraceType.MassRange)
            {
                Filter     = filterMS,
                MassRanges = new[] { new Range(mass, mass) }
            };

            // create the array of chromatogram settings
            IChromatogramSettings[] allSettings = { traceSettings };

            // set tolerance of +/- whatever ppm
            MassOptions tolerance = new MassOptions()
            {
                Tolerance = ppm, ToleranceUnits = ToleranceUnits.ppm
            };

            // read the chromatogram
            var chroData = rawFile.GetChromatogramData(allSettings, -1, -1, tolerance);

            data[0] = chroData.PositionsArray.ToArray()[0];
            data[1] = chroData.IntensitiesArray.ToArray()[0];

            return(data);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Get and set chromatogram data from the raw file
        /// </summary>
        /// <param name="inputRawFile"></param>
        private void GetChromatogramData(IRawDataPlus inputRawFile)
        {
            try
            {
                //Get mass resolution for the run from the header
                MassResolution = inputRawFile.RunHeaderEx.MassResolution;

                // Find startScan and endScan
                int startScan = inputRawFile.RunHeader.FirstSpectrum;
                int endScan   = inputRawFile.RunHeader.LastSpectrum;

                //Set up settings to extract the data
                ChromatogramTraceSettings traceSettings =
                    new ChromatogramTraceSettings(TraceType.MassRange)
                {
                    Filter     = FILTER_MS,
                    MassRanges = new[] { new Range(LowMass, HighMass) }
                };
                IChromatogramSettings[] allSettings = { traceSettings };

                MassOptions massOptions = new MassOptions()
                {
                    Tolerance = Tolerance, ToleranceUnits = ToleranceUnits
                };
                var chromatogramData = inputRawFile.GetChromatogramData(allSettings, startScan, endScan, massOptions); //get all chromatogram data

                // Get data from the chromatogram
                ScanNumList       = chromatogramData.ScanNumbersArray[0];
                ExactMassList     = chromatogramData.PositionsArray[0];   //get positions  of each scan
                MassIntensityList = chromatogramData.IntensitiesArray[0]; //get list of intensities for scan numbers
            }
            catch (Exception ex)
            {
                Console.Write("Error in accessing chromatogram data: " + ex);
            }
        }
Exemplo n.º 3
0
        private void UpdateChromatogramData()
        {
            ChromatogramTraceSettings traceSettings;
            MassOptions tolerance = null;
            string      msFilter;

            if (ChroMsLevelComboBox.Text == "MS1" | ChroMsLevelComboBox.SelectedIndex == -1)
            {
                msFilter = "ms";
            }
            else if (ChroMsLevelComboBox.Text == "MS2")
            {
                msFilter = "ms2";
            }
            else if (ChroMsLevelComboBox.Text == "MS3")
            {
                msFilter = "ms3";
            }
            else
            {
                msFilter = String.Empty;
            }

            if (ChroTICRadioButton.Checked)
            {
                traceSettings = new ChromatogramTraceSettings(TraceType.TIC);
            }
            else if (ChroBPRadioButton.Checked)
            {
                traceSettings = new ChromatogramTraceSettings(TraceType.BasePeak);
            }
            else
            {
                if (ChroXICmzTextBox.Text.IsNullOrEmpty() || ChroXICmzTextBox.BackColor == Color.Red || ChroXICmzTextBox.Text == "")
                {
                    traceSettings = new ChromatogramTraceSettings(TraceType.TIC);
                }
                else
                {
                    double da = Convert.ToDouble(ChroXICmzTextBox.Text);

                    traceSettings = new ChromatogramTraceSettings(TraceType.MassRange)
                    {
                        MassRanges = new[] { new Range(da, da) },
                    };

                    if (!chroXICToleranceTextBox.Text.IsNullOrEmpty() && !(chroXICToleranceTextBox.BackColor == Color.Red) && !(chroXICToleranceTextBox.Text == ""))
                    {
                        tolerance = new MassOptions()
                        {
                            Tolerance = Convert.ToDouble(chroXICToleranceTextBox.Text)
                        };

                        if (chroMassTolPPM.Checked)
                        {
                            tolerance.ToleranceUnits = ToleranceUnits.ppm;
                        }
                        else if (chroMassTolDa.Checked)
                        {
                            tolerance.ToleranceUnits = ToleranceUnits.amu;
                        }
                        else
                        {
                            tolerance.ToleranceUnits = ToleranceUnits.mmu;
                        }
                    }
                }
            }

            traceSettings.Filter = msFilter;

            IChromatogramSettingsEx[] allSettings = { traceSettings };

            ChromatogramData = RawData.GetChromatogramDataEx(allSettings, -1, -1, tolerance);
        }