def get_total_weighted_support(base_array, weights, counts):
    """
    Total weighted support is the number of query hits
    for each taxa, weighted by how many other taxa were
    also a hit for each query. This is multiplied by 
    how many times each query appeared in the data.
    """
    return ((base_array.T * weights) * counts).T.sum(axis=0)