def expand_groups(node_id, groups):
    """
    node_id: a node ID that may be a group
    groups: store group IDs and list of sub-ids
    return value: a list that contains all group IDs deconvoluted
    """
    node_list = []
    if node_id in groups.keys():
        for component_id in groups[node_id]:
            node_list.extend(expand_groups(component_id, groups))
    else:
        node_list.extend([node_id])
    return node_list