def remove_unexpressed_genes(expression, genes):
    """
    Filter out genes that have no expression data from expression matrix
    :param expression: numpy matrix will expression data
    :param genes: list of genes names
    :return: tuple, filtered expression numpy matrix, list of genes
    """
    genes_expressed = expression.any(axis=0)
    genes = [genes[idx] for idx, val in enumerate(genes_expressed) if val]
    return expression[:, genes_expressed], genes