/**
* In extract illumina barcodes we NEVER want to look at the template reads, therefore replace them with skips because
* IlluminaDataProvider and its factory will not open these nor produce ClusterData with the template reads in them, thus reducing
* the file IO and value copying done by the data provider
*/
readStructure = new ReadStructure(READ_STRUCTURE.replaceAll("T", "S"));
final IlluminaDataType[] datatypes = (MINIMUM_BASE_QUALITY > 0) ?
new IlluminaDataType[]{IlluminaDataType.BaseCalls, IlluminaDataType.PF, IlluminaDataType.QualityScores} :
new IlluminaDataType[]{IlluminaDataType.BaseCalls, IlluminaDataType.PF};
factory = new IlluminaDataProviderFactory(BASECALLS_DIR, LANE, readStructure, bclQualityEvaluationStrategy, datatypes);