public void UIMFTest1() { var uimffile = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\UIMF\Sarc_P09_B06_0786_20Jul11_Cheetah_11-05-31.uimf"; var rf = new RunFactory(); var run = rf.CreateRun(uimffile); var expectedPeaksFile = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\UIMF\Sarc_P09_B06_0786_20Jul11_Cheetah_11-05-31_peaks.txt"; if (File.Exists(expectedPeaksFile)) { File.Delete(expectedPeaksFile); } var parameters = new PeakDetectAndExportWorkflowParameters(); parameters.LCScanMin = 500; parameters.LCScanMax = 510; parameters.NumIMSScansSummed = -1; var workflow = new PeakDetectAndExportWorkflow(run, parameters); workflow.Execute(); Assert.IsTrue(File.Exists(expectedPeaksFile)); }
public void testPeakGeneration() { var fileName = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\Orbitrap\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.raw"; var run = new RunFactory().CreateRun(fileName); var parameters = new PeakDetectAndExportWorkflowParameters(); parameters.LCScanMin = 5000; parameters.LCScanMax = 7000; var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt"); if (File.Exists(expectedPeaksFile)) { File.Delete(expectedPeaksFile); } var workflow = new PeakDetectAndExportWorkflow(run, parameters); workflow.Execute(); var fileinfo = new FileInfo(expectedPeaksFile); Assert.IsTrue(fileinfo.Exists); Assert.IsTrue(fileinfo.Length > 1000000); }
public void peakexporterTest1() { var rf = new RunFactory(); var run = rf.CreateRun(DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1); var parameters = new PeakDetectAndExportWorkflowParameters(); parameters.LCScanMin = 5500; parameters.LCScanMax = 6500; parameters.OutputFolder = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\TempOutput"; var expectedPeaksFile = Path.Combine(parameters.OutputFolder, run.DatasetName + "_peaks.txt"); if (File.Exists(expectedPeaksFile)) { File.Delete(expectedPeaksFile); } var workflow = new PeakDetectAndExportWorkflow(run, parameters); workflow.Execute(); var fileinfo = new FileInfo(expectedPeaksFile); Assert.IsTrue(fileinfo.Exists); Assert.IsTrue(fileinfo.Length > 1000000); }
public void createPeaksTest1() { var testFile = @"D:\Data\Orbitrap\BrianIQTesting\QC_Shew_11_02_pt5-b_6Jun11_Sphinx_11-03-27.RAW"; var run = new RunFactory().CreateRun(testFile); var parameters = new PeakDetectAndExportWorkflowParameters(); TargetedWorkflowParameters deconParam = new BasicTargetedWorkflowParameters(); deconParam.ChromGenSourceDataPeakBR = 3; parameters.PeakBR = deconParam.ChromGenSourceDataPeakBR; parameters.PeakFitType = DeconTools.Backend.Globals.PeakFitType.QUADRATIC; parameters.SigNoiseThreshold = deconParam.ChromGenSourceDataSigNoise; var peakCreator = new PeakDetectAndExportWorkflow(run, parameters); peakCreator.Execute(); }
public void stolen_peakexporterTest1() { //RunFactory rf = new RunFactory(); //Run run = rf.CreateRun(DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1); var fileName = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\Orbitrap\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW"; //@"\\protoapps\UserData\Slysz\DeconTools_TestFiles\Orbitrap\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.raw"; //@"\\protoapps\UserData\Slysz\DeconTools_TestFiles\Orbitrap\Vorbi\Yellow_C12_099_18Mar10_Griffin_10-01-13.raw"; // //Run run = RunUtilities.CreateAndLoadPeaks(fileName); var run = new RunFactory().CreateRun(fileName); var parameters = new PeakDetectAndExportWorkflowParameters(); parameters.LCScanMin = 5500; parameters.LCScanMax = 6500; var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt"); if (File.Exists(expectedPeaksFile)) { File.Delete(expectedPeaksFile); } var workflow = new PeakDetectAndExportWorkflow(run, parameters); workflow.Execute(); var fileinfo = new FileInfo(expectedPeaksFile); Assert.IsTrue(fileinfo.Exists); Assert.IsTrue(fileinfo.Length > 1000000); }
public void exportPeaksFromMixedProfileAndCentroidMS2Data() { //TODO: finish off this test var testFile = @"D:\Data\From_Matt\XGA121_lipid_pt5uM_1.raw"; var rf = new RunFactory(); var run = rf.CreateRun(testFile); var parameters = new PeakDetectAndExportWorkflowParameters(); parameters.LCScanMin = 1; parameters.LCScanMax = 20; parameters.ProcessMSMS = true; parameters.IsDataThresholded = true; parameters.MS2PeakDetectorDataIsThresholded = true; var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt"); if (File.Exists(expectedPeaksFile)) { File.Delete(expectedPeaksFile); } var workflow = new PeakDetectAndExportWorkflow(run, parameters); workflow.Execute(); var fileinfo = new FileInfo(expectedPeaksFile); Assert.IsTrue(fileinfo.Exists); }
private void LoadPeaks() { try { _peaksFilename = this.Run.DataSetPath + "\\" + this.Run.DatasetName + "_peaks.txt"; if (!File.Exists(_peaksFilename)) { GeneralStatusMessage = "Creating chromatogram data (_peaks.txt file); this is only done once. It takes 1 - 5 min ......."; var deconParam = (TargetedWorkflowParameters)Workflow.WorkflowParameters; var peakCreationParameters = new PeakDetectAndExportWorkflowParameters(); peakCreationParameters.PeakBR = deconParam.ChromGenSourceDataPeakBR; peakCreationParameters.PeakFitType = Globals.PeakFitType.QUADRATIC; peakCreationParameters.SigNoiseThreshold = deconParam.ChromGenSourceDataSigNoise; var peakCreator = new PeakDetectAndExportWorkflow(Run, peakCreationParameters, _backgroundWorker); peakCreator.Execute(); } } catch (Exception ex) { GeneralStatusMessage = ex.Message; return; } GeneralStatusMessage = "Loading chromatogram data (_peaks.txt file) ......."; try { PeakImporterFromText peakImporter = new PeakImporterFromText(_peaksFilename, _backgroundWorker); peakImporter.ImportPeaks(this.Run.ResultCollection.MSPeakResultList); } catch (Exception ex) { GeneralStatusMessage = ex.Message; return; //throw new ApplicationException("Peaks failed to load. Maybe the details below will help... \n\n" + ex.Message + "\nStacktrace: " + ex.StackTrace, ex); } if (Run.ResultCollection.MSPeakResultList != null && Run.ResultCollection.MSPeakResultList.Count > 0) { int numPeaksLoaded = Run.ResultCollection.MSPeakResultList.Count; GeneralStatusMessage = "Chromatogram data LOADED. (# peaks= " + numPeaksLoaded + ")"; } else { GeneralStatusMessage = "No Chromatogram data!!! Check your _peaks.txt file for correct format."; } }
private void CreatePeaksForChromSourceData() { PeakDetectAndExportWorkflowParameters parameters = new PeakDetectAndExportWorkflowParameters(); TargetedWorkflowParameters deconParam = (TargetedWorkflowParameters)this._workflowParameters; parameters.PeakBR = deconParam.ChromGenSourceDataPeakBR; parameters.PeakFitType = DeconTools.Backend.Globals.PeakFitType.QUADRATIC; parameters.SigNoiseThreshold = deconParam.ChromGenSourceDataSigNoise; PeakDetectAndExportWorkflow peakCreator = new PeakDetectAndExportWorkflow(this.Run, parameters, _backgroundWorker); peakCreator.Execute(); }
public void ChromAnalysisForAllSelectedPrecursors() { var isDataSmoothed = true; var numPointsInSmoothing = 9; var smoother = new DeconTools.Backend.ProcessingTasks.Smoothers.SavitzkyGolaySmoother(numPointsInSmoothing, 2); var graphGenerator = new BasicGraphControl(); var thermoFile1 = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\Orbitrap\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW"; var run = new RunFactory().CreateRun(thermoFile1); var outputFolderForChromGraphs = @"\\protoapps\DataPkgs\Public\2012\684_DeconMSn_research1\ChromatogramImages"; if (!Directory.Exists(outputFolderForChromGraphs)) { Directory.CreateDirectory(outputFolderForChromGraphs); } var scanSetCollection = new ScanSetCollection(); var scanStart = run.MinLCScan; var scanStop = run.MaxLCScan; scanSetCollection.Create(run, scanStart, scanStop, 1, 1, true); var sb = new StringBuilder(); var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt"); if (!File.Exists(expectedPeaksFile)) { var peakCreatorParams = new PeakDetectAndExportWorkflowParameters(); peakCreatorParams.PeakBR = 1.75; var peakCreator = new PeakDetectAndExportWorkflow(run, peakCreatorParams); peakCreator.Execute(); } var peakImporter = new PeakImporterFromText(expectedPeaksFile); peakImporter.ImportPeaks(run.ResultCollection.MSPeakResultList); double ppmTol = 50; var peakChromatogramGenerator = new PeakChromatogramGenerator(ppmTol, Globals.ChromatogramGeneratorMode.MZ_BASED); var scansetList = scanSetCollection.ScanSetList; var scanCounter = 0; var currentBin = 0; foreach (var scanSet in scansetList) { run.CurrentScanSet = scanSet; var currentScanLevel = run.GetMSLevel(scanSet.PrimaryScanNumber); if (currentScanLevel > 1) { scanCounter++; var precursorInfo = run.GetPrecursorInfo(scanSet.PrimaryScanNumber); var scanInfo = run.GetScanInfo(scanSet.PrimaryScanNumber); var scanWindowSize = 400; var startScan = scanSet.PrimaryScanNumber - scanWindowSize / 2; var stopScan = scanSet.PrimaryScanNumber + scanWindowSize / 2; run.XYData = peakChromatogramGenerator.GenerateChromatogram(run, startScan, stopScan, precursorInfo.PrecursorMZ, ppmTol); if (run.XYData == null) { run.XYData = new XYData(); run.XYData.Xvalues = new double[] { 0, 1, 2 }; run.XYData.Yvalues = new double[] { 0, 1, 2 }; Console.WriteLine(scanSet.PrimaryScanNumber + "\t" + precursorInfo.MSLevel + "\t" + precursorInfo.PrecursorMZ + "\t" + precursorInfo.PrecursorScan + "--------- NO XYData!!! -------------"); } else { if (isDataSmoothed) { run.XYData = smoother.Smooth(run.XYData); } } Console.WriteLine(scanSet.PrimaryScanNumber + "\t" + precursorInfo.MSLevel + "\t" + precursorInfo.PrecursorMZ + "\t" + precursorInfo.PrecursorScan); graphGenerator.GenerateGraph(run.XYData.Xvalues, run.XYData.Yvalues); var line = graphGenerator.GraphPane.CurveList[0] as LineItem; line.Line.IsVisible = true; line.Symbol.Size = 2; line.Symbol.Type = SymbolType.Circle; graphGenerator.GraphPane.XAxis.Title.Text = "scan"; graphGenerator.GraphPane.YAxis.Title.Text = "intensity"; graphGenerator.GraphPane.XAxis.Scale.MinAuto = true; graphGenerator.GraphPane.YAxis.Scale.MinAuto = false; graphGenerator.GraphPane.YAxis.Scale.Min = 0; graphGenerator.GraphPane.XAxis.Scale.FontSpec.Size = 12; graphGenerator.AddVerticalLineToGraph(scanSet.PrimaryScanNumber, 3); graphGenerator.AddAnnotationRelativeAxis(scanInfo, 0.3, 0.1); if (scanCounter > 500) { currentBin++; scanCounter = 0; } var currentOutputFolder = Path.Combine(outputFolderForChromGraphs, "bin" + currentBin); if (!Directory.Exists(currentOutputFolder)) { Directory.CreateDirectory(currentOutputFolder); } var baseFilename = Path.Combine(currentOutputFolder, scanSet.PrimaryScanNumber.ToString().PadLeft(5, '0') + "_mz" + precursorInfo.PrecursorMZ); string outputGraphFilename; string outputXYData; if (isDataSmoothed) { outputGraphFilename = baseFilename + "_smoothed_chrom.png"; outputXYData = baseFilename + "_smoothed_xydata.txt"; } else { outputXYData = baseFilename + "_xydata.txt"; outputGraphFilename = baseFilename + "_chrom.png"; } graphGenerator.SaveGraph(outputGraphFilename); TestUtilities.WriteToFile(run.XYData, outputXYData); } } Console.WriteLine(sb.ToString()); }
private void LoadPeaks() { try { _peaksFilename = Path.Combine(this.Run.DataSetPath, this.Run.DatasetName + "_peaks.txt"); var fiPeaksFile = new FileInfo(_peaksFilename); if (!fiPeaksFile.Exists) { var alternatePeaksFilePath = Path.Combine(System.IO.Path.GetTempPath(), this.Run.DatasetName + "_peaks.txt"); if (File.Exists(alternatePeaksFilePath)) { _peaksFilename = alternatePeaksFilePath; fiPeaksFile = new FileInfo(_peaksFilename); } } if (_recreatePeaksFile || !fiPeaksFile.Exists) { _recreatePeaksFile = false; // Make sure we have write access to the folder with the dataset file try { using (var swPeaksfile = new StreamWriter(new FileStream(fiPeaksFile.FullName, FileMode.Create, FileAccess.Write))) { swPeaksfile.WriteLine("Test"); } } catch (UnauthorizedAccessException) { // Create the _peaks.txt file in the user's temprorary folder _peaksFilename = Path.Combine(System.IO.Path.GetTempPath(), this.Run.DatasetName + "_peaks.txt"); fiPeaksFile = new FileInfo(_peaksFilename); } fiPeaksFile.Refresh(); if (fiPeaksFile.Exists) fiPeaksFile.Delete(); GeneralStatusMessage = "Creating chromatogram data (_peaks.txt file); this is only done once. It takes 1 - 5 min ......."; var peakCreationParameters = new PeakDetectAndExportWorkflowParameters(); peakCreationParameters.PeakBR = ChromSourcePeakDetectorPeakBr; peakCreationParameters.PeakFitType = Globals.PeakFitType.QUADRATIC; peakCreationParameters.SigNoiseThreshold = ChromSourcePeakDetectorSigNoise; peakCreationParameters.OutputFolder = fiPeaksFile.Directory.FullName; var peakCreator = new PeakDetectAndExportWorkflow(Run, peakCreationParameters, _backgroundWorker); peakCreator.Execute(); } } catch (Exception ex) { GeneralStatusMessage = ex.Message; return; } GeneralStatusMessage = "Loading chromatogram data (_peaks.txt file) ......."; try { PeakImporterFromText peakImporter = new PeakImporterFromText(_peaksFilename, _backgroundWorker); peakImporter.ImportPeaks(this.Run.ResultCollection.MSPeakResultList); } catch (Exception ex) { GeneralStatusMessage = ex.Message; return; //throw new ApplicationException("Peaks failed to load. Maybe the details below will help... \n\n" + ex.Message + "\nStacktrace: " + ex.StackTrace, ex); } if (Run.ResultCollection.MSPeakResultList != null && Run.ResultCollection.MSPeakResultList.Count > 0) { int numPeaksLoaded = Run.ResultCollection.MSPeakResultList.Count; GeneralStatusMessage = "Chromatogram data LOADED. (# peaks= " + numPeaksLoaded + ")"; } else { GeneralStatusMessage = "No Chromatogram data!!! Check your _peaks.txt file for correct format."; } }