FIS outside confidence interval range

28 views
Skip to first unread message

Owen Holland

unread,
Mar 5, 2025, 10:45:02 PMMar 5
to dartR
Hi dartR folk,

I have a dataset where I want to investigate some standard pop gen metrics, including FIS and the corresponding confidence intervals. When calculating FIS using gl.report.heterozygosity where nboots = 999, regardless of the method used (except for "bca", which throws the `estimated adjustment 'w' is infinite` error), the FIS estimate is outside the confidence interval range. I don't understand how this is possible, unless I am misunderstanding or misinterpreting how confidence intervals for FIS work? The FIS population estimate is the mean of all loci for that population, correct? So I don't understand how the mean can be outside of the confidence interval range. Below are some truncated examples.

> gl.report.heterozygosity(
+   gle,
+   method = "pop",
+   nboots = 999,
+   conf = 0.95,
+   CI.type = "norm",
+   ncpus = 1,
+   plot.display = TRUE,
+   error.bar = "SD",
+   save2tmp = FALSE,
+   verbose = 5
+ )

FIS FISSD FISSE FISLCI FISHCI
0.150932 0.349969 0.004313 0.340166 0.502036
0.108739 0.217949 0.002686 0.200184 0.297336
0.068091 0.208451 0.002569 0.069967 0.272008
0.057876 0.189402 0.002334 0.070291 0.163808

CI.type = "perc"

FIS FISSD FISSE FISLCI FISHCI
0.150932 0.349969 0.004313 -0.210526 -0.052632
0.108739 0.217949 0.002686 -0.07355 0.02271
0.068091 0.208451 0.002569 -0.123586 0.074217 <-- this one seems to be fine
0.057876 0.189402 0.002334 -0.041751 0.047826

CI.type = "basic"

FIS FISSD FISSE FISLCI FISHCI
0.150932 0.349969 0.004313 0.354495 0.51239
0.108739 0.217949 0.002686 0.199735 0.291945
0.068091 0.208451 0.002569 0.066965 0.26253 <-- also fine, same pop
0.057876 0.189402 0.002334 0.071069 0.163778

Pop sizes = 10, 24, 18 and 25, respectively (in case that matters). I have 6,584 loci with call rates >80%. Like many ecologists my statistics expertise is lacking, so I am hoping I am just wrong in my assumption! Could anyone shed some light on what is going on here?

Thanks,
Owen

Jose Luis Mijangos

unread,
Mar 5, 2025, 11:08:17 PMMar 5
to dartR

Hi Owen,

Thanks for reaching out. Could you please try installing the developing version of dartR.base (as below) to see if that resolves the issue?

devtools::install_github("green-striped-gecko/dartR.base@dev")

Note that in the latest version of gl.report.heterozygosity, you can generate confidence intervals either by bootstrapping across loci or across individuals (see parameter "boot.method"). The choice depends on which source of variation you want to capture. Most commonly, analyses involve resampling across loci to see how estimates vary when different sets of loci are used (boot.method = "loc"). However, if you are interested in how estimates vary with different sets of individuals, you can bootstrap across individuals instead (boot.method = "ind").

Cheers,
Luis

Owen Holland

unread,
Mar 6, 2025, 1:36:09 AMMar 6
to dartR
Sorry Luis, I appear to have replied directly to you and I can't access the message I sent anywhere. Could you confirm if you received my response?
Thanks 
Owen
Reply all
Reply to author
Forward
0 new messages