Exemple #1
0
        private void TestReadMzML(FileSystemInfo mzMLFile, int expectedSpectra)
        {
            var methodName = MethodBase.GetCurrentMethod().Name;

            Utils.ShowStarting(methodName, mzMLFile.Name);

            var timer = new Stopwatch();

            timer.Start();

            var reader    = new MzMLReader(mzMLFile.FullName);
            var constTime = timer.Elapsed;

            Console.WriteLine(@"Constructor time: " + constTime);

            var numSpectra = reader.NumSpectra;
            var metaTime   = timer.Elapsed - constTime;

            Console.WriteLine(@"Metadata read time: " + metaTime);

            var spectra      = reader.ReadAllSpectra();
            var spectraCount = spectra.Count();

            timer.Stop();

            reader.Close();

            Console.WriteLine(@"Spectra Read time: " + (timer.Elapsed - metaTime));
            Console.WriteLine(@"Time: " + timer.Elapsed);

            Assert.AreEqual(expectedSpectra, numSpectra, "NumSpectra");
            Assert.AreEqual(expectedSpectra, spectraCount, "SpectraCount");
        }
Exemple #2
0
        /// <summary>
        /// Gets the appropriate IMassSpecDataReader for the supplied path.
        /// It is recommended that "NormalizeDatasetPath" be called prior to calling this function, and that the returned string be used instead of the original path
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        /// <remarks>It is recommended that "NormalizeDatasetPath" be called prior to calling this function, and that the returned string be used instead of the original path</remarks>
        public static IMassSpecDataReader GetMassSpecDataReader(string filePath)
        {
            filePath = NormalizeDatasetPath(filePath);
            var type = GetMassSpecDataType(filePath);
            IMassSpecDataReader reader = null;

            switch (type)
            {
            case MassSpecDataType.XCaliburRun:
                reader = new XCaliburReader(filePath);
                break;

            case MassSpecDataType.MzMLFile:
                reader = new MzMLReader(filePath);
                break;

            case MassSpecDataType.PbfFile:
                reader = new PbfLcMsRun(filePath);
                break;

            case MassSpecDataType.Unknown:
                if (_pwizAvailable)
                {
                    reader = new ProteoWizardReader(filePath);
                }
                break;
            }

            return(reader);
        }
        public void MzMLIndexedReadTest(string inputFileRelativePath, int expectedSpectra)
        {
            if (!TestPath.FindInputFile(inputFileRelativePath, out var sourceFile))
            {
                Console.WriteLine("File not found: " + inputFileRelativePath);
                return;
            }

            var reader = new MzMLReader(Path.Combine(TestPath.ExtTestDataDirectory, sourceFile.FullName));
            //mzMLType mzMLData = reader.Read();
            var mzMLData = new MSData(reader.Read());

            Console.WriteLine("Spectrum count: " + mzMLData.Run.SpectrumList.Spectra.Count);
            Assert.AreEqual(expectedSpectra, mzMLData.Run.SpectrumList.Spectra.Count, "Spectrum count");
        }
Exemple #4
0
        public void MzMLIndexedReadTest(string inputFileRelativePath, int expectedSpectra)
        {
            if (!TestPath.FindInputFile(inputFileRelativePath, out var sourceFile))
            {
                Console.WriteLine("File not found: " + inputFileRelativePath);
                return;
            }

            var reader   = new MzMLReader(sourceFile.FullName);
            var mzMLData = reader.Read();

            Console.WriteLine("Spectrum count: " + mzMLData.run.spectrumList.count);
            Console.WriteLine("Array length: " + mzMLData.run.spectrumList.spectrum.Count);

            Assert.AreEqual(expectedSpectra.ToString(), mzMLData.run.spectrumList.count, "Spectrum Count");
            Assert.AreEqual(expectedSpectra, mzMLData.run.spectrumList.spectrum.Count, "Array length");
        }
Exemple #5
0
        public void MzMLIndexedReadTest(string path, int expectedSpectra)
        {
            var sourceFile = new FileInfo(Path.Combine(TestPath.ExtTestDataDirectory, path));

            if (!sourceFile.Exists)
            {
                Console.WriteLine("File not found: " + sourceFile.FullName);
                return;
            }

            var reader = new MzMLReader(Path.Combine(TestPath.ExtTestDataDirectory, sourceFile.FullName));
            //mzMLType mzMLData = reader.Read();
            var mzMLData = new MSData(reader.Read());

            Console.WriteLine("Spectrum count: " + mzMLData.Run.SpectrumList.Spectra.Count);
            Assert.AreEqual(expectedSpectra, mzMLData.Run.SpectrumList.Spectra.Count, "Spectrum count");
        }
Exemple #6
0
        public void MzMLIndexedReadTest(string path, int expectedSpectra)
        {
            var sourceFile = new FileInfo(Path.Combine(TestPath.ExtTestDataDirectory, path));

            if (!sourceFile.Exists)
            {
                Console.WriteLine("File not found: " + sourceFile.FullName);
                return;
            }

            var reader   = new MzMLReader(sourceFile.FullName);
            var mzMLData = reader.Read();

            Console.WriteLine("Spectrum count: " + mzMLData.run.spectrumList.count);
            Console.WriteLine("Array length: " + mzMLData.run.spectrumList.spectrum.Count);

            Assert.AreEqual(expectedSpectra.ToString(), mzMLData.run.spectrumList.count, "Spectrum Count");
            Assert.AreEqual(expectedSpectra, mzMLData.run.spectrumList.spectrum.Count, "Array length");
        }
Exemple #7
0
        public void MzMLWriteTest(string inPath, string outFolderName, int expectedSpectra)
        {
            var sourceFile = new FileInfo(Path.Combine(TestPath.ExtTestDataDirectory, inPath));

            if (!sourceFile.Exists)
            {
                Console.WriteLine("File not found: " + sourceFile.FullName);
                return;
            }

            if (sourceFile.DirectoryName == null)
            {
                throw new DirectoryNotFoundException("Cannot determine the parent folder of " + sourceFile.FullName);
            }

            var outFolder = new DirectoryInfo(Path.Combine(sourceFile.DirectoryName, outFolderName));

            if (!outFolder.Exists)
            {
                outFolder.Create();
            }

            var outFile = new FileInfo(Path.Combine(outFolder.FullName, sourceFile.Name));

            var reader   = new MzMLReader(Path.Combine(TestPath.ExtTestDataDirectory, inPath));
            var mzMLData = reader.Read();

            Console.WriteLine("Spectrum count: " + mzMLData.run.spectrumList.count);
            Console.WriteLine("Array length: " + mzMLData.run.spectrumList.spectrum.Count);

            Assert.AreEqual(expectedSpectra.ToString(), mzMLData.run.spectrumList.count, "Spectrum Count");
            Assert.AreEqual(expectedSpectra, mzMLData.run.spectrumList.spectrum.Count, "Array length");

            var writer = new MzMLWriter(Path.Combine(TestPath.ExtTestDataDirectory, outFile.FullName))
            {
                MzMLType = MzMLSchemaType.MzML
            };

            writer.Write(mzMLData);
        }
Exemple #8
0
        /// <summary>
        /// Gets the appropriate IMassSpecDataReader for the supplied path.
        /// It is recommended that "NormalizeDatasetPath" be called prior to calling this function, and that the returned string be used instead of the original path
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        /// <remarks>It is recommended that "NormalizeDatasetPath" be called prior to calling this function, and that the returned string be used instead of the original path</remarks>
        public static IMassSpecDataReader GetMassSpecDataReader(string filePath)
        {
            filePath = NormalizeDatasetPath(filePath);
            var type = GetMassSpecDataType(filePath);
            IMassSpecDataReader reader = null;

            switch (type)
            {
            case MassSpecDataType.XCaliburRun:
                reader = new XCaliburReader(filePath);
                break;

            case MassSpecDataType.MzMLFile:
                reader = new MzMLReader(filePath);
                break;

            case MassSpecDataType.PbfFile:
                reader = new PbfLcMsRun(filePath);
                break;

            case MassSpecDataType.DeconvolutedPbfFile:
                reader = new DPbfLcMsRun(filePath);
                break;

            case MassSpecDataType.Unknown:
                if (_pwizAvailable)
                {
                    reader = new ProteoWizardReader(filePath);
                }
                else
                {
                    ConsoleMsgUtils.ShowWarning(string.Format("WARNING: Could not find a reader for file \"{0}\"." +
                                                              " Is MSFileReader and/or ProteoWizard installed?", filePath));
                }
                break;
            }

            return(reader);
        }
Exemple #9
0
        [TestCase(@"\\proto-2\UnitTest_Files\InformedProteomics_TestFiles\MZML\VA139IMSMS_compressed.mzML", 3145)] // Centroid, Agilent QTOF, compressed binary data
		public void TestReadMzML(string filePath, int expectedSpectra)
		{
            var methodName = MethodBase.GetCurrentMethod().Name;
            TestUtils.ShowStarting(methodName, filePath);

			Stopwatch timer = new Stopwatch();
			timer.Start();
			var reader = new MzMLReader(filePath);
            var constTime = timer.Elapsed;
            Console.WriteLine(@"Constructor time: " + constTime);
		    var numSpectra = reader.NumSpectra;
            var metaTime = timer.Elapsed - constTime;
            Console.WriteLine(@"Metadata read time: " + metaTime);
            var spectra = reader.ReadAllSpectra();
            var spectraCount = spectra.Count();
			timer.Stop();
            Console.WriteLine(@"Spectra Read time: " + (timer.Elapsed - metaTime));
            Console.WriteLine(@"Time: " + timer.Elapsed);
            Assert.AreEqual(expectedSpectra, numSpectra, "NumSpectra");
            Assert.AreEqual(expectedSpectra, spectraCount, "SpectraCount");
            Assert.AreEqual(numSpectra, spectraCount, "NumSpectra vs. SpectraCount");
            reader.Close();
		}
Exemple #10
0
        public MainViewModel()
        {
            /*/
             * Window mainWindow;
             * Canvas myParentCanvas;
             * Canvas myCanvas1;
             * Canvas myCanvas2;
             * Canvas myCanvas3;
             *
             * // Create the application's main window
             * mainWindow = new Window();
             * mainWindow.Title = "Canvas Sample";
             *
             * // Create the Canvas
             * myParentCanvas = new Canvas();
             * myParentCanvas.Width = 400;
             * myParentCanvas.Height = 400;
             *
             * // Define child Canvas elements
             * myCanvas1 = new Canvas();
             * myCanvas1.Background = Brushes.Red;
             * myCanvas1.Height = 100;
             * myCanvas1.Width = 100;
             * Canvas.SetTop(myCanvas1, 0);
             * Canvas.SetLeft(myCanvas1, 0);
             *
             * myCanvas2 = new Canvas();
             * myCanvas2.Background = Brushes.Green;
             * myCanvas2.Height = 100;
             * myCanvas2.Width = 100;
             * Canvas.SetTop(myCanvas2, 100);
             * Canvas.SetLeft(myCanvas2, 100);
             *
             * myCanvas3 = new Canvas();
             * myCanvas3.Background = Brushes.Blue;
             * myCanvas3.Height = 100;
             * myCanvas3.Width = 100;
             * Canvas.SetTop(myCanvas3, 50);
             * Canvas.SetLeft(myCanvas3, 50);
             *
             * // Add child elements to the Canvas' Children collection
             * myParentCanvas.Children.Add(myCanvas1);
             * myParentCanvas.Children.Add(myCanvas2);
             * myParentCanvas.Children.Add(myCanvas3);
             *
             * // Add the parent Canvas as the Content of the Window Object
             * mainWindow.Content = myParentCanvas;
             * mainWindow.Show();
             * /*/
            const string datasetPathName = @"..\..\..\ExampleData\2016-07-28_QC-digest_HCD_01";
            const string identFile       = datasetPathName + "_msgfplus.mzid.gz";
            const string dataFileFixed   = datasetPathName + "_FIXED.mzML.gz";

            Console.WriteLine("Loading data from {0}", identFile);

            var reader     = new MzIdentMLReader();
            var psmResults = reader.Read(identFile);

            var haveScanTimes  = reader.HaveScanTimes;
            var dataFileExists = false;

            if (File.Exists(dataFileFixed))
            {
                Console.WriteLine();
                Console.WriteLine("Loading data from {0}", dataFileFixed);
                var mzML = new MzMLReader(dataFileFixed);
                mzML.ReadSpectraData(psmResults);
                dataFileExists = true;
                haveScanTimes  = true;
            }

            //this.OrigScanId = IdentDataPlotter.ScatterPlot(scanData, "ScanIdInt", "PpmError", "Scan Number: Original", OxyColors.Blue);
            //this.OrigCalcMz = IdentDataPlotter.ScatterPlot(scanData, "CalcMz", "PpmError", "M/Z: Original", OxyColors.Green);
            //this.FixScanId =  IdentDataPlotter.ScatterPlot(scanData, "ScanIdInt", "PpmErrorFixed", "Scan Number: Refined", OxyColors.Blue);
            //this.FixCalcMz =  IdentDataPlotter.ScatterPlot(scanData, "CalcMz", "PpmErrorFixed", "M/Z: Refined", OxyColors.Green);
            //this.OrigPpmErrorHist = IdentDataPlotter.Histogram(scanData, "PpmError", "Original", OxyColors.Blue, 0.5);
            //this.FixPpmErrorHist = IdentDataPlotter.Histogram(scanData, "PpmErrorFixed", "Refined", OxyColors.Green, 0.5);

            var options = new ErrorCharterOptions();
            var plotter = new IdentDataPlotter(options, datasetPathName);

            plotter.GeneratePNGPlots(psmResults, dataFileExists, haveScanTimes);

            AllVis  = plotter.ErrorScatterPlotBitmap;
            ErrHist = plotter.ErrorHistogramBitmap;
        }