Esempio n. 1
0
        public HornDeconvolutor(DeconToolsParameters deconParameters)
        {
            SetDefaults();
            AbsoluteThresholdPeptideIntensity = deconParameters.ThrashParameters.AbsolutePeptideIntensity;
            AveragineFormula              = deconParameters.ThrashParameters.AveragineFormula;
            ChargeCarrierMass             = deconParameters.ThrashParameters.ChargeCarrierMass;
            CheckPatternsAgainstChargeOne = deconParameters.ThrashParameters.CheckAllPatternsAgainstChargeState1;
            DeleteIntensityThreshold      = deconParameters.ThrashParameters.MinIntensityForDeletion;
            IsAbsolutePepIntensityUsed    = deconParameters.ThrashParameters.UseAbsoluteIntensity;
            IsActualMonoMZUsed            = false;
            IsCompleteFit           = deconParameters.ThrashParameters.CompleteFit;
            IsMercuryCachingUsed    = true;
            IsMSMSProcessed         = deconParameters.ScanBasedWorkflowParameters.ProcessMS2;
            IsMZRangeUsed           = deconParameters.MSGeneratorParameters.UseMZRange;
            IsO16O18Data            = deconParameters.ThrashParameters.IsO16O18Data;
            IsotopicProfileFitType  = deconParameters.ThrashParameters.IsotopicProfileFitType;
            IsThrashed              = deconParameters.ThrashParameters.IsThrashUsed;
            LeftFitStringencyFactor = deconParameters.ThrashParameters.LeftFitStringencyFactor;
            MaxChargeAllowed        = deconParameters.ThrashParameters.MaxCharge;
            MaxFitAllowed           = deconParameters.ThrashParameters.MaxFit;
            MaxMWAllowed            = deconParameters.ThrashParameters.MaxMass;
            MaxMZ = deconParameters.MSGeneratorParameters.MaxMZ; //TODO: review this later
            MinMZ = deconParameters.MSGeneratorParameters.MinMZ; //TODO: review this later
            MinIntensityForScore      = deconParameters.ThrashParameters.MinIntensityForScore;
            MinPeptideBackgroundRatio = deconParameters.ThrashParameters.MinMSFeatureToBackgroundRatio;
            NumAllowedShoulderPeaks   = deconParameters.ThrashParameters.NumPeaksForShoulder;
            RightFitStringencyFactor  = deconParameters.ThrashParameters.RightFitStringencyFactor;
            TagFormula = deconParameters.ThrashParameters.TagFormula;
            NumPeaksUsedInAbundance  = deconParameters.ThrashParameters.NumPeaksUsedInAbundance;
            MaxProcessingTimeMinutes = deconParameters.MiscMSProcessingParameters.MaxMinutesPerScan;

            SetIsotopeFitScorerOptions();
        }
        public void ProcessBruker15TSolarixFile1_sumAllScans()
        {
            var testFile = FileRefs.RawDataMSFiles.Bruker15TFile1;

            var dirInfo     = new DirectoryInfo(testFile);
            var datasetName = dirInfo.Name;

            var expectedIsosOutput = Path.Combine(FileRefs.RawDataMSFiles.Bruker15TFile1, datasetName + "_isos.csv");

            if (File.Exists(expectedIsosOutput))
            {
                File.Delete(expectedIsosOutput);
            }

            var run = new RunFactory().CreateRun(testFile);

            var parameters = new DeconToolsParameters();

            parameters.MSGeneratorParameters.SumAllSpectra          = true;
            parameters.PeakDetectorParameters.PeakToBackgroundRatio = 15;

            var workflow = new TraditionalScanBasedWorkflow(parameters, run);

            workflow.Execute();

            Assert.That(File.Exists(expectedIsosOutput));
        }
        public SaturationIMSScanBasedWorkflow(DeconToolsParameters parameters, Run run, string outputFolderPath = null, BackgroundWorker backgroundWorker = null)
            : base(parameters, run, outputFolderPath, backgroundWorker)
        {
            Check.Require(run is UIMFRun, "Cannot create workflow. Run is required to be a UIMFRun for this type of workflow");

            PeakBRSaturatedPeakDetector = parameters.PeakDetectorParameters.PeakToBackgroundRatio * 0.75;

            _msGenerator  = new UIMF_MSGenerator();
            _peakDetector = new DeconToolsPeakDetectorV2(5, 3, Globals.PeakFitType.QUADRATIC, false);
            _zeroFiller   = new DeconToolsZeroFiller();

//#if Disable_DeconToolsV2
//            throw new NotImplementedException("Cannot use class SaturationIMSScanBasedWorkflow since support for C++ based DeconToolsV2 is disabled");
//#else
            _deconvolutor = new HornDeconvolutor(parameters)
            {
                MaxFitAllowed             = 0.9,
                MinPeptideBackgroundRatio = _peakDetector.PeakToBackgroundRatio
            };
//#endif

            AdjustMonoIsotopicMasses = true;

            Run.PeakList = new List <Peak>();
        }
Esempio n. 4
0
        public void scanBasedWorkflowTest1()
        {
            string testFile      = @"D:\Data\UIMF\Problem_datasets\DsrC_Black_02_6Feb12_Cougar_11-10-11.raw";
            string parameterFile = @"D:\Data\UIMF\Problem_datasets\LTQ_Orb_USTags_MS2_THRASH_WithPeaks_Relaxed.xml";


            Run run        = new RunFactory().CreateRun(testFile);
            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(parameterFile);


            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.NewDeconToolsParameters.MSGeneratorParameters.UseLCScanRange = true;
            workflow.NewDeconToolsParameters.MSGeneratorParameters.MinLCScan      = 1;
            workflow.NewDeconToolsParameters.MSGeneratorParameters.MaxLCScan      = 5;

            workflow.ExportData = true;
            workflow.Execute();

            // foreach (var isosResult in run.ResultCollection.ResultList)
            // {
            //     isosResult.Display();
            // }
        }
Esempio n. 5
0
        public static ScanBasedWorkflow CreateWorkflow(Run run, DeconToolsParameters parameters, string outputFolderPath = null, BackgroundWorker backgroundWorker = null)
        {
            switch (parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName.ToLower())
            {
            case "uimf_saturation_repair":
                return(new SaturationIMSScanBasedWorkflow(parameters, run, outputFolderPath, backgroundWorker));

            case "uimf_standard":
                return(new StandardIMSScanBasedWorkflow(parameters, run, outputFolderPath, backgroundWorker));

            case "standard":
                if (run is UIMFRun)
                {
                    return(new StandardIMSScanBasedWorkflow(parameters, run, outputFolderPath, backgroundWorker));
                }
                return(new TraditionalScanBasedWorkflow(parameters, run, outputFolderPath, backgroundWorker));

            case "run_merging_with_peak_export":
                return(new RunMergingPeakExportingWorkflow(parameters, null, outputFolderPath, backgroundWorker));

            case "deconmsn":
                return(new DeconMSnWorkflow(parameters, run, outputFolderPath, backgroundWorker));

            default:
                throw new Exception("ScanBasedWorkflowName is unknown: " + parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName);
            }
        }
Esempio n. 6
0
        public void Test1()
        {
            Run run = new RunFactory().CreateRun(
                @"\\pnl\projects\MSSHARE\Webb_Ian\no cid.UIMF");


            DeconToolsParameters parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(
                @"\\pnl\projects\MSSHARE\Webb_Ian\IMS_UIMF_PeakBR2_PeptideBR3_SN3_SumScans3_NoLCSum_Sat50000_2012-02-27.xml");


            string expectedIsosFile  = Path.Combine(run.DataSetPath, run.DatasetName + "_isos.csv");
            string expectedScansFile = Path.Combine(run.DataSetPath, run.DatasetName + "_scans.csv");
            string expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt");

            if (File.Exists(expectedIsosFile))
            {
                File.Delete(expectedIsosFile);
            }
            if (File.Exists(expectedScansFile))
            {
                File.Delete(expectedScansFile);
            }
            if (File.Exists(expectedPeaksFile))
            {
                File.Delete(expectedPeaksFile);
            }

            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.Execute();
        }
 internal IMSScanBasedWorkflow(DeconToolsParameters parameters, Run run, string outputDirectoryPath = null, BackgroundWorker backgroundWorker = null)
     : base(parameters, run, outputDirectoryPath, backgroundWorker)
 {
     DeconTools.Utilities.Check.Require(run is UIMFRun, "Cannot create workflow. Run is required to be a UIMFRun for this type of workflow");
     mCachedProgressMessage = string.Empty;
     mCachedUserState       = new ScanBasedProgressInfo(Run, new ScanSet(), new IMSScanSet(0));
 }
        public void saturatedFixingTest2()
        {
            string uimfFile =
                @"D:\Data\UIMF\Sarc_Main_Study_Controls\Sarc_P08_A01_0673_21Nov11_Cheetah_11-09-03.uimf";

            Run run        = new RunFactory().CreateRun(uimfFile);
            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(@"\\gigasax\DMS_Parameter_Files\Decon2LS\IMS_UIMF_PeakBR4_PeptideBR4_SN3_SumScans3_NoLCSum_Sat50000_2012-01-30.xml");

            parameters.MSGeneratorParameters.UseLCScanRange = true;
            parameters.MSGeneratorParameters.MinLCScan      = 397;
            parameters.MSGeneratorParameters.MaxLCScan      = 408;

            parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName = "uimf_saturation_repair";

            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.ExportData = true;

            var sw = new Stopwatch();

            sw.Start();

            workflow.Execute();
            return;

            sw.Stop();

            var distinctItems = run.ResultCollection.ResultList.GroupBy(x => x.MSFeatureID).Select(y => y.First()).ToList();

            int minFrame = parameters.MSGeneratorParameters.MinLCScan;
            int maxFrame = parameters.MSGeneratorParameters.MaxLCScan;

            int minScan = 102;
            int maxScan = 125;


            double targetMass  = 1642.85958;
            int    chargestate = 4;


            double tolerance   = 0.3;
            var    featureData =
                (from n in distinctItems
                 where (Math.Abs(n.IsotopicProfile.MonoIsotopicMass - targetMass)) < tolerance &&
                 n.IsotopicProfile.ChargeState == chargestate
                 select n).Select <IsosResult, UIMFIsosResult>(r => (UIMFIsosResult)r).ToList();

            OutputFeatureIntensityData(featureData, minFrame, maxFrame, maxScan, minScan);

            MathUtils mathUtils = new MathUtils();

            var monoMasses = (from n in featureData select n.IsotopicProfile.MonoIsotopicMass).ToList();

            var massVariance = MathUtils.GetStDev(monoMasses);

            Console.WriteLine("Mass variance = " + massVariance);
            Console.WriteLine("Time taken = " + sw.ElapsedMilliseconds);
        }
        public void WorkflowTesting2_SumLC5()
        {
            var localTestFile =
                @"C:\Users\d3x720\Documents\Data\QCShew\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW";


            var parameters = new DeconToolsParameters();

            parameters.MSGeneratorParameters.UseLCScanRange = true;
            parameters.MSGeneratorParameters.MinLCScan      = 6012;
            parameters.MSGeneratorParameters.MaxLCScan      = 6019;

            parameters.MSGeneratorParameters.SumSpectraAcrossLC = true;
            parameters.MSGeneratorParameters.NumLCScansToSum    = 5;

            parameters.PeakDetectorParameters.PeakToBackgroundRatio  = 1.3;
            parameters.PeakDetectorParameters.SignalToNoiseThreshold = 2;
            parameters.PeakDetectorParameters.IsDataThresholded      = true;

            parameters.ThrashParameters.MinIntensityForScore          = 1;
            parameters.ThrashParameters.MinMSFeatureToBackgroundRatio = 1;

            var run = new RunFactory().CreateRun(localTestFile);

            var workflow = new DeconMSnWorkflow(parameters, run);

            workflow.Execute();
        }
        public void TempSaturationFixingTestOnYehiaBSAData()
        {
            var uimfFile =
                @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\UIMF\BSA_30N2_30ms_gate_10tof_Padjust_0000.UIMF";

            var run        = new RunFactory().CreateRun(uimfFile);
            var parameters = new DeconToolsParameters();

            parameters.PeakDetectorParameters.PeakToBackgroundRatio  = 4;
            parameters.PeakDetectorParameters.SignalToNoiseThreshold = 3;
            parameters.ThrashParameters.MaxFit = 0.6;
            parameters.MSGeneratorParameters.UseLCScanRange = true;
            parameters.MSGeneratorParameters.MinLCScan      = 2;
            parameters.MSGeneratorParameters.MaxLCScan      = 2;
            parameters.MSGeneratorParameters.UseMZRange     = true;
            parameters.MSGeneratorParameters.MinMZ          = 652;
            parameters.MSGeneratorParameters.MaxMZ          = 657;

            parameters.MSGeneratorParameters.SumSpectraAcrossLC       = true;
            parameters.MSGeneratorParameters.SumSpectraAcrossIms      = true;
            parameters.MSGeneratorParameters.NumLCScansToSum          = 1;
            parameters.MSGeneratorParameters.NumImsScansToSum         = 7;
            parameters.MiscMSProcessingParameters.UseZeroFilling      = true;
            parameters.ThrashParameters.MinIntensityForDeletion       = 10;
            parameters.MiscMSProcessingParameters.SaturationThreshold = 6000;

            parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName = "uimf_saturation_repair";

            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            //workflow.ExportData = false;
            workflow.Execute();
        }
        public void LowIntensityButGoodFeatureTest1()
        {
            var rawDataFile = @"D:\Data\DeconMSn_testing\QC_Shew_13_01_pt5_b_23Jan13_Cougar_12-02-27.raw";


            var parameters = new DeconToolsParameters();

            parameters.MSGeneratorParameters.UseLCScanRange = true;
            parameters.MSGeneratorParameters.MinLCScan      = 20593;
            parameters.MSGeneratorParameters.MaxLCScan      = 20598;

            parameters.PeakDetectorParameters.PeakToBackgroundRatio  = 1.3;
            parameters.PeakDetectorParameters.SignalToNoiseThreshold = 2;
            parameters.PeakDetectorParameters.IsDataThresholded      = true;

            parameters.ThrashParameters.MinIntensityForScore          = 1;
            parameters.ThrashParameters.MinMSFeatureToBackgroundRatio = 1;

            var run = new RunFactory().CreateRun(rawDataFile);

            var workflow = new DeconMSnWorkflow(parameters, run);

            workflow.NumMaxAttemptsAtLowIntensitySpecies = 4;
            workflow.Execute();
        }
        public void saturatedFixingTest3()
        {
            var uimfFile = @"D:\Data\UIMF\Sarc_Main_Study_Controls\Sarc_P09_B06_0786_20Jul11_Cheetah_11-05-31.uimf";

            var run        = new RunFactory().CreateRun(uimfFile);
            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(
                @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\ParameterFiles\IMS_UIMF_PeakBR2_PeptideBR3_SN3_SumScans3_NoLCSum_Sat50000_2012-02-27_frames_180_195.xml");

            parameters.MSGeneratorParameters.UseLCScanRange = true;
            parameters.MSGeneratorParameters.MinLCScan      = 394;
            parameters.MSGeneratorParameters.MaxLCScan      = 404;


            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.ExportData = false;

            var sw = new Stopwatch();

            sw.Start();

            workflow.Execute();
            //return;

            sw.Stop();

            var distinctItems = run.ResultCollection.ResultList.GroupBy(x => x.MSFeatureID).Select(y => y.First()).ToList();

            var minFrame = parameters.MSGeneratorParameters.MinLCScan;
            var maxFrame = parameters.MSGeneratorParameters.MaxLCScan;

            var minScan = 102;
            var maxScan = 127;

            var targetMass  = 1059.55169;
            var chargestate = 2;



            var tolerance   = 0.3;
            var featureData =
                (from n in distinctItems
                 where (Math.Abs(n.IsotopicProfile.MonoIsotopicMass - targetMass)) < tolerance &&
                 n.IsotopicProfile.ChargeState == chargestate
                 select n).Select <IsosResult, UIMFIsosResult>(r => (UIMFIsosResult)r).ToList();

            OutputFeatureIntensityData(featureData, minFrame, maxFrame, maxScan, minScan);

            var mathUtils = new MathUtils();

            var monoMasses = (from n in featureData select n.IsotopicProfile.MonoIsotopicMass).ToList();

            var massVariance = MathUtils.GetStDev(monoMasses);

            Console.WriteLine("Mass variance = " + massVariance);
            Console.WriteLine("Time taken = " + sw.ElapsedMilliseconds);
        }
        public void TraditionalWorkflowTestOrbitrapData_useThrashV1_test2()
        {
            var parameterFile =
                @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\ParameterFiles\LTQ_Orb\LTQ_Orb_SN2_PeakBR1pt3_PeptideBR1_Thrash_scan6000_9000 - oldThrash.xml";

            var run = new RunFactory().CreateRun(FileRefs.RawDataMSFiles.OrbitrapStdFile1);
            var expectedIsosFile  = Path.Combine(run.DataSetPath, run.DatasetName + "_isos.csv");
            var expectedScansFile = Path.Combine(run.DataSetPath, run.DatasetName + "_scans.csv");
            var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt");

            if (File.Exists(expectedIsosFile))
            {
                File.Delete(expectedIsosFile);
            }
            if (File.Exists(expectedScansFile))
            {
                File.Delete(expectedScansFile);
            }
            if (File.Exists(expectedPeaksFile))
            {
                File.Delete(expectedPeaksFile);
            }

            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(parameterFile);

            //parameters.MSGeneratorParameters.MinLCScan = 6005;
            //parameters.MSGeneratorParameters.MaxLCScan = 6005;


            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.Execute();

            Assert.IsTrue(File.Exists(expectedIsosFile), "Isos file was not created.");
            Assert.IsTrue(File.Exists(expectedScansFile), "Scans file was not created.");
            Assert.IsTrue(File.Exists(expectedPeaksFile), "Peaks file was not created.");

            var isosImporter = new IsosImporter(expectedIsosFile, run.MSFileType);
            var isos         = isosImporter.Import();

            Assert.AreEqual(186, isos.Count);

            var peakImporter = new PeakImporterFromText(expectedPeaksFile);

            var peaklist = new List <MSPeakResult>();

            peakImporter.ImportPeaks(peaklist);

            Assert.AreEqual(809, peaklist.Count);

            var sumIntensities = isos.Select(p => p.IntensityAggregate).Sum();
            //Assert.AreEqual(263499300d, Math.Round(sumIntensities));

            var sumPeakIntensities = peaklist.Select(p => p.Height).Sum();
            //Assert.AreEqual(605170496.0f, sumPeakIntensities);
        }
Esempio n. 14
0
        protected ScanBasedWorkflow(DeconToolsParameters parameters, Run run, string outputFolderPath = null, BackgroundWorker backgroundWorker = null)
        {
            NewDeconToolsParameters = parameters;
            Run = run;
            OutputFolderPath = outputFolderPath;   //path is null unless specified
            BackgroundWorker = backgroundWorker;   //null unless specified

            ExportData = true;
        }
Esempio n. 15
0
 public DeconMSnWorkflow(DeconToolsParameters parameters, Run run, string outputDirectoryPath = null, BackgroundWorker backgroundWorker = null)
     : base(parameters, run, outputDirectoryPath, backgroundWorker)
 {
     ToleranceInPPM = 30;
     NumMaxAttemptsAtLowIntensitySpecies = 4;
     parameters.ScanBasedWorkflowParameters.ProcessMS2 = true;
     DeconMSnResults             = new List <DeconMSnResult>();
     IsParentProfileDataExported = true;
 }
        public void NegativeIonModeDeisotoping_useThrashV1()
        {
            var parameterFile =
                @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\ParameterFiles\LTQ_Orb\LTQ_Orb_SN2_PeakBR2_PeptideBR1_NegIon_Thrash_Sum3.xml";

            var testFile =
                @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\Orbitrap\NegativeIonMode\AC2_Neg_highpH_14Apr13_Sauron_13-04-03.raw";


            var run = new RunFactory().CreateRun(testFile);
            var expectedIsosFile  = Path.Combine(run.DataSetPath, run.DatasetName + "_isos.csv");
            var expectedScansFile = Path.Combine(run.DataSetPath, run.DatasetName + "_scans.csv");
            var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt");

            if (File.Exists(expectedIsosFile))
            {
                File.Delete(expectedIsosFile);
            }
            if (File.Exists(expectedScansFile))
            {
                File.Delete(expectedScansFile);
            }
            if (File.Exists(expectedPeaksFile))
            {
                File.Delete(expectedPeaksFile);
            }

            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(parameterFile);
            parameters.ScanBasedWorkflowParameters.DeconvolutionType = Globals.DeconvolutionType.ThrashV1;

            parameters.MSGeneratorParameters.MinLCScan = 4100;
            parameters.MSGeneratorParameters.MaxLCScan = 4100;


            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.Execute();

            Assert.IsTrue(File.Exists(expectedIsosFile), "Isos file was not created.");
            Assert.IsTrue(File.Exists(expectedScansFile), "Scans file was not created.");
            Assert.IsTrue(File.Exists(expectedPeaksFile), "Peaks file was not created.");

            var isosImporter = new IsosImporter(expectedIsosFile, run.MSFileType);
            var isos         = isosImporter.Import();

            var testIso =
                (from n in isos where n.IsotopicProfile.MonoPeakMZ > 744 && n.IsotopicProfile.MonoPeakMZ < 749 select n).FirstOrDefault();

            Assert.IsNotNull(testIso, "Test iso not found.");

            Console.WriteLine("monomass= " + testIso.IsotopicProfile.MonoIsotopicMass);
            Assert.AreEqual(1491.32852m, (decimal)Math.Round(testIso.IsotopicProfile.MonoIsotopicMass, 5));
        }
        public void TraditionalWorkflowTestOrbitrapData_usingNewThrash()
        {
            var parameterFile = FileRefs.ParameterFiles.Orbitrap_Scans6000_6050ParamFile;

            var run = new RunFactory().CreateRun(FileRefs.RawDataMSFiles.OrbitrapStdFile1);
            var expectedIsosFile  = Path.Combine(run.DataSetPath, run.DatasetName + "_isos.csv");
            var expectedScansFile = Path.Combine(run.DataSetPath, run.DatasetName + "_scans.csv");
            var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt");

            if (File.Exists(expectedIsosFile))
            {
                File.Delete(expectedIsosFile);
            }
            if (File.Exists(expectedScansFile))
            {
                File.Delete(expectedScansFile);
            }
            if (File.Exists(expectedPeaksFile))
            {
                File.Delete(expectedPeaksFile);
            }

            var allPeaksFilepath = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\Orbitrap\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_peaksFULL.txt";

            File.Copy(allPeaksFilepath, allPeaksFilepath.Replace("FULL", ""));

            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(parameterFile);
            parameters.ScanBasedWorkflowParameters.DeconvolutionType = Globals.DeconvolutionType.ThrashV2;

            parameters.MSGeneratorParameters.UseLCScanRange = true;
            parameters.MSGeneratorParameters.MinLCScan      = 6000; // run.GetMinPossibleLCScanNum();
            parameters.MSGeneratorParameters.MaxLCScan      = 6050; // run.GetMaxPossibleLCScanNum();


            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.Execute();

            Assert.IsTrue(File.Exists(expectedIsosFile), "Isos file was not created.");
            Assert.IsTrue(File.Exists(expectedScansFile), "Scans file was not created.");
            Assert.IsTrue(File.Exists(expectedPeaksFile), "Peaks file was not created.");

            var isosImporter = new IsosImporter(expectedIsosFile, run.MSFileType);
            var isos         = isosImporter.Import();

            //Assert.AreEqual(186, isos.Count);
            //TODO: still report

            Console.WriteLine("Num MSfeatures = " + isos.Count);

            var sumIntensities = isos.Select(p => p.IntensityAggregate).Sum();
            // Assert.AreEqual(266185816d, Math.Round(sumIntensities));
        }
        public void TraditionalWorkflowTestOrbitrapData_DetectPeaksOnly()
        {
            var parameterFile = FileRefs.ParameterFiles.Orbitrap_Scans6000_6050ParamFile;

            var run = new RunFactory().CreateRun(FileRefs.RawDataMSFiles.OrbitrapStdFile1);
            var expectedIsosFile  = Path.Combine(run.DataSetPath, run.DatasetName + "_isos.csv");
            var expectedScansFile = Path.Combine(run.DataSetPath, run.DatasetName + "_scans.csv");
            var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt");

            if (File.Exists(expectedIsosFile))
            {
                File.Delete(expectedIsosFile);
            }
            if (File.Exists(expectedScansFile))
            {
                File.Delete(expectedScansFile);
            }
            if (File.Exists(expectedPeaksFile))
            {
                File.Delete(expectedPeaksFile);
            }

            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(parameterFile);
            parameters.ScanBasedWorkflowParameters.DeconvolutionType = Globals.DeconvolutionType.None;

            parameters.MSGeneratorParameters.MinLCScan = 6005;
            parameters.MSGeneratorParameters.MaxLCScan = 6005;


            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.Execute();

            Assert.IsTrue(File.Exists(expectedIsosFile), "Isos file was not created.");
            Assert.IsTrue(File.Exists(expectedScansFile), "Scans file was not created.");
            Assert.IsTrue(File.Exists(expectedPeaksFile), "Peaks file was not created.");


            var peakImporter = new PeakImporterFromText(expectedPeaksFile);

            var peaklist = new List <MSPeakResult>();

            peakImporter.ImportPeaks(peaklist);

            Assert.AreEqual(809, peaklist.Count);


            var isosImporter = new IsosImporter(expectedIsosFile, run.MSFileType);
            var isos         = isosImporter.Import();

            Assert.AreEqual(0, isos.Count);
        }
        public void WorkflowTypeIsWrongTest1()
        {
            var uimfFile = @"D:\Data\UIMF\Sarc_Main_Study_Controls\Sarc_P09_B06_0786_20Jul11_Cheetah_11-05-31.uimf";

            var run        = new RunFactory().CreateRun(uimfFile);
            var parameters = new DeconToolsParameters();


            parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName = "incorrectTextProblem";
            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);
        }
Esempio n. 20
0
        public RunMergingPeakExportingWorkflow(DeconToolsParameters parameters, IEnumerable <string> datasetFileNameList, string outputDirectoryPath = null, BackgroundWorker backgroundWorker = null)
            : base(null, null)
        {
            NewDeconToolsParameters = parameters;
            NewDeconToolsParameters.ScanBasedWorkflowParameters.ExportPeakData = true;

            DatasetFileNameList = datasetFileNameList;

            OutputDirectoryPath = outputDirectoryPath;

            BackgroundWorker = backgroundWorker;
        }
Esempio n. 21
0
        public void fitterOnHornDataTest1()
        {
            Run run = new XCaliburRun2(xcaliburTestfile);

            var results = new ResultCollection(run);

            run.CurrentScanSet = new ScanSet(6067);

            var  isTicRequested = false;
            Task msGen          = new GenericMSGenerator(1154, 1158, isTicRequested);

            msGen.Execute(results);

            Task peakDetector = new DeconToolsPeakDetectorV2(0.5, 3, Globals.PeakFitType.QUADRATIC, false);

            peakDetector.Execute(results);

            var deconParameters = new DeconToolsParameters();

            deconParameters.ThrashParameters.MinMSFeatureToBackgroundRatio = 2;     // PeptideMinBackgroundRatio

            Task decon = new HornDeconvolutor(deconParameters);

            decon.Execute(results);


            var result1 = results.ResultList[0];


            var distcreator = new MercuryDistributionCreator();
            var resolution  = result1.IsotopicProfile.GetMZofMostAbundantPeak() / result1.IsotopicProfile.GetFWHM();

            distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution);
            distcreator.OffsetDistribution(result1.IsotopicProfile);



            var theorXYData = distcreator.Data;

            //StringBuilder sb = new StringBuilder();
            //TestUtilities.GetXYValuesToStringBuilder(sb, theorXYData.Xvalues, theorXYData.Yvalues);

            //Console.WriteLine(sb.ToString());

            var areafitter = new AreaFitter();
            var fitval     = areafitter.GetFit(theorXYData, run.XYData, 10);

            Console.WriteLine(result1.IsotopicProfile.Score + "\t" + fitval);
            Console.WriteLine((result1.IsotopicProfile.Score - fitval) / result1.IsotopicProfile.Score);

            Assert.AreEqual(0.0207350903681061m, (decimal)fitval);    //TODO: fix this test... i'm getting 0.0207350903681061m
        }
        public void Test1()
        {
            var parameters = new DeconToolsParameters();


            var datasetList = new List <string>();

            datasetList.Add(@"\\protoapps\UserData\Slysz\DeconTools_TestFiles\JuliaLaskinRunMergingWorkflow\b-LSOA_HPLC_ESIbox_pos_res60k_RT92-98.raw");
            datasetList.Add(@"\\protoapps\UserData\Slysz\DeconTools_TestFiles\JuliaLaskinRunMergingWorkflow\b-LSOA_HPLC_ESIbox_pos_res60k_RT1255-1282.raw");
            datasetList.Add(@"\\protoapps\UserData\Slysz\DeconTools_TestFiles\JuliaLaskinRunMergingWorkflow\b-LSOA_HPLC_ESIbox_pos_res60k_RT1400-1500.raw");

            var workflow = new RunMergingPeakExportingWorkflow(parameters, datasetList);

            workflow.Execute();
        }
        public void TraditionalWorkflowTestOrbitrapData_InformedThrash()
        {
            var parameterFile = FileRefs.ParameterFiles.Orbitrap_Scans6000_6050ParamFile;

            var run = new RunFactory().CreateRun(FileRefs.RawDataMSFiles.OrbitrapStdFile1);
            var expectedIsosFile  = Path.Combine(run.DataSetPath, run.DatasetName + "_isos.csv");
            var expectedScansFile = Path.Combine(run.DataSetPath, run.DatasetName + "_scans.csv");
            var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt");

            if (File.Exists(expectedIsosFile))
            {
                File.Delete(expectedIsosFile);
            }
            if (File.Exists(expectedScansFile))
            {
                File.Delete(expectedScansFile);
            }
            //if (File.Exists(expectedPeaksFile)) File.Delete(expectedPeaksFile);

            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(parameterFile);
            parameters.ScanBasedWorkflowParameters.DeconvolutionType = Globals.DeconvolutionType.ThrashV2;

            parameters.MSGeneratorParameters.MinLCScan = 6005;
            parameters.MSGeneratorParameters.MaxLCScan = 6050;


            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.Execute();

            Assert.IsTrue(File.Exists(expectedIsosFile), "Isos file was not created.");
            Assert.IsTrue(File.Exists(expectedScansFile), "Scans file was not created.");
            Assert.IsTrue(File.Exists(expectedPeaksFile), "Peaks file was not created.");

            var isosImporter = new IsosImporter(expectedIsosFile, run.MSFileType);
            var isos         = isosImporter.Import();

            Assert.AreEqual(1287, isos.Count);

            var sumIntensities = isos.Select(p => p.IntensityAggregate).Sum();

            Assert.AreEqual(1974438598m, (decimal)Math.Round(sumIntensities));

            //  Expected: 1973657234m
            // But was:  1974438598m
        }
        public DeconToolsParameters GetDeconToolsParameters()
        {
            var deconToolsParameters = new DeconToolsParameters();

            deconToolsParameters.ThrashParameters.AbsolutePeptideIntensity            = HornTransformParameters.AbsolutePeptideIntensity;
            deconToolsParameters.ThrashParameters.AveragineFormula                    = HornTransformParameters.AveragineFormula;
            deconToolsParameters.ThrashParameters.ChargeCarrierMass                   = HornTransformParameters.CCMass;
            deconToolsParameters.ThrashParameters.CheckAllPatternsAgainstChargeState1 = HornTransformParameters.CheckAllPatternsAgainstCharge1;
            deconToolsParameters.ThrashParameters.MinIntensityForDeletion             = HornTransformParameters.DeleteIntensityThreshold;
            deconToolsParameters.ThrashParameters.UseAbsoluteIntensity                = HornTransformParameters.UseAbsolutePeptideIntensity;
            deconToolsParameters.ThrashParameters.CompleteFit           = HornTransformParameters.CompleteFit;
            deconToolsParameters.ScanBasedWorkflowParameters.ProcessMS2 = HornTransformParameters.ProcessMSMS;
            deconToolsParameters.MSGeneratorParameters.UseMZRange       = HornTransformParameters.UseMZRange;
            deconToolsParameters.ThrashParameters.IsO16O18Data          = HornTransformParameters.O16O18Media;
            switch (HornTransformParameters.IsotopeFitType)
            {
            case DeconToolsV2.enmIsotopeFitType.AREA:
                deconToolsParameters.ThrashParameters.IsotopicProfileFitType = Globals.IsotopicProfileFitType.AREA;
                break;

            case DeconToolsV2.enmIsotopeFitType.CHISQ:
                deconToolsParameters.ThrashParameters.IsotopicProfileFitType = Globals.IsotopicProfileFitType.CHISQ;
                break;

            case DeconToolsV2.enmIsotopeFitType.PEAK:
                deconToolsParameters.ThrashParameters.IsotopicProfileFitType = Globals.IsotopicProfileFitType.PEAK;
                break;

            default:
                deconToolsParameters.ThrashParameters.IsotopicProfileFitType = Globals.IsotopicProfileFitType.Undefined;
                break;
            }
            deconToolsParameters.ThrashParameters.IsThrashUsed            = HornTransformParameters.ThrashOrNot;
            deconToolsParameters.ThrashParameters.LeftFitStringencyFactor = HornTransformParameters.LeftFitStringencyFactor;
            deconToolsParameters.ThrashParameters.MaxCharge                     = HornTransformParameters.MaxCharge;
            deconToolsParameters.ThrashParameters.MaxFit                        = HornTransformParameters.MaxFit;
            deconToolsParameters.ThrashParameters.MaxMass                       = HornTransformParameters.MaxMW;
            deconToolsParameters.MSGeneratorParameters.MaxMZ                    = HornTransformParameters.MaxMZ; //TODO: review this later
            deconToolsParameters.MSGeneratorParameters.MinMZ                    = HornTransformParameters.MinMZ; //TODO: review this later
            deconToolsParameters.ThrashParameters.MinIntensityForScore          = HornTransformParameters.MinIntensityForScore;
            deconToolsParameters.ThrashParameters.MinMSFeatureToBackgroundRatio = HornTransformParameters.PeptideMinBackgroundRatio;
            deconToolsParameters.ThrashParameters.NumPeaksForShoulder           = HornTransformParameters.NumPeaksForShoulder;
            deconToolsParameters.ThrashParameters.RightFitStringencyFactor      = HornTransformParameters.RightFitStringencyFactor;
            deconToolsParameters.ThrashParameters.TagFormula                    = HornTransformParameters.TagFormula;
            deconToolsParameters.ThrashParameters.NumPeaksUsedInAbundance       = HornTransformParameters.NumPeaksUsedInAbundance;

            return(deconToolsParameters);
        }
        public void WorkflowTypeIsCorrectTest1()
        {
            var uimfFile = @"D:\Data\UIMF\Sarc_Main_Study_Controls\Sarc_P09_B06_0786_20Jul11_Cheetah_11-05-31.uimf";

            var run        = new RunFactory().CreateRun(uimfFile);
            var parameters = new DeconToolsParameters();

            parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName = "standard";
            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            Assert.IsTrue(workflow is IMSScanBasedWorkflow);

            parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName = "uimf_saturation_repair";
            workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);
            Assert.IsTrue(workflow is SaturationIMSScanBasedWorkflow);
        }
Esempio n. 26
0
        public static Deconvolutor CreateDeconvolutor(DeconToolsParameters parameters)
        {
            Check.Require(parameters != null, "Factory cannot create Deconvolutor class. DeconToolsParameters are null.");
            if (parameters == null)
            {
                return(new NullDeconvolutor());
            }

            Deconvolutor decon;

            switch (parameters.ScanBasedWorkflowParameters.DeconvolutionType)
            {
            case Globals.DeconvolutionType.None:
                return(new NullDeconvolutor());

            case Globals.DeconvolutionType.ThrashV1:
                // 2016 Port of ThrashV1 in DeconEngineV2 to C#, .NET 4
                // This is the preferred deconvoluter as of Fall 2017
                decon = new HornDeconvolutor(parameters);
                return(decon);

            case Globals.DeconvolutionType.ThrashV2:
                // 2012 port of DeconEngine to C#
                // As of 2016, not used because results do not agree with ThrashV1, C++
#pragma warning disable 618
                decon = new InformedThrashDeconvolutor(parameters.ThrashParameters);
#pragma warning restore 618
                return(decon);

            case Globals.DeconvolutionType.Rapid:
                // To include support for Rapid, you must add a reference to DeconEngine.dll, which was compiled with Visual Studio 2003 and uses MSVCP71.dll
                // Note that DeconEngine.dll also depends on xerces-c_2_7.dll while DeconEngineV2.dll depends on xerces-c_2_8.dll
#if INCLUDE_RAPID
                return(new RapidDeconvolutor(parameters.ThrashParameters.MinMSFeatureToBackgroundRatio,
                                             Deconvolutor.DeconResultComboMode.simplyAddIt));
#else
                throw new NotSupportedException("Support for Rapid is not included in this version of the DLL");
#endif
            default:
                throw new ArgumentOutOfRangeException(nameof(parameters),
                                                      "Trying to create the deconvolutor, but an incorrect Deconvolutor type was given. Good example: 'ThrashV1'");
            }
        }
        public void WorkflowTest1()
        {
            var parameters = new DeconToolsParameters();

            parameters.MSGeneratorParameters.UseLCScanRange = true;
            parameters.MSGeneratorParameters.MinLCScan      = 6005;
            parameters.MSGeneratorParameters.MaxLCScan      = 6012;

            parameters.PeakDetectorParameters.PeakToBackgroundRatio  = 1.3;
            parameters.PeakDetectorParameters.SignalToNoiseThreshold = 2;
            parameters.PeakDetectorParameters.IsDataThresholded      = true;

            parameters.ThrashParameters.MinIntensityForScore          = 1;
            parameters.ThrashParameters.MinMSFeatureToBackgroundRatio = 1;


            var run = new RunFactory().CreateRun(testFile1);

            var expectedResultsFile1 = Path.Combine(run.DataSetPath, run.DatasetName + ".mgf");
            var expectedResultsFile2 = Path.Combine(run.DataSetPath, run.DatasetName + "_DeconMSn_log.txt");
            var expectedResultsFile3 = Path.Combine(run.DataSetPath, run.DatasetName + "_profile.txt");

            if (File.Exists(expectedResultsFile1))
            {
                File.Delete(expectedResultsFile1);
            }
            if (File.Exists(expectedResultsFile2))
            {
                File.Delete(expectedResultsFile2);
            }
            if (File.Exists(expectedResultsFile3))
            {
                File.Delete(expectedResultsFile3);
            }

            var workflow = new DeconMSnWorkflow(parameters, run);

            workflow.Execute();

            Assert.IsTrue(File.Exists(expectedResultsFile1));
            Assert.IsTrue(File.Exists(expectedResultsFile2));
            Assert.IsTrue(File.Exists(expectedResultsFile3));
        }
        public void processUIMFContainingMSMS()
        {
            var testFile =
                @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\UIMF\MSMS_Testing\PepMix_MSMS_4msSA.UIMF";

            var run = new RunFactory().CreateRun(testFile);

            var expectedIsosOutput = Path.Combine(Path.GetDirectoryName(testFile), Path.GetFileNameWithoutExtension(testFile) + "_isos.csv");

            if (File.Exists(expectedIsosOutput))
            {
                File.Delete(expectedIsosOutput);
            }

            var parameters = new DeconToolsParameters();

            parameters.MSGeneratorParameters.NumLCScansToSum        = 3;
            parameters.MSGeneratorParameters.NumImsScansToSum       = 9;
            parameters.PeakDetectorParameters.PeakToBackgroundRatio = 4;
            parameters.MiscMSProcessingParameters.UseZeroFilling    = true;
            parameters.ScanBasedWorkflowParameters.ProcessMS2       = true;
            parameters.MSGeneratorParameters.UseLCScanRange         = true;
            parameters.MSGeneratorParameters.SumSpectraAcrossLC     = true;
            parameters.MSGeneratorParameters.MinLCScan = 1;    //min frame
            parameters.MSGeneratorParameters.MaxLCScan = 15;   //max frame


            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.Execute();

            var results = new List <IsosResult>();

            Assert.That(File.Exists(expectedIsosOutput));
            var importer = new IsosImporter(expectedIsosOutput, Globals.MSFileType.PNNL_UIMF);

            results = importer.Import();

            //TestUtilities.DisplayMSFeatures(results);
            //Assert.AreEqual(36078, results.Count);
            //Assert.AreEqual(1224247916, (int)results.Sum(p => p.IntensityAggregate));
        }
Esempio n. 29
0
        public void LoadParametersForIMSDataprocessingTest2()
        {
            var parameterFile =
                @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\ParameterFiles\IMS\IMS_UIMF_PeakBR4_PeptideBR4_SN3_SumScans3_NoLCSum_Sat90000_newFormat.xml";

            Assert.IsTrue(File.Exists(parameterFile));
            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(parameterFile);

            Assert.IsNotNullOrEmpty(parameters.ThrashParameters.AveragineFormula);
            Assert.AreEqual("C4.9384 H7.7583 N1.3577 O1.4773 S0.0417", parameters.ThrashParameters.AveragineFormula);
            Assert.AreEqual("AREA", parameters.ThrashParameters.IsotopicProfileFitType.ToString());
            Assert.AreEqual(1.00727649, parameters.ThrashParameters.ChargeCarrierMass);
            Assert.AreEqual(10, (decimal)parameters.ThrashParameters.MinIntensityForDeletion);
            Assert.AreEqual(0.4, parameters.ThrashParameters.MaxFit);
            Assert.AreEqual(10, parameters.ThrashParameters.MaxCharge);
            Assert.AreEqual(4, parameters.ThrashParameters.MinMSFeatureToBackgroundRatio);
            Assert.AreEqual(10000, parameters.ThrashParameters.MaxMass);
            Assert.AreEqual(false, parameters.ThrashParameters.IsO16O18Data);
            Assert.AreEqual(false, parameters.ThrashParameters.CheckAllPatternsAgainstChargeState1);
            Assert.AreEqual(true, parameters.ThrashParameters.IsThrashUsed);

            Assert.AreEqual("Text", parameters.ScanBasedWorkflowParameters.ExportFileType.ToString());
            Assert.AreEqual("uimf_saturation_repair", parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName.ToLower());
            Assert.AreEqual(false, parameters.ScanBasedWorkflowParameters.ExportPeakData);

            Assert.AreEqual(500, parameters.MSGeneratorParameters.MinLCScan);
            Assert.AreEqual(510, parameters.MSGeneratorParameters.MaxLCScan);
            Assert.AreEqual(false, parameters.MSGeneratorParameters.UseMZRange);
            Assert.AreEqual(100, parameters.MSGeneratorParameters.MinMZ);
            Assert.AreEqual(3000, parameters.MSGeneratorParameters.MaxMZ);

            Assert.AreEqual("quadratic", parameters.PeakDetectorParameters.PeakFitType.ToString().ToLower());
            Assert.AreEqual(true, parameters.PeakDetectorParameters.IsDataThresholded);


            Assert.AreEqual(1, parameters.MSGeneratorParameters.NumLCScansToSum);
            Assert.AreEqual(7, parameters.MSGeneratorParameters.NumImsScansToSum);
            Assert.AreEqual(true, parameters.MSGeneratorParameters.SumSpectraAcrossIms);
            Assert.AreEqual(true, parameters.MSGeneratorParameters.SumSpectraAcrossLC);
        }
Esempio n. 30
0
        public void ParameterFileTest1()
        {
            //see https://jira.pnnl.gov/jira/browse/OMCS-460

            var fiParameterFile = new FileInfo(@"..\..\..\TestFiles\SampleParameterFile.xml");

            Assert.IsTrue(fiParameterFile.Exists);
            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(fiParameterFile.FullName);

            Assert.IsNotNullOrEmpty(parameters.ThrashParameters.AveragineFormula);
            Assert.AreEqual("C4.9384 H7.7583 N1.3577 O1.4773 S0.0417", parameters.ThrashParameters.AveragineFormula);
            Assert.AreEqual("AREA", parameters.ThrashParameters.IsotopicProfileFitType.ToString());
            Assert.AreEqual(1.00727649, parameters.ThrashParameters.ChargeCarrierMass);
            Assert.AreEqual(1, parameters.ThrashParameters.MinIntensityForDeletion);
            Assert.AreEqual(0.3m, (decimal)Math.Round(parameters.ThrashParameters.MaxFit, 1));
            Assert.AreEqual(10, parameters.ThrashParameters.MaxCharge);
            Assert.AreEqual(1, parameters.ThrashParameters.MinMSFeatureToBackgroundRatio);
            Assert.AreEqual(10000, parameters.ThrashParameters.MaxMass);
            Assert.AreEqual(false, parameters.ThrashParameters.IsO16O18Data);
            Assert.AreEqual(false, parameters.ThrashParameters.CheckAllPatternsAgainstChargeState1);
            Assert.AreEqual(true, parameters.ThrashParameters.IsThrashUsed);

            Assert.AreEqual("Text", parameters.ScanBasedWorkflowParameters.ExportFileType.ToString());
            Assert.AreEqual("standard", parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName.ToLower());
            Assert.AreEqual(false, parameters.ScanBasedWorkflowParameters.ExportPeakData);
            Assert.AreEqual("ThrashV1", parameters.ScanBasedWorkflowParameters.DeconvolutionType.ToString());

            Assert.AreEqual(-2147483648, parameters.MSGeneratorParameters.MinLCScan);
            Assert.AreEqual(2147483647, parameters.MSGeneratorParameters.MaxLCScan);
            Assert.AreEqual(true, parameters.MSGeneratorParameters.UseMZRange);
            Assert.AreEqual(100, parameters.MSGeneratorParameters.MinMZ);
            Assert.AreEqual(3000, parameters.MSGeneratorParameters.MaxMZ);
            Assert.AreEqual(3, parameters.MSGeneratorParameters.NumLCScansToSum);
            Assert.AreEqual(true, parameters.MSGeneratorParameters.SumSpectraAcrossLC);

            Assert.AreEqual("quadratic", parameters.PeakDetectorParameters.PeakFitType.ToString().ToLower());
            Assert.AreEqual(true, parameters.PeakDetectorParameters.IsDataThresholded);
            Assert.AreEqual(false, parameters.PeakDetectorParameters.PeaksAreStored);
        }