public void constructor_noRun_test1() { TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); var workflow = new BasicTargetedWorkflow(parameters); //workflow.Execute(); }
public void AlternateConstructor_targetedWorkflowNoAlignment() { var executorParameterFile = baseFolder + @"\Parameters\QCShew_OrbiStandard_workflowExecutorParameters.xml"; var executorParameters = new BasicTargetedWorkflowExecutorParameters(); executorParameters.LoadParameters(executorParameterFile); var resultsFolderLocation = Path.Combine(executorParameters.OutputFolderBase, "Results"); var testDatasetPath = baseFolder + @"\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW"; var testDatasetName = "QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18"; var expectedResultsFilename = Path.Combine(resultsFolderLocation, testDatasetName + "_results.txt"); if (File.Exists(expectedResultsFilename)) { File.Delete(expectedResultsFilename); } var basicTargetedWorkflowParameters = new BasicTargetedWorkflowParameters(); var workflow = new BasicTargetedWorkflow(basicTargetedWorkflowParameters); TargetedWorkflowExecutor executor = new BasicTargetedWorkflowExecutor(executorParameters, workflow, testDatasetPath); executor.Execute(); Assert.IsTrue(File.Exists(expectedResultsFilename)); }
public void cannotFindMassTag_test1() { // var testFile = DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1; var peaksTestFile = DeconTools.UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; var massTagFile = @"\\protoapps\UserData\Slysz\Data\MassTags\QCShew_Formic_MassTags_Bin10_all.txt"; var run = RunUtilities.CreateAndAlignRun(testFile, peaksTestFile); var mtc = new TargetCollection(); var mtimporter = new MassTagFromTextFileImporter(massTagFile); mtc = mtimporter.Import(); var testMassTagID = 26523; run.CurrentMassTag = (from n in mtc.TargetList where n.ID == testMassTagID && n.ChargeState == 1 select n).First(); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); var workflow = new BasicTargetedWorkflow(run, parameters); workflow.Execute(); var result = run.ResultCollection.GetTargetedResult(run.CurrentMassTag) as MassTagResult; Assert.IsNull(result.IsotopicProfile); Assert.IsNull(result.ScanSet); Assert.IsNull(result.ChromPeakSelected); Assert.IsTrue(result.FailedResult); Assert.AreEqual(DeconTools.Backend.Globals.TargetedResultFailureType.ChrompeakNotFoundWithinTolerances, result.FailureType); }
public void findFeatureIn_dataset_with_bad_massCalibration_test1() { //mass error in this dataset is typically ~50ppm. var datasetFile = @"D:\Data\Orbitrap\Subissue01\QC_Shew_10_01-pt5-1_8Feb10_Doc_09-12-24.RAW"; var massTagFile = @"\\protoapps\UserData\Slysz\Data\QCShew_MassiveTargeted\MassTags\QCShew_Formic_MassTags_Bin10_first10.txt"; var workflowParameterFile = @"\\protoapps\UserData\Slysz\Data\QCShew_MassiveTargeted\WorkflowParameterFiles\UnlabelledTargeted_WorkflowParameters_noSum.xml"; var run = RunUtilities.CreateAndLoadPeaks(datasetFile, datasetFile.Replace(".RAW", "_peaks.txt")); RunUtilities.AlignRunUsingAlignmentInfoInFiles(run); Assert.IsTrue(run.MassIsAligned); Assert.IsTrue(run.NETIsAligned); var parameters = new BasicTargetedWorkflowParameters(); parameters.LoadParameters(workflowParameterFile); var workflow = new BasicTargetedWorkflow(parameters); workflow.Run = run; var mtc = new TargetCollection(); var mtimporter = new MassTagFromTextFileImporter(massTagFile); mtc = mtimporter.Import(); var mt1 = (from n in mtc.TargetList where n.ID == 24702 && n.ChargeState == 4 select n).First(); run.CurrentMassTag = mt1; workflow.Execute(); var repo = new TargetedResultRepository(); repo.AddResult(workflow.Result); Console.WriteLine("theor mono mass = " + mt1.MonoIsotopicMass); Console.WriteLine("theorMZ = " + mt1.MZ); Console.WriteLine("theorNET = " + mt1.NormalizedElutionTime); Console.WriteLine("obsScan = " + repo.Results[0].ScanLC); Console.WriteLine("obsNET = " + repo.Results[0].NET); Console.WriteLine("NETError = " + repo.Results[0].NETError); Console.WriteLine("obsMZ = " + repo.Results[0].MonoMZ); Console.WriteLine("monoMass = " + repo.Results[0].MonoMass); Console.WriteLine("obsMonoMassCalibrated = " + repo.Results[0].MonoMassCalibrated); Console.WriteLine("MassErrorBeforeAlignment = " + (mt1.MZ - repo.Results[0].MonoMZ) / mt1.MZ * 1e6); Console.WriteLine("MassErrorAfterAlignment = " + repo.Results[0].MassErrorBeforeCalibration); }
public void targetedWorkflow_alignUsingDataFromFiles_localVersion() { //TODO: figure out result is correct //TODO: get MS and Chrom in Jira var executorParameters = new BasicTargetedWorkflowExecutorParameters(); executorParameters.TargetsFilePath = @"C:\Users\d3x720\Documents\Data\QCShew\IQ\QCShew_Formic_MassTags_Bin10_MT24702_Z3.txt"; executorParameters.TargetedAlignmentIsPerformed = true; var workflowParameters = new BasicTargetedWorkflowParameters(); workflowParameters.ChromSmootherNumPointsInSmooth = 9; workflowParameters.ChromPeakDetectorPeakBR = 1; workflowParameters.ChromPeakDetectorSigNoise = 1; workflowParameters.ChromGenTolerance = 20; workflowParameters.ChromNETTolerance = 0.025; workflowParameters.MSToleranceInPPM = 20; var workflow = new BasicTargetedWorkflow(workflowParameters); var testDatasetPath = @"C:\Users\d3x720\Documents\Data\QCShew\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW"; TargetedWorkflowExecutor executor = new BasicTargetedWorkflowExecutor(executorParameters, workflow, testDatasetPath); executor.Execute(); var expectedResultsFilename = @"C:\Users\d3x720\Documents\Data\QCShew\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_results.txt"; var result = executor.TargetedWorkflow.Result; Console.WriteLine("theor monomass= \t" + result.Target.MonoIsotopicMass); Console.WriteLine("monomass= \t" + result.IsotopicProfile.MonoIsotopicMass); Console.WriteLine("ppmError before= \t" + result.MassErrorBeforeAlignment); Console.WriteLine("ppmError after= \t" + result.MassErrorAfterAlignment); Console.WriteLine("Database NET= " + result.Target.NormalizedElutionTime); Console.WriteLine("Result NET= " + result.GetNET()); Console.WriteLine("Result NET Error= " + result.GetNETAlignmentError()); Console.WriteLine("NumChromPeaksWithinTol= " + result.NumChromPeaksWithinTolerance); //Dataset MassTagID ChargeState Scan ScanStart ScanEnd NET NumChromPeaksWithinTol NumQualityChromPeaksWithinTol MonoisotopicMass MonoMZ IntensityRep FitScore IScore FailureType //QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18 24702 3 8119 8112 8124 0.4172 2 1 2920.53082 974.51755 1379489 0.1136 0.0000 }
public void InvestigateIQFailures() { var executorParamFile = @"\\protoapps\DataPkgs\Public\2013\743_Mycobacterium_tuberculosis_Cys_and_Ser_ABP\IQ_Analysis\Parameters\ExecutorParameters1 - Copy.xml"; var executorParameters = new BasicTargetedWorkflowExecutorParameters(); executorParameters.LoadParameters(executorParamFile); var testFile = @"\\protoapps\DataPkgs\Public\2013\743_Mycobacterium_tuberculosis_Cys_and_Ser_ABP\IQ_Analysis\Testing\LNA_A_Expo_Sample_SC_9_LNA_ExpA_Expo_Stat_SeattleBioMed_15Feb13_Cougar_12-12-35.raw"; var run = new RunFactory().CreateRun(testFile); var iqparameterFile = @"\\protoapps\DataPkgs\Public\2013\743_Mycobacterium_tuberculosis_Cys_and_Ser_ABP\IQ_Analysis\Testing\IQWorkflowParameters1.xml"; var workflowParameters = new BasicTargetedWorkflowParameters(); workflowParameters.LoadParameters(iqparameterFile); workflowParameters.MSToleranceInPPM = 10; workflowParameters.ChromPeakDetectorPeakBR = 0.25; workflowParameters.ChromPeakDetectorSigNoise = 2; var targetedWorkflow = new BasicTargetedWorkflow(run, workflowParameters); var executor = new BasicTargetedWorkflowExecutor(executorParameters, targetedWorkflow, testFile); //int[] testTargets = {349959971, 349951038,349954483 }; //int[] testTargets = { 349951038 }; //int[] testTargets = { 349954483 }; //int[] testTargets = { 2911730 }; int[] testTargets = { 349946881 }; var chargeState = 3; executor.Targets.TargetList = (from n in executor.Targets.TargetList where testTargets.Contains(n.ID) select n).ToList(); executor.Targets.TargetList = (from n in executor.Targets.TargetList where n.ChargeState == chargeState select n).ToList(); executor.Execute(); //Results of investiga tion! - 349959971 was being missed because the MSTolerance was too narrow. When changed from 5 to 6, it was found. I think we can safely set this at 10. //Results of investigation! - 349951038 was being missed because it was being flagged (peak to the left) problem. TestUtilities.DisplayXYValues(executor.TargetedWorkflow.ChromatogramXYData); }
public void findSingleMassTag_checkAlignmentData_test1() { var testFile = DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1; var peaksTestFile = DeconTools.UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; var massTagFile = @"\\protoapps\UserData\Slysz\Data\MassTags\QCShew_Formic_MassTags_Bin10_all.txt"; var run = RunUtilities.CreateAndLoadPeaks(testFile, peaksTestFile); var mtc = new TargetCollection(); var mtimporter = new MassTagFromTextFileImporter(massTagFile); mtc = mtimporter.Import(); var testMassTagID = 24800; run.CurrentMassTag = (from n in mtc.TargetList where n.ID == testMassTagID && n.ChargeState == 2 select n).First(); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); var workflow = new BasicTargetedWorkflow(run, parameters); workflow.Execute(); var result = run.ResultCollection.GetTargetedResult(run.CurrentMassTag) as MassTagResult; Assert.AreEqual(false, result.FailedResult); result.DisplayToConsole(); Assert.IsNotNull(result.IsotopicProfile); Assert.IsNotNull(result.ScanSet); Assert.IsNotNull(result.ChromPeakSelected); Assert.AreEqual(2, result.IsotopicProfile.ChargeState); Assert.AreEqual(718.41m, (decimal)Math.Round(result.IsotopicProfile.GetMZ(), 2)); Assert.AreEqual(5947m, (decimal)Math.Round(result.ChromPeakSelected.XValue)); Assert.AreEqual(5.91, (decimal)(Math.Round(result.GetMassErrorAfterAlignmentInPPM(), 2))); Assert.AreEqual(0.0001585m, (decimal)(Math.Round(result.GetNETAlignmentError(), 7))); RunUtilities.AlignRunUsingAlignmentInfoInFiles(run); //these might change due to unit tests elsewhere. Need a better way of doing this //Assert.AreEqual(1.99290383722318m, (decimal)result.GetMassErrorAfterAlignmentInPPM()); //Assert.AreEqual(0.00076708197593689m, (decimal)result.GetNETAlignmentError()); }
public void exporterTest1() { var testFile = DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1; var peaksTestFile = DeconTools.UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; var massTagFile = @"\\protoapps\UserData\Slysz\Data\MassTags\qcshew_standard_file_NETVals0.3-0.33.txt"; var exportedResultFile = Path.Combine(FileRefs.OutputFolderPath, "UnlabelledTargetedResultsExporterOutput1.txt"); if (File.Exists(exportedResultFile)) { File.Delete(exportedResultFile); } var run = RunUtilities.CreateAndAlignRun(testFile, peaksTestFile); var mtc = new TargetCollection(); var mtimporter = new MassTagFromTextFileImporter(massTagFile); mtc = mtimporter.Import(); var selectedMassTags = mtc.TargetList.OrderBy(p => p.ID).Take(10).ToList(); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); var workflow = new BasicTargetedWorkflow(run, parameters); foreach (var mt in selectedMassTags) { run.CurrentMassTag = mt; workflow.Execute(); } var repo = new TargetedResultRepository(); repo.AddResults(run.ResultCollection.GetMassTagResults()); var exporter = new UnlabelledTargetedResultToTextExporter(exportedResultFile); exporter.ExportResults(repo.Results); }
public TargetedAligner(Run run, DeconToolsTargetedWorkflowParameters workflowParameters) { _run = run; _parameters = workflowParameters; _netGroupings = createNETGroupings(); _workflow = new BasicTargetedWorkflow(_run, workflowParameters); IsAlignmentInfoExported = true; NumberOfDesiredMassTagsFoundPerNETGrouping = 25; NumberOfChromPeaksWithinToleranceAllowed = 1; NumberOfMaxAttemptsPerNETGrouping = 200; this.UpperFitScoreAllowedCriteria = 0.1; this.MinimumChromPeakIntensityCriteria = 2.5e5f; this.IScoreAllowedCriteria = 0.15; this.AreFeaturesSavedToTextFile = true; }
public void findSingleModifiedMassTagTest1() { var testFile = UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1; var peaksTestFile = UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; var massTagFile = @"\\protoapps\UserData\Slysz\Data\MassTags\qcshew_standard_file_NETVals0.3-0.33.txt"; var run = RunUtilities.CreateAndLoadPeaks(testFile, peaksTestFile); var mtc = new TargetCollection(); var mtimporter = new MassTagFromTextFileImporter(massTagFile); mtc = mtimporter.Import(); var testMassTagID = 189685150; run.CurrentMassTag = (from n in mtc.TargetList where n.ID == testMassTagID && n.ChargeState == 2 select n).First(); Assert.AreEqual(true, run.CurrentMassTag.ContainsMods); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); parameters.ChromatogramCorrelationIsPerformed = true; var workflow = new BasicTargetedWorkflow(run, parameters); workflow.Execute(); var result = run.ResultCollection.GetTargetedResult(run.CurrentMassTag) as MassTagResult; Assert.AreEqual(false, result.FailedResult); result.DisplayToConsole(); Assert.IsNotNull(result.IsotopicProfile); Assert.IsNotNull(result.ScanSet); Assert.IsNotNull(result.ChromPeakSelected); Assert.AreEqual(2, result.IsotopicProfile.ChargeState); Assert.AreEqual(959.48m, (decimal)Math.Round(result.IsotopicProfile.GetMZ(), 2)); //Assert.AreEqual(6070, (decimal)Math.Round(result.ChromPeakSelected.XValue)); foreach (var dataItem in result.ChromCorrelationData.CorrelationDataItems) { Console.WriteLine(dataItem); } }
public void TargetedWorkflowUsingMsgfInputsTest1() { var executorParameters = new BasicTargetedWorkflowExecutorParameters(); executorParameters.TargetsFilePath = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\Targets\Yellow_C13_070_23Mar10_Griffin_10-01-28_msgfplus.tsv"; executorParameters.TargetedAlignmentIsPerformed = false; executorParameters.SaveParametersToXML( @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\IQConsoleDemo\IqExecutorParameters.xml"); var workflowParameters = new BasicTargetedWorkflowParameters(); workflowParameters.ChromSmootherNumPointsInSmooth = 9; workflowParameters.ChromPeakDetectorPeakBR = 1; workflowParameters.ChromPeakDetectorSigNoise = 3; workflowParameters.ChromGenTolerance = 20; workflowParameters.ChromNETTolerance = 0.025; workflowParameters.MSToleranceInPPM = 20; workflowParameters.SaveParametersToXML( @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\IQConsoleDemo\IqWorkflowParameters.xml"); var workflow = new BasicTargetedWorkflow(workflowParameters); var testDatasetPath = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\SIPPER_standard_testing\Yellow_C13_070_23Mar10_Griffin_10-01-28.raw"; TargetedWorkflowExecutor executor = new BasicTargetedWorkflowExecutor(executorParameters, workflow, testDatasetPath); executor.Targets.TargetList = executor.Targets.TargetList.Take(10).ToList(); executor.Execute(); }
public void LocalQCShewProcessingTest1() { var parameterFileName = @"C:\Users\d3x720\Documents\Data\QCShew\IQ\IQExecutorParameterFile1.xml"; var executorParameters = new BasicTargetedWorkflowExecutorParameters(); executorParameters.TargetsFilePath = @"C:\Users\d3x720\Documents\Data\QCShew\IQ\QCShew_Formic_MassTags_Bin10_first10.txt"; executorParameters.SaveParametersToXML(parameterFileName); var workflowParameters = new BasicTargetedWorkflowParameters(); var workflow = new BasicTargetedWorkflow(workflowParameters); var testDatasetPath = @"C:\Users\d3x720\Documents\Data\QCShew\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW"; TargetedWorkflowExecutor executor = new BasicTargetedWorkflowExecutor(executorParameters, workflow, testDatasetPath); var testTargetID = 24749; var testTargetZ = 3; executor.Targets.TargetList = executor.Targets.TargetList.Where(p => p.ID == testTargetID && p.ChargeState == testTargetZ).ToList(); executor.Execute(); //TestUtilities.DisplayXYValues(executor.TargetedWorkflow.ChromatogramXYData); foreach (var chrompeak in executor.TargetedWorkflow.ChromPeaksDetected) { Console.WriteLine(chrompeak.XValue.ToString("0.0000") + "\t" + chrompeak.Height.ToString("0") + "\t" + chrompeak.Width.ToString("0.000") + "\n"); } }
public void ensure_alignmentIsBeingUsed_duringProcessing_test2() { var massTagFile = @"\\protoapps\UserData\Slysz\Data\MassTags\QCShew_Formic_MassTags_Bin10_all.txt"; var mzAlignmentInfoFilename = @"D:\Data\Orbitrap\QC_Shew_08_04-pt1-3_15Apr09_Sphinx_09-02-16_MZAlignment.txt"; var NETAlignmentInfoFilename = @"D:\Data\Orbitrap\QC_Shew_08_04-pt1-3_15Apr09_Sphinx_09-02-16_NETAlignment.txt"; var rawDataFile = @"D:\Data\Orbitrap\QC_Shew_08_04-pt1-3_15Apr09_Sphinx_09-02-16.RAW"; var peaksDataFile = @"D:\Data\Orbitrap\QC_Shew_08_04-pt1-3_15Apr09_Sphinx_09-02-16_peaks.txt"; var run = DeconTools.Backend.Utilities.RunUtilities.CreateAndLoadPeaks(rawDataFile, peaksDataFile); var importer = new MassAlignmentInfoFromTextImporter(mzAlignmentInfoFilename); var massAlignmentData = importer.Import(); var massAlignmentInfo = new MassAlignmentInfoLcmsWarp(); massAlignmentInfo.SetMassAlignmentData(massAlignmentData); run.MassAlignmentInfo = massAlignmentInfo; var mtc = new TargetCollection(); var mtimporter = new MassTagFromTextFileImporter(massTagFile); mtc = mtimporter.Import(); var testMassTagID = 24730; run.CurrentMassTag = (from n in mtc.TargetList where n.ID == testMassTagID && n.ChargeState == 2 select n).First(); //first will execute workflow on a dataset that was NOT aligned TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); parameters.ChromNETTolerance = 0.2; //use a very wide tolerance parameters.ChromGenTolerance = 5; parameters.MSToleranceInPPM = 15; var workflow = new BasicTargetedWorkflow(run, parameters); workflow.Execute(); var result = run.ResultCollection.GetTargetedResult(run.CurrentMassTag); Assert.IsTrue(result.ChromPeakSelected != null); Assert.AreEqual(9367, (int)result.ChromPeakSelected.XValue); var netDiff = result.Target.NormalizedElutionTime - result.GetNET(); Console.WriteLine("NET diff before alignment = " + netDiff); var expectedNETDiff = 0.071m; Assert.AreEqual(expectedNETDiff, (decimal)Math.Round(netDiff, 3)); //import NET alignment information var netAlignmentInfoImporter = new NETAlignmentFromTextImporter(NETAlignmentInfoFilename); var scanNETdata = netAlignmentInfoImporter.Import(); run.NetAlignmentInfo.SetScanToNETAlignmentData(scanNETdata); parameters = new BasicTargetedWorkflowParameters(); parameters.ChromNETTolerance = 0.01; //use a more narrow tolerance parameters.ChromGenTolerance = 5; parameters.MSToleranceInPPM = 15; workflow = new BasicTargetedWorkflow(run, parameters); workflow.Execute(); netDiff = result.Target.NormalizedElutionTime - result.GetNET(); Console.WriteLine("NET diff after alignment = " + netDiff); Assert.IsTrue(result.ChromPeakSelected != null); var expectedNETDiffMaximum = 0.01; Assert.IsTrue(netDiff < expectedNETDiffMaximum); }
public void findSingleMassTag_test1() { //see https://jira.pnnl.gov/jira/browse/OMCS-709 var testFile = DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1; var peaksTestFile = DeconTools.UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; var massTagFile = @"\\protoapps\UserData\Slysz\Data\MassTags\QCShew_Formic_MassTags_Bin10_all.txt"; var run = RunUtilities.CreateAndAlignRun(testFile, peaksTestFile); var mtc = new TargetCollection(); var mtimporter = new MassTagFromTextFileImporter(massTagFile); mtc = mtimporter.Import(); var testMassTagID = 24800; run.CurrentMassTag = (from n in mtc.TargetList where n.ID == testMassTagID && n.ChargeState == 2 select n).First(); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); parameters.ChromatogramCorrelationIsPerformed = true; parameters.ChromSmootherNumPointsInSmooth = 9; parameters.ChromPeakDetectorPeakBR = 1; parameters.ChromPeakDetectorSigNoise = 1; var workflow = new BasicTargetedWorkflow(run, parameters); workflow.Execute(); Assert.IsNotNull(workflow.ChromatogramXYData, "Chrom XY data is empty"); Assert.IsNotEmpty(workflow.ChromPeaksDetected, "Chrom peaks are empty"); Console.WriteLine("Chrom peaks detected"); foreach (var chromPeak in workflow.ChromPeaksDetected) { Console.WriteLine(chromPeak.XValue.ToString("0.0") + "\t" + chromPeak.Height.ToString("0") + "\t" + chromPeak.Width.ToString("0.0")); } Assert.AreEqual(3, workflow.ChromPeaksDetected.Count); Assert.IsNotNull(workflow.ChromPeakSelected, "No chrom peak was selected"); Assert.IsNotNull(workflow.MassSpectrumXYData, "Mass spectrum for selected chrom peak was not generated"); //TestUtilities.DisplayXYValues(workflow.MassSpectrumXYData); //TestUtilities.DisplayXYValues(workflow.ChromatogramXYData); var result = run.ResultCollection.GetTargetedResult(run.CurrentMassTag) as MassTagResult; if (result.FailedResult) { Console.WriteLine(result.ErrorDescription); } Assert.IsFalse(result.FailedResult); // result.DisplayToConsole(); Assert.IsNotNull(result.IsotopicProfile); Assert.IsNotNull(result.ScanSet); Assert.IsNotNull(result.ChromPeakSelected); Assert.AreEqual(2, result.IsotopicProfile.ChargeState); Assert.AreEqual(718.41m, (decimal)Math.Round(result.IsotopicProfile.GetMZ(), 2)); Assert.AreEqual(5939, (decimal)Math.Round(result.ChromPeakSelected.XValue)); Assert.IsNotNull(result.ChromCorrelationData); foreach (var dataItem in result.ChromCorrelationData.CorrelationDataItems) { Console.WriteLine(dataItem); } }
public void findSingleMassTag_alternateQCShew() { var testFile = @"D:\Data\Orbitrap\QC_Shew_08_04-pt1-3_15Apr09_Sphinx_09-02-16.RAW"; var peaksTestFile = @"D:\Data\Orbitrap\QC_Shew_08_04-pt1-3_15Apr09_Sphinx_09-02-16_peaks.txt"; var massTagFile = @"D:\Data\Orbitrap\QC_Shew_08_04-pt1-3_15Apr09_Sphinx_09-02-16_peakMatchedFeatures.txt"; var run = RunUtilities.CreateAndLoadPeaks(testFile, peaksTestFile); var mtc = new TargetCollection(); var mtimporter = new MassTagFromTextFileImporter(massTagFile); mtc = mtimporter.Import(); var testMassTagID = 24709; run.CurrentMassTag = (from n in mtc.TargetList where n.ID == testMassTagID && n.ChargeState == 4 select n).First(); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); parameters.ChromNETTolerance = 0.2; parameters.MSToleranceInPPM = 25; parameters.ChromatogramCorrelationIsPerformed = true; var workflow = new BasicTargetedWorkflow(run, parameters); workflow.Execute(); var result = run.ResultCollection.GetTargetedResult(run.CurrentMassTag) as MassTagResult; result.DisplayToConsole(); Assert.IsNotNull(result.IsotopicProfile); Assert.IsNotNull(result.ScanSet); Assert.IsNotNull(result.ChromPeakSelected); Assert.AreEqual(4, result.IsotopicProfile.ChargeState); // Assert.AreEqual(610.81m, (decimal)Math.Round(result.IsotopicProfile.GetMZ(), 2)); //Assert.AreEqual(6483, (decimal)Math.Round(result.ChromPeakSelected.XValue)); double maxIntensity = result.IsotopicProfile.Peaklist.Max(p => p.Height); for (var i = 0; i < result.IsotopicProfile.Peaklist.Count; i++) { double correctedRatio = 0; if (i < result.ChromCorrelationData.CorrelationDataItems.Count) { var correlationSlope = result.ChromCorrelationData.CorrelationDataItems[i].CorrelationSlope; if (correlationSlope != null) { correctedRatio = (double)correlationSlope; } } else { correctedRatio = 0; } var observedRelIntensity = result.IsotopicProfile.Peaklist[i].Height / maxIntensity; Console.WriteLine(i + "\t" + observedRelIntensity + "\t" + correctedRatio); } }
public void HemePeptidesProcessingTest1() { var executorParameters = new BasicTargetedWorkflowExecutorParameters(); executorParameters.TargetsFilePath = @"\\protoapps\DataPkgs\Public\2013\686_IQ_analysis_of_heme_peptides\Targets\SL-MtoA_peptides_formulas.txt"; var testDatasetPath = @"D:\Data\From_EricMerkley\HisHemeSL-MtrA_002_2Feb11_Sphinx_10-12-01.RAW"; var workflowParameters = new BasicTargetedWorkflowParameters(); workflowParameters.ChromNETTolerance = 0.5; workflowParameters.ChromSmootherNumPointsInSmooth = 9; var workflow = new BasicTargetedWorkflow(workflowParameters); TargetedWorkflowExecutor executor = new BasicTargetedWorkflowExecutor(executorParameters, workflow, testDatasetPath); var testTargetID = 1950; var testTargetZ = 3; testTargetID = 240; testTargetZ = 4; testTargetID = 359; testTargetZ = 3; testTargetID = 750; testTargetZ = 5; executor.Targets.TargetList = executor.Targets.TargetList.Where(p => p.ID == testTargetID && p.ChargeState == testTargetZ).ToList(); //executor.Targets.TargetList = executor.Targets.TargetList.Where(p => p.ID == testTargetID).ToList(); executor.InitializeRun(testDatasetPath); executor.Run.CurrentMassTag = executor.Targets.TargetList.First(); double[] chromParamValues = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 25 }; //chromPeakBRValues =new double[] {10,15,25}; foreach (var value in chromParamValues) { var parameters = executor.TargetedWorkflow.WorkflowParameters as BasicTargetedWorkflowParameters; parameters.ChromPeakDetectorPeakBR = 5; parameters.ChromPeakDetectorSigNoise = value; executor.TargetedWorkflow = new BasicTargetedWorkflow(executor.Run, parameters); executor.TargetedWorkflow.Execute(); Console.WriteLine("PeakBR=" + value + " num chrom peaks= " + executor.TargetedWorkflow.ChromPeaksDetected.Count); foreach (var chrompeak in executor.TargetedWorkflow.ChromPeaksDetected) { Console.WriteLine(chrompeak.XValue.ToString("0.0000") + "\t" + chrompeak.Height.ToString("0") + "\t" + chrompeak.Width.ToString("0.000")); } } foreach (var chrompeak in executor.TargetedWorkflow.ChromPeaksDetected) { Console.WriteLine(chrompeak.XValue.ToString("0.0000") + "\t" + chrompeak.Height.ToString("0") + "\t" + chrompeak.Width.ToString("0.000")); } Console.WriteLine(); Console.WriteLine(); //TestUtilities.DisplayXYValues(executor.TargetedWorkflow.ChromatogramXYData); //TestUtilities.DisplayIsotopicProfileData(executor.TargetedWorkflow.Result.Target.IsotopicProfile); // Console.WriteLine(executor.TargetedWorkflow.Result.Target.EmpiricalFormula); }
public void targetedWorkflow_alignUsingDataFromFiles() { // https://jira.pnnl.gov/jira/browse/OMCS-714 var executorParameters = new BasicTargetedWorkflowExecutorParameters(); executorParameters.TargetsFilePath = baseFolder + @"\Targets\QCShew_Formic_MassTags_Bin10_MT24702_Z3.txt"; executorParameters.TargetedAlignmentIsPerformed = true; executorParameters.TargetedAlignmentWorkflowParameterFile = baseFolder + @"\Parameters\TargetedAlignmentWorkflowParameters1.xml"; var workflowParameters = new BasicTargetedWorkflowParameters(); workflowParameters.ChromSmootherNumPointsInSmooth = 9; workflowParameters.ChromPeakDetectorPeakBR = 1; workflowParameters.ChromPeakDetectorSigNoise = 3; workflowParameters.ChromGenTolerance = 20; workflowParameters.ChromNETTolerance = 0.025; workflowParameters.MSToleranceInPPM = 20; var workflow = new BasicTargetedWorkflow(workflowParameters); var testDatasetPath = baseFolder + @"\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW"; TargetedWorkflowExecutor executor = new BasicTargetedWorkflowExecutor(executorParameters, workflow, testDatasetPath); executor.Execute(); var expectedResultsFilename = @"C:\Users\d3x720\Documents\Data\QCShew\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_results.txt"; var result = executor.TargetedWorkflow.Result; Assert.IsTrue(workflow.Success); Assert.IsFalse(result.FailedResult); Assert.IsNotNull(result.ScanSet); Assert.IsNotNull(result.ChromPeakSelected); Assert.IsTrue(result.Score < 0.1); Assert.AreEqual(3, result.NumChromPeaksWithinTolerance); Assert.AreEqual(8627, (decimal)Math.Round(result.ChromPeakSelected.XValue, 0)); //non-calibrated mass directly from mass spectrum Assert.AreEqual(2920.49120m, (decimal)Math.Round(result.IsotopicProfile.MonoIsotopicMass, 5)); //calibrated mass Assert.AreEqual(2920.50017m, (decimal)Math.Round(result.MonoIsotopicMassCalibrated, 5)); Console.WriteLine("theor monomass= \t" + result.Target.MonoIsotopicMass); Console.WriteLine("monomass= \t" + result.IsotopicProfile.MonoIsotopicMass); Console.WriteLine("calibrated monomass= \t" + result.MonoIsotopicMassCalibrated); Console.WriteLine("ppmError before= \t" + result.MassErrorBeforeAlignment); Console.WriteLine("ppmError after= \t" + result.MassErrorAfterAlignment); Console.WriteLine("Database NET= " + result.Target.NormalizedElutionTime); Console.WriteLine("Result NET= " + result.GetNET()); Console.WriteLine("Result NET Error= " + result.GetNETAlignmentError()); Console.WriteLine("NumChromPeaksWithinTol= " + result.NumChromPeaksWithinTolerance); //Dataset TargetID Code EmpiricalFormula ChargeState Scan ScanStart ScanEnd NumMSSummed NET NETError NumChromPeaksWithinTol NumQualityChromPeaksWithinTol MonoisotopicMass MonoisotopicMassCalibrated MassErrorInPPM MonoMZ IntensityRep FitScore IScore FailureType ErrorDescription //QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18 24702 LLKEEGYIADYAVADEAKPELEITLK C133H213N29O44 3 8624 8596 8659 0 0.42916 -0.009395 3 1 2920.49120 2920.50018 13.96 974.50434 7529645 0.0193 0.0000 }