INNER CODE UNIT · Python
parse_region_aux
cbg-ethz/V-pipe · workflow/scripts/alignmentIntervals.py:102
def parse_region_aux(region, shorah, reference_file, win_len, win_shift):
aux = region.split(":")
reference_name = aux[0]
aux = aux[1].split("-")
start = int(aux[0])
end = int(aux[1])
if shorah:
header, reference = read_fasta(reference_file)
reference_len = len(reference[0])
# ShoRAH was used for SNV calling
# Assuming 3 windows were used for SNV calling, identify region
# that is spanned by at least 2 windows (below, using
# 0-based indexing and closed intervals)
start_ = max(0, start - win_len - 1)
end_ = min(reference_len, end + win_len)
num_windows = floor((end_ - (start_ + win_len - 1)) / win_shift) + 1
offset = 2 * win_shift