Description Usage Arguments Details Value Author(s) References See Also Examples
Estimate ancestral (admixture) proportions based on the eigen-analysis.
1 | snpgdsAdmixProp(eigobj, groups, bound=FALSE)
|
eigobj |
an object of |
groups |
a list of sample IDs, such like |
bound |
if |
The minor allele frequency and missing rate for each SNP passed in
snp.id
are calculated over all the samples in sample.id
.
Return a snpgdsEigMixClass
object, and it is a list:
sample.id |
the sample ids used in the analysis |
snp.id |
the SNP ids used in the analysis |
eigenval |
eigenvalues |
eigenvect |
eigenvactors, "# of samples" x "eigen.cnt" |
ibdmat |
the IBD matrix |
Xiuwen Zheng
Zheng X, Weir BS. Eigenanalysis on SNP Data with an Interpretation of Identity by Descent. Theoretical Population Biology. 2015 Oct 23. pii: S0040-5809(15)00089-1. doi: 10.1016/j.tpb.2015.09.004. [Epub ahead of print]
snpgdsEIGMIX
, snpgdsPCA
,
snpgdsAdmixPlot
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # open an example dataset (HapMap)
genofile <- snpgdsOpen(snpgdsExampleFileName())
# get population information
# or pop_code <- scan("pop.txt", what=character())
# if it is stored in a text file "pop.txt"
pop_code <- read.gdsn(index.gdsn(genofile, "sample.annot/pop.group"))
# get sample id
samp.id <- read.gdsn(index.gdsn(genofile, "sample.id"))
# run eigen-analysis
RV <- snpgdsEIGMIX(genofile)
# eigenvalues
RV$eigenval
# make a data.frame
tab <- data.frame(sample.id = samp.id, pop = factor(pop_code),
EV1 = RV$eigenvect[,1], # the first eigenvector
EV2 = RV$eigenvect[,2], # the second eigenvector
stringsAsFactors = FALSE)
head(tab)
# draw
plot(tab$EV2, tab$EV1, col=as.integer(tab$pop),
xlab="eigenvector 2", ylab="eigenvector 1")
legend("topleft", legend=levels(tab$pop), pch="o", col=1:4)
# define groups
groups <- list(CEU = samp.id[pop_code == "CEU"],
YRI = samp.id[pop_code == "YRI"],
CHB = samp.id[is.element(pop_code, c("HCB", "JPT"))])
prop <- snpgdsAdmixProp(RV, groups=groups)
# draw
plot(prop[, "YRI"], prop[, "CEU"], col=as.integer(tab$pop),
xlab = "Admixture Proportion from YRI",
ylab = "Admixture Proportion from CEU")
abline(v=0, col="gray25", lty=2)
abline(h=0, col="gray25", lty=2)
abline(a=1, b=-1, col="gray25", lty=2)
legend("topright", legend=levels(tab$pop), pch="o", col=1:4)
# draw
snpgdsAdmixPlot(prop, group=pop_code)
# close the genotype file
snpgdsClose(genofile)
|
Loading required package: gdsfmt
SNPRelate -- supported by Streaming SIMD Extensions 2 (SSE2)
Eigen-analysis on genotypes:
Excluding 365 SNPs on non-autosomes
Excluding 1 SNP (monomorphic: TRUE, MAF: NaN, missing rate: NaN)
Working space: 279 samples, 8,722 SNPs
using 1 (CPU) core
Eigen-analysis: the sum of all selected genotypes (0,1,2) = 2446510
CPU capabilities: Double-Precision SSE2
Wed Jun 6 09:33:39 2018 (internal increment: 408)
[..................................................] 0%, ETC: ---
[==================================================] 100%, completed in 0s
Wed Jun 6 09:33:39 2018 Begin (eigenvalues and eigenvectors)
Wed Jun 6 09:33:39 2018 Done.
[1] 20.1730520 10.0046139 0.8806819 0.7429476 0.6968208 0.6874427
[7] 0.6525443 0.6054765 0.5295101 0.5076562 0.4967220 0.4906583
[13] 0.4781425 0.4763934 0.4612989 0.4592947 0.4474031 0.4418133
[19] 0.4385189 0.4334209 0.4283672 0.4226959 0.4194047 0.4108246
[25] 0.4002398 0.3969773 0.3919273 0.3856560 0.3823628 0.3789550
[31] 0.3786969 0.3748523 NaN NaN NaN NaN
[37] NaN NaN NaN NaN NaN NaN
[43] NaN NaN NaN NaN NaN NaN
[49] NaN NaN NaN NaN NaN NaN
[55] NaN NaN NaN NaN NaN NaN
[61] NaN NaN NaN NaN NaN NaN
[67] NaN NaN NaN NaN NaN NaN
[73] NaN NaN NaN NaN NaN NaN
[79] NaN NaN NaN NaN NaN NaN
[85] NaN NaN NaN NaN NaN NaN
[91] NaN NaN NaN NaN NaN NaN
[97] NaN NaN NaN NaN NaN NaN
[103] NaN NaN NaN NaN NaN NaN
[109] NaN NaN NaN NaN NaN NaN
[115] NaN NaN NaN NaN NaN NaN
[121] NaN NaN NaN NaN NaN NaN
[127] NaN NaN NaN NaN NaN NaN
[133] NaN NaN NaN NaN NaN NaN
[139] NaN NaN NaN NaN NaN NaN
[145] NaN NaN NaN NaN NaN NaN
[151] NaN NaN NaN NaN NaN NaN
[157] NaN NaN NaN NaN NaN NaN
[163] NaN NaN NaN NaN NaN NaN
[169] NaN NaN NaN NaN NaN NaN
[175] NaN NaN NaN NaN NaN NaN
[181] NaN NaN NaN NaN NaN NaN
[187] NaN NaN NaN NaN NaN NaN
[193] NaN NaN NaN NaN NaN NaN
[199] NaN NaN NaN NaN NaN NaN
[205] NaN NaN NaN NaN NaN NaN
[211] NaN NaN NaN NaN NaN NaN
[217] NaN NaN NaN NaN NaN NaN
[223] NaN NaN NaN NaN NaN NaN
[229] NaN NaN NaN NaN NaN NaN
[235] NaN NaN NaN NaN NaN NaN
[241] NaN NaN NaN NaN NaN NaN
[247] NaN NaN NaN NaN NaN NaN
[253] NaN NaN NaN NaN NaN NaN
[259] NaN NaN NaN NaN NaN NaN
[265] NaN NaN NaN NaN NaN NaN
[271] NaN NaN NaN NaN NaN NaN
[277] NaN NaN NaN
sample.id pop EV1 EV2
1 NA19152 YRI -0.08134977 -0.01800612
2 NA19139 YRI -0.08332236 -0.01552648
3 NA18912 YRI -0.07999713 -0.01544285
4 NA19160 YRI -0.08619874 -0.02043080
5 NA07034 CEU 0.02638517 0.07853139
6 NA07055 CEU 0.02730423 0.08396931
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.