CLUSTER_OUTPUT_RECORD - The class to which a ClusterData is converted in preparation for writing.public class IlluminaBasecallsConverter<CLUSTER_OUTPUT_RECORD>
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
IlluminaBasecallsConverter.ClusterDataConverter<OUTPUT_RECORD> |
static interface |
IlluminaBasecallsConverter.ConvertedClusterDataWriter<OUTPUT_RECORD> |
| Modifier and Type | Field and Description |
|---|---|
static IlluminaDataType[] |
DATA_TYPES_NO_BARCODE |
static java.util.Comparator<java.lang.Integer> |
TILE_NUMBER_COMPARATOR
A comparator for tile numbers, which are not necessarily ordered by the number's value.
|
| Constructor and Description |
|---|
IlluminaBasecallsConverter(java.io.File basecallsDir,
java.io.File barcodesDir,
int lane,
ReadStructure readStructure,
java.util.Map<java.lang.String,? extends IlluminaBasecallsConverter.ConvertedClusterDataWriter<CLUSTER_OUTPUT_RECORD>> barcodeRecordWriterMap,
boolean demultiplex,
int maxReadsInRamPerTile,
java.util.List<java.io.File> tmpDirs,
int numProcessors,
boolean forceGc,
java.lang.Integer firstTile,
java.lang.Integer tileLimit,
java.util.Comparator<CLUSTER_OUTPUT_RECORD> outputRecordComparator,
htsjdk.samtools.util.SortingCollection.Codec<CLUSTER_OUTPUT_RECORD> codecPrototype,
java.lang.Class<CLUSTER_OUTPUT_RECORD> outputRecordClass,
BclQualityEvaluationStrategy bclQualityEvaluationStrategy,
boolean applyEamssFiltering,
boolean includeNonPfReads,
boolean ignoreUnexpectedBarcodes) |
IlluminaBasecallsConverter(java.io.File basecallsDir,
int lane,
ReadStructure readStructure,
java.util.Map<java.lang.String,? extends IlluminaBasecallsConverter.ConvertedClusterDataWriter<CLUSTER_OUTPUT_RECORD>> barcodeRecordWriterMap,
boolean demultiplex,
int maxReadsInRamPerTile,
java.util.List<java.io.File> tmpDirs,
int numProcessors,
boolean forceGc,
java.lang.Integer firstTile,
java.lang.Integer tileLimit,
java.util.Comparator<CLUSTER_OUTPUT_RECORD> outputRecordComparator,
htsjdk.samtools.util.SortingCollection.Codec<CLUSTER_OUTPUT_RECORD> codecPrototype,
java.lang.Class<CLUSTER_OUTPUT_RECORD> outputRecordClass,
BclQualityEvaluationStrategy bclQualityEvaluationStrategy,
boolean applyEamssFiltering,
boolean includeNonPfReads,
boolean ignoreUnexpectedBarcodes) |
| Modifier and Type | Method and Description |
|---|---|
void |
doTileProcessing()
Do the work, i.e.
|
IlluminaDataProviderFactory |
getFactory()
In case caller needs to get some info from factory.
|
void |
setConverter(IlluminaBasecallsConverter.ClusterDataConverter<CLUSTER_OUTPUT_RECORD> converter)
Must be called before doTileProcessing.
|
public static final IlluminaDataType[] DATA_TYPES_NO_BARCODE
public static final java.util.Comparator<java.lang.Integer> TILE_NUMBER_COMPARATOR
public IlluminaBasecallsConverter(java.io.File basecallsDir,
int lane,
ReadStructure readStructure,
java.util.Map<java.lang.String,? extends IlluminaBasecallsConverter.ConvertedClusterDataWriter<CLUSTER_OUTPUT_RECORD>> barcodeRecordWriterMap,
boolean demultiplex,
int maxReadsInRamPerTile,
java.util.List<java.io.File> tmpDirs,
int numProcessors,
boolean forceGc,
java.lang.Integer firstTile,
java.lang.Integer tileLimit,
java.util.Comparator<CLUSTER_OUTPUT_RECORD> outputRecordComparator,
htsjdk.samtools.util.SortingCollection.Codec<CLUSTER_OUTPUT_RECORD> codecPrototype,
java.lang.Class<CLUSTER_OUTPUT_RECORD> outputRecordClass,
BclQualityEvaluationStrategy bclQualityEvaluationStrategy,
boolean applyEamssFiltering,
boolean includeNonPfReads,
boolean ignoreUnexpectedBarcodes)
basecallsDir - Where to read basecalls from.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.maxReadsInRamPerTile - Configures number of reads each tile will store in RAM before spilling to disk.tmpDirs - For SortingCollection spilling.numProcessors - Controls number of threads. If <= 0, the number of threads allocated is
available cores - numProcessors.forceGc - Force explicit GC periodically. This is good for causing memory maps to be released.firstTile - (For debugging) If non-null, start processing at this tile.tileLimit - (For debugging) If non-null, process no more than this many tiles.outputRecordComparator - For sorting output records within a single tile.codecPrototype - For spilling output records to disk.outputRecordClass - Inconveniently needed to create SortingCollections.includeNonPfReads - If true, will include ALL reads (including those which do not have PF set)ignoreUnexpectedBarcodes - If true, will ignore reads whose called barcode is not found in barcodeRecordWriterMap,
otherwise will throw an exceptionpublic IlluminaBasecallsConverter(java.io.File basecallsDir,
java.io.File barcodesDir,
int lane,
ReadStructure readStructure,
java.util.Map<java.lang.String,? extends IlluminaBasecallsConverter.ConvertedClusterDataWriter<CLUSTER_OUTPUT_RECORD>> barcodeRecordWriterMap,
boolean demultiplex,
int maxReadsInRamPerTile,
java.util.List<java.io.File> tmpDirs,
int numProcessors,
boolean forceGc,
java.lang.Integer firstTile,
java.lang.Integer tileLimit,
java.util.Comparator<CLUSTER_OUTPUT_RECORD> outputRecordComparator,
htsjdk.samtools.util.SortingCollection.Codec<CLUSTER_OUTPUT_RECORD> codecPrototype,
java.lang.Class<CLUSTER_OUTPUT_RECORD> outputRecordClass,
BclQualityEvaluationStrategy bclQualityEvaluationStrategy,
boolean applyEamssFiltering,
boolean includeNonPfReads,
boolean ignoreUnexpectedBarcodes)
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.maxReadsInRamPerTile - Configures number of reads each tile will store in RAM before spilling to disk.tmpDirs - For SortingCollection spilling.numProcessors - Controls number of threads. If <= 0, the number of threads allocated is
available cores - numProcessors.forceGc - Force explicit GC periodically. This is good for causing memory maps to be released.firstTile - (For debugging) If non-null, start processing at this tile.tileLimit - (For debugging) If non-null, process no more than this many tiles.outputRecordComparator - For sorting output records within a single tile.codecPrototype - For spilling output records to disk.outputRecordClass - Inconveniently needed to create SortingCollections.includeNonPfReads - If true, will include ALL reads (including those which do not have PF set)ignoreUnexpectedBarcodes - If true, will ignore reads whose called barcode is not found in barcodeRecordWriterMap,
otherwise will throw an exceptionpublic void setConverter(IlluminaBasecallsConverter.ClusterDataConverter<CLUSTER_OUTPUT_RECORD> converter)
converter - Converts ClusterData to CLUSTER_OUTPUT_RECORDpublic IlluminaDataProviderFactory getFactory()
public void doTileProcessing()