def _kinmap_kinase_name(kinase_name, kinmap_df):
    """
    Cast a given kinase name to the KinMap kinase name.

    Parameters
    ----------
    kinase_name : str
        Kinase name.
    kinmap_df : pandas.DataFrame
        Kinase data (columns) for all KinMap kinases (rows) from `kinases.kinmap()`.

    Returns
    -------
    str
        KinMap kinase name. If input kinase name unknown or ambiguous return "unknown (why?)".
    """

    kinase_name = kinase_name.replace("-", "_")
    if kinmap_df["xName"].isin([kinase_name]).any():
        return kinase_name
    else:
        manning_condition = kinmap_df["Manning\xa0Name"] == kinase_name
        hgnc_condition = kinmap_df["HGNC\xa0Name"] == kinase_name
        kinase_name_kinmap = kinmap_df[manning_condition | hgnc_condition]
        if len(kinase_name_kinmap) == 0:
            return "unknown (not in KinMap)"
        elif len(kinase_name_kinmap) == 1:
            return kinase_name_kinmap.squeeze()["xName"]
        else:
            return "unknown (ambiguous kinase name)"