Gravar-mail: Algorithms for optimizing cross-overs in DNA shuffling