Apologies if this has already been asked; I've looked around and haven't been able to get a clear, definitive answer to this question.

I have a number of interleaved paired-end FASTQ files that are sorted. I read in a (somewhat dated) GATK tutorial that the reads in these files should be sorted randomly (keeping the pairs together, one would assume) prior to alignment with BWA-mem, lest a bias be introduced. Is this correct?

Assuming it is, is there a tool that you know of / can recommend to sort interleaved paired-end FASTQs in such a way? I know there are scripts that can be written, but I'd prefer to stand on the shoulders of a (verified, preferably open-source) giant.

Many thanks!
`shuffle.sh` from [BBMap suite][1].

    Description:  Reorders reads randomly, keeping pairs together.
    
    Usage:  shuffle.sh in=<file> out=<file>


  [1]: https://sourceforge.net/projects/bbmap/