These are randomizations for number of top SNPs (top 0.1%) with excess ancestry on Z and if this number is more than expected by chance.
## randomizations for popanc
topp<-which(pin3_mp_f$mean > quantile(pin3_mp_f$mean, probs=0.9, na.rm=T))
topsnpsp<-pin3_mp_f[topp,]
table(topsnpsp[,1] ##64 on z or 1631
length(table(topsnpsp[,1])) ##20
obs = 64
for (i in 1:10000){
n = length(topp)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(pin3_mp_f$V1[bnull] == 1631)
}
xfold = obsp / mean(null)
xfold #5.168585
p = mean(null >= obsp)
p #<0
#BLD
top<-which(bld3_mp_f$mean > quantile(bld3_mp_f$mean, probs=0.9, na.rm=T))
topsnps<-bld3_mp_f[top,]
table(topsnps[,1]) ##29 on z or 1631
obs = 66
for (i in 1:10000){
n = length(top)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(bld3_mp_f$V1[bnull] == 1631)
}
xfold = obs / mean(null)
xfold # 5.167222
p = mean(null >= obs)
p #<0
#BCR
top<-which(bcr3_mp_f$mean > quantile(bcr3_mp_f$mean, probs=0.9, na.rm=T))
topsnps<-bcr3_mp_f[top,]
table(topsnps[,1]) ##29 on z or 1631
obs = 29
for (i in 1:10000){
n = length(top)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(bcr3_mp_f$V1[bnull] == 1631)
}
xfold = obs / mean(null)
xfold # 5.167222
p = mean(null >= obs)
p #<0
#BIC
top<-which(bic3_mp_f$mean > quantile(bic3_mp_f$mean, probs=0.9, na.rm=T))
topsnps<-bic3_mp_f[top,]
table(topsnps[,1]) ##29 on z or 1631
obs = 75
for (i in 1:10000){
n = length(top)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(bic3_mp_f$V1[bnull] == 1631)
}
xfold = obs / mean(null)
xfold # 2.003302
p = mean(null >= obs)
p #<0
#BNP
top<-which(bnp3_mp_f$mean > quantile(bnp3_mp_f$mean, probs=0.9, na.rm=T))
topsnps<-bnp3_mp_f[top,]
table(topsnps[,1]) ##29 on z or 1631
obs = 66
for (i in 1:10000){
n = length(top)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(bnp3_mp_f$V1[bnull] == 1631)
}
xfold = obs / mean(null)
xfold # 5.187578
p = mean(null >= obs)
p #<0
#BTB
top<-which(btb3_mp_f$mean > quantile(btb3_mp_f$mean, probs=0.9, na.rm=T))
topsnps<-btb3_mp_f[top,]
table(topsnps[,1]) ##29 on z or 1631
obs = 58
for (i in 1:10000){
n = length(top)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(btb3_mp_f$V1[bnull] == 1631)
}
xfold = obs / mean(null)
xfold # 5.176861
p = mean(null >= obs)
p #<0
#FRC
top<-which(frc3_mp_f$mean > quantile(frc3_mp_f$mean, probs=0.9, na.rm=T))
topsnps<-frc3_mp_f[top,]
table(topsnps[,1]) ##29 on z or 1631
obs = 65
for (i in 1:10000){
n = length(top)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(frc3_mp_f$V1[bnull] == 1631)
}
xfold = obs / mean(null)
xfold # 5.176684
p = mean(null >= obs)
p #<0
#PSP
top<-which(psp3_mp_f$mean > quantile(psp3_mp_f$mean, probs=0.9, na.rm=T))
topsnps<-psp3_mp_f[top,]
table(topsnps[,1]) ##29 on z or 1631
obs = 70
for (i in 1:10000){
n = length(top)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(psp3_mp_f$V1[bnull] == 1631)
}
xfold = obs / mean(null)
xfold # 5.167222
p = mean(null >= obs)
p #<0
#RDL
top<-which(rdl3_mp_f$mean > quantile(rdl3_mp_f$mean, probs=0.9, na.rm=T))
topsnps<-rdl3_mp_f[top,]
table(topsnps[,1]) ##29 on z or 1631
obs = 52
for (i in 1:10000){
n = length(top)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(rdl3_mp_f$V1[bnull] == 1631)
}
xfold = obs / mean(null)
xfold # 5.167222
p = mean(null >= obs)
p #<0
#RNV
top<-which(rnv3_mp_f$mean > quantile(rnv3_mp_f$mean, probs=0.9, na.rm=T))
topsnps<-rnv3_mp_f[top,]
table(topsnps[,1]) ##29 on z or 1631
obs = 60
for (i in 1:10000){
n = length(top)
bnull = sample(1:1164, n, replace=F)
null[i] = sum(rnv3_mp_f$V1[bnull] == 1631)
}
xfold = obs / mean(null)
xfold # 5.167222
p = mean(null >= obs)
p #<0