Ejemplo n.º 1
0
        public static IPeakListExporter Create(Globals.ExporterType exporterType, Globals.MSFileType fileType, int triggerValue, string outputFileName)
        {
            IPeakListExporter exporter;

            switch (exporterType)
            {
            case Globals.ExporterType.Text:
                exporter = new PeakListTextExporter(fileType, triggerValue, outputFileName);
                break;

            case Globals.ExporterType.Sqlite:
                exporter = new PeakListSQLiteExporter(triggerValue, outputFileName);
                break;

            default:
                exporter = new PeakListTextExporter(fileType, triggerValue, outputFileName);
                break;
            }
            return(exporter);
        }
Ejemplo n.º 2
0
        public void ExportPeakDataToTextFileTest1()
        {
            var outputFile = FileRefs.OutputFolderPath + "ExportPeakDataToTextFileTest1.txt";

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

            var run = TestDataCreationUtilities.CreatePeakDataFromStandardOrbitrapData();

            NUnit.Framework.Assume.That(5608 == run.ResultCollection.MSPeakResultList.Count);

            var peakExporter = new PeakListTextExporter(run.MSFileType, outputFile);

            peakExporter.WriteOutPeaks(run.ResultCollection.MSPeakResultList);

            var fi = new FileInfo(outputFile);

            Assert.AreEqual(true, fi.Exists);
            Assert.AreNotEqual(0, fi.Length);
        }
Ejemplo n.º 3
0
        public void Execute()
        {
            InitializeWorkflow();

            if (Run.MSFileType == Globals.MSFileType.PNNL_UIMF)
            {
                IMSScanSetCollection = CreateIMSScanSetCollection();
            }

            LcScanSetCollection = CreateLcScanSetCollection();

            PrepareOutputDirectory(WorkflowParameters.OutputDirectory);

            var outputPeaksFilePath = getOutputPeaksFilename();

            peakExporter = new PeakListTextExporter(Run.MSFileType, outputPeaksFilePath);

            var numTotalScans = LcScanSetCollection.ScanSetList.Count;
            var lastProgress  = DateTime.UtcNow;

            using (var sw = new StreamWriter(new FileStream(outputPeaksFilePath, FileMode.Append, FileAccess.Write, FileShare.Read)))
            {
                if (Run.MSFileType == Globals.MSFileType.PNNL_UIMF && Run is UIMFRun uimfRun)
                {
                    var numTotalFrames = LcScanSetCollection.ScanSetList.Count;
                    var frameCounter   = 0;

                    foreach (var frameSet in LcScanSetCollection.ScanSetList)
                    {
                        frameCounter++;
                        uimfRun.CurrentScanSet = frameSet;
                        uimfRun.ResultCollection.MSPeakResultList.Clear();

                        foreach (var scanSet in IMSScanSetCollection.ScanSetList)
                        {
                            uimfRun.CurrentIMSScanSet = (IMSScanSet)scanSet;
                            MSGenerator.Execute(uimfRun.ResultCollection);
                            _ms1PeakDetector.Execute(uimfRun.ResultCollection);
                        }
                        peakExporter.WriteOutPeaks(sw, uimfRun.ResultCollection.MSPeakResultList);

                        if (DateTime.UtcNow.Subtract(lastProgress).TotalSeconds >= 1 || frameCounter == numTotalFrames)
                        {
                            lastProgress = DateTime.UtcNow;
                            var percentProgress = frameCounter * 100 / (double)numTotalFrames;
                            reportProgress(percentProgress);
                        }
                    }
                }
                else
                {
                    var scanCounter = 0;
                    foreach (var scan in LcScanSetCollection.ScanSetList)
                    {
                        scanCounter++;

                        Run.CurrentScanSet = scan;

                        Run.ResultCollection.MSPeakResultList.Clear();

                        MSGenerator.Execute(Run.ResultCollection);
                        if (Run.GetMSLevel(scan.PrimaryScanNumber) == 1)
                        {
                            _ms1PeakDetector.Execute(Run.ResultCollection);
                        }
                        else
                        {
                            var dataIsCentroided = Run.IsDataCentroided(scan.PrimaryScanNumber);
                            if (dataIsCentroided)
                            {
                                _ms2PeakDetectorForCentroidedData.Execute(Run.ResultCollection);
                            }
                            else
                            {
                                _ms2PeakDetectorForProfileData.Execute(Run.ResultCollection);
                            }
                        }

                        peakExporter.WriteOutPeaks(sw, Run.ResultCollection.MSPeakResultList);

                        if (DateTime.UtcNow.Subtract(lastProgress).TotalSeconds >= 1 || scanCounter == numTotalScans)
                        {
                            lastProgress = DateTime.UtcNow;
                            var percentProgress = scanCounter * 100 / (double)numTotalScans;
                            reportProgress(percentProgress);
                        }
                    }
                }
            }

            Run.ResultCollection.MSPeakResultList.Clear();
        }
        public override void Execute()
        {
            InitializeWorkflow();

            PrepareOutputFolder(_workflowParameters.OutputFolder);

            string outputPeaksFileName = getOutputPeaksFilename();

            peakExporter = new PeakListTextExporter(Run.MSFileType, outputPeaksFileName);

            int numTotalScans = Run.ScanSetCollection.ScanSetList.Count;
            int scanCounter   = 0;

            if (Run.MSFileType == DeconTools.Backend.Globals.MSFileType.PNNL_UIMF)
            {
                var uimfrun = Run as UIMFRun;

                int numTotalFrames = uimfrun.ScanSetCollection.ScanSetList.Count;
                int frameCounter   = 0;

                foreach (var frameSet in uimfrun.ScanSetCollection.ScanSetList)
                {
                    frameCounter++;
                    uimfrun.CurrentScanSet = frameSet;
                    uimfrun.ResultCollection.MSPeakResultList.Clear();

                    foreach (var scanSet in uimfrun.IMSScanSetCollection.ScanSetList)
                    {
                        uimfrun.CurrentIMSScanSet = (IMSScanSet)scanSet;
                        MSGenerator.Execute(uimfrun.ResultCollection);
                        this._ms1PeakDetector.Execute(uimfrun.ResultCollection);
                    }
                    peakExporter.WriteOutPeaks(uimfrun.ResultCollection.MSPeakResultList);

                    if (frameCounter % 5 == 0 || scanCounter == numTotalFrames)
                    {
                        double percentProgress = frameCounter * 100 / numTotalFrames;
                        reportProgress(percentProgress);
                    }
                }
            }
            else
            {
                foreach (var scan in Run.ScanSetCollection.ScanSetList)
                {
                    scanCounter++;

                    Run.CurrentScanSet = scan;

                    Run.ResultCollection.MSPeakResultList.Clear();

                    MSGenerator.Execute(Run.ResultCollection);
                    if (Run.GetMSLevel(scan.PrimaryScanNumber) == 1)
                    {
                        this._ms1PeakDetector.Execute(Run.ResultCollection);
                    }
                    else
                    {
                        var dataIsCentroided = Run.IsDataCentroided(scan.PrimaryScanNumber);
                        if (dataIsCentroided)
                        {
                            _ms2PeakDetectorForCentroidedData.Execute(Run.ResultCollection);
                        }
                        else
                        {
                            _ms2PeakDetectorForProfileData.Execute(Run.ResultCollection);
                        }
                    }

                    peakExporter.WriteOutPeaks(Run.ResultCollection.MSPeakResultList);

                    if (scanCounter % 50 == 0 || scanCounter == numTotalScans)
                    {
                        double percentProgress = scanCounter * 100 / numTotalScans;
                        reportProgress(percentProgress);
                    }
                }
            }



            Run.ResultCollection.MSPeakResultList.Clear();
        }
Ejemplo n.º 5
0
        private void ExportPeaks_copied(string peaksfile)
        {
            DeconToolsPeakDetectorV2 _ms1PeakDetector;
            DeconToolsPeakDetectorV2 _ms2PeakDetectorForCentroidedData;
            DeconToolsPeakDetectorV2 _ms2PeakDetectorForProfileData;
            var msGen = MSGeneratorFactory.CreateMSGenerator(_run.MSFileType);

            _ms1PeakDetector = new DeconToolsPeakDetectorV2(2.0, 2.0,
                                                            DeconTools.Backend.Globals.PeakFitType.QUADRATIC, false);

            _ms2PeakDetectorForProfileData = new DeconToolsPeakDetectorV2(2.0,
                                                                          2.0,
                                                                          DeconTools.Backend.Globals.PeakFitType.QUADRATIC,
                                                                          false);
            _ms2PeakDetectorForCentroidedData             = new DeconToolsPeakDetectorV2(0, 0, DeconTools.Backend.Globals.PeakFitType.QUADRATIC, true);
            _ms2PeakDetectorForCentroidedData.RawDataType = DeconTools.Backend.Globals.RawDataType.Centroided;

            _ms2PeakDetectorForProfileData.PeaksAreStored    = true;
            _ms2PeakDetectorForCentroidedData.PeaksAreStored = true;
            _ms1PeakDetector.PeaksAreStored = true;


            var peakExporter = new PeakListTextExporter(_run.MSFileType, peaksfile);

            var numTotalScans = _run.ScanSetCollection.ScanSetList.Count;
            var scanCounter   = 0;

            if (_run.MSFileType == DeconTools.Backend.Globals.MSFileType.PNNL_UIMF)
            {
                var uimfrun = _run as UIMFRun;

                var numTotalFrames = uimfrun.ScanSetCollection.ScanSetList.Count;
                var frameCounter   = 0;

                foreach (var frameSet in uimfrun.ScanSetCollection.ScanSetList)
                {
                    frameCounter++;
                    uimfrun.CurrentScanSet = frameSet;
                    uimfrun.ResultCollection.MSPeakResultList.Clear();

                    foreach (var scanSet in uimfrun.IMSScanSetCollection.ScanSetList)
                    {
                        uimfrun.CurrentIMSScanSet = (IMSScanSet)scanSet;
                        msGen.Execute(uimfrun.ResultCollection);
                        _ms1PeakDetector.Execute(uimfrun.ResultCollection);
                    }
                    peakExporter.WriteOutPeaks(uimfrun.ResultCollection.MSPeakResultList);

                    if (frameCounter % 5 == 0 || scanCounter == numTotalFrames)
                    {
                        double percentProgress = frameCounter * 100 / numTotalFrames;
                        // reportProgress(percentProgress);
                    }
                }
            }
            else
            {
                foreach (var scan in _run.ScanSetCollection.ScanSetList)
                {
                    scanCounter++;

                    _run.CurrentScanSet = scan;

                    _run.ResultCollection.MSPeakResultList.Clear();

                    msGen.Execute(_run.ResultCollection);
                    if (_run.GetMSLevel(scan.PrimaryScanNumber) == 1)
                    {
                        _ms1PeakDetector.Execute(_run.ResultCollection);
                    }
                    else
                    {
                        var dataIsCentroided = _run.IsDataCentroided(scan.PrimaryScanNumber);
                        if (dataIsCentroided)
                        {
                            _ms2PeakDetectorForCentroidedData.Execute(_run.ResultCollection);
                        }
                        else
                        {
                            _ms2PeakDetectorForProfileData.Execute(_run.ResultCollection);
                        }
                    }

                    peakExporter.WriteOutPeaks(_run.ResultCollection.MSPeakResultList);
                }
            }
        }
Ejemplo n.º 6
0
        public void updateScanResultsUIMFFileTest1()
        {
            UIMFRun run = new UIMFRun(uimfFilepath);

            run.FrameSetCollection = new FrameSetCollection();
            for (int i = 1200; i < 1203; i++)
            {
                run.FrameSetCollection.FrameSetList.Add(new FrameSet(i));
            }

            run.ScanSetCollection = new ScanSetCollection();
            for (int i = 200; i < 304; i++)
            {
                run.ScanSetCollection.ScanSetList.Add(new ScanSet(i));
            }
            StreamWriter     sw;
            ResultCollection results = new ResultCollection(run);

            Task msgen             = new UIMF_MSGenerator();
            Task peakDetector      = new DeconToolsPeakDetector();
            Task rapid             = new RapidDeconvolutor();
            Task scanResultUpdater = new ScanResultUpdater();
            Task peakListExporter  = new PeakListTextExporter(run.MSFileType, peakListoutputPath);


            foreach (FrameSet frameset in run.FrameSetCollection.FrameSetList)
            {
                ((UIMFRun)run).CurrentFrameSet = frameset;

                foreach (ScanSet scanset in run.ScanSetCollection.ScanSetList)
                {
                    run.CurrentScanSet = scanset;
                    msgen.Execute(results);

                    peakDetector.Execute(results);

                    rapid.Execute(results);

                    scanResultUpdater.Execute(results);

                    peakListExporter.Execute(results);
                }
            }
            peakListExporter.Cleanup();

            Assert.AreEqual(3, results.ScanResultList.Count);
            Assert.AreEqual(1, results.ScanResultList[0].SpectrumType);
            Assert.AreEqual(670.990710325132, (decimal)results.ScanResultList[0].BasePeak.XValue);
            Assert.AreEqual(183, results.ScanResultList[0].NumIsotopicProfiles);

            Assert.AreEqual(7097, results.ScanResultList[0].NumPeaks);
            Assert.AreEqual(-1, (decimal)results.ScanResultList[0].ScanTime);

            UIMFScanResult uimfScanresult1 = (UIMFScanResult)(results.ScanResultList[0]);


            Assert.AreEqual(4.0, uimfScanresult1.FramePressureFront);
            Assert.AreEqual(4.016, uimfScanresult1.FramePressureBack);
            Assert.AreEqual(1200, uimfScanresult1.Frameset.PrimaryFrame);

            Assert.AreEqual(504, results.ResultList.Count);
        }