System.exit(new FastqToSam().instanceMain(argv));
}
/* Simply invokes the right method for unpaired or paired data. */
protected int doWork() {
final QualityEncodingDetector detector = new QualityEncodingDetector();
final FastqReader reader = new FastqReader(FASTQ,ALLOW_AND_IGNORE_EMPTY_LINES);
if (FASTQ2 == null) {
detector.add(QualityEncodingDetector.DEFAULT_MAX_RECORDS_TO_ITERATE, reader);
} else {
final FastqReader reader2 = new FastqReader(FASTQ2,ALLOW_AND_IGNORE_EMPTY_LINES);
detector.add(QualityEncodingDetector.DEFAULT_MAX_RECORDS_TO_ITERATE, reader, reader2);
reader2.close();
}
reader.close();
QUALITY_FORMAT = detector.generateBestGuess(QualityEncodingDetector.FileContext.FASTQ, QUALITY_FORMAT);
if (detector.isDeterminationAmbiguous())
LOG.warn("Making ambiguous determination about fastq's quality encoding; more than one format possible based on observed qualities.");
LOG.info(String.format("Auto-detected quality format as: %s.", QUALITY_FORMAT));
final int readCount = (FASTQ2 == null) ? doUnpaired() : doPaired();
LOG.info("Processed " + readCount + " fastq reads");