def calculate_biased_medoid(self, condensed_distance_matrix, elements_into_account):
        all_elems_set = set(self.all_elements)
        accountable_set = set(elements_into_account)
        
        # Check that elements_into_account is a subset of all_elements
        elem_inters = all_elems_set.intersection(accountable_set)
        if len(elem_inters) != len(elements_into_account):
            print "[ERROR Cluster::calculate_biased_medoid] 'elements_into_account' is not a subset of the elements of this cluster."
            exit()

        if len(elements_into_account) == 0:
            print "[ERROR Cluster::calculate_biased_medoid] This cluster is empty."
            return -1

        #average distance of medoid is maximal
        min_dist_pair = (sys.maxint, -1)
        for ei in elements_into_account:
            # Calculate distances for this vs all the others
            # Note that for comparing, the mean is not required,as
            # all have the same amount of elements
            summed_distance = 0
            for ej in elements_into_account:
                summed_distance = summed_distance + condensed_distance_matrix[ei,ej]
            min_dist_pair = min(min_dist_pair,(summed_distance,ei))

        medoid_element = min_dist_pair[1]

        return medoid_element
Calculates the medoid (element with minimal distance to all other objects) of the
dataset/ETHPy150Open victor-gil-sepulveda/pyProCT/pyproct/clustering/cluster.py/Cluster.calculate_biased_medoid