the snpgdsPCAClass object returned from the function
snpgdsPCA
gdsobj
an object of class SNPGDSFileClass,
a SNP GDS file
num.thread
the number of (CPU) cores used; if NA, detect
the number of cores automatically
verbose
if TRUE, show information
Details
Calculate the SNP loadings (or SNP eigenvectors) from the principal
component analysis conducted in snpgdsPCA.
Value
Return a snpgdsPCASNPLoading object, which is a list:
sample.id
the sample ids used in the analysis
snp.id
the SNP ids used in the analysis
eigenval
eigenvalues
snploading
the SNP loadings, or SNP eigenvectors
TraceXTX
the trace of the genetic covariance matrix
Bayesian
whether use bayerisan normalization
avefreq
the allele frequency used in snpgdsPCA
scale
internal parameter
Author(s)
Xiuwen Zheng
References
Patterson N, Price AL, Reich D (2006)
Population structure and eigenanalysis. PLoS Genetics 2:e190.
Price AL, Patterson NJ, Plenge RM, Weinblatt ME, Shadick NA, Reich D (2006)
Principal components analysis corrects for stratification in genome-wide
association studies. Nat Genet. 38, 904-909.
Zhu, X., Li, S., Cooper, R. S., and Elston, R. C. (2008).
A unified association analysis approach for family and unrelated samples
correcting for stratification. Am J Hum Genet, 82(2), 352-365.
See Also
snpgdsPCA, snpgdsPCASampLoading,
snpgdsPCACorr
Examples
# open an example dataset (HapMap)
genofile <- snpgdsOpen(snpgdsExampleFileName())
PCARV <- snpgdsPCA(genofile, eigen.cnt=8)
SnpLoad <- snpgdsPCASNPLoading(PCARV, genofile)
names(SnpLoad)
# [1] "sample.id" "snp.id" "eigenval" "snploading" "TraceXTX"
# [6] "Bayesian" "avefreq" "scale"
dim(SnpLoad$snploading)
# [1] 8 8722
plot(SnpLoad$snploading[1,], type="h", ylab="PC 1")
# close the genotype file
snpgdsClose(genofile)
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(SNPRelate)
Loading required package: gdsfmt
SNPRelate -- supported by Streaming SIMD Extensions 2 (SSE2)
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/SNPRelate/snpgdsPCASNPLoading.Rd_%03d_medium.png", width=480, height=480)
> ### Name: snpgdsPCASNPLoading
> ### Title: SNP loadings in principal component analysis
> ### Aliases: snpgdsPCASNPLoading
> ### Keywords: PCA GDS GWAS
>
> ### ** Examples
>
> # open an example dataset (HapMap)
> genofile <- snpgdsOpen(snpgdsExampleFileName())
>
> PCARV <- snpgdsPCA(genofile, eigen.cnt=8)
Principal Component Analysis (PCA) on SNP genotypes:
Excluding 365 SNPs on non-autosomes
Excluding 1 SNP (monomorphic: TRUE, < MAF: NaN, or > missing rate: NaN)
Working space: 279 samples, 8722 SNPs
using 1 (CPU) core
PCA: the sum of all selected genotypes (0, 1 and 2) = 2446510
Wed Jul 6 05:34:47 2016 (internal increment: 1744)
[>.................................................] 0%, ETC: NA [==========>.......................................] 20%, ETC: 0s [====================>.............................] 40%, ETC: 0s [==============================>...................] 60%, ETC: 0s [========================================>.........] 80%, ETC: 0s [==================================================] 100%, ETC: 0s [==================================================] 100%, completed
Wed Jul 6 05:34:47 2016 Begin (eigenvalues and eigenvectors)
Wed Jul 6 05:34:47 2016 Done.
> SnpLoad <- snpgdsPCASNPLoading(PCARV, genofile)
SNP loading:
Working space: 279 samples, 8722 SNPs
Using 1 (CPU) core.
Using the top 8 eigenvectors.
SNP Loading: the sum of all selected genotypes (0, 1 and 2) = 2446510
SNP Loading: Wed Jul 6 05:34:47 2016 0%
SNP Loading: Wed Jul 6 05:34:47 2016 100%
>
> names(SnpLoad)
[1] "sample.id" "snp.id" "eigenval" "snploading" "TraceXTX"
[6] "Bayesian" "avefreq" "scale"
> # [1] "sample.id" "snp.id" "eigenval" "snploading" "TraceXTX"
> # [6] "Bayesian" "avefreq" "scale"
> dim(SnpLoad$snploading)
[1] 8 8722
> # [1] 8 8722
>
> plot(SnpLoad$snploading[1,], type="h", ylab="PC 1")
>
> # close the genotype file
> snpgdsClose(genofile)
>
>
>
>
>
> dev.off()
null device
1
>