def runP3Design(): ''' Start the Primer3 design process, return a dict of the Primer3 output. The global parameters and seq args must have been previously set prior to this call (raises IOError). Returns: A dictionary of Primer3 results (should be identical to the expected BoulderIO output from primer3_main) ''' _primer3.runDesign()
def designPrimers(seq_args, global_args=None, misprime_lib=None, mishyb_lib=None): ''' 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 Kwargs: global_args (dict) : Primer3 global args as per Primer3 docs misprime_lib (dict) : `Sequence name: sequence` dictionary for mispriming checks. mishyb_lib (dict) : `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: _primer3.setGlobals(global_args, misprime_lib, mishyb_lib) _primer3.setGlobals(global_args, misprime_lib, mishyb_lib) _primer3.setSeqArgs(seq_args) return _primer3.runDesign()