public async Task TestShowFilteredSpectrum(string rawFile) { var lcms = PbfLcMsRun.GetLcMsRun(rawFile); var scans = lcms.GetScanNumbers(2); var specPlotVm = new SpectrumPlotViewModel(new TestableMainDialogService(), new FragmentationSequenceViewModel(), 1.05, false); foreach (var scan in scans) { var spectrum = lcms.GetSpectrum(scan); var filteredSpectrum = spectrum.GetFilteredSpectrumBySlope(); // filtered spectrum to test against specPlotVm.Spectrum = spectrum; await MsPathFinderTest.SleepMillisecondsAsync(1000); // check unfiltered spectrum specPlotVm.ShowFilteredSpectrum = false; await MsPathFinderTest.SleepMillisecondsAsync(1000); var spectrumSeries = specPlotVm.PlotModel.Series[0] as StemSeries; Assert.False(spectrumSeries == null); Assert.True(spectrumSeries.Points.Count == spectrum.Peaks.Length); // should be the same length for (var i = 0; i < spectrumSeries.Points.Count; i++) { // compare each peak in spectrum plot to actual spectrum Assert.True(spectrumSeries.Points[i].X.Equals(spectrum.Peaks[i].Mz)); Assert.True(spectrumSeries.Points[i].Y.Equals(spectrum.Peaks[i].Intensity)); } await MsPathFinderTest.SleepMillisecondsAsync(1000); // check filtered spectrum specPlotVm.ShowFilteredSpectrum = true; await MsPathFinderTest.SleepMillisecondsAsync(1000); var filteredSeries = (StemSeries)specPlotVm.PlotModel.Series[0]; Assert.True(filteredSeries.Points.Count == filteredSpectrum.Peaks.Length); // should be the same length for (var i = 0; i < filteredSeries.Points.Count; i++) { // compare each peak in spectrum plot to actual filtered spectrum Assert.True(filteredSeries.Points[i].X.Equals(filteredSpectrum.Peaks[i].Mz)); Assert.True(filteredSeries.Points[i].Y.Equals(filteredSpectrum.Peaks[i].Intensity)); } } }
public void TestMassExportPeakLists(string rawFile, string idFile) { // Read files var lcms = PbfLcMsRun.GetLcMsRun(rawFile); var idFileReader = IdFileReaderFactory.CreateReader(idFile); var ids = idFileReader.Read().ToList(); foreach (var id in ids) { id.LcMs = lcms; id.RawFileName = Path.GetFileNameWithoutExtension(rawFile); } var outputDir = MsPathFinderTest.CreateTestResultDirectory("ExporterTest"); var exporter = new SpectrumPeakExporter(outputDir.FullName); exporter.Export(ids.ToList()); }
public async Task TestDisplaySpectrum(string rawFile, string tsvFile) { // init var idFileReader = IdFileReaderFactory.CreateReader(tsvFile); var ids = idFileReader.Read(); var lcms = PbfLcMsRun.GetLcMsRun(rawFile); var idList = ids.ToList(); foreach (var id in idList) { id.LcMs = lcms; id.RawFileName = Path.GetFileNameWithoutExtension(rawFile); } // init SpectrumPlotViewModel var dialogService = new TestableMainDialogService(); var spectrumPlotViewModel = new SpectrumPlotViewModel(dialogService, new FragmentationSequenceViewModel(), 1.05, false); // init test data idList.Sort(new PrSm.PrSmScoreComparer()); var prsm = idList[0]; // init test ions var ions = new ReactiveList <LabeledIonViewModel>(); spectrumPlotViewModel.Spectrum = prsm.Ms2Spectrum; ////spectrumPlotViewModel.Ions = ions; // plot should not be null Assert.NotNull(spectrumPlotViewModel.PlotModel); // Give the PlotModel time to update await MsPathFinderTest.SleepMillisecondsAsync(1000); // plot should contain 1 stem series (the spectrum stem series) Assert.True(spectrumPlotViewModel.PlotModel.Series.Count == 1); }