/// <summary>
 /// Constructor
 /// </summary>
 public SpectraManagerCache(PHRPReader.PeptideMassCalculator peptideMassCalculator)
 {
     _mzMLManager = new MzMLManager(peptideMassCalculator);
     _dtaManager  = new DtaManager(peptideMassCalculator);
     RegisterEvents(_dtaManager);
     RegisterEvents(_mzMLManager);
 }
예제 #2
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="mzXmlPath"></param>
        /// <param name="peptideMassCalculator"></param>
        private MzXmlManager(string mzXmlPath, PHRPReader.PeptideMassCalculator peptideMassCalculator)
        {
            mPeptideMassCalculator = peptideMassCalculator;

            try
            {
                // Note: prior to October 2017 the dataset name was determined by removing the last 4 characters from datasetName
                // That logic seemed flawed and has thus been removed
                if (mzXmlPath.EndsWith(".gz", StringComparison.OrdinalIgnoreCase))
                {
                    DatasetName = Path.GetFileNameWithoutExtension(Path.GetFileNameWithoutExtension(mzXmlPath));
                }
                else
                {
                    DatasetName = Path.GetFileNameWithoutExtension(mzXmlPath);
                }

                mzAccessor = new clsMzXMLFileAccessor();
                mzAccessor.OpenFile(mzXmlPath);
            }
            catch (DirectoryNotFoundException)
            {
                throw new DirectoryNotFoundException("The specified directory for " +
                                                     "the mzXml could not be found!");
            }
            catch (FileNotFoundException)
            {
                var filename = Path.GetFileName(mzXmlPath);
                throw new FileNotFoundException("The specified mzXml file \"" +
                                                filename + "\" could not be found!");
            }
        }