public MassSpectrum GetMassSpectrum(object idOrIndex) { int index = -1; if (idOrIndex is int) { index = (int)idOrIndex; } else if (idOrIndex is string) { SpectrumList sl = source.MSDataFile.run.spectrumList; int findIndex = sl.find(idOrIndex as string); if (findIndex != sl.size()) { index = findIndex; } } return(GetMassSpectrum(index, source.MSDataFile.run.spectrumList)); }
public ParseSpectraFile(string mzmlPath, HashSet <int> scanNumSet, string ext) { int currentScanNum = -1; try { MSDataFile msd = new MSDataFile(mzmlPath); SpectrumList spectrumList = msd.run.spectrumList; for (int i = 0; i < spectrumList.size(); ++i) { Spectrum spectrum = spectrumList.spectrum(i, true); if (int.Parse(spectrum.cvParams[0].value) == 2) { Match match = scanNumPattern.Match(spectrum.id); currentScanNum = int.Parse(match.Groups[1].Value); if (scanNumSet.Contains(currentScanNum)) { MZIntensityPairList mzIntensityPairs = new MZIntensityPairList(); spectrum.getMZIntensityPairs(ref mzIntensityPairs); Dictionary <float, int> originalPeakList = new Dictionary <float, int>(mzIntensityPairs.Count); foreach (MZIntensityPair mzIntensity in mzIntensityPairs) { originalPeakList[(float)mzIntensity.mz] = (int)mzIntensity.intensity; } spectraMap[currentScanNum] = originalPeakList; } } } } catch (Exception ex) { MessageBox.Show(ex.Message + ": " + currentScanNum, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } }
private static bool HasDriftTimeSpectraInList(SpectrumList spectrumList) { if (spectrumList == null || spectrumList.size() == 0) return false; // Assume that if any spectra have drift times, all do using (var spectrum = spectrumList.spectrum(0, false)) { return GetDriftTimeMsec(spectrum).HasValue; } }
private static bool HasSrmSpectraInList(SpectrumList spectrumList) { if (spectrumList == null || spectrumList.size() == 0) return false; // If the first spectrum is not SRM, the others will not be either using (var spectrum = spectrumList.spectrum(0, false)) { return IsSrmSpectrum(spectrum); } }