def generate_copy_id(base_id, collection, suffix='_copy'):
    """ Generate a new id that is not present in collection

    Parameters
    ----------
    base_id: str, Original id while copying or New for new entries
    collection: dict or list
    suffix: str, Suffix that is added to the base id

    Returns
    -------

    """
    composite_id = str(base_id) + suffix
    new_id = composite_id
    n = 0
    while new_id in collection:
        n += 1
        new_id = composite_id + str(n)
    return new_id
