code: def _fix_mates(orig_file, out_file, ref_file, config):
      
      if not file_exists(out_file):
          with file_transaction(config, out_file) as tx_out_file:
              samtools = config_utils.get_program("samtools", config)
              cmd = "{samtools} view -bS -h -t {ref_file}.fai -F 8 {orig_file} > {tx_out_file}"
              do.run(cmd.format(**locals()), "Fix mate pairs in TopHat output", {})
      return out_file
docs: Fix problematic unmapped mate pairs in TopHat output.
  
      TopHat 2.0.9 appears to have issues with secondary reads:
      https://groups.google.com/forum/#!topic/tuxedo-tools-users/puLfDNbN9bo
      This cleans the input file to only keep properly mapped pairs,
      providing a general fix that will handle correctly mapped secondary
      reads as well.