@@ -28,11 +28,13 @@ def __init__(
2828
2929 def _fst_gwss (
3030 self ,
31+ * ,
3132 contig ,
3233 window_size ,
3334 sample_sets ,
3435 cohort1_query ,
3536 cohort2_query ,
37+ sample_query_options ,
3638 site_mask ,
3739 cohort_size ,
3840 min_cohort_size ,
@@ -46,6 +48,7 @@ def _fst_gwss(
4648 ac1 = self .snp_allele_counts (
4749 region = contig ,
4850 sample_query = cohort1_query ,
51+ sample_query_options = sample_query_options ,
4952 sample_sets = sample_sets ,
5053 site_mask = site_mask ,
5154 cohort_size = cohort_size ,
@@ -58,6 +61,7 @@ def _fst_gwss(
5861 ac2 = self .snp_allele_counts (
5962 region = contig ,
6063 sample_query = cohort2_query ,
64+ sample_query_options = sample_query_options ,
6165 sample_sets = sample_sets ,
6266 site_mask = site_mask ,
6367 cohort_size = cohort_size ,
@@ -78,10 +82,11 @@ def _fst_gwss(
7882 ).compute ()
7983
8084 with self ._spinner (desc = "Compute Fst" ):
81- fst = allel .moving_hudson_fst (ac1 , ac2 , size = window_size )
82- # Sometimes Fst can be very slightly below zero, clip for simplicity.
83- fst = np .clip (fst , a_min = clip_min , a_max = 1 )
84- x = allel .moving_statistic (pos , statistic = np .mean , size = window_size )
85+ with np .errstate (divide = "ignore" , invalid = "ignore" ):
86+ fst = allel .moving_hudson_fst (ac1 , ac2 , size = window_size )
87+ # Sometimes Fst can be very slightly below zero, clip for simplicity.
88+ fst = np .clip (fst , a_min = clip_min , a_max = 1 )
89+ x = allel .moving_statistic (pos , statistic = np .mean , size = window_size )
8590
8691 results = dict (x = x , fst = fst )
8792
@@ -104,6 +109,7 @@ def fst_gwss(
104109 window_size : fst_params .window_size ,
105110 cohort1_query : base_params .sample_query ,
106111 cohort2_query : base_params .sample_query ,
112+ sample_query_options : Optional [base_params .sample_query_options ] = None ,
107113 sample_sets : Optional [base_params .sample_sets ] = None ,
108114 site_mask : Optional [base_params .site_mask ] = base_params .DEFAULT ,
109115 cohort_size : Optional [base_params .cohort_size ] = fst_params .cohort_size_default ,
@@ -127,6 +133,7 @@ def fst_gwss(
127133 window_size = window_size ,
128134 cohort1_query = cohort1_query ,
129135 cohort2_query = cohort2_query ,
136+ sample_query_options = sample_query_options ,
130137 sample_sets = self ._prep_sample_sets_param (sample_sets = sample_sets ),
131138 site_mask = self ._prep_optional_site_mask_param (site_mask = site_mask ),
132139 cohort_size = cohort_size ,
@@ -161,6 +168,7 @@ def plot_fst_gwss_track(
161168 window_size : fst_params .window_size ,
162169 cohort1_query : base_params .sample_query ,
163170 cohort2_query : base_params .sample_query ,
171+ sample_query_options : Optional [base_params .sample_query_options ] = None ,
164172 sample_sets : Optional [base_params .sample_sets ] = None ,
165173 site_mask : Optional [base_params .site_mask ] = base_params .DEFAULT ,
166174 cohort_size : Optional [base_params .cohort_size ] = fst_params .cohort_size_default ,
@@ -189,6 +197,7 @@ def plot_fst_gwss_track(
189197 max_cohort_size = max_cohort_size ,
190198 cohort1_query = cohort1_query ,
191199 cohort2_query = cohort2_query ,
200+ sample_query_options = sample_query_options ,
192201 sample_sets = sample_sets ,
193202 site_mask = site_mask ,
194203 random_seed = random_seed ,
@@ -265,6 +274,7 @@ def plot_fst_gwss(
265274 window_size : fst_params .window_size ,
266275 cohort1_query : base_params .sample_query ,
267276 cohort2_query : base_params .sample_query ,
277+ sample_query_options : Optional [base_params .sample_query_options ] = None ,
268278 sample_sets : Optional [base_params .sample_sets ] = None ,
269279 site_mask : Optional [base_params .site_mask ] = base_params .DEFAULT ,
270280 cohort_size : Optional [base_params .cohort_size ] = fst_params .cohort_size_default ,
@@ -290,6 +300,7 @@ def plot_fst_gwss(
290300 window_size = window_size ,
291301 cohort1_query = cohort1_query ,
292302 cohort2_query = cohort2_query ,
303+ sample_query_options = sample_query_options ,
293304 sample_sets = sample_sets ,
294305 site_mask = site_mask ,
295306 cohort_size = cohort_size ,
@@ -348,6 +359,7 @@ def average_fst(
348359 region : base_params .region ,
349360 cohort1_query : base_params .sample_query ,
350361 cohort2_query : base_params .sample_query ,
362+ sample_query_options : Optional [base_params .sample_query ] = None ,
351363 sample_sets : Optional [base_params .sample_sets ] = None ,
352364 cohort_size : Optional [base_params .cohort_size ] = fst_params .cohort_size_default ,
353365 min_cohort_size : Optional [
@@ -366,6 +378,7 @@ def average_fst(
366378 region = region ,
367379 sample_sets = sample_sets ,
368380 sample_query = cohort1_query ,
381+ sample_query_options = sample_query_options ,
369382 cohort_size = cohort_size ,
370383 site_mask = site_mask ,
371384 site_class = site_class ,
@@ -377,6 +390,7 @@ def average_fst(
377390 region = region ,
378391 sample_sets = sample_sets ,
379392 sample_query = cohort2_query ,
393+ sample_query_options = sample_query_options ,
380394 cohort_size = cohort_size ,
381395 site_mask = site_mask ,
382396 site_class = site_class ,
0 commit comments