protected virtual void InitializeProcessingTasks() { MSGenerator = MSGeneratorFactory.CreateMSGenerator(Run.MSFileType); PeakDetector = PeakDetectorFactory.CreatePeakDetector(NewDeconToolsParameters); Deconvolutor = DeconvolutorFactory.CreateDeconvolutor(NewDeconToolsParameters); //the new iThrash imports the _peaks.txt file if (Deconvolutor is DeconTools.Backend.ProcessingTasks.Deconvoluters.InformedThrashDeconvolutor) { _deconvolutorRequiresPeaksFile = true; } //Will initialize these but whether or not they are used are determined elsewhere ZeroFiller = new DeconToolsZeroFiller(NewDeconToolsParameters.MiscMSProcessingParameters.ZeroFillingNumZerosToFill); Smoother = new SavitzkyGolaySmoother(NewDeconToolsParameters.MiscMSProcessingParameters.SavitzkyGolayNumPointsInSmooth, NewDeconToolsParameters.MiscMSProcessingParameters.SavitzkyGolayOrder); FitScoreCalculator = new DeconToolsFitScoreCalculator(); ScanResultUpdater = new ScanResultUpdater(NewDeconToolsParameters.ScanBasedWorkflowParameters.ProcessMS2); ResultValidator = new ResultValidatorTask(); IsosResultExporter = IsosExporterFactory.CreateIsosExporter(Run.ResultCollection.ResultType, ExporterType, IsosOutputFileName); ScanResultExporter = ScansExporterFactory.CreateScansExporter(Run.MSFileType, ExporterType, ScansOutputFileName); if (!_deconvolutorRequiresPeaksFile) { PeakListExporter = PeakListExporterFactory.Create(ExporterType, Run.MSFileType, PeakListExporterTriggerValue, PeakListOutputFileName); } PeakToMSFeatureAssociator = new PeakToMSFeatureAssociator(); }
public void turnRAPIDScoreIntoHornScoreAndCompareTest1() { Run run = new XCaliburRun(xcaliburTestfile, 6000, 6050); int numScansSummed = 1; ScanSetCollectionCreator scanSetCreator = new ScanSetCollectionCreator(run, run.MinScan, run.MaxScan, numScansSummed, 1, false); scanSetCreator.Create(); Task msgen = new GenericMSGenerator(); DeconToolsV2.Peaks.clsPeakProcessorParameters detParams = new DeconToolsV2.Peaks.clsPeakProcessorParameters(); detParams.PeakBackgroundRatio = 3; detParams.SignalToNoiseThreshold = 3; Task peakDet = new DeconToolsPeakDetector(detParams); Task rapid = new RapidDeconvolutor(); Task horn = new HornDeconvolutor(); Task fitcalc = new DeconToolsFitScoreCalculator(); run.CurrentScanSet = run.ScanSetCollection.GetScanSet(6005); msgen.Execute(run.ResultCollection); peakDet.Execute(run.ResultCollection); horn.Execute(run.ResultCollection); //string isosData = reportIsotopicProfiles(run); //Console.Write(isosData); //First evaluate HornTransform score Assert.AreEqual(481.274105402604, (decimal)run.ResultCollection.ResultList[0].IsotopicProfile.GetMZ()); Assert.AreEqual(0.0101245114907111, (decimal)run.ResultCollection.ResultList[0].IsotopicProfile.Score); run.ResultCollection.ClearAllResults(); horn.Execute(run.ResultCollection); fitcalc.Execute(run.ResultCollection); Assert.AreEqual(0.00583991502104572, (decimal)run.ResultCollection.ResultList[0].IsotopicProfile.Score); run.ResultCollection.ClearAllResults(); //Run RAPID and evaluate the score Rapid gives it rapid.Execute(run.ResultCollection); Assert.AreEqual(481.274105402604, (decimal)run.ResultCollection.ResultList[7].IsotopicProfile.GetMZ()); Assert.AreEqual(1.52062147024669, (decimal)run.ResultCollection.ResultList[7].IsotopicProfile.Score); //Run the DeconToolsFitScoreCalculator fitcalc.Execute(run.ResultCollection); //Evaluate the score given by the fitscore calculator Assert.AreNotEqual(1.52062147024669, (decimal)run.ResultCollection.ResultList[7].IsotopicProfile.Score); Assert.AreEqual(0.00583991502104572m, (decimal)run.ResultCollection.ResultList[7].IsotopicProfile.Score); }
protected override void InitializeProcessingTasks() { MSGenerator = MSGeneratorFactory.CreateMSGenerator(Run.MSFileType); PeakDetector = PeakDetectorFactory.CreatePeakDetector(NewDeconToolsParameters); var moreSensitivePeakToBackgroundRatio = NewDeconToolsParameters.PeakDetectorParameters.PeakToBackgroundRatio / 2; var moreSensitiveSigNoiseThresh = NewDeconToolsParameters.PeakDetectorParameters.SignalToNoiseThreshold; _moreSensitiveMS1PeakDetector = new DeconToolsPeakDetectorV2(moreSensitivePeakToBackgroundRatio, moreSensitiveSigNoiseThresh, NewDeconToolsParameters.PeakDetectorParameters.PeakFitType, NewDeconToolsParameters.PeakDetectorParameters.IsDataThresholded); _superSensitiveMS1PeakDetector = new DeconToolsPeakDetectorV2(0, 0, NewDeconToolsParameters.PeakDetectorParameters.PeakFitType, NewDeconToolsParameters.PeakDetectorParameters.IsDataThresholded); Deconvolutor = DeconvolutorFactory.CreateDeconvolutor(NewDeconToolsParameters); //Will initialize these but whether or not they are used are determined elsewhere ZeroFiller = new DeconToolsZeroFiller(NewDeconToolsParameters.MiscMSProcessingParameters.ZeroFillingNumZerosToFill); Smoother = new SavitzkyGolaySmoother(NewDeconToolsParameters.MiscMSProcessingParameters.SavitzkyGolayNumPointsInSmooth, NewDeconToolsParameters.MiscMSProcessingParameters.SavitzkyGolayOrder); FitScoreCalculator = new DeconToolsFitScoreCalculator(); ResultValidator = new ResultValidatorTask(); PeakToMSFeatureAssociator = new PeakToMSFeatureAssociator(); _ms2PeakDetectorForCentroidData = new DeconToolsPeakDetectorV2(0, 0, Globals.PeakFitType.QUADRATIC, true) { RawDataType = Globals.RawDataType.Centroided }; _ms2PeakDetectorForProfileData = new DeconToolsPeakDetectorV2(NewDeconToolsParameters.PeakDetectorParameters.PeakToBackgroundRatio, NewDeconToolsParameters.PeakDetectorParameters.SignalToNoiseThreshold, NewDeconToolsParameters.PeakDetectorParameters.PeakFitType, NewDeconToolsParameters.PeakDetectorParameters.IsDataThresholded); Check.Ensure(Deconvolutor is ThrashDeconvolutorV2, "Error. Currently the DeconMSn workflow only works with the ThrashV2 deconvolutor. Selected deconvolutor= " + Deconvolutor); }