code: def summary(args):
      
      p = OptionParser(summary.__doc__)
      p.add_option("--sizes", default=False, action="store_true",
                   help="Write .sizes file")
      p.add_option("--all", default=False, action="store_true",
                   help="Write summary stats per seqid")
      opts, args = p.parse_args(args)
  
      if len(args) != 1:
          sys.exit(not p.print_help())
  
      bedfile, = args
      bed = Bed(bedfile)
      bs = BedSummary(bed)
      if opts.sizes:
          sizesfile = bedfile + ".sizes"
          fw = open(sizesfile, "w")
          for span, accn in bs.mspans:
              print(span, file=fw)
          fw.close()
          logging.debug("Spans written to `{0}`.".format(sizesfile))
          return bs
  
      if not opts.all:
          bs.report()
          return bs
  
      for seqid, subbeds in bed.sub_beds():
          bs = BedSummary(subbeds)
          print("\t".join((seqid, str(bs))))
docs: %prog summary bedfile
  
      Sum the total lengths of the intervals.