[TestCase(@"032421_MALAT1Capture_5790_7045", 784.3348, 7045.937, 9)] // harmonic public static void TestDeconvolutionDifferentCases(string dataFilePath, double mz, double monoMass, int z) { string filePath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData\DeconCases\" + dataFilePath + ".mzML"); var data = IO.MzML.Mzml.LoadAllStaticData(filePath); var deconEngine = new DeconvolutionEngine(2000, 0.3, 6, 0.4, 3, 5, 2, 60, 3); var scan = data.GetAllScansList().First(); Tolerance t = new AbsoluteTolerance(0.001); var candidates = deconEngine.GetEnvelopeCandidates(scan.MassSpectrum, scan.ScanWindowRange); deconEngine.CalculateSignalToNoise(scan.MassSpectrum, candidates); var candidatesWithMz = candidates.Where(p => p.Peaks.Any(v => t.Within(v.ExperimentalMz, mz))).OrderByDescending(p => p.Score).ToList(); var parsimonyEnvelopes = deconEngine.RunEnvelopeParsimony(candidates, scan.MassSpectrum); deconEngine.CalculateSignalToNoise(scan.MassSpectrum, parsimonyEnvelopes); var parsimonyEnvsWithMz = parsimonyEnvelopes.Where(p => p.Peaks.Any(v => t.Within(v.ExperimentalMz, mz))).ToList(); //var envelopes = deconEngine.Deconvolute(data, filePath, 1).ToList(); //var finalEnvelopesWithMz = envelopes.Where(p => p.Peaks.Any(v => t.Within(v.ExperimentalMz, mz))).ToList(); //Assert.That(testedEnvelope.Count == 1); //Assert.That(testedEnvelope[0].Charge == z); //Assert.That(testedEnvelope[0].MonoisotopicMass == monoMass); }