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; }
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); }