public class UnsortedBasecallsConverter<CLUSTER_OUTPUT_RECORD> extends BasecallsConverter<CLUSTER_OUTPUT_RECORD>
The underlying IlluminaDataProvider applies several optional transformations that can include EAMSS filtering, non-PF read filtering and quality score recoding using a BclQualityEvaluationStrategy.
The converter can also limit the scope of data that is converted from the data provider by setting the tile to start on (firstTile) and the total number of tiles to process (tileLimit).
Additionally, BasecallsConverter can optionally demultiplex reads by outputting barcode specific reads to their associated writers.
BasecallsConverter.ClusterDataConverter<OUTPUT_RECORD>, BasecallsConverter.CompletedWorkChecker, BasecallsConverter.ConvertedClusterDataWriter<OUTPUT_RECORD>
barcodeRecordWriterMap, completedWork, completedWorkExecutor, converter, DATA_TYPES_WITH_BARCODE, DATA_TYPES_WITHOUT_BARCODE, demultiplex, factory, ignoreUnexpectedBarcodes, includeNonPfReads, log, numThreads, readProgressLogger, TILE_NUMBER_COMPARATOR, tileProcessingComplete, tileReadExecutor, tiles, tileWriteExecutor, writeProgressLogger
Modifier | Constructor and Description |
---|---|
protected |
UnsortedBasecallsConverter(java.io.File basecallsDir,
java.io.File barcodesDir,
int lane,
ReadStructure readStructure,
java.util.Map<java.lang.String,? extends BasecallsConverter.ConvertedClusterDataWriter<CLUSTER_OUTPUT_RECORD>> barcodeRecordWriterMap,
boolean demultiplex,
int numThreads,
java.lang.Integer firstTile,
java.lang.Integer tileLimit,
BclQualityEvaluationStrategy bclQualityEvaluationStrategy,
boolean ignoreUnexpectedBarcodes,
boolean applyEamssFiltering,
boolean includeNonPfReads)
Constructs a new BasecallsConverter object.
|
Modifier and Type | Method and Description |
---|---|
void |
processTilesAndWritePerSampleOutputs(java.util.Set<java.lang.String> barcodes)
Set up tile processing and record writing threads for this converter.
|
awaitTileProcessingCompletion, getDataTypesFromReadStructure, getFactory, getTiledFiles, interruptAndShutdownExecutors, notifyWorkComplete, setConverter, setTileLimits
protected UnsortedBasecallsConverter(java.io.File basecallsDir, java.io.File barcodesDir, int lane, ReadStructure readStructure, java.util.Map<java.lang.String,? extends BasecallsConverter.ConvertedClusterDataWriter<CLUSTER_OUTPUT_RECORD>> barcodeRecordWriterMap, boolean demultiplex, int numThreads, java.lang.Integer firstTile, java.lang.Integer tileLimit, BclQualityEvaluationStrategy bclQualityEvaluationStrategy, boolean ignoreUnexpectedBarcodes, boolean applyEamssFiltering, boolean includeNonPfReads)
basecallsDir
- Where to read basecalls from.barcodesDir
- Where to read barcodes from (optional; use basecallsDir if not specified).lane
- What lane to process.readStructure
- How to interpret each cluster.barcodeRecordWriterMap
- Map from barcode to CLUSTER_OUTPUT_RECORD writer. If demultiplex is false, must contain
one writer stored with key=null.demultiplex
- If true, output is split by barcode, otherwise all are written to the same output stream.numThreads
- Controls number of threads. If <= 0, the number of threads allocated is
available cores - numProcessors.firstTile
- (For debugging) If non-null, start processing at this tile.tileLimit
- (For debugging) If non-null, process no more than this many tiles.bclQualityEvaluationStrategy
- The basecall quality evaluation strategy that is applyed to decoded base calls.ignoreUnexpectedBarcodes
- If true, will ignore reads whose called barcode is not found in barcodeRecordWriterMap.applyEamssFiltering
- If true, apply EAMSS filtering if parsing BCLs for bases and quality scores.includeNonPfReads
- If true, will include ALL reads (including those which do not have PF set).public void processTilesAndWritePerSampleOutputs(java.util.Set<java.lang.String> barcodes)
processTilesAndWritePerSampleOutputs
in class BasecallsConverter<CLUSTER_OUTPUT_RECORD>
barcodes
- The barcodes used for demultiplexing. When there is no demultiplexing done this should be a Set
containing a single null value.