code: def epoch(args):
      
      p = OptionParser(__doc__)
      opts, args = p.parse_args()
  
      fig = plt.figure(1, (6, 4))
      root = fig.add_axes([0, 0, 1, 1])
  
      # Separators
      linestyle = dict(lw=2, color="b", alpha=.2, zorder=2)
      root.plot((0, 1), (.5, .5), "--", **linestyle)
      for i in (1./3, 2./3):
          root.plot((i, i), (.5, 1), "--", **linestyle)
      for i in (1./6, 3./6, 5./6):
          root.plot((i, i), (0, .5), "--", **linestyle)
  
      # Diagrams
      plot_diagram(root, 1./6, 3./4, "S", "syntenic")
      plot_diagram(root, 3./6, 3./4, "F", "missing, with both flankers")
      plot_diagram(root, 5./6, 3./4, "G", "missing, with one flanker")
      plot_diagram(root, 2./6, 1./4, "FB", "has non-coding matches")
      plot_diagram(root, 4./6, 1./4, "FN", "syntenic region has gap")
  
      root.set_xlim(0, 1)
      root.set_ylim(0, 1)
      root.set_axis_off()
  
      figname = fname() + ".pdf"
      savefig(figname, dpi=300)
docs: %prog epoch
  
      Illustrate the methods used in Maggie's epoch paper, in particular, how to
      classifiy S/G/F/FB/FN for the genes.