docs: def _fix_contig_orientation(contigs_fa, ref_fa, outfile, min_id=90, min_length=20, breaklen=200):
          '''Changes orientation of each contig to match the reference, when possible.
             Returns a set of names of contigs that had hits in both orientations to the reference'''
          if not os.path.exists(contigs_fa):
              raise Error('Cannot fix orientation of assembly contigs because file not found: ' + contigs_fa)
  
          tmp_coords = os.path.join(outfile + '.tmp.rename.coords')
          pymummer.nucmer.Runner(
              ref_fa,
              contigs_fa,
              tmp_coords,
              min_id=min_id,
              min_length=min_length,
              breaklen=breaklen,
              maxmatch=True,
          ).run()
  
          to_revcomp = set()
          not_revcomp = set()
          file_reader = pymummer.coords_file.reader(tmp_coords)
          for hit in file_reader:
              if hit.on_same_strand():
                  not_revcomp.add(hit.qry_name)
              else:
                  to_revcomp.add(hit.qry_name)
  
          os.unlink(tmp_coords)
          in_both = to_revcomp.intersection(not_revcomp)
  
          f = pyfastaq.utils.open_file_write(outfile)
          seq_reader = pyfastaq.sequences.file_reader(contigs_fa)
          for seq in seq_reader:
              if seq.id in to_revcomp and seq.id not in in_both:
                  seq.revcomp()
              print(seq, file=f)
          pyfastaq.utils.close(f)
  
          return in_both