def get_read_reg_events(r_data, interval_start, num_bases):
r_means = nh.get_read_base_means(r_data)
if r_data.start > interval_start:
# handle reads that start in middle of region
start_overlap = interval_start + num_bases - r_data.start
# create region with nan values
region_means = np.empty(num_bases)
region_means[:] = np.NAN
region_means[-start_overlap:] = r_means[:start_overlap]
elif r_data.end < interval_start + num_bases:
# handle reads that end inside region
end_overlap = r_data.end - interval_start
# create region with nan values
region_means = np.empty(num_bases)
region_means[:] = np.NAN
region_means[:end_overlap] = r_means[-end_overlap:]
else:
skipped_bases = interval_start - r_data.start
region_means = r_means[
skipped_bases:skipped_bases + num_bases]
return region_means
评论列表
文章目录