import re


def decompose(newick):
    """
    Decompose a newick string into a list of elements, either delimiters 
    (except ':') or strings as follow:
        'node_id:length'

    Parameters
    ----------
    newick : str
        A newick formated tree.

    Returns
    -------
    decomposition : list
        List of the different elements of the newick string.

    """
    split = [s for s in re.split('([,|(|)])', newick) if s !='']    
    return split