def get_concat_peptide(front_coord_pair, back_coord_pair, front_peptide, back_peptide, strand, k=None):
    """
    Get the concatenated peptide from possible match peptide.
    Parameters
    ----------
    front_coord_pair: str. coordinate string for the front exon pair.
    back_coord_pair: str. coordinate string for the back exon pair.
    front_peptide: str. peptide translated from the front exon pair.
    back_peptide: str. peptide translated from the back exon pair.
    strand: str. '+' or '-'
    k: k for k-mer.

    Returns
    -------
    new_peptide: str. concatenated peptide. If none is found, return empty string

    Examples
    --------
    front_pep: 'MKTT', back_pep: 'TTAC', concatenated_pep: 'MKTTAC'

    """
    def get_longest_match_position(front_str,back_str,L=None):
        if L is None:
            L = min(len(front_str),len(back_str))
        for i in reversed(list(range(1,L+1))):
            if front_str[-i:] == back_str[:i]:
                return i
        return None
    if strand == '+':
        front_coord = front_coord_pair.stop_v2
        back_coord = back_coord_pair.start_v1
    else:
        front_coord = front_coord_pair.start_v2
        back_coord = back_coord_pair.stop_v1
    if abs(front_coord-back_coord) % 3 == 0:
        if front_coord == back_coord:  # no intersection and we concatenate them directly
            new_peptide = front_peptide + back_peptide
        else:
            pep_common_num = get_longest_match_position(front_peptide,back_peptide,L=k)
            if pep_common_num is None:
                new_peptide = ''
            else:
                new_peptide = front_peptide + back_peptide[pep_common_num:]
        return new_peptide
    else:
        return ''