示例#1
0
 public int Launch()
 {
     CommonOptions commonOptions = _modeRunner.CommonOptions;
     IDirectoryLocation outFolder = commonOptions.OutputDirectory;
     var log = outFolder.GetFileLocation("CanvasLog.txt");
     var error = outFolder.GetFileLocation("CanvasError.txt");
     using (ILogger logger = new Logger(log, error))
     {
         try
         {
             logger.Info($"Running Canvas {_mode} {_version}");
             logger.Info($"Command-line arguments: {string.Join(" ", _args)}");
             using (ICheckpointRunner checkpointRunner =
                 GetCheckpointRunner(
                     logger,
                     outFolder,
                     commonOptions.StartCheckpoint,
                     commonOptions.StopCheckpoint,
                     commonOptions.WholeGenomeFasta))
             {
                 IDirectoryLocation loggingFolder = outFolder.CreateSubdirectory(IsasFilePaths.LoggingFolderName);
                 IsasConfiguration config = IsasConfiguration.GetConfiguration();
                 IWorkManager workManager = new LocalWorkManager(logger, loggingFolder, 0, config.MaximumMemoryGB, config.MaximumHoursPerProcess);
                 _modeRunner.Run(logger, checkpointRunner, workManager);
             }
         }
         catch (Exception e)
         {
             logger.Error($"Canvas workflow error: {e}");
             return -1;
         }
     }
     return 0;
 }
示例#2
0
        public int Launch()
        {
            CommonOptions      commonOptions = _modeRunner.CommonOptions;
            IDirectoryLocation outFolder     = commonOptions.OutputDirectory;
            var log   = outFolder.GetFileLocation("CanvasLog.txt");
            var error = outFolder.GetFileLocation("CanvasError.txt");

            using (ILogger logger = new Logger(log, error))
            {
                try
                {
                    logger.Info($"Running Canvas {_mode} {_version}");
                    logger.Info($"Command-line arguments: {string.Join(" ", _args)}");
                    var checkpointRunner =
                        GetCheckpointRunner(
                            logger,
                            outFolder,
                            commonOptions.StartCheckpoint,
                            commonOptions.StopCheckpoint,
                            commonOptions.WholeGenomeFasta);
                    using (var manager = checkpointRunner.Manager)
                    {
                        IDirectoryLocation loggingFolder = outFolder.CreateSubdirectory("Logging");
                        IsasConfiguration  config        = IsasConfiguration.GetConfiguration();
                        IWorkManager       workManager   = new LocalWorkManager(logger, loggingFolder, 0, config.MaximumMemoryGB, config.MaximumHoursPerProcess);
                        _modeRunner.Run(logger, checkpointRunner, workManager);
                        manager.CheckFinalState();
                    }
                }
                catch (StopCheckpointFoundException) { }
                catch (Exception e)
                {
                    logger.Error($"Canvas workflow error: {e}");
                    return(-1);
                }
            }
            return(0);
        }