Esempio n. 1
0
        public void Test1()
        {
            var run =
                new RunFactory().CreateRun(
                    @"\\proto-7\VOrbiETD01\2012_3\Click_chemistry_labelfree_4Jul12_Lynx_12-2-32\Click_chemistry_labelfree_4Jul12_Lynx_12-2-32.raw");

            Assert.IsNotNull(run);

            var msGen = MSGeneratorFactory.CreateMSGenerator(run.MSFileType);


            run.CurrentScanSet = new ScanSet(20000);
            msGen.Execute(run.ResultCollection);
        }
Esempio n. 2
0
        public void MSGeneratorOnOrbiTest1()
        {
            var testfile = FileRefs.RawDataMSFiles.OrbitrapStdFile1;
            var run      = new RunFactory().CreateRun(testfile);
            var msgen    = MSGeneratorFactory.CreateMSGenerator(run.MSFileType);

            var testLCScan = 6005;
            var scanSet    = new ScanSetFactory().CreateScanSet(run, testLCScan, 1);

            var xydata = msgen.GenerateMS(run, scanSet);

            Assert.IsNotNull(xydata);
            Assert.IsTrue(xydata.Xvalues.Length > 1000);
        }
Esempio n. 3
0
        public void CreateScanSetBasedOnRangeOfScansTest1()
        {
            var startScan = 5970;
            var stopScan  = 6035;

            var rf  = new RunFactory();
            var run = rf.CreateRun(FileRefs.RawDataMSFiles.OrbitrapStdFile1);


            var ssf  = new ScanSetFactory();
            var scan = ssf.CreateScanSet(run, 6005, startScan, stopScan);

            Assert.AreEqual("6005 {5970, 5977, 5984, 5991, 5998, 6005, 6012, 6019, 6026, 6033}", scan.ToString());
        }
Esempio n. 4
0
        public void createScanSetTests()
        {
            int testScan1 = 6005;

            var run = new RunFactory().CreateRun(DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            ScanBasedWorkflow workflow = new ScanBasedWorkflow(run);

            workflow.NumScansSummed = 3;

            workflow.SetScanSet(testScan1);

            Assert.AreEqual(3, workflow.scanSetSelected.IndexValues.Count);
        }
Esempio n. 5
0
        /// <summary>
        /// summerizes test steps after test has run
        /// </summary>
        /// <param name="test"></param>
        /// <returns>a string containing descriptions of step states and messags</returns>
        string GetTestStepsDescFromQc(ITSTest test)
        {
            StringBuilder sb = new StringBuilder();

            try
            {
                //get runs for the test
                RunFactory rfactory = test.RunFactory;
                List       runs     = rfactory.NewList("");
                if (runs.Count == 0)
                {
                    return("");
                }

                //get steps from run
                StepFactory stepFact = runs[runs.Count].StepFactory;
                List        steps    = stepFact.NewList("");
                if (steps.Count == 0)
                {
                    return("");
                }

                //go over steps and format a string
                foreach (IStep step in steps)
                {
                    sb.Append("Step: " + step.Name);

                    if (!string.IsNullOrWhiteSpace(step.Status))
                    {
                        sb.Append(", Status: " + step.Status);
                    }

                    string desc = step["ST_DESCRIPTION"] as string;
                    if (!string.IsNullOrEmpty(desc))
                    {
                        desc = "\n\t" + desc.Trim().Replace("\n", "\t").Replace("\r", "");
                        if (!string.IsNullOrWhiteSpace(desc))
                        {
                            sb.AppendLine(desc);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                sb.AppendLine("Exception while reading step data: " + ex.Message);
            }

            return(sb.ToString().TrimEnd());
        }
Esempio n. 6
0
        public void EasyDecision()
        {
            var fileName =
                @"\\Protoapps\UserData\Slysz\DeconTools_TestFiles\Orbitrap\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW";
            //Run run = RunUtilities.CreateAndLoadPeaks(fileName);
            var run = new RunFactory().CreateRun(fileName);
            List <IsotopicProfile> potentialFeatures;

            EasyDecisionSetUp(out potentialFeatures);
            ChargeStateDecider chargestatedecider = new ChromCorrelatingChargeDecider(run);
            var msFeature = chargestatedecider.DetermineCorrectIsotopicProfile(potentialFeatures);

            Assert.AreEqual(msFeature.ChargeState, 2);
        }
        public void getRunInfoTest1()
        {
            var run = new RunFactory().CreateRun(_testdatafile);

            Console.WriteLine(TestUtilities.DisplayRunInformation(run));

            OldDecon2LSParameters parameters = new OldDecon2LSParameters();

            parameters.PeakProcessorParameters.WritePeaksToTextFile = true;

            ScanBasedWorkflow workflow = ScanBasedWorkflow.CreateWorkflow(run, new OldDecon2LSParameters());

            workflow.Execute();
        }
        public void Test1()
        {
            var rawfilename  = @"D:\Data\O16O18\GlueGrant\GG_MO_Trauma_374020_20May11_Sphinx_11-03-28.RAW";
            var exportedIsos = Path.Combine(Path.GetDirectoryName(rawfilename), Path.GetFileName(rawfilename).Replace(".RAW", "_test_isos.csv"));

            if (File.Exists(exportedIsos))
            {
                File.Delete(exportedIsos);
            }

            var run = new RunFactory().CreateRun(rawfilename);

            run.ResultCollection.ResultType = Backend.Globals.ResultType.O16O18_TRADITIONAL_RESULT;

            run.ScanSetCollection.Create(run, 5000, 5000, 1, 1);


            run.CurrentScanSet = run.ScanSetCollection.ScanSetList[0];

            var msgen = MSGeneratorFactory.CreateMSGenerator(run.MSFileType);

            var peakDet = new DeconToolsPeakDetectorV2();

            peakDet.PeakToBackgroundRatio  = 1.3;
            peakDet.SignalToNoiseThreshold = 2;

            var decon = new HornDeconvolutor();

            decon.IsO16O18Data = true;

            var appender = new O16O18PeakDataAppender();

            var exporter = IsosExporterFactory.CreateIsosExporter(run.ResultCollection.ResultType, Backend.Globals.ExporterType.Text, exportedIsos);

            msgen.Execute(run.ResultCollection);
            peakDet.Execute(run.ResultCollection);
            decon.Execute(run.ResultCollection);
            appender.Execute(run.ResultCollection);

            var testResult = (O16O18IsosResult)run.ResultCollection.ResultList[1];

            Assert.AreEqual(DeconTools.Backend.Globals.ResultType.O16O18_TRADITIONAL_RESULT, run.ResultCollection.ResultType);
            Assert.AreEqual(5905390, testResult.IsotopicProfile.GetMonoAbundance());
            Assert.AreEqual(3017899, testResult.MonoPlus2Abundance);
            Assert.AreEqual(162389, testResult.MonoPlus4Abundance);
            exporter.Execute(run.ResultCollection);

            run.Close();
        }
Esempio n. 9
0
        public void JoinTargetsTest1()
        {
            var targetsFileName =
                @"\\proto-7\VOrbi05\2013_2\mhp_plat_test_1_14April13_Frodo_12-12-04\MSG201305011339_Auto939903\mhp_plat_test_1_14April13_Frodo_12-12-04_msgfdb_fht.txt";

            var massTagFilename =
                @"\\protoapps\DataPkgs\Public\2013\795_Iq_analysis_of_mouse_O16O18\Targets\MT_Mouse_MHP_O18_Set1_P890_targets.txt";

            var rawFile = @"D:\Data\O16O18\Vlad_Mouse\mhp_plat_test_1_14April13_Frodo_12-12-04.raw";



            IqTargetImporter massTagImporter = new BasicIqTargetImporter(massTagFilename);
            var massTagRefs = massTagImporter.Import().OrderBy(p => p.Code).ToList();

            WorkflowExecutorBaseParameters parameters = new BasicTargetedWorkflowExecutorParameters();

            parameters.TargetsFilePath = targetsFileName;

            var run = new RunFactory().CreateRun(rawFile);

            var massAndNetAligner = new IqMassAndNetAligner(parameters, run);

            massAndNetAligner.LoadAndInitializeTargets();

            var testNET = massAndNetAligner.Targets.First().ElutionTimeTheor;

            var query = (from massTag in massTagRefs
                         join target in massAndNetAligner.Targets on massTag.Code equals target.Code
                         select new
            {
                MassTag = massTag,
                MSGFTarget = target
            }).ToList();


            foreach (var thing in query)
            {
                thing.MSGFTarget.ID = thing.MassTag.ID;
                thing.MSGFTarget.ElutionTimeTheor = thing.MassTag.ElutionTimeTheor;
            }

            var targets = query.Select(p => p.MSGFTarget).ToList();

            var testNETAfter = massAndNetAligner.Targets.First().ElutionTimeTheor;

            Console.WriteLine("NET before= " + testNET);
            Console.WriteLine("NET before= " + testNETAfter);
        }
        public void test2()
        {
            string testFile = @"D:\Data\UIMF\Problem_datasets\FPGA\QCSHEW_FPGA_99min_0003.UIMF";

            RunFactory rf  = new RunFactory();
            UIMFRun    run = (UIMFRun)rf.CreateRun(testFile);

            UIMFRunTester tester = new UIMFRunTester();

            tester.DisplayBasicRunInfo(run);

            //UIMFLibrary.DataReader dr = new UIMFLibrary.DataReader();
            //dr.OpenUIMF(testFile);
            tester.DisplayFrameParameters(run, run.MinLCScan, run.MaxLCScan);
        }
Esempio n. 11
0
        private Run setupRun(string runFile, string peaksFile)
        {
            RunFactory rf  = new RunFactory();
            Run        run = rf.CreateRun(runFile);

            ChromAlignerUsingVIPERInfo chromAligner = new ChromAlignerUsingVIPERInfo();

            chromAligner.Execute(run);

            PeakImporterFromText peakImporter = new DeconTools.Backend.Data.PeakImporterFromText(peaksFile);

            peakImporter.ImportPeaks(run.ResultCollection.MSPeakResultList);

            return(run);
        }
        public void createScanSets_MS1_test1()
        {
            var rf  = new RunFactory();
            var run = rf.CreateRun(FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            var startScan = 6000;
            var stopScan  = 6020;

            var processMSMS = false;

            run.ScanSetCollection.Create(run, startScan, stopScan, 1, 1, processMSMS);

            Assert.AreEqual(3, run.ScanSetCollection.ScanSetList.Count);
            Assert.AreEqual(6005, run.ScanSetCollection.ScanSetList[0].PrimaryScanNumber);
        }
        public void TraditionalWorkflowTestOrbitrapData_InformedThrash()
        {
            var parameterFile = FileRefs.ParameterFiles.Orbitrap_Scans6000_6050ParamFile;

            var run = new RunFactory().CreateRun(FileRefs.RawDataMSFiles.OrbitrapStdFile1);
            var expectedIsosFile  = Path.Combine(run.DataSetPath, run.DatasetName + "_isos.csv");
            var expectedScansFile = Path.Combine(run.DataSetPath, run.DatasetName + "_scans.csv");
            var expectedPeaksFile = Path.Combine(run.DataSetPath, run.DatasetName + "_peaks.txt");

            if (File.Exists(expectedIsosFile))
            {
                File.Delete(expectedIsosFile);
            }
            if (File.Exists(expectedScansFile))
            {
                File.Delete(expectedScansFile);
            }
            //if (File.Exists(expectedPeaksFile)) File.Delete(expectedPeaksFile);

            var parameters = new DeconToolsParameters();

            parameters.LoadFromOldDeconToolsParameterFile(parameterFile);
            parameters.ScanBasedWorkflowParameters.DeconvolutionType = Globals.DeconvolutionType.ThrashV2;

            parameters.MSGeneratorParameters.MinLCScan = 6005;
            parameters.MSGeneratorParameters.MaxLCScan = 6050;


            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            workflow.Execute();

            Assert.IsTrue(File.Exists(expectedIsosFile), "Isos file was not created.");
            Assert.IsTrue(File.Exists(expectedScansFile), "Scans file was not created.");
            Assert.IsTrue(File.Exists(expectedPeaksFile), "Peaks file was not created.");

            var isosImporter = new IsosImporter(expectedIsosFile, run.MSFileType);
            var isos         = isosImporter.Import();

            Assert.AreEqual(1287, isos.Count);

            var sumIntensities = isos.Select(p => p.IntensityAggregate).Sum();

            Assert.AreEqual(1974438598m, (decimal)Math.Round(sumIntensities));

            //  Expected: 1973657234m
            // But was:  1974438598m
        }
Esempio n. 14
0
        public void LoadAndApplyMassAlignmentFromViperDataTest1()
        {
            var testFile = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW";
            var run      = new RunFactory().CreateRun(testFile);

            var viperMassAlignmentFile =
                @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\AlignmentInfo\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_MassAndGANETErrors_BeforeRefinement.txt";
            var loader = new ViperMassCalibrationLoader(viperMassAlignmentFile);

            /*
             * From unit test: targetedWorkflow_alignUsingDataFromFiles
             *      TargetID =  24702
             *      ChargeState =   3
             *      theor monomass=     2920.5319802
             *      theor m/z=  974.517936556667
             *      obs monomass=   2920.49120230408
             *      obs m/z=    974.504343924692
             *      ppmError before=    13.9597398284934
             *      ppmError after=     10.8899784905986
             *      calibrated mass=    2920.50017566955
             *      calibrated mass2=   2920.50017566955
             *      Database NET= 0.4197696
             *      Result NET= 0.42916464805603
             *      Result NET Error= -0.00934833288192749
             *      NumChromPeaksWithinTol= 3
             *
             *
             */


            var calibrationData = loader.ImportMassCalibrationData();

            var massAlignmentInfo = new MassAlignmentInfoLcmsWarp();

            massAlignmentInfo.SetMassAlignmentData(calibrationData);

            run.MassAlignmentInfo = massAlignmentInfo;

            var testMZ    = 974.504343924692;
            var alignedMZ = run.GetAlignedMZ(testMZ);
            var ppmDiff   = (testMZ - alignedMZ) / testMZ * 1e6;

            Console.WriteLine("input m/z= " + testMZ);
            Console.WriteLine("aligned m/z= " + alignedMZ);
            Console.WriteLine("ppmDiff= " + ppmDiff);

            Assert.AreEqual(-3.6, (decimal)Math.Round(ppmDiff, 1));
        }
        public void WorkflowTypeIsCorrectTest1()
        {
            var uimfFile = @"D:\Data\UIMF\Sarc_Main_Study_Controls\Sarc_P09_B06_0786_20Jul11_Cheetah_11-05-31.uimf";

            var run        = new RunFactory().CreateRun(uimfFile);
            var parameters = new DeconToolsParameters();

            parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName = "standard";
            var workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);

            Assert.IsTrue(workflow is IMSScanBasedWorkflow);

            parameters.ScanBasedWorkflowParameters.ScanBasedWorkflowName = "uimf_saturation_repair";
            workflow = ScanBasedWorkflow.CreateWorkflow(run, parameters);
            Assert.IsTrue(workflow is SaturationIMSScanBasedWorkflow);
        }
        public void CreateFrameSetCollectionProcessMS1_Only()
        {
            var rf  = new RunFactory();
            var run = rf.CreateRun(FileRefs.RawDataMSFiles.UIMFFileContainingMSMSLevelData);

            var numFramesToSum = 3;

            var uimfRun = (UIMFRun)run;

            uimfRun.ScanSetCollection.Create(uimfRun, numFramesToSum, 1, false);

            Assert.AreEqual(3, uimfRun.ScanSetCollection.ScanSetList.Count);
            Assert.AreEqual("1 {1, 6}", uimfRun.ScanSetCollection.ScanSetList[0].ToString());
            Assert.AreEqual("6 {1, 6, 11}", uimfRun.ScanSetCollection.ScanSetList[1].ToString());
            Assert.AreEqual("11 {6, 11}", uimfRun.ScanSetCollection.ScanSetList[2].ToString());
        }
Esempio n. 17
0
        public void ImportNET_and_Try_Alignment_Test1()
        {
            string importFilename = Path.Combine(FileRefs.OutputFolderPath, "QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_ScanNetAlignment.txt");

            RunFactory rf  = new RunFactory();
            Run        run = rf.CreateRun(FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            NETAlignmentFromTextImporter importer = new NETAlignmentFromTextImporter(importFilename);

            run.AlignmentInfo = importer.Import();

            float testScan = 6005;
            float testNET1 = run.AlignmentInfo.GetNETFromTime(testScan);

            Assert.AreEqual(0.3253423m, (decimal)testNET1);
        }
Esempio n. 18
0
        public void ValidateDataTest1()    //purpose is to compare
        {
            var testMz5File    = @"\\protoapps\UserData\Slysz\DeconTools_TestFiles\mzXML\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.mz5";
            var testThermoFile = FileRefs.RawDataMSFiles.OrbitrapStdFile1;

            var mz5run = new RunFactory().CreateRun(testMz5File);

            var thermoRun = new RunFactory().CreateRun(testThermoFile);

            var testScanMz5    = 6004;
            var testScanThermo = 6005;

            var testScanSet1      = new ScanSet(testScanMz5);
            var testScanSetThermo = new ScanSet(testScanThermo);

            mz5run.CurrentScanSet    = testScanSet1;
            thermoRun.CurrentScanSet = testScanSetThermo;


            mz5run.XYData    = mz5run.GetMassSpectrum(testScanSet1);
            thermoRun.XYData = thermoRun.GetMassSpectrum(testScanSetThermo);


            Assert.AreEqual(mz5run.XYData.Xvalues.Length, thermoRun.XYData.Xvalues.Length);

            for (var i = 0; i < mz5run.XYData.Xvalues.Length; i++)
            {
                Assert.AreEqual(mz5run.XYData.Xvalues[i], thermoRun.XYData.Xvalues[i]);
            }

            var peakDetector = new DeconToolsPeakDetectorV2();

            peakDetector.PeakToBackgroundRatio  = 3;
            peakDetector.SignalToNoiseThreshold = 2;

            //peakDetector.Execute(mz5run.ResultCollection);

            peakDetector.Execute(thermoRun.ResultCollection);


            //TestUtilities.DisplayPeaks(mz5run.PeakList);

            Console.WriteLine();
            Console.WriteLine();

            TestUtilities.DisplayPeaks(thermoRun.PeakList);
        }
        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);
        }
Esempio n. 20
0
        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);
            }
        }
Esempio n. 21
0
        public void getVeryLowN15ProfileWithIterativeTFFTest1()
        {
            var n14n15Util = new N14N15TestingUtilities();
            //get sample MS from Test Data

            var rf  = new RunFactory();
            var run = rf.CreateRun(N14N15TestingUtilities.MS_AMTTag23085904_z2_sum1_lowN15);


            run.XYData = N14N15TestingUtilities.GetTestSpectrum(N14N15TestingUtilities.MS_AMTTag23085904_z2_sum1_lowN15);

            var mt23140708 = n14n15Util.CreateMT23085904_Z2();

            run.CurrentMassTag = mt23140708;
            run.ResultCollection.ResultType = Globals.ResultType.N14N15_TARGETED_RESULT;

            var theorN14FeatureGen = new TomTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.NONE, 0.005);

            theorN14FeatureGen.GenerateTheorFeature(mt23140708);

            var theorN15FeatureGen = new TomTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.N15, 0.005);

            theorN15FeatureGen.GenerateTheorFeature(mt23140708);


            var parameters = new IterativeTFFParameters();

            parameters.IsotopicProfileType = Globals.IsotopicProfileType.LABELLED;
            parameters.ToleranceInPPM      = 30;


            var itff = new IterativeTFF(parameters);

            itff.Execute(run.ResultCollection);
//            IsotopicProfile iso = itff.iterativelyFindMSFeature(run, mt23140708.IsotopicProfileLabelled);

            var result = (N14N15_TResult)run.ResultCollection.GetTargetedResult(run.CurrentMassTag);



            Assert.IsNotNull(result.IsotopicProfileLabeled);
            Assert.AreEqual(82280, (int)result.IntensityAggregate);
            Assert.AreEqual(3, result.IsotopicProfileLabeled.MonoIsotopicPeakIndex);

            TestUtilities.DisplayIsotopicProfileData(result.IsotopicProfileLabeled);
        }
Esempio n. 22
0
        public void featuresLoadedFromFile_test1()
        {
            RunFactory rf  = new RunFactory();
            Run        run = rf.CreateRun(FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            string massTagFile          = @"\\protoapps\UserData\Slysz\Data\MassTags\qcshew_standard_file_allMassTags.txt";
            string deconToolsResultFile = @"D:\Temp\output7\targetedFeatures.txt";

            DeconToolsTargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters();

            TargetedAligner aligner = new TargetedAligner(run, parameters);

            aligner.SetMassTags(massTagFile);
            aligner.ImportedFeaturesFilename = deconToolsResultFile;

            aligner.Execute();
        }
Esempio n. 23
0
        public void check_alignment_of_MZ()
        {
            var mzAlignmentInfoFilename  = Path.Combine(FileRefs.ImportedData, "QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_MZAlignment.txt");
            var NETAlignmentInfoFilename = Path.Combine(FileRefs.ImportedData, "QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_ScanNetAlignment.txt");

            var rf  = new RunFactory();
            var run = rf.CreateRun(DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            var importer          = new MassAlignmentInfoFromTextImporter(mzAlignmentInfoFilename);
            var massAlignmentData = importer.Import();

            var massAlignmentInfo = new MassAlignmentInfoLcmsWarp();

            massAlignmentInfo.SetMassAlignmentData(massAlignmentData);
            run.MassAlignmentInfo = massAlignmentInfo;


            var netAlignmentInfoImporter = new NETAlignmentFromTextImporter(NETAlignmentInfoFilename);
            var scanNETdata = netAlignmentInfoImporter.Import();

            run.NetAlignmentInfo.SetScanToNETAlignmentData(scanNETdata);


            float testScan = 6439;
            var   theorMZ  = 698.875137f; //QCSHEW massTag 37003; m/z 698.875137 (2+)   See Redmine issue 627:  http://redmine.pnl.gov/issues/627

            var ppmshift = run.MassAlignmentInfo.GetPpmShift(theorMZ, (int)testScan);

            Console.WriteLine("ppm shift = " + ppmshift);


            var observedMZ      = 698.8721;
            var alignedTargetMZ = run.GetTargetMZAligned(theorMZ);

            var differenceInMZ = Math.Abs(observedMZ - alignedTargetMZ);


            Console.WriteLine("theor m/z of monoisotopic peak = " + theorMZ.ToString("0.0000"));

            Console.WriteLine("observed m/z of monoisotopic peak = " + observedMZ.ToString("0.0000"));

            Console.WriteLine("aligned theor m/z = " + alignedTargetMZ.ToString("0.00000"));


            Assert.IsTrue(differenceInMZ < 0.001);
        }
        public void ensureAlignment_was_executed()
        {
            var run = new RunFactory().CreateRun(DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            var alignmentFeaturesFile = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\AlignmentInfo\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_READONLY_alignedFeatures.txt";

            var importer = new UnlabelledTargetedResultFromTextImporter(alignmentFeaturesFile);
            var repo     = importer.Import();

            var massTagFile =
                @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\Targets\QCShew_Formic_MassTags_Bin10_all.txt";

            var mtc        = new TargetCollection();
            var mtimporter = new MassTagFromTextFileImporter(massTagFile);

            mtc = mtimporter.Import();


            var parameters = new NETAndMassAlignerParameters();
            var aligner    = new NETAndMassAligner();

            aligner.SetFeaturesToBeAligned(repo.Results);
            aligner.SetReferenceMassTags(mtc.TargetList);

            var scan    = 7835;
            var theorMZ = 780.08485;    //massTagID = 24701 (+3)

            var obsMZ = 780.0824;

            var netBeforeAlignment = run.NetAlignmentInfo.GetNETValueForScan(scan);
            var mzBeforeAlignment  = run.GetAlignedMZ(obsMZ);

            aligner.Execute(run);

            var netAfterAlignment = run.NetAlignmentInfo.GetNETValueForScan(scan);
            var mzAfterAlignment  = run.GetAlignedMZ(obsMZ);

            Console.WriteLine("NET before alignment = " + netBeforeAlignment);
            Console.WriteLine("NET after alignment = " + netAfterAlignment);

            Console.WriteLine("Theor MZ =  " + theorMZ);
            Console.WriteLine("MZ before alignment = " + mzBeforeAlignment);
            Console.WriteLine("MZ after alignment =  " + mzAfterAlignment);
            Console.WriteLine("PPMDiff before alignment = " + (theorMZ - mzBeforeAlignment) / theorMZ * 1e6);
            Console.WriteLine("PPMDiff after alignment =  " + (theorMZ - mzAfterAlignment) / theorMZ * 1e6);
        }
Esempio n. 25
0
        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();
        }
Esempio n. 26
0
        public void ProblemTesting_correlationProb1()
        {
            //see JIRA https://jira.pnnl.gov/jira/browse/OMCS-628


            var executorParameters = new BasicTargetedWorkflowExecutorParameters();

            var testDatasetPath =
                @"D:\Data\O16O18\Vlad_Mouse\mhp_plat_test_1B_8Apr13_Cougar_13-03-25.raw";

            executorParameters.IsMassAlignmentPerformed = true;
            executorParameters.IsNetAlignmentPerformed  = true;

            executorParameters.ReferenceTargetsFilePath =
                @"\\protoapps\DataPkgs\Public\2013\795_Iq_analysis_of_mouse_O16O18\Targets\MT_Mouse_MHP_O18_Set3_P892_targets.txt";

            var run      = new RunFactory().CreateRun(testDatasetPath);
            var executor = new IqExecutor(executorParameters, run);

            var targetsFile =
                @"\\protoapps\DataPkgs\Public\2013\795_Iq_analysis_of_mouse_O16O18\Targets\MT_Mouse_MHP_O18_Set3_P892_targets.txt";

            executor.LoadAndInitializeTargets(targetsFile);
            executor.SetupMassAndNetAlignment();

            var testTarget = 6955012;

            executor.Targets = (from n in executor.Targets where n.ID == testTarget select n).ToList();

            var targetedWorkflowParameters = new BasicTargetedWorkflowParameters();

            targetedWorkflowParameters.LoadParameters(@"\\protoapps\DataPkgs\Public\2013\795_Iq_analysis_of_mouse_O16O18\Parameters\O16O18WorkflowParameters_2011_08_23_sum5.xml");

            //define workflows for parentTarget and childTargets
            var parentWorkflow = new O16O18ParentIqWorkflow(run, targetedWorkflowParameters);
            var childWorkflow  = new O16O18IqWorkflow(run, targetedWorkflowParameters);

            var workflowAssigner = new IqWorkflowAssigner();

            workflowAssigner.AssignWorkflowToParent(parentWorkflow, executor.Targets);
            workflowAssigner.AssignWorkflowToChildren(childWorkflow, executor.Targets);

            executor.DoAlignment();
            executor.Execute();
        }
Esempio n. 27
0
        public void featuresLoadedFromFile_test1()
        {
            var rf  = new RunFactory();
            var run = rf.CreateRun(DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            var massTagFile          = @"\\protoapps\UserData\Slysz\Data\MassTags\qcshew_standard_file_allMassTags.txt";
            var deconToolsResultFile = Path.Combine(FileRefs.ImportedData, "QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_targetedFeatures.txt");

            var parameters = new TargetedAlignerWorkflowParameters();

            parameters.ImportedFeaturesFilename = deconToolsResultFile;

            var aligner = new TargetedAlignerWorkflow(run, parameters);

            aligner.SetMassTags(massTagFile);

            aligner.Execute();
        }
Esempio n. 28
0
        public void ImportNET_and_Try_Alignment_Test2()
        {
            var importFilename = Path.Combine(FileRefs.ImportedData, "QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_ScanNetAlignment.txt");

            var rf  = new RunFactory();
            var run = rf.CreateRun(DeconTools.UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            var importer = new NETAlignmentFromTextImporter(importFilename);

            importer.Execute(run);


            var testScan = 6005;
            var testNET1 = run.NetAlignmentInfo.GetNETValueForScan(testScan);

            Assert.AreEqual(0.3252918m, (decimal)Math.Round(testNET1, 7));
            Assert.IsTrue(run.NETIsAligned);
        }
Esempio n. 29
0
        public void FileFromZaiaTest1()
        {
            string testfile = @"D:\Data\From_Joe_Zaia\RNaseB20_2_nocal.d\RNaseB20_2_nocal.d";

            Run run = new RunFactory().CreateRun(testfile);

            Console.WriteLine(TestUtilities.DisplayRunInformation(run));

            var msgen = MSGeneratorFactory.CreateMSGenerator(run.MSFileType);

            ScanSet scanSet = new ScanSet(1000);

            run.CurrentScanSet = scanSet;

            msgen.Execute(run.ResultCollection);

            TestUtilities.DisplayXYValues(run.XYData);
        }
        public void createIMSScanSets1()
        {
            var factory = new RunFactory();
            var run     = factory.CreateRun(FileRefs.RawDataMSFiles.UIMFStdFile3);

            var startScan = 120;
            var stopScan  = 200;

            var numScansSummed = 7;

            run.ScanSetCollection.Create(run, startScan, stopScan, numScansSummed, 1);

            Assert.IsNotNull(run.ScanSetCollection);
            Assert.AreEqual(81, run.ScanSetCollection.ScanSetList.Count);
            Assert.AreEqual(7, run.ScanSetCollection.ScanSetList[0].IndexValues.Count);
            Assert.AreEqual(117, run.ScanSetCollection.ScanSetList[0].IndexValues[0]);
            Assert.AreEqual(123, run.ScanSetCollection.ScanSetList[0].IndexValues[6]);
        }
        private void InitializeRun(string datasetName)
        {
            //Datasets have to all be in the same folder
            //currently works for datasets that have a File reference as
            //opposed to datasets having a Folder reference (Agilent/Bruker)

            DirectoryInfo dirInfo = new DirectoryInfo(_fileInputs.DatasetDirectory);

            var fileInfo = dirInfo.GetFiles(datasetName + ".*");

            if (!fileInfo.Any())
            {
                throw new FileNotFoundException("Run could not be initialized. File not found");
            }

            RunFactory rf = new RunFactory();
            Run = rf.CreateRun(fileInfo.First().FullName);

            bool peaksFileExists = checkForPeaksFile();
            if (!peaksFileExists)
            {
                ReportGeneralProgress("Creating extracted ion chromatogram (XIC) source data... takes 1-5 minutes.. only needs to be done once.");

                CreatePeaksForChromSourceData();
                ReportGeneralProgress("Done creating XIC source data.");
            }

            string baseFileName;
            baseFileName = this.Run.DataSetPath + "\\" + this.Run.DatasetName;

            string expectedPeaksFilename = baseFileName + "_peaks.txt";

            if (File.Exists(expectedPeaksFilename))
            {

                PeakImporterFromText peakImporter = new PeakImporterFromText(expectedPeaksFilename, _backgroundWorker);

                peakImporter.ImportPeaks(this.Run.ResultCollection.MSPeakResultList);
            }
            else
            {
                ReportGeneralProgress(DateTime.Now + "\tCRITICAL FAILURE. Chrom source data (_peaks.txt) file not loaded.");
                return;
            }

            ReportGeneralProgress(DateTime.Now + "\tPeak Loading complete.");
            return;
        }
        public void LoadRun(string fileOrFolderPath)
        {
            if (Run != null)
            {
                Run.Close();
                Run = null;
                GC.Collect();
            }

            try
            {
                Run = new RunFactory().CreateRun(fileOrFolderPath);
            }
            catch (Exception ex)
            {
                GeneralStatusMessage = ex.Message;
            }

            OnPropertyChanged("RunStatusText");
            OnPropertyChanged("DatasetFilePath");

            if (Run != null)
            {
                LoadPeaksUsingBackgroundWorker();
                FileInputs.DatasetParentFolder = Run.DataSetPath;
            }
        }
        public void LoadRun(string fileOrFolderPath)
        {
            if (Run != null)
            {
                Run.Close();
                Run = null;
                GC.Collect();
            }

            try
            {
                Run = new RunFactory().CreateRun(fileOrFolderPath);
            }
            catch (Exception ex)
            {
                GeneralStatusMessage = ex.Message;
            }

            if (Run != null)
            {
                LoadPeaksUsingBackgroundWorker();

            }

            if (Run != null)
            {
                NavigateToNextMS1MassSpectrum();
            }

            OnPropertyChanged("DatasetName");
        }