<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_aa_mut_info(coding_pos, somatic_base, gene_seq):
 """Retrieves relevant information about the effect of a somatic SNV on the amino acid of a gene. Information includes the germline codon, somatic codon, codon position, germline AA, and somatic AA. Parameters coding_pos : iterable of ints Contains the base position (0-based) of the mutations somatic_base : list of str Contains the somatic nucleotide for the mutations gene_seq : GeneSequence gene sequence Returns ------- aa_info : dict information about the somatic mutation effect on AA's """

    # if no mutations return empty result
    if not somatic_base:
        aa_info = {'Reference Codon': [],
                   'Somatic Codon': [],
                   'Codon Pos': [],
                   'Reference Nuc': [],
                   'Reference AA': [],
                   'Somatic AA': []}
        return aa_info

    # get codon information into three lists
    ref_codon, codon_pos, pos_in_codon, ref_nuc = zip(*[cutils.pos_to_codon(gene_seq, p)
                                                    for p in coding_pos])
    ref_codon, codon_pos, pos_in_codon, ref_nuc = list(ref_codon), list(codon_pos), list(pos_in_codon), list(ref_nuc)

    # construct codons for mutations
    mut_codon = [(list(x) if x != 'Splice_Site' else []) for x in ref_codon]
    for i in range(len(mut_codon)):
        # splice site mutations are not in a codon, so skip such mutations to
        # prevent an error
        if pos_in_codon[i] is not None:
            pc = pos_in_codon[i]
            mut_codon[i][pc] = somatic_base[i]
    mut_codon = [(''.join(x) if x else 'Splice_Site') for x in mut_codon]

    # output resulting info
    aa_info = {'Reference Codon': ref_codon,
               'Somatic Codon': mut_codon,
               'Codon Pos': codon_pos,
               'Reference Nuc': ref_nuc,
               'Reference AA': [(utils.codon_table[r] if (r in utils.codon_table) else None)
                                for r in ref_codon],
               'Somatic AA': [(utils.codon_table[s] if (s in utils.codon_table) else None)
                              for s in mut_codon]}

    return aa_info