def get_term_description(term, go_dag, ipr_map, pfam_map):
    """Takes an `InterPro`, `Gene Ontology` or `Pfam` annotation
    and returns it's description.

    Returns
    -------
    str
        String description or None if one could not be found.
    """
    term = term.upper()
    if 'IPR' in term:
        return ipr_map[term]
    elif 'PF' in term:
        return pfam_map[term]
    elif "GO" in term:
        term = term.replace('GO', 'GO:').replace('::', ':')
        return go_dag[term].name
    return None