def fetch_vest_scores(vest_dict,
                      ref_aa, somatic_aa, codon_pos,
                      default_vest=0.0):
    """Get VEST scores from pre-computed scores in dictionary.

    Note: either all mutations should be missense or non-missense intended
    to have value equal to default.

    Parameters
    ----------
    vest_dict : dict
        dictionary containing vest scores across the gene of interest
    ref_aa: list of str
        list of reference amino acids
    somatic_aa: list of str
        somatic mutation aa
    codon_pos: list of int
        position of codon in protein sequence
    default_vest: float, default=0.0
        value to use if VEST score not available for a given mutation

    Returns
    -------
    vest_score_list: list
        score results for mutations
    """
    vest_score_list = []
    for i in range(len(somatic_aa)):
        # make sure position is valid
        if codon_pos[i] is not None:
            tmp_score = vest_dict.get(codon_pos[i]+1, {}).get(ref_aa[i], {}).get(somatic_aa[i], default_vest)
        else:
            tmp_score = 0.0
        vest_score_list.append(tmp_score)
    return vest_score_list
Get VEST scores from pre-computed scores in dictionary.

    Note: either all mutations should be missense or non-missense intended
    to have value equal to default.

    Parameters
    ----------
    vest_dict : dict
        dictionary containing vest scores across the gene of interest
    ref_aa: list of str
        list of reference amino acids
    somatic_aa: list of str
        somatic mutation aa
    codon_pos: list of int
        position of codon in protein sequence
    default_vest: float, default=0.0
        value to use if VEST score not available for a given mutation

    Returns
    -------
    vest_score_list: list
        score results for mutations