def get_gene(gtf_dict, pos_pair):
    """
    Identify which genes overlap a given position.

    Args:
        gtf_dict: Dictionary containing GTF index.
        pos_pair: Tuple containing genomic position (chrom, pos).

    Returns:
        Tuple containing the list of overlapping genes, the number of
        overlapping genes and the number of overlapping exons.
    """

    num_genes = 0
    num_exons = 0

    if pos_pair[0] not in gtf_dict:
        #print ("Ignored pos: " + pos_pair[0])
        return ([], num_genes, num_exons)

    entries = gtf_dict[pos_pair[0]]
    pos = int(pos_pair[1])

    found = []
    found = entries.search(pos)

    gene_list = []
    for entry in found:
        info = entry[2]
        if info[0] == "gene":
            gene_list.append(info)
            num_genes += 1
        elif info[0] == "exon":
            num_exons += 1

    return (gene_list, num_genes, num_exons)