/** ** Copyright (c) 2007-2009 Illumina, Inc. ** ** This software is covered by the "Illumina Genome Analyzer Software ** License Agreement" and the "Illumina Source Code License Agreement", ** and certain third party copyright/licenses, and any user of this ** source file is bound by the terms therein (see accompanying files ** Illumina_Genome_Analyzer_Software_License_Agreement.pdf and ** Illumina_Source_Code_License_Agreement.pdf and third party ** copyright/license notices). ** ** This file is part of the Consensus Assessment of Sequence And VAriation ** (CASAVA) software package. ** ** \file demultiplexTile.cpp ** ** \brief Demultiplex samples (per tile). ** ** Entry point for the application that splits the base call directories from ** RTA and from the pipeline into a number of subdirectories where every lane ** contains at most one sample. ** ** \author Roman Petrovski **/ #include "common/Compression.hh" #include "demultiplex/DemultiplexBclsOptions.hh" #include "demultiplex/BclToFastqDemultiplexer.hh" using casava::demultiplex::DemultiplexBclsOptions; namespace cc=casava::common; void demultiplex(const DemultiplexBclsOptions &options, const cc::Compression &compressor) { const casava::demultiplex::BarcodeTranslationTable barcodeDirectories( options.outputDirectory, options.unknownBarcode, options.componentMaxMismatches, options.samples, options.barcodes, options.demuxDirNames); std::cerr << barcodeDirectories << "\n"; casava::demultiplex::BclToFastqDemultiplexer demultiplexer( options.instrumentName, options.runNumber, options.flowCellId, options.lane, options.tiles, options.readCycles, options.inputReadNumbers, options.outputReadNumbers, options.barcodeCycles, barcodeDirectories, options.basecallsDirectory, options.outputFormat, options.fastqClusterCount, options.createMissingFolders, options.createDemuxIndex, options.intensitiesDirectory, options.inputPositionsDir, options.inputPositionsFileType, options.inputFilterDir, options.filterPerRead, options.needSeparateControls, compressor, options.outputSummaryFilePath, options.withEamss, options.ignoreMissingBcl, options.ignoreMissingCtrl, options.withFailedReads, options.readAdapterSequences); demultiplexer.run(); } void demultiplex(const DemultiplexBclsOptions &options) { if ("gzip" == options.compression) { demultiplex(options, cc::makeCompressionFilter(options.gzParams)); } else { demultiplex(options, cc::CompressionFactory::get(options.compression)); } } int main(int argc, char *argv[]) { casava::common::run(demultiplex, argc, argv); }