def get_bufferedPeptide_from_aaseq_and_pos(aaseq, position, window_size):
    """
    e.g. VQPSSSLSARMMSGSRGSSLNDTYHSRDSSF or __________MSTGLRYKSKLATPEDKQDID or LETSEDDSEEDGDHNRTFDI___________
    param aaseq: String(Amino Acid sequence)
    param position: Integer(starting count from 0, NOT m)
    param window_size: positive Integer, bi-directional number of AAs to include
    """
    len_aaseq = len(aaseq) - 1
    if position > len_aaseq:
        raise IndexError
    start_index = position - window_size
    stop_index = position + window_size + 1
    if start_index >= 0 and stop_index <= len_aaseq:
        return aaseq[start_index : stop_index]
    elif start_index < 0:
        return "_" * abs(start_index) + aaseq[0 : stop_index]
    elif stop_index > len_aaseq:
        return aaseq[start_index : len_aaseq + 1] + "_" * (stop_index - len_aaseq - 1)