public ClassificationBlockProvider(GeminiOptions geminiOptions, string chrom, ConcurrentDictionary <string, int> progressTracker, ConcurrentDictionary <PairClassification, int> categoryLookup, PairResultActionBlockFactoryProvider actionBlockFactoryProvider, IAggregateRegionProcessor aggregateRegionProcessor, bool lightDebug, PairResultBatchBlockFactory batchBlockFactory, IBinEvidenceFactory binEvidenceFactory, List <PairClassification> categoriesForRealignment, int maxDegreeOfParallelism) { _geminiOptions = geminiOptions; _chrom = chrom; _progressTracker = progressTracker; _categoryLookup = categoryLookup; _maxDegreeOfParallelism = maxDegreeOfParallelism; _actionBlockFactoryProvider = actionBlockFactoryProvider; _aggregateRegionProcessor = aggregateRegionProcessor; _lightDebug = lightDebug; _binEvidenceFactory = binEvidenceFactory; _categoriesForRealignment = categoriesForRealignment; _batchBlockFactory = batchBlockFactory; }
public IClassificationBlockProvider GetBlockProvider(Dictionary <int, string> refIdMapping, string chrom, IWriterSource writerSource, ConcurrentDictionary <string, int> progressTracker, ConcurrentDictionary <PairClassification, int> categoryLookup, ConcurrentDictionary <string, IndelEvidence> masterIndelLookup, ConcurrentDictionary <HashableIndel, int[]> masterOutcomesLookup, ConcurrentDictionary <HashableIndel, int> masterFinalIndels, ChrReference chrReference) { var actionBlockFactoryProvider = new PairResultActionBlockFactoryProvider(writerSource, _geminiOptions.Debug, _geminiOptions.LightDebug, chrom, _geminiSampleOptions.RefId.Value, _maxDegreeOfParallelism, _stitcherOptions.FilterForProperPairs, _geminiOptions.MessySiteWidth, progressTracker, categoryLookup); var aggregateProcessor = new AggregateRegionProcessor(chrReference, refIdMapping, _bamRealignmentFactory, _geminiOptions, _geminiFactory, chrom, _dataSourceFactory, _realignmentOptions, masterIndelLookup, masterOutcomesLookup, masterFinalIndels, _realignmentOptions.CategoriesForRealignment, progressTracker); var batchBlockFactory = new PairResultBatchBlockFactory(_geminiOptions.ReadCacheSize / 5); return(new ClassificationBlockProvider(_geminiOptions, chrom, progressTracker, categoryLookup, actionBlockFactoryProvider, aggregateProcessor, _geminiOptions.LightDebug, batchBlockFactory, new BinEvidenceFactory(_geminiOptions, _geminiSampleOptions), _realignmentOptions.CategoriesForRealignment, _maxDegreeOfParallelism)); }