Converts dictionary specifying where resources are to nested lists
    specifying what sets of resources are where.

    res_dict - a dictionary in which keys are resources in the environment
    and values are list of tuples representing the cells they're in.

    world_size - a tuple indicating the dimensions of the world.
           Default = 60x60, because that's the default Avida world size

    Returns a list of lists of sets indicating the set of resources
    available at each x,y location in the Avida grid.

def make_niche_grid(res_dict, world_size=(60, 60)):
    """
    Converts dictionary specifying where resources are to nested lists
    specifying what sets of resources are where.

    res_dict - a dictionary in which keys are resources in the environment
    and values are list of tuples representing the cells they're in.

    world_size - a tuple indicating the dimensions of the world.
           Default = 60x60, because that's the default Avida world size

    Returns a list of lists of sets indicating the set of resources
    available at each x,y location in the Avida grid.
    """

    # Initialize array to represent world
    world = initialize_grid(world_size, set())

    # Fill in data on niches present in each cell of the world
    for res in res_dict:
        for cell in res_dict[res]:
            world[cell[1]][cell[0]].add(res)

    return world