Exemple #1
0
 public UIMFRun()
 {
     XYData                    = new XYData();
     MSFileType                = Globals.MSFileType.PNNL_UIMF;
     IMSScanSetCollection      = new IMSScanSetCollection();
     _framePressuresUnsmoothed = new Dictionary <int, double>();
     //_frameTypeForMS1 = DataReader.FrameType.MS1;   //default is MS1
 }
Exemple #2
0
        public void BasePeakChromatogramTests()
        {
            var filename = @"D:\Data\UIMF\Sarc_P13_C10_1186_23Sep11_Cheetah_11-09-06.uimf";
            var run      = new RunFactory().CreateRun(filename);

            var scanSetCollection = new ScanSetCollection();

            //scanSetCollection.Create(run, 500, 550,1,1);
            scanSetCollection.Create(run, run.MinLCScan, run.MaxLCScan, 1, 1);

            var imsScanSetCollection = new IMSScanSetCollection();

            imsScanSetCollection.Create(run, 60, 250, 1, 1);

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

            var peakDet = new DeconToolsPeakDetectorV2();

            peakDet.PeakToBackgroundRatio  = 4;
            peakDet.SignalToNoiseThreshold = 2;
            peakDet.IsDataThresholded      = true;

            var outputFile = @"C:\Users\d3x720\Documents\PNNL\My_DataAnalysis\2013\Saturation_Correction\chromOuput.txt";

            using (var writer = new StreamWriter(outputFile))
            {
                for (var lcscan = 0; lcscan < scanSetCollection.ScanSetList.Count; lcscan++)
                {
                    Console.WriteLine("lcscan= " + lcscan);

                    var scanSet = scanSetCollection.ScanSetList[lcscan];
                    run.CurrentScanSet = scanSet;

                    var sb = new StringBuilder();

                    var numImsScans = imsScanSetCollection.ScanSetList.Count;

                    for (var imsScan = 0; imsScan < numImsScans; imsScan++)
                    {
                        var imsscanSet = (IMSScanSet)imsScanSetCollection.ScanSetList[imsScan];
                        ((UIMFRun)run).CurrentIMSScanSet = imsscanSet;

                        var basePeakIntensity = 0;

                        try
                        {
                            msgen.Execute(run.ResultCollection);
                            peakDet.Execute(run.ResultCollection);

                            basePeakIntensity = GetMaxPeak(run.PeakList);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("skipping lcscan " + lcscan + " --- it is empty");
                        }


                        sb.Append(basePeakIntensity);

                        if (imsScan != numImsScans - 1) // if not the last value, add delimiter
                        {
                            sb.Append("\t");
                        }
                    }
                    writer.WriteLine(sb.ToString());
                }
            }
        }