<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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