Skip to content

Commit b08ce88

Browse files
committed
Use right-sided searchsort instead
1 parent 70aa75b commit b08ce88

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

python/tests/beagle.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ def convert_to_genetic_map_position(pos, genetic_map=None):
7272
assert np.all(pos >= base_pos[0]) and np.all(
7373
pos <= base_pos[-1]
7474
), "Physical positions outside of genetic map."
75-
left_idx = np.searchsorted(base_pos, pos)
75+
left_idx = np.searchsorted(base_pos, pos, side="right")
7676
xMa = np.zeros(len(pos), dtype=np.float32)
7777
bMa = np.zeros(len(pos), dtype=np.float32)
7878
fbMfa = np.zeros(len(pos), dtype=np.float32)
7979
for i in range(len(pos)):
8080
xMa[i] = pos[i] - base_pos[left_idx[i]]
81-
bMa[i] = base_pos[left_idx[i] + 1] - base_pos[left_idx[i]]
82-
fbMfa[i] = gen_pos[left_idx[i] + 1] - gen_pos[left_idx[i]]
81+
bMa[i] = base_pos[left_idx[i]] - base_pos[left_idx[i] - 1]
82+
fbMfa[i] = gen_pos[left_idx[i]] - gen_pos[left_idx[i] - 1]
8383
return xMa / bMa * fbMfa
8484

8585

python/tests/beagle_numba.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@ def convert_to_genetic_map_position(pos, genetic_map_pos=None, genetic_map_cm=No
3737
assert np.all(pos >= base_pos[0]) and np.all(
3838
pos <= base_pos[-1]
3939
), "Physical positions outside of genetic map."
40-
left_idx = np.searchsorted(base_pos, pos)
40+
left_idx = np.searchsorted(base_pos, pos, side="right")
4141
xMa = np.zeros(len(pos), dtype=np.float32)
4242
bMa = np.zeros(len(pos), dtype=np.float32)
4343
fbMfa = np.zeros(len(pos), dtype=np.float32)
4444
for i in range(len(pos)):
4545
xMa[i] = pos[i] - base_pos[left_idx[i]]
46-
bMa[i] = base_pos[left_idx[i] + 1] - base_pos[left_idx[i]]
47-
fbMfa[i] = gen_pos[left_idx[i] + 1] - gen_pos[left_idx[i]]
46+
bMa[i] = base_pos[left_idx[i]] - base_pos[left_idx[i] - 1]
47+
fbMfa[i] = gen_pos[left_idx[i]] - gen_pos[left_idx[i] - 1]
4848
return xMa / bMa * fbMfa
4949

5050

0 commit comments

Comments
 (0)