Illumina machines that run in paired-end, dual-index mode will generate four reads for each "spot", read 1, read 2, read 3, and read 4. Two of the reads are the paired-end reads, and two are index reads. The fastq_paired_end_joiner.py tool is hardcoded to only work with read numbers 1 and 2, causing errors otherwise (see lines 42-52 in fastq_paired_end_joiner.py). This tool would be much more useful if it was flexible enough to accept any numbers, as long as the first part of the ID string matches, there should be no error.