code: def optimize(args):
      
      p = OptionParser(optimize.__doc__)
      p.add_option("--skiprecover", default=False, action="store_true",
                   help="Do not import 'recover' contigs")
      p.add_option("--startover", default=False, action="store_true",
                   help="Do not resume from existing tour file")
      p.add_option("--skipGA", default=False, action="store_true",
                   help="Skip GA step")
      p.set_outfile(outfile=None)
      p.set_cpus()
      opts, args = p.parse_args(args)
  
      if len(args) != 1:
          sys.exit(not p.print_help())
  
      clmfile, = args
      startover = opts.startover
      runGA = not opts.skipGA
      cpus = opts.cpus
  
      # Load contact map
      clm = CLMFile(clmfile, skiprecover=opts.skiprecover)
  
      tourfile = opts.outfile or clmfile.rsplit(".", 1)[0] + ".tour"
      if startover:
          tourfile = None
      tour = clm.activate(tourfile=tourfile)
  
      fwtour = open(tourfile, "w")
      # Store INIT tour
      print_tour(fwtour, clm.tour, "INIT",
                 clm.active_contigs, clm.oo, signs=clm.signs)
  
      if runGA:
          for phase in range(1, 3):
              tour = optimize_ordering(fwtour, clm, phase, cpus)
              tour = clm.prune_tour(tour, cpus)
  
      # Flip orientations
      phase = 1
      while True:
          tag1, tag2 = optimize_orientations(fwtour, clm, phase, cpus)
          if tag1 == REJECT and tag2 == REJECT:
              logging.debug("Terminating ... no more {}".format(ACCEPT))
              break
          phase += 1
  
      fwtour.close()
docs: %prog optimize test.clm
  
      Optimize the contig order and orientation, based on CLM file.