import re


def parse_extra_options(option_string, exclude=[]):
    """
    Create an list of options filtering out excluded options

    Args:
        option_string: A string containing extra blast options.
        exclude: Options to exclude from the generated list.
    Returns:
        A list of options except those in exclude

    """
    options = re.findall(r'((-\w+) ([\w\d\.]+)?)\s?', option_string)
    extras = []
    for o in options:
        if o[1] not in exclude:
            extras.extend(o[1:])
    return extras