示例#1
0
        public IParsingResult <IModeLauncher> Parse(
            MainParser main, ILogger logger, ISettings settings, ICheckpointRunner checkpointRunner,
            IWorkDoer workDoer, string[] args, TextWriter standardWriter, TextWriter errorWriter)
        {
            var results = main.GetParseResults(args);

            var parsingResult = checkpointRunner.RunCheckpoint("Validate input", () =>
            {
                if (!results.Validate(out IParsingResult <IModeLauncher> failedResult))
                {
                    return(ParsingResult <T> .FailedResult(failedResult.ErrorMessage));
                }
                var successfulResults = new SuccessfulResultCollection(results);
                var commonOptions     = successfulResults.Get(MainParser.CommonOptionsParser);
                return(GetSerializedResult(successfulResults, commonOptions));
            });

            if (!parsingResult.Success)
            {
                ShowError(main, logger.Error, parsingResult.ErrorMessage);
                return(ParsingResult <IModeLauncher> .FailedResult(parsingResult));
            }
            var runner = GetRunner(parsingResult.Result);

            return(ParsingResult <IModeLauncher> .SuccessfulResult(new ModeLauncher(logger, settings, checkpointRunner, workDoer, runner, args, main.GetVersion(), Name)));
        }
 public CoverageVisualizationWriterFactory(ILogger logger, IWorkDoer workDoer, ICommandManager commandManager, GenomeMetadata genome)
 {
     _logger         = logger;
     _workDoer       = workDoer;
     _commandManager = commandManager;
     _genome         = genome;
 }
示例#3
0
        private IParsingResult <IModeLauncher> Parse(
            ILogger logger, ISettings settings, ICheckpointRunner checkpointRunner,
            IWorkDoer workDoer, string[] args, TextWriter standardWriter, TextWriter errorWriter)
        {
            var mode = _modeParsers[args[0]];

            return(mode.Parse(this, logger, settings, checkpointRunner, workDoer, args, standardWriter, errorWriter));
        }
示例#4
0
 public CanvasRunnerFactory(ILogger logger, ICheckpointRunner checkpointRunner,
                            IWorkDoer workDoer, IFileLocation runtimeExecutable, Func <string, ICommandFactory> runtimeCommandPrefix)
 {
     _logger               = logger;
     _checkpointRunner     = checkpointRunner;
     _workDoer             = workDoer;
     _runtimeExecutable    = runtimeExecutable;
     _runtimeCommandPrefix = runtimeCommandPrefix;
 }
 public ChunkReaderQueue(IChunkReader chunkReader, IWorkDoer workDoer, int queueLength)
 {
     _WorkDoer               = workDoer;
     _QueueLength            = queueLength;
     ChunkReader             = chunkReader;
     _WaitForAddEvent        = new ManualResetEventSlim(false);
     _WaitForRemoveEvent     = new ManualResetEventSlim(true);
     _ChunkInProgressIndices = new int[workDoer.ThreadCount];
 }
示例#6
0
 public SmallPedigreeCheckpointFactory(
     IWorkDoer workDoer,
     ILogger logger,
     ExecutableProcessor executableProcessor,
     IFileLocation pedigreefileNameStub,
     CanvasWorkerFactory canvasWorkerFactory)
 {
     _workDoer             = workDoer;
     _logger               = logger;
     _executableProcessor  = executableProcessor;
     _pedigreefileNameStub = pedigreefileNameStub;
     _canvasWorkerFactory  = canvasWorkerFactory;
 }
示例#7
0
 public ModeLauncher(
     ILogger logger, ISettings settings, ICheckpointRunner checkpointRunner,
     IWorkDoer workDoer, IModeRunner modeRunner, IEnumerable <string> args, string version, string mode)
 {
     _logger           = logger;
     _settings         = settings;
     _checkpointRunner = checkpointRunner;
     _workDoer         = workDoer;
     _modeRunner       = modeRunner;
     _args             = args;
     _version          = version;
     _mode             = mode;
 }
 public CanvasEnrichmentCnvCaller(IWorkDoer workDoer, ILogger logger, IFileLocation canvasExe, IFileLocation runtimeExecutable,
                                  ICanvasAnnotationFileProvider annotationFileProvider,
                                  ICanvasSingleSampleInputCommandLineBuilder singleSampleInputCommandLineBuilder,
                                  CanvasEnrichmentInputCreator <CanvasEnrichmentInput> enrichmentInputCreator,
                                  CanvasPloidyVcfCreator canvasPloidyVcfCreator)
 {
     _workDoer               = workDoer;
     _logger                 = logger;
     _canvasExe              = canvasExe;
     _runtimeExecutable      = runtimeExecutable;
     _annotationFileProvider = annotationFileProvider;
     _singleSampleInputCommandLineBuilder = singleSampleInputCommandLineBuilder;
     _enrichmentInputCreator = enrichmentInputCreator;
     _canvasPloidyVcfCreator = canvasPloidyVcfCreator;
 }
 public CanvasSmallPedigreeWrapper(
     IWorkDoer workDoer,
     ILogger logger,
     IFileLocation canvasExe, IFileLocation runtimeExecutable,
     ICanvasAnnotationFileProvider annotationFileProvider,
     ICanvasSingleSampleInputCommandLineBuilder singleSampleInputCommandLineBuilder,
     CanvasPloidyVcfCreator canvasPloidyVcfCreator)
 {
     _workDoer  = workDoer;
     _logger    = logger;
     _canvasExe = canvasExe;
     _annotationFileProvider = annotationFileProvider;
     _singleSampleInputCommandLineBuilder = singleSampleInputCommandLineBuilder;
     _canvasPloidyVcfCreator = canvasPloidyVcfCreator;
     _runtimeExecutable      = runtimeExecutable;
 }
示例#10
0
 public CanvasWorkerFactory(
     ISettings sampleSettings,
     IWorkDoer workDoer,
     ILogger logger,
     ExecutableProcessor executableProcessor,
     DbSnpVcfProcessor dbSnpVcfProcessor,
     bool detectCnvDefault,
     TabixWrapper tabixWrapper, ICommandManager commandManager)
 {
     _workDoer            = workDoer;
     _sampleSettings      = sampleSettings;
     _logger              = logger;
     _executableProcessor = executableProcessor;
     _dbSnpVcfProcessor   = dbSnpVcfProcessor;
     _detectCnvDefault    = detectCnvDefault;
     _tabixWrapper        = tabixWrapper;
     _commandManager      = commandManager;
 }