@staticmethod
def split_input_line(line):
    """
        A modified string splitter that doesn't split
        words encircled in quotation marks; required
        by actions that accept a VMD-compatible
        selection string
        :param line: str, line to be split
        :return: list of strings, contains individual words
        """
    line = line.strip()
    words = []
    open_quotation = False
    previous = 0
    for current, char in enumerate(line):
        if char in ["'", '"']:
            if not open_quotation:
                open_quotation = True
            else:
                open_quotation = False
        if char == ' ' and not open_quotation or current == len(line) - 1:
            word = line[previous:current + 1].strip()
            if word:
                words.append(word)
            previous = current
    return words
