Skip to content

Commit 074caf0

Browse files
committed
Add test_allele_frequencies_advanced_with_sample_query_options
1 parent 317e721 commit 074caf0

1 file changed

Lines changed: 48 additions & 2 deletions

File tree

tests/anoph/test_snp_frq.py

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,7 @@ def check_snp_allele_frequencies_advanced(
839839
period_by="year",
840840
sample_sets=None,
841841
sample_query=None,
842+
sample_query_options=None,
842843
min_cohort_size=None,
843844
nobs_mode="called",
844845
variant_query=None,
@@ -866,6 +867,7 @@ def check_snp_allele_frequencies_advanced(
866867
period_by=period_by,
867868
sample_sets=sample_sets,
868869
sample_query=sample_query,
870+
sample_query_options=sample_query_options,
869871
min_cohort_size=min_cohort_size,
870872
nobs_mode=nobs_mode,
871873
variant_query=variant_query,
@@ -939,7 +941,11 @@ def check_snp_allele_frequencies_advanced(
939941
check_frequency(x)
940942

941943
# Sanity check area values.
942-
df_samples = api.sample_metadata(sample_sets=sample_sets, sample_query=sample_query)
944+
df_samples = api.sample_metadata(
945+
sample_sets=sample_sets,
946+
sample_query=sample_query,
947+
sample_query_options=sample_query_options,
948+
)
943949
expected_area_values = np.unique(df_samples[area_by].dropna().values)
944950
area_values = ds["cohort_area"].values
945951
# N.B., some areas may not end up in final dataset if cohort
@@ -978,6 +984,7 @@ def check_snp_allele_frequencies_advanced(
978984
cohorts="admin1_year",
979985
sample_sets=sample_sets,
980986
sample_query=sample_query,
987+
sample_query_options=sample_query_options,
981988
min_cohort_size=min_cohort_size,
982989
site_mask=site_mask,
983990
include_counts=True,
@@ -1023,6 +1030,7 @@ def check_aa_allele_frequencies_advanced(
10231030
period_by="year",
10241031
sample_sets=None,
10251032
sample_query=None,
1033+
sample_query_options=None,
10261034
min_cohort_size=None,
10271035
nobs_mode="called",
10281036
variant_query=None,
@@ -1047,6 +1055,7 @@ def check_aa_allele_frequencies_advanced(
10471055
period_by=period_by,
10481056
sample_sets=sample_sets,
10491057
sample_query=sample_query,
1058+
sample_query_options=sample_query_options,
10501059
min_cohort_size=min_cohort_size,
10511060
nobs_mode=nobs_mode,
10521061
variant_query=variant_query,
@@ -1111,7 +1120,11 @@ def check_aa_allele_frequencies_advanced(
11111120
check_frequency(x)
11121121

11131122
# Sanity checks for area values.
1114-
df_samples = api.sample_metadata(sample_sets=sample_sets, sample_query=sample_query)
1123+
df_samples = api.sample_metadata(
1124+
sample_sets=sample_sets,
1125+
sample_query=sample_query,
1126+
sample_query_options=sample_query_options,
1127+
)
11151128
expected_area_values = np.unique(df_samples[area_by].dropna().values)
11161129
area_values = ds["cohort_area"].values
11171130
# N.B., some areas may not end up in final dataset if cohort
@@ -1150,6 +1163,7 @@ def check_aa_allele_frequencies_advanced(
11501163
cohorts="admin1_year",
11511164
sample_sets=sample_sets,
11521165
sample_query=sample_query,
1166+
sample_query_options=sample_query_options,
11531167
min_cohort_size=min_cohort_size,
11541168
include_counts=True,
11551169
)
@@ -1249,6 +1263,38 @@ def test_allele_frequencies_advanced_with_sample_query(
12491263
)
12501264

12511265

1266+
@parametrize_with_cases("fixture,api", cases=".")
1267+
def test_allele_frequencies_advanced_with_sample_query_options(
1268+
fixture,
1269+
api: AnophelesSnpFrequencyAnalysis,
1270+
):
1271+
all_sample_sets = api.sample_sets()["sample_set"].to_list()
1272+
df_samples = api.sample_metadata(sample_sets=all_sample_sets)
1273+
countries = df_samples["country"].unique().tolist()
1274+
countries_list = random.sample(countries, 2)
1275+
sample_query_options = {
1276+
"local_dict": {
1277+
"countries_list": countries_list,
1278+
}
1279+
}
1280+
sample_query = "country in @countries_list"
1281+
1282+
check_snp_allele_frequencies_advanced(
1283+
api=api,
1284+
sample_sets=all_sample_sets,
1285+
sample_query=sample_query,
1286+
sample_query_options=sample_query_options,
1287+
min_cohort_size=0,
1288+
)
1289+
check_aa_allele_frequencies_advanced(
1290+
api=api,
1291+
sample_sets=all_sample_sets,
1292+
sample_query=sample_query,
1293+
sample_query_options=sample_query_options,
1294+
min_cohort_size=0,
1295+
)
1296+
1297+
12521298
@pytest.mark.parametrize("min_cohort_size", [0, 10, 100])
12531299
@parametrize_with_cases("fixture,api", cases=".")
12541300
def test_allele_frequencies_advanced_with_min_cohort_size(

0 commit comments

Comments
 (0)