public void GetLCChromatogramTest3()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            const int    startFrame     = 1280;
            const int    startScan      = 163;
            const double targetMZ       = 464.25486;
            const double toleranceInPPM = 25;

            const double toleranceInMZ = toleranceInPPM / 1e6 * targetMZ;

            using (mReader = new DataReader(FileRefs.LegacyFile1))
            {
                // int[] scanVals = null;

                var sw = new Stopwatch();
                sw.Start();
                mReader.GetLCProfile(
                    startFrame - 200,
                    startFrame + 200,
                    UIMFData.FrameType.MS1,
                    startScan - 2,
                    startScan + 2,
                    targetMZ,
                    toleranceInMZ,
                    out var frameVals,
                    out var intensityVals);
                sw.Stop();

                Console.WriteLine("Time (ms) = " + sw.ElapsedMilliseconds);

                // TestUtilities.display2DChromatogram(frameVals, intensityVals);
            }
        }
Example #2
0
        public void GetMSMSTest1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var reader = new DataReader(FileRefs.MSMSData1))
            {
                const int testFrame = 2;
                const int startScan = 1;
                const int stopScan  = 300;

                reader.GetSpectrum(
                    testFrame,
                    testFrame,
                    UIMFData.FrameType.MS2,
                    startScan,
                    stopScan,
                    out var mzArray,
                    out var intensityArray);

                var sb = new StringBuilder();
                for (var i = 0; i < mzArray.Length; i++)
                {
                    sb.Append(mzArray[i] + "\t" + intensityArray[i] + "\n");
                }

                Assert.IsNotNull(mzArray);
                Assert.IsTrue(mzArray.Length > 0);
            }
        }
Example #3
0
        public void ContainsMSMSData_test1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var reader = new DataReader(FileRefs.LegacyFile1))
            {
                Assert.AreEqual(false, reader.HasMSMSData());
            }
        }
Example #4
0
        public void GetGlobalParams_test1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var reader = new DataReader(FileRefs.LegacyDemultiplexedFile1))
            {
                var gp = reader.GetGlobalParams();
                var dt = DateTime.Parse(gp.GetValue(GlobalParamKeyType.DateStarted));

                Assert.AreEqual("04/07/2011 06:40:30", dt.ToString(CultureInfo.InvariantCulture));
            }
        }
Example #5
0
        public void GetAvgTOFLengthTest1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var reader = new DataReader(FileRefs.LegacyFile1))
            {
                var fp           = reader.GetFrameParams(1);
                var avgTOFLength = fp.GetValueDouble(FrameParamKeyType.AverageTOFLength, 0);

                Assert.AreEqual(162555.56m, (decimal)avgTOFLength);
            }
        }
Example #6
0
        public void GetNumberOfFramesTest()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var reader = new DataReader(FileRefs.LegacyFile1))
            {
                var numFrames = reader.GetGlobalParams().NumFrames;

                // Console.WriteLine("Number of frames = " + numFrames);
                Assert.AreEqual(3220, numFrames);
            }
        }
        public void Get3DElutionProfile_test3()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            const int startFrame = 400;
            const int stopFrame  = 600;

            const int startScan = 110;
            const int stopScan  = 210;

            const double targetMZ       = 475.7499;
            const double toleranceInPPM = 25;
            const double toleranceInMZ  = toleranceInPPM / 1e6 * targetMZ;

            const string filePath = @"\\proto-2\UnitTest_Files\DeconTools_TestFiles\UIMF\Sarc_MS_90_21Aug10_Cheetah_10-08-02_0000.uimf";

            int[] frameVals;
            int[] scanVals;
            int[] intensityVals;

            var sw = new Stopwatch();

            sw.Start();

            using (mReader = new DataReader(filePath))
            {
                mReader.Get3DElutionProfile(
                    startFrame,
                    stopFrame,
                    0,
                    startScan,
                    stopScan,
                    targetMZ,
                    toleranceInMZ,
                    out frameVals,
                    out scanVals,
                    out intensityVals);
            }

            sw.Stop();
            Console.WriteLine("Time in millisec for extracting 3D profile = " + sw.ElapsedMilliseconds);

            var sb = new StringBuilder();

            for (var i = 0; i < frameVals.Length; i++)
            {
                sb.Append(frameVals[i] + "\t" + scanVals[i] + "\t" + intensityVals[i] + Environment.NewLine);
            }

            // Console.WriteLine(sb.ToString());
        }
        public void GetLCChromatogramTest2()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            const int startFrame = 600;
            const int endFrame   = 800;

            const int startScan = 100;
            const int stopScan  = 350;

            using (mReader = new DataReader(FileRefs.LegacyFile1))
            {
                const double targetMZ       = 636.8466; // see frame 1000, scan 170
                const double toleranceInPPM = 20;
                const double toleranceInMZ  = toleranceInPPM / 1e6 * targetMZ;


                // mReader.GetDriftTimeProfile(testFrame, frameType, startScan, stopScan, targetMZ, toleranceInMZ, ref scanVals, ref intensityVals);
                var sw = new Stopwatch();
                sw.Start();
                mReader.GetLCProfile(
                    startFrame,
                    endFrame,
                    UIMFData.FrameType.MS1,
                    startScan,
                    stopScan,
                    targetMZ,
                    toleranceInMZ,
                    out var frameVals,
                    out var intensityVals);
                sw.Stop();

                var sb = new StringBuilder();
                for (var i = 0; i < frameVals.Length; i++)
                {
                    sb.Append(frameVals[i]);
                    sb.Append('\t');
                    sb.Append(intensityVals[i]);
                    sb.Append(Environment.NewLine);
                }

                // Assert.AreEqual(171, frameVals[71]);
                // Assert.AreEqual(6770, intensityVals[71]);
                Assert.AreEqual(endFrame - startFrame + 1, frameVals.Length);

                // Console.Write(sb.ToString());
                Console.WriteLine("Time (ms) = " + sw.ElapsedMilliseconds);
            }
        }
        public void Get3DElutionProfile_test1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            const int    startFrame     = 1280;
            const int    startScan      = 163;
            const double targetMZ       = 464.25486;
            const double toleranceInPPM = 25;

            const double toleranceInMZ = toleranceInPPM / 1e6 * targetMZ;

            int[] intensityVals;

            var sw = new Stopwatch();

            sw.Start();

            using (mReader = new DataReader(FileRefs.LegacyFile1))
            {
                mReader.Get3DElutionProfile(
                    startFrame - 20,
                    startFrame + 20,
                    0,
                    startScan - 20,
                    startScan + 20,
                    targetMZ,
                    toleranceInMZ,
                    out var frameVals,
                    out var scanVals,
                    out intensityVals);
            }

            sw.Stop();

            var max       = TestUtilities.GetMax(intensityVals);
            var normInten = new float[intensityVals.Length];

            for (var i = 0; i < intensityVals.Length; i++)
            {
                normInten[i] = (float)intensityVals[i] / max;
            }

            Assert.AreEqual(1913, max);
            Assert.AreEqual((float)0.0172503926, normInten[16]);

            Console.WriteLine("Time (ms) = " + sw.ElapsedMilliseconds);
        }
        public void Get3DElutionProfile_test2()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            const int startFrame = 524;
            const int startScan  = 128;

            const double targetMZ       = 295.9019; // see frame 2130, scan 153
            const double toleranceInPPM = 25;
            const double toleranceInMZ  = toleranceInPPM / 1e6 * targetMZ;

            using (mReader = new DataReader(FileRefs.LegacyFile1))
            {
                var values = mReader.GetFramesAndScanIntensitiesForAGivenMz(
                    startFrame - 40,
                    startFrame + 40,
                    0,
                    startScan - 60,
                    startScan + 60,
                    targetMZ,
                    toleranceInMZ);

                var sb = new StringBuilder();

                foreach (var frameIntensities in values)
                {
                    foreach (var scanIntensityValue in frameIntensities)
                    {
                        if (scanIntensityValue > 0)
                        {
                            sb.Append(scanIntensityValue + ",");
                        }
                    }

                    sb.Append(Environment.NewLine);
                }

                Assert.AreEqual(293, values[0][64]);
                Assert.AreEqual(510, values[2][66]);
                Assert.AreEqual(663, values[3][64]);
                Assert.AreEqual(436, values[4][57]);

                // Console.WriteLine(sb.ToString());
            }
        }
Example #11
0
        public void GetFrameTypeTest1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var reader = new DataReader(FileRefs.MSMSData1))
            {
                var gp = reader.GetGlobalParams();

                var checkSum = 0;

                for (var frame = 1; frame <= gp.NumFrames; frame++)
                {
                    checkSum += frame * (int)reader.GetFrameTypeForFrame(frame);
                }

                Assert.AreEqual(222, checkSum);
            }
        }
Example #12
0
        public void GetFrameInfo_demultiplexed_firstFrame_Test1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var reader = new DataReader(FileRefs.LegacyDemultiplexedFile1))
            {
                const int firstFrame = 1;

                var fp = reader.GetFrameParams(firstFrame);

                Assert.AreEqual(UIMFData.FrameType.MS1, fp.FrameType);
                Assert.AreEqual(0.03313236, fp.CalibrationIntercept);
                Assert.AreEqual(0.3476655, fp.CalibrationSlope);
                Assert.AreEqual(360, fp.Scans);

                // TestUtilities.DisplayFrameParameters(fp);
            }
        }
        public void GetMultipleSummedMassSpectrumsTest1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var dr = new DataReader(FileRefs.LegacyFile1))
            {
                var testFrameScanInfo2 = new FrameAndScanInfo(500, 550, 250, 256);

                for (var frame = testFrameScanInfo2.startFrame; frame <= testFrameScanInfo2.stopFrame; frame++)
                {
                    var gp = dr.GetGlobalParams();


                    var nonZeros = dr.GetSpectrum(
                        frame,
                        frame,
                        UIMFData.FrameType.MS1,
                        testFrameScanInfo2.startScan,
                        testFrameScanInfo2.stopScan,
                        out var mzValues,
                        out var intensities);

                    // jump back
                    nonZeros = dr.GetSpectrum(
                        frame - 1,
                        frame - 1,
                        UIMFData.FrameType.MS1,
                        testFrameScanInfo2.startScan,
                        testFrameScanInfo2.stopScan,
                        out mzValues,
                        out intensities);

                    // and ahead... just testing it's ability to jump around
                    nonZeros = dr.GetSpectrum(
                        frame + 2,
                        frame + 2,
                        UIMFData.FrameType.MS1,
                        testFrameScanInfo2.startScan,
                        testFrameScanInfo2.stopScan,
                        out mzValues,
                        out intensities);
                }
            }
        }
Example #14
0
        public void GetFramePressure_lastFrame()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var reader = new DataReader(FileRefs.LegacyFile1))
            {
                const int lastFrame         = 3219;
                const int secondToLastFrame = lastFrame - 1;

                var pressureBackLastFrame         = reader.GetFrameParams(lastFrame).GetValueDouble(FrameParamKeyType.PressureBack);
                var pressureBackSecondToLastFrame = reader.GetFrameParams(secondToLastFrame).GetValueDouble(FrameParamKeyType.PressureBack);

                // Console.WriteLine("Pressure for frame " + secondToLastFrame + " = " + pressureBackSecondToLastFrame);

                // Console.WriteLine("Pressure for frame "+lastFrame + " = " + pressureBackLastFrame);
                Assert.AreEqual(4.127, (decimal)pressureBackLastFrame);
                Assert.AreEqual(4.136, (decimal)pressureBackSecondToLastFrame);
            }
        }
        public void GetFrame0_MS_Test1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var dr = new DataReader(FileRefs.LegacyFile1))
            {
                var gp = dr.GetGlobalParams();

                var nonZeros = dr.GetSpectrum(
                    testFrameScanInfo1.startFrame,
                    testFrameScanInfo1.stopFrame,
                    UIMFData.FrameType.MS1,
                    testFrameScanInfo1.startScan,
                    testFrameScanInfo1.stopScan,
                    out var mzValues,
                    out var intensities);
                TestUtilities.DisplayRawMassSpectrum(mzValues, intensities);
            }
        }
Example #16
0
        public void GetFrameInfo_demultiplexed_lastFrame_Test1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var reader = new DataReader(FileRefs.LegacyDemultiplexedFile1))
            {
                var numFrames = reader.GetGlobalParams().NumFrames;
                var lastFrame = numFrames - 1;

                Console.WriteLine("Last frame = " + lastFrame);

                var fp = reader.GetFrameParams(lastFrame);

                Assert.AreEqual(UIMFData.FrameType.MS1, fp.FrameType);
                Assert.AreEqual(0.03313236, fp.CalibrationIntercept);
                Assert.AreEqual(0.3476655, fp.CalibrationSlope);
                Assert.AreEqual(360, fp.Scans);

                // TestUtilities.DisplayFrameParameters(fp);
            }
        }
        public void GetSingleSummedMassSpectrumTest1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            using (var dr = new DataReader(FileRefs.LegacyFile1))
            {
                var gp = dr.GetGlobalParams();

                var nonZeros = dr.GetSpectrum(
                    testFrameScanInfo1.startFrame,
                    testFrameScanInfo1.stopFrame,
                    UIMFData.FrameType.MS1,
                    testFrameScanInfo1.startScan,
                    testFrameScanInfo1.stopScan,
                    out var mzValues,
                    out var intensities);

                var nonZeroCount = (from n in mzValues where Math.Abs(n) > Single.Epsilon select n).Count();
                Console.WriteLine("Num xy datapoints = " + nonZeroCount);

                Assert.AreEqual(1137, nonZeros);
            }
        }
        public void GetDriftTimeProfileTest1()
        {
            DataReaderTests.PrintMethodName(System.Reflection.MethodBase.GetCurrentMethod());

            const int    startFrame     = 1280;
            const int    startScan      = 150;
            const double targetMZ       = 451.55;
            const double toleranceInPPM = 10;

            const double toleranceInMZ = toleranceInPPM / 1e6 * targetMZ;

            int[] scanVals      = null;
            int[] intensityVals = null;

            using (mReader = new DataReader(FileRefs.LegacyFile1))
            {
                mReader.GetDriftTimeProfile(
                    startFrame - 2,
                    startFrame + 2,
                    UIMFData.FrameType.MS1,
                    startScan - 100,
                    startScan + 100,
                    targetMZ,
                    toleranceInMZ,
                    ref scanVals,
                    ref intensityVals);

                TestUtilities.Display2DChromatogram(scanVals, intensityVals);

                Assert.AreEqual(50, scanVals[0]);
                Assert.AreEqual(250, scanVals[200]);

                Assert.AreEqual(6525, intensityVals[100]);
                Assert.AreEqual(3199, intensityVals[105]);
                Assert.AreEqual(255, intensityVals[111]);
            }
        }