Example #1
0
        [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);
        }