code: def filter(args):
      
      p = OptionParser(filter.__doc__)
      p.set_align(pctid=0, hitlen=0)
      p.add_option("--overlap", default=False, action="store_true",
              help="Print overlap status (e.g. terminal, contained)")
  
      opts, args = p.parse_args(args)
      if len(args) != 1:
          sys.exit(not p.print_help())
  
      pctid = opts.pctid
      hitlen = opts.hitlen
  
      filename, = args
      if pctid == 0 and hitlen == 0:
          return filename
  
      pf, suffix = filename.rsplit(".", 1)
      outfile = "".join((pf, ".P{0}L{1}.".format(int(pctid), int(hitlen)), suffix))
      if not need_update(filename, outfile):
          return outfile
  
      if suffix == "delta":
          cmd = "delta-filter -i {0} -l {1} {2}".format(pctid, hitlen, filename)
          sh(cmd, outfile=outfile)
          return outfile
  
      fp = open(filename)
      fw = must_open(outfile, "w")
      for row in fp:
          try:
              c = CoordsLine(row)
          except AssertionError:
              continue
  
          if c.identity < pctid:
              continue
          if c.len2 < hitlen:
              continue
          if opts.overlap and not c.overlap:
              continue
  
          outrow = row.rstrip()
          if opts.overlap:
              ov = Overlap_types[c.overlap]
              outrow += "\t" + ov
          print(outrow, file=fw)
  
      return outfile
docs: %prog filter <deltafile|coordsfile>
  
      Produce a new delta/coords file and filter based on id% or cov%.
      Use `delta-filter` for .delta file.