def mutant_to_str(pos, stdvariant, variant, gap_string='-'):
    """Parse mutant to string

    Return HGVS-like format:

    (109, A, G) -> 109A>G
    (200, T, -) -> 200delT
    (360, -, C) -> 360insC
    (450, A, A) -> 450A=A

    Args:
    pos -- position
    stdvariant -- variant of standard sequence
    variant -- variant of align sequence
    gap_string -- a string represent a gap, default '-'

    """
    if stdvariant == variant:
        return '{}{}={}'.format(pos, stdvariant, variant)
    if stdvariant == gap_string:
        mut = '{}ins{}'.format(pos, variant)
    elif variant == gap_string:
        mut = '{}del{}'.format(pos, stdvariant)
    else:
        mut = '{}{}>{}'.format(pos, stdvariant, variant)
    return mut
