def test_hwep_dataset__raise_on_missing_alleles(): with pytest.raises( ValueError, match="`alleles` parameter must be set when not present as dataset dimension.", ): ds = xr.Dataset({"x": (("ploidy"), np.zeros((2,)))}) hwep_test(ds)
def test_hwep_dataset__precomputed_counts(ds_neq: Dataset) -> None: ds = ds_neq ac = ds["call_genotype"].sum(dim="ploidy") cts = [1, 0, 2] # arg order: hets, hom1, hom2 gtc = xr.concat([(ac == ct).sum(dim="samples") for ct in cts], dim="counts").T ds = ds.assign(**{"variant_genotype_counts": gtc}) p = hwep_test(ds, genotype_counts="variant_genotype_counts", merge=False) assert np.all(p < 1e-8)
def test_hwep_dataset__raise_on_nonbiallelic(): with pytest.raises( NotImplementedError, match="HWE test only implemented for biallelic genotypes" ): ds = xr.Dataset({"x": (("ploidy", "alleles"), np.zeros((2, 3)))}) hwep_test(ds)
def test_hwep_dataset__out_of_eq(ds_neq: Dataset) -> None: p = hwep_test(ds_neq)["variant_hwe_p_value"].values assert np.all(p < 1e-8)
def test_hwep_dataset__in_eq(ds_eq: Dataset) -> None: p = hwep_test(ds_eq)["variant_hwe_p_value"].values assert np.all(p > 1e-8)