docs: def designPrimers(seq_args, global_args=None, misprime_lib=None,
                    mishyb_lib=None, debug=False):
      ''' Run the Primer3 design process.
  
      If the global args have been previously set (either by a pervious
      `designPrimers` call or by a `setGlobals` call), `designPrimers` may be
      called with seqArgs alone (as a means of optimization).
  
      Args:
          seq_args (dict)               : Primer3 sequence/design args as per
                                          Primer3 docs
  
          global_args (dict, optional)  : Primer3 global args as per Primer3 docs
          misprime_lib (dict, optional) : `Sequence name: sequence` dictionary
                                          for mispriming checks.
          mishyb_lib (dict, optional)   : `Sequence name: sequence` dictionary
                                          for mishybridization checks.
  
      Returns:
          A dictionary of Primer3 results (should be identical to the expected
          BoulderIO output from primer3_main)
  
      '''
      if global_args:
          primerdesign.setGlobals(global_args, misprime_lib, mishyb_lib)
      primerdesign.setSeqArgs(seq_args)
      return primerdesign.runDesign(debug)