<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def plot_movie_with_elegans( worlds, radius=None, width=500, height=500, config=None, grid=False, species_list=None):
 """ Generate a movie from received instances of World and show them on IPython notebook. Parameters worlds : list of World Worlds to render. radius : float, default None If this value is set, all particles in the world will be rendered as if their radius are the same. width : float, default 500 Width of the plotting area. height : float, default 500 Height of the plotting area. config : dict, default {} Dict for configure default colors. Its values are colors unique to each speices. The dictionary will be updated during this plot. Colors included in config dict will never be used for other speices. species_list : array of string, default None If set, plot_movie will not search the list of species """

    config = config or {}

    from IPython.core.display import display, HTML
    from jinja2 import Template

    data = {}
    sizes = {}
    for i, world in enumerate(worlds):
        species = __parse_world(world, radius, species_list)
        for species_info in species:
            if data.get(species_info['name']) is None:
                data[species_info['name']] = []
            data[species_info['name']].append({
                'df': species_info['data'],
                't': i
            })
            sizes[species_info['name']] = species_info['size']

    options = {
        'player': True,
        'autorange': False,
        'space_mode': 'wireframe',
        'grid': grid,
        'range': __get_range_of_world(worlds[0])
    }

    model_id = '"movie' + str(uuid.uuid4()) + '"'
    color_scale = default_color_scale(config=config)

    display(HTML(generate_html({
        'model_id': model_id,
        'names': json.dumps(list(data.keys())),
        'data': json.dumps(list(data.values())),
        'colors': json.dumps([color_scale.get_color(name)
                              for name in data.keys()]),
        'sizes': json.dumps([sizes[name] for name in data.keys()]),
        'options': json.dumps(options)
    }, 'templates/movie.tmpl')))