示例#1
0
        public void CopyToScanner(clsMSFileInfoScanner scanner)
        {
            // Note: These values will be overridden if /P was used and they are defined in the parameter file

            scanner.UseCacheFiles               = UseCacheFiles;
            scanner.ReprocessExistingFiles      = ReprocessingExistingFiles;
            scanner.ReprocessIfCachedSizeIsZero = ReprocessIfCachedSizeIsZero;

            scanner.PlotWithPython               = PlotWithPython;
            scanner.SaveTICAndBPIPlots           = SaveTICAndBPIPlots;
            scanner.SaveLCMS2DPlots              = SaveLCMS2DPlots;
            scanner.LCMS2DPlotMaxPointsToPlot    = LCMS2DMaxPointsToPlot;
            scanner.LCMS2DOverviewPlotDivisor    = LCMS2DOverviewPlotDivisor;
            scanner.TestLCMSGradientColorSchemes = TestLCMSGradientColorSchemes;

            scanner.CheckCentroidingStatus = CheckCentroidingStatus;
            scanner.MS2MzMin = MS2MzMin;
            scanner.DisableInstrumentHash = DisableInstrumentHash;

            scanner.ScanStart     = ScanStart;
            scanner.ScanEnd       = ScanEnd;
            scanner.ShowDebugInfo = ShowDebugInfo;

            scanner.ComputeOverallQualityScores = ComputeOverallQualityScores;
            scanner.CreateDatasetInfoFile       = CreateDatasetInfoFile;
            scanner.CreateScanStatsFile         = CreateScanStatsFile;

            scanner.UpdateDatasetStatsTextFile = UpdateDatasetStatsTextFile;
            scanner.DatasetStatsTextFileName   = DatasetStatsTextFileName;

            scanner.CheckFileIntegrity = CheckFileIntegrity;
            scanner.RecheckFileIntegrityForExistingDirectories = ReprocessingExistingFiles;

            scanner.MaximumTextFileLinesToCheck = MaximumTextFileLinesToCheck;
            scanner.ComputeFileHashes           = ComputeFileHashes;
            scanner.ZipFileCheckAllData         = ZipFileCheckAllData;

            scanner.IgnoreErrorsWhenRecursing = IgnoreErrorsWhenRecursing;

            if (LogFilePath.Length > 0)
            {
                scanner.LogMessagesToFile = true;
                scanner.LogFilePath       = LogFilePath;
            }

            scanner.DatasetIDOverride      = DatasetID;
            scanner.DSInfoDBPostingEnabled = PostResultsToDMS;

            if (!string.IsNullOrEmpty(ParameterFilePath))
            {
                scanner.LoadParameterFileSettings(ParameterFilePath);
            }
        }
示例#2
0
        public static int Main()
        {
            int intReturnCode;
            var objParseCommandLine = new clsParseCommandLine();

            mInputDataFilePath = string.Empty;
            mOutputFolderName  = string.Empty;
            mParameterFilePath = string.Empty;
            mLogFilePath       = string.Empty;

            mRecurseFolders            = false;
            mRecurseFoldersMaxLevels   = 2;
            mIgnoreErrorsWhenRecursing = false;

            mReprocessingExistingFiles   = false;
            mReprocessIfCachedSizeIsZero = false;
            mUseCacheFiles = false;

            mSaveTICandBPIPlots           = true;
            mSaveLCMS2DPlots              = false;
            mLCMS2DMaxPointsToPlot        = clsLCMSDataPlotterOptions.DEFAULT_MAX_POINTS_TO_PLOT;
            mLCMS2DOverviewPlotDivisor    = clsLCMSDataPlotterOptions.DEFAULT_LCMS2D_OVERVIEW_PLOT_DIVISOR;
            mTestLCMSGradientColorSchemes = false;

            mCheckCentroidingStatus = false;

            mScanStart     = 0;
            mScanEnd       = 0;
            mShowDebugInfo = false;

            mComputeOverallQualityScores = false;
            mCreateDatasetInfoFile       = false;
            mCreateScanStatsFile         = false;

            mUpdateDatasetStatsTextFile = false;
            mDatasetStatsTextFileName   = string.Empty;

            mCheckFileIntegrity  = false;
            mComputeFileHashes   = false;
            mZipFileCheckAllData = true;

            mMaximumTextFileLinesToCheck = clsFileIntegrityChecker.DEFAULT_MAXIMUM_TEXT_FILE_LINES_TO_CHECK;

            mPostResultsToDMS = false;
            mPlotWithPython   = false;

            mLastProgressTime = DateTime.UtcNow;

            try
            {
                var blnProceed = false;
                if (objParseCommandLine.ParseCommandLine())
                {
                    if (SetOptionsUsingCommandLineParameters(objParseCommandLine))
                    {
                        blnProceed = true;
                    }
                }

                if (mInputDataFilePath == null)
                {
                    mInputDataFilePath = string.Empty;
                }


                if (!blnProceed || objParseCommandLine.NeedToShowHelp || objParseCommandLine.ParameterCount + objParseCommandLine.NonSwitchParameterCount == 0 || mInputDataFilePath.Length == 0)
                {
                    ShowProgramHelp();
                    return(-1);
                }

                var scanner = new clsMSFileInfoScanner();

                scanner.DebugEvent     += mMSFileScanner_DebugEvent;
                scanner.ErrorEvent     += mMSFileScanner_ErrorEvent;
                scanner.WarningEvent   += mMSFileScanner_WarningEvent;
                scanner.StatusEvent    += mMSFileScanner_MessageEvent;
                scanner.ProgressUpdate += mMSFileScanner_ProgressUpdate;

                if (mCheckFileIntegrity)
                {
                    mUseCacheFiles = true;
                }

                // Note: These values will be overridden if /P was used and they are defined in the parameter file

                scanner.UseCacheFiles               = mUseCacheFiles;
                scanner.ReprocessExistingFiles      = mReprocessingExistingFiles;
                scanner.ReprocessIfCachedSizeIsZero = mReprocessIfCachedSizeIsZero;

                scanner.PlotWithPython               = mPlotWithPython;
                scanner.SaveTICAndBPIPlots           = mSaveTICandBPIPlots;
                scanner.SaveLCMS2DPlots              = mSaveLCMS2DPlots;
                scanner.LCMS2DPlotMaxPointsToPlot    = mLCMS2DMaxPointsToPlot;
                scanner.LCMS2DOverviewPlotDivisor    = mLCMS2DOverviewPlotDivisor;
                scanner.TestLCMSGradientColorSchemes = mTestLCMSGradientColorSchemes;

                scanner.CheckCentroidingStatus = mCheckCentroidingStatus;

                scanner.ScanStart     = mScanStart;
                scanner.ScanEnd       = mScanEnd;
                scanner.ShowDebugInfo = mShowDebugInfo;

                scanner.ComputeOverallQualityScores = mComputeOverallQualityScores;
                scanner.CreateDatasetInfoFile       = mCreateDatasetInfoFile;
                scanner.CreateScanStatsFile         = mCreateScanStatsFile;

                scanner.UpdateDatasetStatsTextFile = mUpdateDatasetStatsTextFile;
                scanner.DatasetStatsTextFileName   = mDatasetStatsTextFileName;

                scanner.CheckFileIntegrity          = mCheckFileIntegrity;
                scanner.MaximumTextFileLinesToCheck = mMaximumTextFileLinesToCheck;
                scanner.ComputeFileHashes           = mComputeFileHashes;
                scanner.ZipFileCheckAllData         = mZipFileCheckAllData;

                scanner.IgnoreErrorsWhenRecursing = mIgnoreErrorsWhenRecursing;

                if (mLogFilePath.Length > 0)
                {
                    scanner.LogMessagesToFile = true;
                    scanner.LogFilePath       = mLogFilePath;
                }

                scanner.DatasetIDOverride      = mDatasetID;
                scanner.DSInfoDBPostingEnabled = mPostResultsToDMS;

                if (!string.IsNullOrEmpty(mParameterFilePath))
                {
                    scanner.LoadParameterFileSettings(mParameterFilePath);
                }

                if (mRecurseFolders)
                {
                    if (scanner.ProcessMSFilesAndRecurseFolders(mInputDataFilePath, mOutputFolderName, mRecurseFoldersMaxLevels))
                    {
                        intReturnCode = 0;
                    }
                    else
                    {
                        intReturnCode = (int)scanner.ErrorCode;
                    }
                }
                else
                {
                    if (scanner.ProcessMSFileOrFolderWildcard(mInputDataFilePath, mOutputFolderName, true))
                    {
                        intReturnCode = 0;
                    }
                    else
                    {
                        intReturnCode = (int)scanner.ErrorCode;
                        if (intReturnCode != 0)
                        {
                            ShowErrorMessage("Error while processing: " + scanner.GetErrorMessage());
                        }
                    }
                }

                scanner.SaveCachedResults();
            }
            catch (Exception ex)
            {
                ShowErrorMessage("Error occurred in modMain->Main: " + Environment.NewLine + ex.Message);
                intReturnCode = -1;
            }

            return(intReturnCode);
        }