public void TestFindMassTag() { const string testFile = @"\\protoapps\UserData\Kaipo\TopDown\test2\Proteus_Peri_intact_ETD.raw"; const string peaksTestFile = @"\\protoapps\UserData\Kaipo\TopDown\test2\Proteus_Peri_intact_ETD_peaks.txt"; const string massTagFile = @"\\protoapps\UserData\Kaipo\TopDown\test2\Proteus_Peri_intact_ETD_MSAlign_ResultTable.txt"; Run run = RunUtilities.CreateAndLoadPeaks(testFile, peaksTestFile); TargetCollection mtc = new TargetCollection(); var mtimporter = new MassTagFromMSAlignFileImporter(massTagFile); mtc = mtimporter.Import(); const int testMassTagID = 14; run.CurrentMassTag = (from n in mtc.TargetList where n.ID == testMassTagID select n).First(); TargetedWorkflowParameters parameters = new TopDownTargetedWorkflowParameters(); var workflow = new TopDownTargetedWorkflow(run, parameters); workflow.Execute(); var result = run.ResultCollection.GetTargetedResult(run.CurrentMassTag); if (result.FailedResult) { Console.WriteLine(result.ErrorDescription); } Assert.IsFalse(result.FailedResult); result.DisplayToConsole(); }
public void problemVladDatasetTest1() { var datasetFile = @"\\protoapps\UserData\Slysz\Data\O16O18\Vlad_O16O18\RawData\test.RAW"; var massTagFile = @"\\protoapps\UserData\Slysz\Data\O16O18\Vlad_O16O18\Targets\massTags_found_across_all_5_datasets.txt"; var workflowParameterFile = @"\\protoapps\UserData\Slysz\Data\O16O18\Vlad_O16O18\Workflow_Parameters\TargetedAlignmentWorkflowParameters1.xml"; var run = RunUtilities.CreateAndLoadPeaks(datasetFile, datasetFile.Replace(".RAW", "_peaks.txt")); var parameters = new TargetedAlignerWorkflowParameters(); parameters.LoadParameters(workflowParameterFile); parameters.ChromNETTolerance = 0.3; parameters.ChromGenTolerance = 60; parameters.MSToleranceInPPM = 60; Console.WriteLine(parameters.ToStringWithDetails()); var aligner = new TargetedAlignerWorkflow(run, parameters); aligner.outputToConsole = true; aligner.SetMassTags(massTagFile); aligner.Execute(); }
public void standardQCShewDatasetTest1() { var datasetFile = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW"; var massTagFile = @"\\protoapps\UserData\Slysz\Data\QCShew_MassiveTargeted\MassTags\QCShew_Formic_MassTags_for_alignment.txt"; var workflowParameterFile = @"\\protoapps\UserData\Slysz\Data\QCShew_MassiveTargeted\WorkflowParameterFiles\TargetedAlignmentWorkflowParameters1.xml"; var run = RunUtilities.CreateAndLoadPeaks(datasetFile, datasetFile.Replace(".RAW", "_peaks.txt")); var parameters = new TargetedAlignerWorkflowParameters(); parameters.LoadParameters(workflowParameterFile); parameters.ChromNETTolerance = 0.3; parameters.ChromGenTolerance = 60; parameters.MSToleranceInPPM = 60; Console.WriteLine(parameters.ToStringWithDetails()); var aligner = new TargetedAlignerWorkflow(run, parameters); aligner.outputToConsole = true; aligner.SetMassTags(massTagFile); aligner.Execute(); }
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 Get3DElutionAndExportToFileTest1() { var rawFile = @"\\protoapps\UserData\Fujimoto\TopDownPaperData\FINAL_DATA\_004\SBEP_STM_004_02272012_Aragon.raw"; var peaksFile = @"\\protoapps\UserData\Fujimoto\TopDownPaperData\FINAL_DATA\_004\SBEP_STM_004_02272012_Aragon_peaks.txt"; var run = RunUtilities.CreateAndLoadPeaks(rawFile, peaksFile); //var run = new RunFactory().CreateRun(rawFile); var outputFile = @"\\protoapps\UserData\Fujimoto\TopDownPaperData\FINAL_DATA\_004\3D_PLOT\3DelutionProfile.txt"; Assert.IsNotNull(run); Assert.IsTrue(run.ResultCollection.MSPeakResultList.Count > 0); var extractor = new IsotopicProfileElutionExtractor(); var minScan = 3270; var maxScan = 3350; double minMZ = 700; double maxMZ = 1700; int[] scans; float[] intensities; double[] mzBinVals; extractor.Get3DElutionProfileFromPeakLevelData(run, minScan, maxScan, minMZ, maxMZ, out scans, out mzBinVals, out intensities); var intensities2D = extractor.GetIntensitiesAs2DArray(); extractor.OutputElutionProfileToFile(outputFile); }
public void getPeakChromatogramTest1() { var run = RunUtilities.CreateAndLoadPeaks(FileRefs.RawDataMSFiles.OrbitrapStdFile1, FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500); var targetMZ = 759.4032; var startScan = 5500; var stopScan = 6500; double toleranceInPPM = 20; var chromGen = new PeakChromatogramGenerator(); var mt = TestUtilities.GetMassTagStandard(1); run.CurrentMassTag = mt; var unlabelledTheorGenerator = new JoshTheorFeatureGenerator(); unlabelledTheorGenerator.GenerateTheorFeature(mt); var peakChromGen = new PeakChromatogramGenerator(toleranceInPPM); peakChromGen.Execute(run.ResultCollection); run.XYData.Display(); Assert.AreEqual(133, run.XYData.Xvalues.Length); Assert.AreEqual(5543, (int)run.XYData.Xvalues[35]); Assert.AreEqual(7319569, (int)run.XYData.Yvalues[35]); //make sure that the 0's are not trimmed off Assert.AreEqual(0, run.XYData.Yvalues[1]); }
public void featuresFoundByTargetedProcessing_thenAligned_test1() { var peaksTestFile = DeconTools.UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile1; var run = RunUtilities.CreateAndLoadPeaks(DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1, peaksTestFile); var massTagFile = @"\\protoapps\UserData\Slysz\Data\MassTags\qcshew_standard_file_NETVals0.3-0.33.txt"; var parameters = new TargetedAlignerWorkflowParameters(); parameters.ChromNETTolerance = 0.2; parameters.ChromGenTolerance = 25; parameters.ChromGeneratorMode = Globals.ChromatogramGeneratorMode.MOST_ABUNDANT_PEAK; parameters.ChromPeakDetectorPeakBR = 2; parameters.ChromPeakDetectorSigNoise = 2; parameters.MSToleranceInPPM = 25; parameters.UpperFitScoreAllowedCriteria = 0.1; parameters.IScoreAllowedCriteria = 0.15; var aligner = new TargetedAlignerWorkflow(run, parameters); aligner.SetMassTags(massTagFile); aligner.Execute(); Console.WriteLine(aligner.GetAlignmentReport1()); Assert.IsNotNull(run.AlignmentInfo); Assert.AreEqual(-4.2m, (decimal)(Math.Round(run.AlignmentInfo.GetPPMShiftFromMZ(600.0f), 1))); }
public void GetPeakChromatogram_IQStyle_Test3() { var run = RunUtilities.CreateAndLoadPeaks(FileRefs.RawDataMSFiles.OrbitrapStdFile1, FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500); var target = TestUtilities.GetIQTargetStandard(1); var chromGen = new PeakChromatogramGenerator(); chromGen.ChromatogramGeneratorMode = Globals.ChromatogramGeneratorMode.TOP_N_PEAKS; chromGen.TopNPeaksLowerCutOff = 0.4; chromGen.Tolerance = 100; var lowerScan = 6087; var upperScan = 6418; var massOfInterest = new List <double>(); massOfInterest.Add(target.TheorIsotopicProfile.Peaklist[0].XValue); massOfInterest.Add(target.TheorIsotopicProfile.Peaklist[1].XValue); var chromXYData = chromGen.GenerateChromatogram(run, massOfInterest, lowerScan, upperScan, chromGen.Tolerance, chromGen.ToleranceUnit); Assert.IsNotNull(chromXYData); Assert.AreEqual(96, chromXYData.Xvalues.Length); TestUtilities.DisplayXYValues(chromXYData); }
public void Get3DElutionTest1() { var peaksFile = FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; var orbiFile = FileRefs.RawDataMSFiles.OrbitrapStdFile1; var run = RunUtilities.CreateAndLoadPeaks(orbiFile, peaksFile); Assert.IsNotNull(run); Assert.IsTrue(run.ResultCollection.MSPeakResultList.Count > 0); var extractor = new IsotopicProfileElutionExtractor(); var minScan = 5900; var maxScan = 6300; double minMZ = 749; double maxMZ = 754; int[] scans; float[] intensities; double[] mzBinVals; extractor.Get3DElutionProfileFromPeakLevelData(run, minScan, maxScan, minMZ, maxMZ, out scans, out mzBinVals, out intensities); var intensities2D = extractor.GetIntensitiesAs2DArray(); Console.WriteLine(extractor.OutputElutionProfileAsString()); }
public void GetChromatogramsTest1() { string testDatasetPath = @"D:\Data\From_Vlad\Bruker\2013_01_29_ALZ_CTRL_5_0p5_1_01_228.d"; Run run = RunUtilities.CreateAndLoadPeaks(testDatasetPath); PeakChromatogramGenerator chromGen = new PeakChromatogramGenerator(10); double targetMZ = 663.3404; int chargeState = 2; int peakNum = 4; targetMZ = targetMZ + peakNum * Globals.MASS_DIFF_BETWEEN_ISOTOPICPEAKS / chargeState; double toleranceInPPM = 10; int startScan = 230; int stopScan = 300; chromGen.GenerateChromatogram(run, startScan, stopScan, targetMZ, toleranceInPPM); run.XYData = run.XYData.TrimData(startScan, stopScan); TestUtilities.DisplayXYValues(run.XYData); }
public void Get3DElutionAndExportToFileTest1() { var peaksFile = FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; var orbiFile = FileRefs.RawDataMSFiles.OrbitrapStdFile1; var run = RunUtilities.CreateAndLoadPeaks(orbiFile, peaksFile); var outputFile = Path.Combine(run.DataSetPath, run.DatasetName + "_sample3DelutionProfile.txt"); Assert.IsNotNull(run); Assert.IsTrue(run.ResultCollection.MSPeakResultList.Count > 0); var extractor = new IsotopicProfileElutionExtractor(); var minScan = 5900; var maxScan = 6300; double minMZ = 749; double maxMZ = 754; int[] scans; float[] intensities; double[] mzBinVals; extractor.Get3DElutionProfileFromPeakLevelData(run, minScan, maxScan, minMZ, maxMZ, out scans, out mzBinVals, out intensities); var intensities2D = extractor.GetIntensitiesAs2DArray(); extractor.OutputElutionProfileToFile(outputFile); }
protected virtual void SetupLogging() { string loggingFolder; if (string.IsNullOrEmpty(ExecutorParameters.OutputFolderBase)) { loggingFolder = RunUtilities.GetDatasetParentFolder(DatasetPath); } else { loggingFolder = Path.Combine(ExecutorParameters.OutputFolderBase, "Logs"); } try { if (!Directory.Exists(loggingFolder)) { Directory.CreateDirectory(loggingFolder); } } catch (Exception ex) { throw new System.IO.IOException("Trying to set up logging folder but there was a critical error. Details:\n\n" + ex.Message, ex); } _loggingFileName = Path.Combine(loggingFolder, RunUtilities.GetDatasetName(DatasetPath) + "_log.txt"); }
protected void PerformAlignment() { if (!string.IsNullOrEmpty(_alignmentFolder)) { RunUtilities.AlignRunUsingAlignmentInfoInFiles(Run, _alignmentFolder); } if (Run.MassIsAligned) { ReportGeneralProgress("Run has been mass aligned"); } else { ReportGeneralProgress("FYI - Run has NOT been mass aligned."); } if (Run.NETIsAligned) { ReportGeneralProgress("Run has been NET aligned using info in either the _NETAlignment.txt file or the _UMCs.txt file"); } else { ReportGeneralProgress("Warning - Run has NOT been NET aligned."); } }
public void featuresFoundByTargetedProcessing_thenAligned_test1() { string peaksTestFile = DeconTools.UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile1; Console.WriteLine("loading peaks."); Run run = RunUtilities.CreateAndLoadPeaks(FileRefs.RawDataMSFiles.OrbitrapStdFile1, peaksTestFile); Console.WriteLine("done."); string massTagFile = @"\\protoapps\UserData\Slysz\Data\MassTags\qcshew_standard_file_allMassTags.txt"; DeconToolsTargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); parameters.ChromNETTolerance = 0.2; parameters.ChromToleranceInPPM = 25; parameters.ChromGeneratorMode = Backend.ProcessingTasks.ChromatogramGeneratorMode.MOST_ABUNDANT_PEAK; parameters.ChromPeakDetectorPeakBR = 2; parameters.ChromPeakDetectorSigNoise = 2; parameters.MSToleranceInPPM = 25; TargetedAligner aligner = new TargetedAligner(run, parameters); aligner.UpperFitScoreAllowedCriteria = 0.1; aligner.IScoreAllowedCriteria = 0.15; Console.WriteLine("Loading Mass tags..."); aligner.SetMassTags(massTagFile); Console.WriteLine("Done."); aligner.Execute(); }
public void FailureToFindAnyChromatogramDataTest1() { 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); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); parameters.ChromGenTolerance = 1; //very narrow tolerance IqWorkflow iqWorkflow = new BasicIqWorkflow(run, parameters); IqTarget target = new IqChargeStateTarget(iqWorkflow); target.EmpiricalFormula = DeconTools.Backend.Utilities.IsotopeDistributionCalculation.IsotopicDistributionCalculator.Instance.GetAveragineFormulaAsString(1399); target.ElutionTimeTheor = 0.3; target.ChargeState = 1; target.DoWorkflow(); var result = target.GetResult(); Assert.IsTrue(result.Target.TheorIsotopicProfile != null); Assert.IsTrue(result != null); Assert.IsTrue(result.IqResultDetail.Chromatogram == null); var reportString = result.ToStringWithDetailedReport(); Console.WriteLine(reportString); }
public void TopDownWorkflowTest1() { //see https://jira.pnnl.gov/jira/browse/OMCR-98 string baseFolder = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Topdown_standard_testing\Test1_MSAlign_ProteusPeriIntact"; const string executorParameterFile = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Topdown_standard_testing\Test1_MSAlign_ProteusPeriIntact\Parameters\topdownExecutorParameters1.xml"; var executorParameters = new TopDownTargetedWorkflowExecutorParameters(); executorParameters.LoadParameters(executorParameterFile); executorParameters.ExportChromatogramData = false; executorParameters.OutputFolderBase = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Topdown_standard_testing\Test1_MSAlign_ProteusPeriIntact"; const string testDatasetPath = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Topdown_standard_testing\Test1_MSAlign_ProteusPeriIntact\RawData\Proteus_Peri_intact_ETD.raw"; string testDatasetName = RunUtilities.GetDatasetName(testDatasetPath); string expectedResultsFilename = executorParameters.OutputFolderBase + "\\IqResults" + "\\" + testDatasetName + "_quant.txt"; if (File.Exists(expectedResultsFilename)) { File.Delete(expectedResultsFilename); } var executor = new TopDownTargetedWorkflowExecutor(executorParameters, testDatasetPath); string proteinSeq = @"A.VDKTNPYALMEDAAQKTFDKLKTEQPEIRKNPELLREIVQQELLPYVHIKYAGALVLGPYYRNATPAQRDAYFAAFKDYLAQVYGQALAMYEGQEYRIEPAKPFADKSNLTIRVTIIDKNGRPPVRLDFQWRKNSKTGEWQAYDMIAEGVSMITTKQNEWSDILSAKGVDGLTKQLEISAKTPITLDEKK."; executor.Targets.TargetList = executor.Targets.TargetList.Where(p => p.Code == proteinSeq).ToList(); executor.Execute(); Assert.IsNotNull(executor.TargetedWorkflow.Run); Console.WriteLine("Num targetedResults in Run = " + executor.TargetedWorkflow.Run.ResultCollection.MassTagResultList.Count); Assert.IsTrue(File.Exists(expectedResultsFilename), "Results file does not exist!"); //TODO: fix _quant.txt output column headers TopDownTargetedResultFromTextImporter importer = new TopDownTargetedResultFromTextImporter(expectedResultsFilename); var results = importer.Import(); Assert.IsNotNull(results); Assert.IsTrue(results.HasResults); Assert.AreEqual(1, results.Results.Count); //foreach (var r in results.Results) //{ // Console.WriteLine(r.TargetID + "\t" + r.ScanLC + "\t" + r.Intensity); //} }
public XicAdaptor(string rawPath, string peaksPath) { Run run = RunUtilities.CreateAndLoadPeaks(rawPath, peaksPath); m_run = run; NetWindow = .02; MzPpmWindow = 20; }
private void LoadPeaks(Run run) { var sourcePeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt"); //FULL.txt"; RunUtilities.GetPeaks(run, sourcePeaksFile); //create / load //TODO: adjust the RunUtilities class so that it can simply take a run and create the _peaks and load them. }
public void testVladsData() { var testFile = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\O16O18_standard_testing\Test1_VladAlz\RawData\Alz_P01_A01_097_26Apr12_Roc_12-03-15.RAW"; var massTagFile = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\O16O18_standard_testing\Test1_VladAlz\Targets\MT_Human_ALZ_O18_P836\MassTags_PMT2_First60.txt"; var peakTestFile = testFile.Replace(".RAW", "_peaks.txt"); var run = RunUtilities.CreateAndAlignRun(testFile, peakTestFile); var mtc = new TargetCollection(); var mtimporter = new MassTagFromTextFileImporter(massTagFile); mtc = mtimporter.Import(); var testMassTagID = 24653; run.CurrentMassTag = (from n in mtc.TargetList where n.ID == testMassTagID && n.ChargeState == 1 select n).First(); TargetedWorkflowParameters parameters = new O16O18WorkflowParameters(); parameters.ChromNETTolerance = 0.2; parameters.MSToleranceInPPM = 10; parameters.ChromGeneratorMode = Globals.ChromatogramGeneratorMode.O16O18_THREE_MONOPEAKS; parameters.ChromPeakDetectorPeakBR = 1; parameters.ChromatogramCorrelationIsPerformed = true; var workflow = new O16O18Workflow(run, parameters); workflow.Execute(); var result = run.ResultCollection.GetTargetedResult(run.CurrentMassTag) as O16O18TargetedResultObject; Assert.IsTrue(workflow.Success); Assert.IsFalse(result.FailedResult); result.DisplayToConsole(); Console.WriteLine("Correlation between 016 and O18(double label)= " + result.ChromCorrO16O18DoubleLabel); Assert.IsTrue(result.ChromCorrO16O18DoubleLabel > 0); 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); }
protected string TryFindTargetsForCurrentDataset() { var datasetName = RunUtilities.GetDatasetName(DatasetPath); string[] possibleFileSuffixs = { "_iqTargets.txt", "_targets.txt", "_LCMSFeatures.txt", "_MSGFPlus.tsv", "_msgfdb_fht.txt" }; var possibleTargetFiles = new List <FileInfo>(); var targetsBaseFolder = ExecutorParameters.TargetsBaseFolder; if (string.IsNullOrEmpty(ExecutorParameters.TargetsBaseFolder)) { targetsBaseFolder = Path.Combine(ExecutorParameters.OutputFolderBase, "Targets"); } var dirinfo = new DirectoryInfo(targetsBaseFolder); foreach (var suffix in possibleFileSuffixs) { var fileInfos = dirinfo.GetFiles("*" + suffix); foreach (var fileInfo in fileInfos) { if (fileInfo.Name.StartsWith(datasetName, StringComparison.OrdinalIgnoreCase)) { possibleTargetFiles.Add(fileInfo); } } } if (possibleTargetFiles.Count == 0) { return(string.Empty); } else if (possibleTargetFiles.Count == 1) { return(possibleTargetFiles.First().FullName); } else { var sb = new StringBuilder(); sb.Append("Error in getting IQ target file. Multiple files were found for the dataset: " + datasetName + Environment.NewLine); sb.Append("Candidate IQ target files: " + Environment.NewLine); foreach (var possibleTargetFile in possibleTargetFiles) { sb.Append(possibleTargetFile.FullName + Environment.NewLine); } throw new NotSupportedException(sb.ToString()); } }
public void TopDownWorkflowFullTargetSet() { var executorParameters = new TopDownTargetedWorkflowExecutorParameters(); executorParameters.CopyRawFileLocal = false; executorParameters.DeleteLocalDatasetAfterProcessing = false; executorParameters.TargetsFilePath = @"\\protoapps\UserData\Fujimoto\TopDownTesting\Targets\fullTargetSet\Proteus_Peri_intact_ETD_MSAlign_ResultTable.Filtered05FDR.txt"; executorParameters.TargetType = Globals.TargetType.LcmsFeature; executorParameters.ExportChromatogramData = true; var workflowParameters = new TopDownTargetedWorkflowParameters(); workflowParameters.AreaOfPeakToSumInDynamicSumming = 2; workflowParameters.ChromatogramCorrelationIsPerformed = false; workflowParameters.ChromGeneratorMode = Globals1.ChromatogramGeneratorMode.MOST_ABUNDANT_PEAK; workflowParameters.ChromGenSourceDataPeakBR = 4; workflowParameters.ChromGenSourceDataSigNoise = 3; workflowParameters.ChromNETTolerance = 0.025; workflowParameters.ChromPeakDetectorPeakBR = 0.1; workflowParameters.ChromPeakDetectorSigNoise = 0.1; workflowParameters.ChromPeakSelectorMode = Globals1.PeakSelectorMode.Smart; workflowParameters.ChromSmootherNumPointsInSmooth = 9; workflowParameters.MaxScansSummedInDynamicSumming = 100; workflowParameters.MSPeakDetectorPeakBR = 1.3; workflowParameters.MSPeakDetectorSigNoise = 2; workflowParameters.ChromGenTolerance = 15; workflowParameters.MSToleranceInPPM = 25; workflowParameters.MultipleHighQualityMatchesAreAllowed = true; workflowParameters.NumChromPeaksAllowedDuringSelection = 10; workflowParameters.NumMSScansToSum = 5; workflowParameters.ResultType = Globals1.ResultType.TOPDOWN_TARGETED_RESULT; workflowParameters.SummingMode = SummingModeEnum.SUMMINGMODE_STATIC; const string testDatasetPath = @"\\protoapps\UserData\Fujimoto\TopDownTesting\RawData\Proteus_Peri_intact_ETD.raw"; string resultsFolderLocation = Path.Combine(executorParameters.OutputFolderBase, "Results"); string testDatasetName = RunUtilities.GetDatasetName(testDatasetPath); string expectedResultsFilename = Path.Combine(resultsFolderLocation, testDatasetName + "_quant.txt"); if (File.Exists(expectedResultsFilename)) { File.Delete(expectedResultsFilename); } var executor = new TopDownTargetedWorkflowExecutor(executorParameters, workflowParameters, testDatasetPath); executor.Execute(); Assert.IsNotNull(executor.TargetedWorkflow.Run); Assert.IsTrue(File.Exists(expectedResultsFilename), "Results file does not exist!"); }
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); }
//note: does not actually create peaks. Only loads them. An exception is thrown if it's not there. private void CreatePeaksIfNeeded() { if (_run.ResultCollection.MSPeakResultList.Count == 0) { var expectedPeaksfile = Path.Combine(_run.DataSetPath, _run.DatasetName + "_peaks.txt"); if (!File.Exists(expectedPeaksfile)) { var ex = new Exception("No Peaks file found."); throw ex; // CreatePeaksFile(); //ExportPeaks_copied(expectedPeaksfile); } RunUtilities.GetPeaks(_run, expectedPeaksfile); } }
public void IqWorkflowTest1() { //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; var oldStyleTarget = (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; IqWorkflow iqWorkflow = new BasicIqWorkflow(run, parameters); IqTarget target = new IqChargeStateTarget(iqWorkflow); target.ID = oldStyleTarget.ID; target.MZTheor = oldStyleTarget.MZ; target.ElutionTimeTheor = oldStyleTarget.NormalizedElutionTime; target.MonoMassTheor = oldStyleTarget.MonoIsotopicMass; target.EmpiricalFormula = oldStyleTarget.EmpiricalFormula; target.ChargeState = oldStyleTarget.ChargeState; Console.WriteLine(target.EmpiricalFormula + "\t" + target.ChargeState); target.DoWorkflow(); var result = target.GetResult(); Assert.IsNotNull(result, "result is null"); var reportString = result.ToStringWithDetailedReport(); Console.WriteLine(reportString); }
public void ExecutorCreatingTargetsTest1() { var util = new IqTargetUtilities(); var testFile = UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1; var peaksTestFile = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_scans5500-6500_peaks.txt"; var targetsFile = @"\\protoapps\UserData\Slysz\Data\MassTags\QCShew_Formic_MassTags_Bin10_all.txt"; var resultsFolder = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\Results"; var expectedResultsFilename = Path.Combine(resultsFolder, RunUtilities.GetDatasetName(testFile) + "_iqResults.txt"); if (File.Exists(expectedResultsFilename)) { File.Delete(expectedResultsFilename); } WorkflowExecutorBaseParameters executorBaseParameters = new BasicTargetedWorkflowExecutorParameters(); executorBaseParameters.ChromGenSourceDataPeakBR = 3; executorBaseParameters.ChromGenSourceDataSigNoise = 2; executorBaseParameters.TargetsFilePath = targetsFile; //create no more than two charge state targets per peptide executorBaseParameters.MaxNumberOfChargeStateTargetsToCreate = 2; var run = new RunFactory().CreateRun(testFile); var executor = new IqExecutor(executorBaseParameters, run); executor.ChromSourceDataFilePath = peaksTestFile; executor.LoadAndInitializeTargets(targetsFile); executor.Targets = (from n in executor.Targets where n.ElutionTimeTheor > 0.305 && n.ElutionTimeTheor < 0.325 select n).Take(10).ToList(); foreach (var iqTarget in executor.Targets) { var numChildTargets = iqTarget.GetChildCount(); Assert.IsTrue(numChildTargets <= 2); //MaxNumberOfChargeStateTargetsToCreate = 2; Console.WriteLine(iqTarget + "\t" + numChildTargets); } }
private void LoadPeaks(string userProvidedOutputFolderPath = null) { string outputFolderPath; if (string.IsNullOrEmpty(userProvidedOutputFolderPath)) { outputFolderPath = Run.DataSetPath; } else { outputFolderPath = userProvidedOutputFolderPath; } var expectedPeaksFile = Path.Combine(outputFolderPath, Run.DatasetName + "_peaks.txt"); RunUtilities.GetPeaks(Run, expectedPeaksFile); }
public void GetPeakChromatogram_usePPMTolerance_Test1() { var run = RunUtilities.CreateAndLoadPeaks(FileRefs.RawDataMSFiles.OrbitrapStdFile1, FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500); var targetMZ = 759.4032; var startScan = 5500; var stopScan = 6500; double toleranceInPPM = 20; var chromGen = new PeakChromatogramGenerator(); var xydata = chromGen.GenerateChromatogram(run, startScan, stopScan, targetMZ, toleranceInPPM, Globals.ToleranceUnit.PPM); Assert.IsNotNull(xydata); TestUtilities.DisplayXYValues(xydata); }
public void Test1() { var rawdataFile = @"D:\Data\Orbitrap\QC_Shew_09_05-pt5-6_4Jan10_Doc_09-11-08.RAW"; var massTagFile = @"\\protoapps\UserData\Slysz\Data\MassTags\QCShew_Formic_MassTags_Bin10_all.txt"; var parameterFile = @"\\protoapps\UserData\Slysz\Data\QCShew_MassiveTargeted\WorkflowParameterFiles\UnlabelledTargeted_WorkflowParameters_noSum.xml"; var mtimporter = new MassTagFromTextFileImporter(massTagFile); var mtc = new TargetCollection(); mtc = mtimporter.Import(); var run = new RunFactory().CreateRun(rawdataFile); //RunUtilities.AlignRunUsingAlignmentInfoInFiles(run); var expectedPeaksFilename = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt"); var peakImporter = new DeconTools.Backend.Data.PeakImporterFromText(expectedPeaksFilename, null); peakImporter.ImportPeaks(run.ResultCollection.MSPeakResultList); var testMassTagID = 3513677; var massTagChargeState = 2; run.CurrentMassTag = (from n in mtc.TargetList where n.ID == testMassTagID && n.ChargeState == massTagChargeState select n).First(); var parameters = WorkflowParameters.CreateParameters(parameterFile); var workflow = TargetedWorkflow.CreateWorkflow(parameters); workflow.Run = run; workflow.Execute(); workflow.Result.DisplayToConsole(); RunUtilities.AlignRunUsingAlignmentInfoInFiles(run); workflow.Execute(); workflow.Result.DisplayToConsole(); }
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 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()); }