def reads_starting_at_location(reads, loc):
    """

    given list of reads returns all reads starting a given loc (sepereated by positive and negative strand that start at a given location)

    """
    pos_reads = []
    neg_reads = []
    for read in reads:
        read_start = read.positions[-1] if read.is_reverse else read.positions[0]
        if read_start == loc:
            if read.is_reverse:
                neg_reads.append(read)
            else:
                pos_reads.append(read)
    return pos_reads, neg_reads