Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
newmap = numutils.zoom_array(newmap, (rescale_size,
rescale_size))
if rot_flip:
newmap = np.rot90(np.flipud(newmap), -1)
elif flip_rot:
newmap = np.flipud(np.rot90(newmap))
mymap += np.nan_to_num(newmap)
if unbalanced and cov_norm and expected is False:
new_cov_start = coverage[lo_left:hi_left]
new_cov_end = coverage[lo_right:hi_right]
if rescale:
if len(new_cov_start)==0:
new_cov_start = np.zeros(rescale_size)
if len(new_cov_end)==0:
new_cov_end = np.zeros(rescale_size)
new_cov_start = numutils.zoom_array(new_cov_start,
(rescale_size,))
new_cov_end = numutils.zoom_array(new_cov_end,
(rescale_size,))
else:
l = len(new_cov_start)
r = len(new_cov_end)
new_cov_start = np.pad(new_cov_start, (mymap.shape[0]-l, 0),
'constant')
new_cov_end = np.pad(new_cov_end,
(0, mymap.shape[1]-r), 'constant')
cov_start += np.nan_to_num(new_cov_start)
cov_end += +np.nan_to_num(new_cov_end)
n += 1
if local:
mymap = np.triu(mymap, 0)
mymap += np.rot90(np.fliplr(np.triu(mymap, 1)))
# newmap, [(y, 0), (0, x)], "constant"
# ) # Padding to adjust to the right shape
newmap = newmap.astype(float)
if not self.local:
ignore_indices = np.tril_indices_from(
newmap, diag - (stPad * 2 + 1) - 1 + self.ignore_diags
)
newmap[ignore_indices] = np.nan
else:
newmap = np.triu(newmap, self.ignore_diags)
newmap += np.triu(newmap, 1).T
if self.rescale:
if newmap.size == 0 or np.all(np.isnan(newmap)):
newmap = np.zeros((self.rescale_size, self.rescale_size))
else:
newmap = numutils.zoom_array(
newmap, (self.rescale_size, self.rescale_size)
)
if rot_flip:
newmap = np.rot90(np.flipud(newmap), 1)
elif rot:
newmap = np.rot90(newmap, -1)
mymap = np.nansum([mymap, newmap], axis=0)
if self.coverage_norm and not expected and (self.balance is False):
new_cov_start = coverage[lo_left:hi_left]
new_cov_end = coverage[lo_right:hi_right]
if self.rescale:
if len(new_cov_start) == 0:
new_cov_start = np.zeros(self.rescale_size)
if len(new_cov_end) == 0:
new_cov_end = np.zeros(self.rescale_size)
continue
else:
newmap = get_expected_matrix((lo_left, hi_left),
(lo_right, hi_right),
expected, local)
if newmap.shape != mymap.shape and not rescale: #AFAIK only happens at ends of chroms
height, width = newmap.shape
h, w = mymap.shape
x = w - width
y = h - height
newmap = np.pad(newmap, [(y, 0), (0, x)], 'constant') #Padding to adjust to the right shape
if rescale:
if newmap.size==0:
newmap = np.zeros((rescale_size, rescale_size))
else:
newmap = numutils.zoom_array(newmap, (rescale_size,
rescale_size))
if rot_flip:
newmap = np.rot90(np.flipud(newmap), -1)
elif flip_rot:
newmap = np.flipud(np.rot90(newmap))
mymap += np.nan_to_num(newmap)
if unbalanced and cov_norm and expected is False:
new_cov_start = coverage[lo_left:hi_left]
new_cov_end = coverage[lo_right:hi_right]
if rescale:
if len(new_cov_start)==0:
new_cov_start = np.zeros(rescale_size)
if len(new_cov_end)==0:
new_cov_end = np.zeros(rescale_size)
new_cov_start = numutils.zoom_array(new_cov_start,
(rescale_size,))