def evaluate(molecules, ensemble_chunk, sort_order, options, output_queue=None):
    """
	Evaluate VS performance of each ensemble in ensemble_chunk
	"""

    results = {}    # {('receptor_1', ..., 'receptor_n') : ensemble storage object}

    for ensemble in ensemble_chunk:
        results[ensemble] = calculate_performance(molecules, ensemble, sort_order, options)

    if output_queue is not None:
        output_queue.put(results)
    else:
        return results