'Sanitize all values that will be substituted on the command line, with the exception of ToolParameterValueWrappers,
which already have their own specific sanitization rules and also exclude special-cased named values.
We will only examine the first level for values to skip; the wrapping function will recurse as necessary.
Note: this method follows the style of the similar populate calls, in that param_dict is modified in-place.'

def __sanitize_param_dict(self, param_dict):

    skip = (['chromInfo'] + list(self.tool.template_macro_params.keys()))
    if ((not self.tool) or (not self.tool.options) or self.tool.options.sanitize):
        for (key, value) in list(param_dict.items()):
            if (key not in skip):
                del param_dict[key]
                param_dict[wrap_with_safe_string(key, no_wrap_classes=ToolParameterValueWrapper)] = wrap_with_safe_string(value, no_wrap_classes=ToolParameterValueWrapper)
