TL;DR: Looking for way to disable errors caused by possible index collision in Illumina's bcl2fastq v2.20...OR...does anyone know where older versions (e.g. 2.15) are archived?
While upgrading our internal demultiplex pipeline, I decided to upgrade to Illumina's latest bcl2fastq v2.20 software. When running through a recent flowcell, it failed, reporting:
2018-01-26 14:46:34,158:INFO:b'std::exception::what: Barcode collision for barcodes: GTGAAAC, GTGATCC\n' 2018-01-26 14:46:34,158:INFO:b"By default, bcl2fastq allows 1 mismatch in each barcode. Barcodes with too few mismatches are ambiguous ( less than 2 times the number of mismatches plus 1). To reduce the number of allowed mismatches, use the command line option: '--barcode-mismatches'. Note that particularly for barcodes with only 1 mismatch, there is the danger that some reads will be written to the wrong sample due to errors in the barcode sequence.\n"
Due to high levels of multiplexing in some amplicon settings (as well as libraries prepared externally), it's very likely we will encounter situations (like above) where the indexes have an edit distance of 2 (not ideal, but that's just reality). In prior versions (we were using 2.15), demux (with mismatch tolerance=1) this was apparently permitted (don't see any warnings, even).
For 2.20, I cannot find any option to WARN, but not completely fail the demux process. Setting index mismatches to zero seems a bit too strict, and I'm comfortable with allowing 1 mismatch AND edit distances of >=2.
The alternative (while sticking with illumina software) is to simply fall back to 2.15/16, but I cannot find any downloads or archives. Anyone have any idea where those might be kept?
Thanks!
Why don't you just specify the mismatch allowance with the
--barcode-mismatches
option, as suggested in the error message? All versions of bcl2fastq since at least 2.0 have this behavior.That's not what the poster wants. He wants the index AGTAAAC to be recognized as a one-off of GTGAAAC; setting mismatches to zero will prevent that.
Ah, I totally misunderstood that, thanks.