code: def fastq(args):
      
      p = OptionParser(fastq.__doc__)
      opts, args = p.parse_args(args)
  
      if len(args) != 2:
          sys.exit(not p.print_help())
  
      bamfile, pf = args
      singletons = pf + ".se.fastq"
      a = pf + ".read1.fastq"
      b = pf + ".read2.fastq"
  
      cmd  = "samtools collate -uOn 128 {} tmp-prefix".format(bamfile)
      cmd += " | samtools fastq -s {} -1 {} -2 {} -"\
                  .format(singletons, a, b)
      sh(cmd)
  
      if os.stat(singletons).st_size == 0:  # singleton file is empty
          os.remove(singletons)
      return a, b
docs: %prog fastq bamfile prefix
  
      Convert BAM files to paired FASTQ files.