To reproduce the bug, compare the output of these bowtie2 calls, specifically the samflags:
bowtie2 --score-min G,20,5 --very-sensitive --local -x fusion_seqs.fasta -1 bad_read_R1.fastq -2 bad_read_R2.fastq | grep TGGCGTGCCGTGCATTTAAAAAAAAAAAAAAAAAAA_molbar_1
TGGCGTGCCGTGCATTTAAAAAAAAAAAAAAAAAAA_molbar_1 153 13 1484 2 106S45M = 1484 0 AAAAACCCACTGAATTGTATACTTTAAATGGGTAAATTTTATGTATGTGAATTACAGCTCAATAAAGCCATTGATTACAGGAGAATATATATATTTTTCCATCTCCAGGCCCAGCCTCCGTTATCAGCAATGATGATGACTCTGCCAGCCC FFF<FFFFAF)FFFF<AFFFF<FF<AFFF7<<AFFFFFFFA<AFAAF7FFFAFAFFFFFFF.<F<FFFFFF<FFFFAFAFFFAFFFFFFFFFFAFFFFFFFFFFFFA<FFFFFAFFFFFF.A<AFFFFFAF<FFFFAFFFFFFFFFAAAAA AS:i:90 XS:i:88 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:45 YT:Z:UP
TGGCGTGCCGTGCATTTAAAAAAAAAAAAAAAAAAA_molbar_1 69 13 1484 0 * = 1484 0 CGTGCATTTATCAGATCAAAACCAACCCGGTCAGCCCCTCTCCGGCCTCGGCCGGGGGCGGGCGCCGGCGGCTTTGGACTACTCTGTGAATATACTAAAGCCCACTGAATTGTGTACTTTAAATGGGTTA FFFFFFF<FFFAFFAFFAF..FF.)FFFFFFFAFAF.FFFFF7FFFFFFFFAAFFFFFFFFFFF7FFF<FFAA)AFF.<A.FFFFFFFA.<F..F.)A.)AF.7FF<.AFFFA.FA<..A7FF.AFF<.F YT:Z:UP
=======
bowtie2 --score-min G,20,5 --very-sensitive --local -x fusion_seqs.fasta -1 all_reads_R1.fastq -2 all_reads_R2.fastq | grep TGGCGTGCCGTGCATTTAAAAAAAAAAAAAAAAAAA_molbar_1
TGGCGTGCCGTGCATTTAAAAAAAAAAAAAAAAAAA_molbar_1 147 1 1563 22 107S44M 1 1409 -390 AAAAACCCACTGAATTGTATACTTTAAATGGGTAAATTTTATGTATGTGAATTACAGCTCAATAAAGCCATTGATTACAGGAGAATATATATATTTTTCCATCTCCAGGCCCAGCCTCCGTTATCAGCAATGATGATGACTCTGCCAGCCC FFF<FFFFAF)FFFF<AFFFF<FF<AFFF7<<AFFFFFFFA<AFAAF7FFFAFAFFFFFFF.<F<FFFFFF<FFFFAFAFFFAFFFFFFFFFFAFFFFFFFFFFFFA<FFFFFAFFFFFF.A<AFFFFFAF<FFFFAFFFFFFFFFAAAAA AS:i:88 XS:i:88 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:44 YS:i:67 YT:Z:CP
TGGCGTGCCGTGCATTTAAAAAAAAAAAAAAAAAAA_molbar_1 77 * 0 0 * * 0 0 CGTGCATTTATCAGATCAAAACCAACCCGGTCAGCCCCTCTCCGGCCTCGGCCGGGGGCGGGCGCCGGCGGCTTTGGACTACTCTGTGAATATACTAAAGCCCACTGAATTGTGTACTTTAAATGGGTTA FFFFFFF<FFFAFFAFFAF..FF.)FFFFFFFAFAF.FFFFF7FFFFFFFFAAFFFFFFFFFFF7FFF<FFAA)AFF.<A.FFFFFFFA.<F..F.)A.)AF.7FF<.AFFFA.FA<..A7FF.AFF<.F YT:Z:UP
The SAM flags do not make sense for the 'all_reads' call. The bad_read fastq files are simply a single read pulled out of the all_reads files.
I know this is a long time coming, but we finally looked into this and we think the issue is that your original two fastq files (all_reads_R?.fastq) are off-by-one with respect to each other. So the two reads you pulled out in the bad_reads files are not paired with each other in the original all_reads files. We don't see any problems with Bowtie 2 here. We'll close but reopen if you see continued evidence of an issue with Bowtie.
Best,
Ben