code: def predict_frameshift_coding_effect(
          variant,
          transcript,
          trimmed_cdna_ref,
          trimmed_cdna_alt,
          cds_offset,
          sequence_from_start_codon):
      
      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)
docs: 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