public void Test1() { TargetedWorkflowParameters o16o18workflowParameters = new O16O18WorkflowParameters(); var parentWorkflow = new O16O18IqWorkflow(o16o18workflowParameters); TargetedWorkflowParameters workflowParameters = new BasicTargetedWorkflowParameters(); var childWorkflow = new BasicIqWorkflow(workflowParameters); IqTarget parentTarget = new IqChargeStateTarget(); IqTarget childTarget1 = new IqChargeStateTarget(); IqTarget childTarget2 = new IqChargeStateTarget(); IqTarget childTarget3 = new IqChargeStateTarget(); parentTarget.AddTarget(childTarget1); parentTarget.AddTarget(childTarget2); parentTarget.AddTarget(childTarget3); var workflowAssigner = new IqWorkflowAssigner(); workflowAssigner.AssignWorkflowToParent(parentWorkflow, parentTarget); workflowAssigner.AssignWorkflowToChildren(childWorkflow, parentTarget); Assert.IsNotNull(parentTarget.ChildTargets().First().Workflow); var childTargets = parentTarget.ChildTargets(); foreach (var childTarget in childTargets) { Assert.IsTrue(childTarget.Workflow is BasicIqWorkflow); } Assert.IsTrue(parentTarget.Workflow is O16O18IqWorkflow); }
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 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 ExecuteMultipleTargetsTest1() { 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"; WorkflowExecutorBaseParameters executorBaseParameters = new BasicTargetedWorkflowExecutorParameters(); executorBaseParameters.ChromGenSourceDataPeakBR = 3; executorBaseParameters.ChromGenSourceDataSigNoise = 2; executorBaseParameters.TargetsFilePath = targetsFile; executorBaseParameters.OutputFolderBase = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled"; var expectedResultsFilename = Path.Combine(executorBaseParameters.OutputFolderBase, "IqResults", RunUtilities.GetDatasetName(testFile) + "_iqResults.txt"); if (File.Exists(expectedResultsFilename)) { File.Delete(expectedResultsFilename); } 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(); var targetedWorkflowParameters = new BasicTargetedWorkflowParameters(); targetedWorkflowParameters.ChromNETTolerance = 0.5; //define workflows for parentTarget and childTargets var parentWorkflow = new BasicIqWorkflow(run, targetedWorkflowParameters); var childWorkflow = new BasicIqWorkflow(run, targetedWorkflowParameters); var workflowAssigner = new IqWorkflowAssigner(); workflowAssigner.AssignWorkflowToParent(parentWorkflow, executor.Targets); workflowAssigner.AssignWorkflowToChildren(childWorkflow, executor.Targets); //Main line for executing IQ: executor.Execute(); //Test the results... Assert.IsTrue(File.Exists(expectedResultsFilename), "results file doesn't exist"); var numResultsInResultsFile = 0; var outputToConsole = true; using (var reader = new StreamReader(expectedResultsFilename)) { while (reader.Peek() != -1) { var line = reader.ReadLine(); numResultsInResultsFile++; if (outputToConsole) { Console.WriteLine(line); } } } Assert.IsTrue(numResultsInResultsFile > 1, "No results in output file"); //the Result Tree is flattened out in the results file. Assert.IsTrue(numResultsInResultsFile == 11); //the results in the Executor are in the a Result tree. So there should be just 10. Assert.AreEqual(10, executor.Results.Count); }
public void IqExportResultsTest() { //Reference JIRA: https://jira.pnnl.gov/jira/browse/OMCS-832 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; WorkflowExecutorBaseParameters executorBaseParameters = new BasicTargetedWorkflowExecutorParameters(); 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; var targets = new List <IqTarget>(1); targets.Add(target); var executor = new IqExecutor(executorBaseParameters, run); //executor.ChromSourceDataFilePath = peaksTestFile; executor.Execute(targets); Assert.IsTrue(File.Exists(@"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\Results\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_iqResults.txt")); using (var reader = new StreamReader(@"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\Results\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_iqResults.txt")) { var temp = reader.ReadLine(); Assert.AreEqual( "TargetID\tCode\tEmpiricalFormula\tChargeState\tMonomassTheor\tMZTheor\tElutionTimeTheor\tMonoMassObs\tMZObs\tElutionTimeObs\tChromPeaksWithinTolerance\tScan\tAbundance\tIsoFitScore\tInterferenceScore", temp); temp = reader.ReadLine(); Console.WriteLine(temp); Assert.AreEqual( "24800\t\tC64H110N18O19\t2\t1434.8193888\t718.41697089\t0.321639209985733\t1434.81096195126\t718.412757465632\t0.318046778440475\t0\t5942\t1352176\t0.0850492709063084\t0.0942918054560866", temp); } }