code: def get_param_map(word, required_keys=None):
      
      if required_keys is None:
          required_keys = []
      words = word.split(",")
      param_map = {}
      for wordi in words:
          if "=" not in wordi:
              key = wordi.strip()
              value = None
          else:
              sword = wordi.split("=")
              assert len(sword) == 2, sword
              key = sword[0].strip()
              value = sword[1].strip()
          param_map[key] = value
  
      msg = ""
      for key in required_keys:
          if key not in param_map:
              msg += "%r not found in %r\n" % (key, word)
      if msg:
          raise RuntimeError(msg)
      return param_map
docs: get the optional arguments on a line
  
      Example
      -------
      >>> iline = 0
      >>> word = 'elset,instance=dummy2,generate'
      >>> params = get_param_map(iline, word, required_keys=['instance'])
      params = {
          'elset' : None,
          'instance' : 'dummy2,
          'generate' : None,
      }