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()