protected virtual void DoMainInitialization() { ValidateParameters(); TheorFeatureGen = new JoshTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.NONE, 0.005); ChromGen = new PeakChromatogramGenerator(WorkflowParameters.ChromGenTolerance, WorkflowParameters.ChromGeneratorMode, DeconTools.Backend.Globals.IsotopicProfileType.UNLABELLED, WorkflowParameters.ChromGenToleranceUnit) { TopNPeaksLowerCutOff = 0.333, ChromWindowWidthForAlignedData = (float)WorkflowParameters.ChromNETTolerance * 2, ChromWindowWidthForNonAlignedData = (float)WorkflowParameters.ChromNETTolerance * 2 }; //only var allowNegativeValues = false; ChromSmoother = new SavitzkyGolaySmoother(WorkflowParameters.ChromSmootherNumPointsInSmooth, 2, allowNegativeValues); ChromPeakDetector = new ChromPeakDetector(WorkflowParameters.ChromPeakDetectorPeakBR, WorkflowParameters.ChromPeakDetectorSigNoise); ChromPeakSelector = CreateChromPeakSelector(WorkflowParameters); ChromPeakAnalyzer = new ChromPeakAnalyzer(WorkflowParameters); IterativeTffParameters = new IterativeTFFParameters(); IterativeTffParameters.ToleranceInPPM = WorkflowParameters.MSToleranceInPPM; MsfeatureFinder = new IterativeTFF(IterativeTffParameters); FitScoreCalc = new IsotopicProfileFitScoreCalculator(); InterferenceScorer = new InterferenceScorer(); ResultValidator = new ResultValidatorTask(); ChromatogramCorrelator = new IqChromCorrelator(WorkflowParameters.ChromSmootherNumPointsInSmooth, 0.05, WorkflowParameters.ChromGenTolerance); }
public ChromPeakAnalyzerIqWorkflow(TargetedWorkflowParameters parameters) : base(parameters) { var iterativeTffParameters = new IterativeTFFParameters(); TargetedMSFeatureFinder = new IterativeTFF(iterativeTffParameters); PeakFitter = new PeakLeastSquaresFitter(); }
public SmartChromPeakSelector(SmartChromPeakSelectorParameters parameters) { this.Parameters = parameters; MSPeakDetector = new DeconToolsPeakDetectorV2(parameters.MSPeakDetectorPeakBR, parameters.MSPeakDetectorSigNoiseThresh, DeconTools.Backend.Globals.PeakFitType.QUADRATIC, true); var iterativeTFFParams = new IterativeTFFParameters(); iterativeTFFParams.ToleranceInPPM = parameters.MSToleranceInPPM; iterativeTFFParams.MinimumRelIntensityForForPeakInclusion = parameters.IterativeTffMinRelIntensityForPeakInclusion; if (parameters.MSFeatureFinderType == DeconTools.Backend.Globals.TargetedFeatureFinderType.BASIC) { throw new NotSupportedException("Currently the Basic TFF is not supported in the SmartChromPeakSelector"); //TargetedMSFeatureFinder = new TargetedFeatureFinders.BasicTFF(parameters.MSToleranceInPPM); } else { TargetedMSFeatureFinder = new IterativeTFF(iterativeTFFParams); } resultValidator = new ResultValidatorTask(); fitScoreCalc = new IsotopicProfileFitScoreCalculator(); InterferenceScorer = new InterferenceScorer(); }
protected override void DoPostInitialization() { base.DoPostInitialization(); _iterativeTFFParameters = new IterativeTFFParameters { ToleranceInPPM = _workflowParameters.MSToleranceInPPM }; _iterativeTFFParameters.MinimumRelIntensityForForPeakInclusion = 0.4; //TODO: add comment why we need this _msfeatureFinder = new IterativeTFF(_iterativeTFFParameters); }
public ChromPeakAnalyzer(TargetedWorkflowParameters parameters) { Parameters = parameters; var iterativeTffParameters = new IterativeTFFParameters(); TargetedMSFeatureFinder = new IterativeTFF(iterativeTffParameters); InterferenceScorer = new InterferenceScorer(); MSPeakDetector = new DeconToolsPeakDetectorV2(); FitScoreCalc = new IsotopicProfileFitScoreCalculator(); ResultValidator = new ResultValidatorTask(); }
public void getVeryLowN15ProfileWithIterativeTFFTest1() { var n14n15Util = new N14N15TestingUtilities(); //get sample MS from Test Data var rf = new RunFactory(); var run = rf.CreateRun(N14N15TestingUtilities.MS_AMTTag23085904_z2_sum1_lowN15); run.XYData = N14N15TestingUtilities.GetTestSpectrum(N14N15TestingUtilities.MS_AMTTag23085904_z2_sum1_lowN15); var mt23140708 = n14n15Util.CreateMT23085904_Z2(); run.CurrentMassTag = mt23140708; run.ResultCollection.ResultType = Globals.ResultType.N14N15_TARGETED_RESULT; var theorN14FeatureGen = new TomTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.NONE, 0.005); theorN14FeatureGen.GenerateTheorFeature(mt23140708); var theorN15FeatureGen = new TomTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.N15, 0.005); theorN15FeatureGen.GenerateTheorFeature(mt23140708); var parameters = new IterativeTFFParameters(); parameters.IsotopicProfileType = Globals.IsotopicProfileType.LABELLED; parameters.ToleranceInPPM = 30; var itff = new IterativeTFF(parameters); itff.Execute(run.ResultCollection); // IsotopicProfile iso = itff.iterativelyFindMSFeature(run, mt23140708.IsotopicProfileLabelled); var result = (N14N15_TResult)run.ResultCollection.GetTargetedResult(run.CurrentMassTag); Assert.IsNotNull(result.IsotopicProfileLabeled); Assert.AreEqual(82280, (int)result.IntensityAggregate); Assert.AreEqual(3, result.IsotopicProfileLabeled.MonoIsotopicPeakIndex); TestUtilities.DisplayIsotopicProfileData(result.IsotopicProfileLabeled); }
protected override void DoPostInitialization() { base.DoPostInitialization(); //we want the theorFeature generator to generate even very low peaks _theorFeatureGen = new JoshTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.NONE, 0.00000001); //we want the MSFeature finder to dig way down low for any peaks _iterativeTFFParameters = new IterativeTFFParameters(); _iterativeTFFParameters.ToleranceInPPM = _workflowParameters.MSToleranceInPPM; _iterativeTFFParameters.PeakDetectorPeakBR = 2.1; _iterativeTFFParameters.PeakBRStep = 0.2; _iterativeTFFParameters.PeakDetectorMinimumPeakBR = 0.1; _msfeatureFinder = new SipperIterativeMSFeatureFinder(_iterativeTFFParameters); _quantifier = new SipperQuantifier(); //always do ChromCorrelation whether you want it or not! _workflowParameters.ChromatogramCorrelationIsPerformed = true; }
public PartialLabelingQuantifier(string element, int lightIsotope, int heavyIsotope, int numLeftZeroPads = 1, int numRightZeroPads = 1, bool isTheorProfileTrimmed = false) { MinLabelAmount = 0; MaxLabelAmount = 100; StepAmountForIterator = 1; _elementLabeled = element; _lightIsotope = lightIsotope; _heavyIsotope = heavyIsotope; _theorLabeledProfiles = new List <IsotopicProfile>(); var tffParameters = new IterativeTFFParameters(); tffParameters.ToleranceInPPM = 30; _iterativeTff = new IterativeTFF(tffParameters); NumLeftZeroPads = numLeftZeroPads; NumRightZeroPads = numRightZeroPads; IsTheoreticalTrimmedDownToObserved = isTheorProfileTrimmed; }
protected virtual void DoMainInitialization() { ValidateParameters(); _theorFeatureGen = new JoshTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.NONE, 0.005); _chromGen = new PeakChromatogramGenerator(_workflowParameters.ChromGenTolerance, _workflowParameters.ChromGeneratorMode, DeconTools.Backend.Globals.IsotopicProfileType.UNLABELLED, _workflowParameters.ChromGenToleranceUnit) { TopNPeaksLowerCutOff = 0.333, ChromWindowWidthForAlignedData = (float)_workflowParameters.ChromNETTolerance * 2, ChromWindowWidthForNonAlignedData = (float)_workflowParameters.ChromNETTolerance * 2 }; //only var allowNegativeValues = false; _chromSmoother = new SavitzkyGolaySmoother(_workflowParameters.ChromSmootherNumPointsInSmooth, 2, allowNegativeValues); _chromPeakDetector = new ChromPeakDetectorMedianBased(_workflowParameters.ChromPeakDetectorPeakBR, _workflowParameters.ChromPeakDetectorSigNoise); _chromPeakSelector = CreateChromPeakSelector(_workflowParameters); _iterativeTFFParameters = new IterativeTFFParameters(); _iterativeTFFParameters.ToleranceInPPM = _workflowParameters.MSToleranceInPPM; _msfeatureFinder = new IterativeTFF(_iterativeTFFParameters); _fitScoreCalc = new IsotopicProfileFitScoreCalculator(); _resultValidator = new ResultValidatorTask(); _chromatogramCorrelator = new ChromatogramCorrelator(_workflowParameters.ChromSmootherNumPointsInSmooth, 0.01, _workflowParameters.ChromGenTolerance); ChromatogramXYData = new XYData(); MassSpectrumXYData = new XYData(); ChromPeaksDetected = new List <ChromPeak>(); }
public SaturationDetector(string uimfFileLocation) { _uimfReader = new DataReader(uimfFileLocation); _smoother = new SavitzkyGolaySmoother(9, 2); _peakDetector = new ChromPeakDetector(0.0001, 0.0001); _theoreticalFeatureGenerator = new JoshTheorFeatureGenerator(); if (!_uimfReader.DoesContainBinCentricData()) { DataWriter dataWriter = new DataWriter(uimfFileLocation); dataWriter.CreateBinCentricTables(); } IterativeTFFParameters msFeatureFinderParameters = new IterativeTFFParameters { MinimumRelIntensityForForPeakInclusion = 0.0000000001, PeakDetectorMinimumPeakBR = 0, PeakDetectorPeakBR = 5.00000000000002, PeakBRStep = 0.25, PeakDetectorSigNoiseRatioThreshold = 0.00000000001, ToleranceInPPM = 50 }; _msFeatureFinder = new IterativeTFF(msFeatureFinderParameters); }
/// <summary> /// Initializes a new instance of the <see cref="LcImsPeptideSearchWorkfow"/> class. /// </summary> /// <param name="uimfFileLocation"> /// The uimf file location. /// </param> /// <param name="parameters"> /// The parameters. /// </param> public LcImsPeptideSearchWorkfow(string uimfFileLocation, LcImsPeptideSearchParameters parameters) { this._buildWatershedStopWatch = new Stopwatch(); this._smoothStopwatch = new Stopwatch(); this._featureFindStopWatch = new Stopwatch(); this._featureFindCount = 0; this._pointCount = 0; this._uimfFileLocation = uimfFileLocation; this._uimfReader = new DataReader(uimfFileLocation); // Append bin-centric table to the uimf if not present. if (!this._uimfReader.DoesContainBinCentricData()) { DataWriter dataWriter = new DataWriter(uimfFileLocation); dataWriter.CreateBinCentricTables(); } this._parameters = parameters; this._smoother = new SavitzkyGolaySmoother(parameters.NumPointForSmoothing, 2); this._theoreticalFeatureGenerator = new JoshTheorFeatureGenerator(); this._leftOfMonoPeakLooker = new LeftOfMonoPeakLooker(); this._peakDetector = new ChromPeakDetector(0.0001, 0.0001); this._isotopicPeakFitScoreCalculator = new PeakLeastSquaresFitter(); IterativeTFFParameters msFeatureFinderParameters = new IterativeTFFParameters { MinimumRelIntensityForForPeakInclusion = 0.0001, PeakDetectorMinimumPeakBR = 0.0001, PeakDetectorPeakBR = 5.0002, PeakBRStep = 0.25, PeakDetectorSigNoiseRatioThreshold = 0.0001, ToleranceInPPM = parameters.MassToleranceInPpm }; this._msFeatureFinder = new IterativeTFF(msFeatureFinderParameters); this.NumberOfFrames = this._uimfReader.GetGlobalParams().NumFrames; this.NumberOfScans = this._uimfReader.GetFrameParams(1).Scans; }
protected override void DoPostInitialization() { base.DoPostInitialization(); ValidateParameters(); theorFeatureGen = new JoshTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.NONE, 0.005); theorN15FeatureGen = new JoshTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.N15, 0.005); chromGenN14 = new PeakChromatogramGenerator(_workflowParameters.ChromGenTolerance, _workflowParameters.ChromGeneratorMode); chromGenN14.TopNPeaksLowerCutOff = 0.333; chromGenN15 = new PeakChromatogramGenerator(_workflowParameters.ChromGenTolerance, DeconTools.Backend.Globals.ChromatogramGeneratorMode.MOST_ABUNDANT_PEAK, DeconTools.Backend.Globals.IsotopicProfileType.LABELLED); chromGenN15.TopNPeaksLowerCutOff = 0.333; var pointsToSmooth = (_workflowParameters.ChromSmootherNumPointsInSmooth + 1) / 2; chromSmoother = new SavitzkyGolaySmoother(_workflowParameters.ChromSmootherNumPointsInSmooth, 2); chromPeakDetector = new ChromPeakDetector(_workflowParameters.ChromPeakDetectorPeakBR, _workflowParameters.ChromPeakDetectorSigNoise); var smartchrompeakSelectorParams = new SmartChromPeakSelectorParameters(); smartchrompeakSelectorParams.MSFeatureFinderType = DeconTools.Backend.Globals.TargetedFeatureFinderType.ITERATIVE; smartchrompeakSelectorParams.MSPeakDetectorPeakBR = _workflowParameters.MSPeakDetectorPeakBR; smartchrompeakSelectorParams.MSPeakDetectorSigNoiseThresh = _workflowParameters.MSPeakDetectorSigNoise; smartchrompeakSelectorParams.MSToleranceInPPM = _workflowParameters.MSToleranceInPPM; smartchrompeakSelectorParams.NETTolerance = (float)_workflowParameters.ChromNETTolerance; smartchrompeakSelectorParams.NumScansToSum = _workflowParameters.NumMSScansToSum; smartchrompeakSelectorParams.NumChromPeaksAllowed = 10; smartchrompeakSelectorParams.IterativeTffMinRelIntensityForPeakInclusion = 0.5; chromPeakSelectorN14 = new SmartChromPeakSelector(smartchrompeakSelectorParams); var chromPeakSelectorParameters = new ChromPeakSelectorParameters(); chromPeakSelectorParameters.NumScansToSum = _workflowParameters.NumMSScansToSum; chromPeakSelectorParameters.NETTolerance = (float)_workflowParameters.ChromNETTolerance; chromPeakSelectorParameters.PeakSelectorMode = DeconTools.Backend.Globals.PeakSelectorMode.N15IntelligentMode; chromPeakSelectorN15 = new BasicChromPeakSelector(chromPeakSelectorParameters); chromPeakSelectorN15.IsotopicProfileType = DeconTools.Backend.Globals.IsotopicProfileType.LABELLED; msPeakDetector = new DeconToolsPeakDetectorV2(_workflowParameters.MSPeakDetectorPeakBR, _workflowParameters.MSPeakDetectorSigNoise, DeconTools.Backend.Globals.PeakFitType.QUADRATIC, false); var iterativeTFFParameters = new IterativeTFFParameters(); iterativeTFFParameters.ToleranceInPPM = _n14N15Workflow2Parameters.TargetedFeatureFinderToleranceInPPM; iterativeTFFParameters.MinimumRelIntensityForForPeakInclusion = 0.33; iterativeTFFParameters.IsotopicProfileType = DeconTools.Backend.Globals.IsotopicProfileType.UNLABELLED; unlabelledProfilefinder = new IterativeTFF(iterativeTFFParameters); iterativeTFFParameters = new IterativeTFFParameters(); iterativeTFFParameters.ToleranceInPPM = _n14N15Workflow2Parameters.TargetedFeatureFinderToleranceInPPM; iterativeTFFParameters.MinimumRelIntensityForForPeakInclusion = 0.33; iterativeTFFParameters.IsotopicProfileType = DeconTools.Backend.Globals.IsotopicProfileType.LABELLED; labelledProfileFinder = new IterativeTFF(iterativeTFFParameters); quantifier = new N14N15QuantifierTask(_n14N15Workflow2Parameters.NumPeaksUsedInQuant, _workflowParameters.MSToleranceInPPM); fitScoreCalc = new IsotopicProfileFitScoreCalculator(); var minRelativeIntensityForScore = 0.2; resultValidatorN14 = new ResultValidatorTask(minRelativeIntensityForScore, true); resultValidatorN15 = new LabelledIsotopicProfileScorer(minRelativeIntensityForScore); ChromatogramXYData = new XYData(); MassSpectrumXYData = new XYData(); ChromPeaksDetected = new List <ChromPeak>(); }