def split_mutation(word):
    """
    Splits a mutation in symbols. It first split the word with some keywords (del, ins, dup, ...)
    and them splits all the rest of letters. Per every element generated a symbol is created adding
    the symbol > before the letter or string.
    :param str word: the mutation to split
    :return List[str]: a list of symbols
    """
    word = word.strip()
    for symbol in ['del', 'ins', 'dup', 'trunc', 'splice', 'fs', 'null', 'Fusion', '#', '+']:
        word = word.replace(symbol, ' >{} '.format(symbol))
    i = 0
    new_words = []
    while i < len(word):
        if word[i] == '>':
            j = i + 1
            while j < len(word) and word[j] != ' ':
                j += 1
            new_words.append(u'{}'.format(word[i:j]))
            i = j
        elif word[i] != ' ':
            new_words.append(u'>{}'.format(word[i]))
            i += 1
        else:
            i += 1
    return new_words