public static SwathIndexer Create(IMzLiteDataReader dataReader, string runID) { if (dataReader == null) { throw new ArgumentNullException("dataReader"); } if (string.IsNullOrWhiteSpace(runID)) { throw new ArgumentNullException("runID"); } var spectra = SwathSpectrumEntry.Scan(dataReader.ReadMassSpectra(runID)); var groups = spectra.GroupBy(x => x.SwathWindow, new SwathWindowGroupingComparer()).ToArray(); var swathes = new MSSwath[groups.Length]; for (int i = 0; i < groups.Length; i++) { swathes[i] = new MSSwath(groups[i].Key, groups[i].ToArray()); } SwathList swathList = new SwathList(swathes); return(new SwathIndexer(swathList)); }
private SwathIndexer(SwathList swathList) { this.swathList = swathList; }