Zalpha_rsq_over_expected.Rd
Returns a \(Z_{\alpha}^{r^2/E[r^2]}\) value for each SNP location supplied to the function, based on
the expected \(r^2\) values given an LD profile and genetic distances.
For more information about the \(Z_{\alpha}^{r^2/E[r^2]}\) statistic, please see Jacobs (2016).
The \(Z_{\alpha}^{r^2/E[r^2]}\) statistic is defined as:
$${Z_{\alpha}^{r^2/E[r^2]}}=\frac{{|L| \choose 2}^{-1}\sum_{i,j \in L}r^2_{i,j}/E[r^2_{i,j}] + {|R| \choose 2}^{-1}\sum_{i,j \in R}r^2_{i,j}/E[r^2_{i,j}]}{2}$$
where |L|
and |R|
are the number of SNPs to the left and right of the current locus within the given window ws
, \(r^2\) is equal to
the squared correlation between a pair of SNPs, and \(E[r^2]\) is equal to the expected squared correlation between a pair of SNPs, given an LD profile.
Zalpha_rsq_over_expected( pos, ws, x, dist, LDprofile_bins, LDprofile_rsq, minRandL = 4, minRL = 25, X = NULL )
pos | A numeric vector of SNP locations |
---|---|
ws | The window size which the \(Z_{\alpha}^{r^2/E[r^2]}\) statistic will be calculated over. This should be on the same scale as the |
x | A matrix of SNP values. Columns represent chromosomes; rows are SNP locations. Hence, the number of rows should equal the length of the |
dist | A numeric vector of genetic distances (e.g. cM, LDU). This should be the same length as |
LDprofile_bins | A numeric vector containing the lower bound of the bins used in the LD profile. These should be of equal size. |
LDprofile_rsq | A numeric vector containing the expected \(r^2\) values for the corresponding bin in the LD profile. Must be between 0 and 1. |
minRandL | Minimum number of SNPs in each set R and L for the statistic to be calculated. Default is 4. |
minRL | Minimum value for the product of the set sizes for R and L. Default is 25. |
X | Optional. Specify a region of the chromosome to calculate \(Z_{\alpha}^{r^2/E[r^2]}\) for in the format |
A list containing the SNP positions and the \(Z_{\alpha}^{r^2/E[r^2]}\) values for those SNPs
The LD profile describes the expected correlation between SNPs at a given genetic distance, generated using simulations or
real data. Care should be taken to utilise an LD profile that is representative of the population in question. The LD
profile should consist of evenly sized bins of distances (for example 0.0001 cM per bin), where the value given is the (inclusive) lower
bound of the bin. Ideally, an LD profile would be generated using data from a null population with no selection, however one can be generated
using this data. See the create_LDprofile
function for more information on how to create an LD profile.
Jacobs, G.S., T.J. Sluckin, and T. Kivisild, Refining the Use of Linkage Disequilibrium as a Robust Signature of Selective Sweeps. Genetics, 2016. 203(4): p. 1807
## load the snps and LDprofile example datasets data(snps) data(LDprofile) ## run Zalpha_rsq_over_expected over all the SNPs with a window size of 3000 bp Zalpha_rsq_over_expected(snps$bp_positions,3000,as.matrix(snps[,3:12]),snps$cM_distances, LDprofile$bin,LDprofile$rsq)#> $position #> [1] 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 #> [16] 1600 1700 1800 1900 2000 #> #> $Zalpha_rsq_over_expected #> [1] NA NA NA NA 1.229709 1.455017 1.557973 1.473750 #> [9] 1.663279 1.748810 1.655937 1.560111 1.348384 1.540937 1.403390 1.302492 #> [17] NA NA NA NA #>## only return results for SNPs between locations 600 and 1500 bp Zalpha_rsq_over_expected(snps$bp_positions,3000,as.matrix(snps[,3:12]),snps$cM_distances, LDprofile$bin,LDprofile$rsq,X=c(600,1500))#> $position #> [1] 600 700 800 900 1000 1100 1200 1300 1400 1500 #> #> $Zalpha_rsq_over_expected #> [1] 1.455017 1.557973 1.473750 1.663279 1.748810 1.655937 1.560111 1.348384 #> [9] 1.540937 1.403390 #>