public void ChromPeakAnalyzerWorkflowTest() { //Reference JIRA: https://jira.pnnl.gov/jira/browse/OMCS-884 string testFile = UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1; string peaksTestFile = UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; Run run = new RunFactory().CreateRun(testFile); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); ChromPeakIqTarget testTarget = new ChromPeakIqTarget(); ITheorFeatureGenerator TheorFeatureGen = new JoshTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.NONE, 0.005); ChromPeak testPeak = new ChromPeak(5184, 840963, 50, 0); testTarget.SetWorkflow(new ChromPeakAnalyzerIqWorkflow(run, parameters)); testTarget.Code = "NGIIMMENR"; testTarget.EmpiricalFormula = "C43H76N14O14S2"; testTarget.MonoMassTheor = 1076.510631; testTarget.ChromPeak = testPeak; testTarget.ChargeState = 1; testTarget.TheorIsotopicProfile = TheorFeatureGen.GenerateTheorProfile(testTarget.EmpiricalFormula, testTarget.ChargeState); testTarget.DoWorkflow(); IqResult result = testTarget.GetResult(); Console.WriteLine("Fit Score: " + result.FitScore + " Flagged: " + result.IsIsotopicProfileFlagged); }
public void ChromPeakAnalyzerWorkflowTest() { //Reference JIRA: https://jira.pnnl.gov/jira/browse/OMCS-884 var testFile = UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1; var peaksTestFile = UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; var run = new RunFactory().CreateRun(testFile); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); var testTarget = new ChromPeakIqTarget(); ITheorFeatureGenerator TheorFeatureGen = new JoshTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.NONE, 0.005); var testPeak = new ChromPeak(5184, 840963, 50, 0); var executorBaseParameters = new BasicTargetedWorkflowExecutorParameters(); var executor = new TopDownMSAlignExecutor(executorBaseParameters, run); executor.ChromSourceDataFilePath = peaksTestFile; var workflow = new ChromPeakAnalyzerIqWorkflow(run, parameters); testTarget.SetWorkflow(workflow); testTarget.ID = 1; testTarget.Code = "NGIIMMENR"; testTarget.EmpiricalFormula = "C43H76N14O14S2"; testTarget.MonoMassTheor = 1076.510631; testTarget.ChromPeak = testPeak; testTarget.ChargeState = 1; testTarget.TheorIsotopicProfile = TheorFeatureGen.GenerateTheorProfile(testTarget.EmpiricalFormula, testTarget.ChargeState); var testTargetList = new List <IqTarget>(); IqTarget testParent = new IqChargeStateTarget(); testParent.AddTarget(testTarget); testTargetList.Add(testTarget); executor.Execute(testTargetList); var result = testTarget.GetResult(); Assert.NotNull(result.LCScanSetSelected); Assert.AreNotEqual(1, result.FitScore); Assert.AreEqual(true, result.IsotopicProfileFound); }
/// <summary> /// Performs charge correlation on a pair of ChromPeakIqTarget peaks /// </summary> /// <param name="referenceTarget"></param> /// <param name="compTarget"></param> /// <returns></returns> public double PairWiseChargeCorrelation(ChromPeakIqTarget referenceTarget, ChromPeakIqTarget compTarget, Run run, int peaksToCorrelate) { //Gets the ChromPeaks base width in scans for correlation int startScan, stopScan; GetBaseScanRange(referenceTarget.ChromPeak, out startScan, out stopScan); //Generates an array of XICs for the reference peak var referenceMZList = DeconTools.Backend.Utilities.IsotopicProfileUtilities.GetTopNMZValues(referenceTarget.TheorIsotopicProfile.Peaklist, peaksToCorrelate); var referenceXIC = GetCorrelationXICs(peaksToCorrelate, referenceMZList, run, startScan, stopScan); if (compTarget.ChromPeak.XValue > startScan && compTarget.ChromPeak.XValue < stopScan) { //Generates an XIC array for the peak being correlated. var correlationMZList = DeconTools.Backend.Utilities.IsotopicProfileUtilities.GetTopNMZValues(compTarget.TheorIsotopicProfile.Peaklist, peaksToCorrelate); var correlationXIC = GetCorrelationXICs(peaksToCorrelate, correlationMZList, run, startScan, stopScan); //Generates new correlation data item for current correlation var rsquaredVals = new double[peaksToCorrelate]; for (var i = 0; i < peaksToCorrelate; i++) { //Checks if either of the XICs are null if (referenceXIC[i] != null && correlationXIC[i] != null) { double slope, intercept, rsquaredval; GetElutionCorrelationData(referenceXIC[i], FillInAnyMissingValuesInChromatogram(referenceXIC[i].Xvalues, correlationXIC[i]), out slope, out intercept, out rsquaredval); rsquaredVals[i] = rsquaredval; } else { //A placeholder to show that the data was poor rsquaredVals[i] = 0; } } return(MathUtils.GetMedian(rsquaredVals)); } return(0); }
public ChargeCorrelationItem(ChromPeakIqTarget referenceTarget) { SelectedTargetGrouping = false; ReferenceTarget = referenceTarget; PeakCorrelationData = new Dictionary <ChromPeakIqTarget, ChromCorrelationData>(); }