def readATGC_buffer(buf, s, e):
    """
    read numbers of A/T/G/C btw start and end in the path
    :param buf: fasta buffer with \n removed
    :param s: start position (inclusive), one based index
    :param e: end position (inclusive), one based index
    :return: numbers of A, T, G, C
    """

    start = int(s)-1
    end = int(e)

    buffer = buf[start:end]
    total_a = buffer.count('A') + buffer.count('a')
    total_t = buffer.count('T') + buffer.count('t')
    total_c = buffer.count('C') + buffer.count('c')
    total_g = buffer.count('G') + buffer.count('g')

    if total_a + total_t + total_g + total_c == 0:
       print("goes here {0} {1}".format(s, e))

    return (total_a, total_t, total_g, total_c)