code: def remove_nopairs(in_bam, out_dir, config):
      
      runner = broad.runner_from_config(config)
      out_bam = os.path.join(out_dir, "{}-safepair{}".format(*os.path.splitext(os.path.basename(in_bam))))
      if not utils.file_exists(out_bam):
          read_counts = collections.defaultdict(int)
          with pysam.Samfile(in_bam, "rb") as in_pysam:
              for read in in_pysam:
                  if read.is_paired:
                      read_counts[read.qname] += 1
          with pysam.Samfile(in_bam, "rb") as in_pysam:
              with file_transaction(out_bam) as tx_out_bam:
                  with pysam.Samfile(tx_out_bam, "wb", template=in_pysam) as out_pysam:
                      for read in in_pysam:
                          if read_counts[read.qname] == 2:
                              out_pysam.write(read)
      return runner.run_fn("picard_sort", out_bam, "queryname")
docs: Remove any reads without both pairs present in the file.