def process_anchor_start(regions_fn, to_count_fn,<EOL>anchor_to=ANCHOR_START, normalize=False,<EOL>verbose=False):
res = []<EOL>possible = []<EOL>trees = intervalTrees(to_count_fn, verbose=verbose)<EOL>for region in BEDIterator(regions_fn, verbose=verbose):<EOL><INDENT>if normalize:<EOL><INDENT>for i in range(<NUM_LIT:0>, len(region)):<EOL><INDENT>while len(possible) <= i:<EOL><INDENT>possible.append(<NUM_LIT:0>)<EOL><DEDENT>possible[i] += <NUM_LIT:1><EOL><DEDENT><DEDENT>if region.chrom not in trees:<EOL><INDENT>continue<EOL><DEDENT>hits = trees[region.chrom].intersectingInterval(region.start, region.end)<EOL>for h in hits:<EOL><INDENT>abs_pos = h.start<EOL>if abs_pos < region.start or abs_pos >= region.end:<EOL><INDENT>continue<EOL><DEDENT>rel_pos = __to_relative(abs_pos, region, anchor_to)<EOL>assert(rel_pos < len(region))<EOL>while(len(res) <= rel_pos):<EOL><INDENT>res.append(<NUM_LIT:0>)<EOL><DEDENT>res[rel_pos] += <NUM_LIT:1><EOL><DEDENT><DEDENT>if normalize:<EOL><INDENT>__norm_counts(res, possible)<EOL><DEDENT>return res<EOL>
:return: list where each element is the number of hits at that location
         relative to the start of the regions.