<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def predict_frameshift_coding_effect( variant, transcript, trimmed_cdna_ref, trimmed_cdna_alt, cds_offset, sequence_from_start_codon):
 """ Coding effect of a frameshift mutation. Parameters variant : Variant transcript : Transcript trimmed_cdna_ref : nucleotide sequence Reference nucleotides in the coding sequence of the given transcript. trimmed_cdna_alt : nucleotide sequence Alternate nucleotides introduced by mutation cds_offset : int Offset into the CDS of first ref nucleotide. For insertions, this is the offset of the last ref nucleotide before the insertion. sequence_from_start_codon : nucleotide sequence Nucleotides of the coding sequence and 3' UTR """

    if len(trimmed_cdna_ref) != 0:
        mutated_codon_index, sequence_from_mutated_codon = \
            cdna_codon_sequence_after_deletion_or_substitution_frameshift(
                sequence_from_start_codon=sequence_from_start_codon,
                cds_offset=cds_offset,
                trimmed_cdna_ref=trimmed_cdna_ref,
                trimmed_cdna_alt=trimmed_cdna_alt)
    else:
        mutated_codon_index, sequence_from_mutated_codon = \
            cdna_codon_sequence_after_insertion_frameshift(
                sequence_from_start_codon=sequence_from_start_codon,
                cds_offset_before_insertion=cds_offset,
                inserted_nucleotides=trimmed_cdna_alt)
    return create_frameshift_effect(
        mutated_codon_index=mutated_codon_index,
        sequence_from_mutated_codon=sequence_from_mutated_codon,
        variant=variant,
        transcript=transcript)