def test_ihs_data(): h = np.hstack([hap1, hap2]) pos = np.arange(1, h.shape[0] + 1) expect = np.log(5.5/1.5) for use_threads in True, False: for include_edges in True, False: score = ihs(h, pos, include_edges=include_edges, use_threads=use_threads) actual = score[9] eq(expect, actual)
def test_ihs(): n_variants = 1000 n_haplotypes = 20 h = np.random.randint(0, 2, size=(n_variants, n_haplotypes), dtype='i1') pos = np.arange(0, n_variants * 10, 10) for use_threads in True, False: for min_ehh in 0, 0.05, 0.5: for include_edges in True, False: score = ihs(h, pos, min_ehh=min_ehh, include_edges=include_edges, use_threads=use_threads) assert_is_instance(score, np.ndarray) eq((n_variants,), score.shape) eq(np.dtype('f8'), score.dtype) with assert_raises(ValueError): ihs(h, pos[1:]) with assert_raises(ValueError): ihs(h, pos, map_pos=pos[1:])