I have conducted a large-scale GWAS study and got a few significantly associated SNPs. I used
-lmm 1 options to run the GWAS and obtain the
standard-error estimates. I want to estimate the percent phenotypic variation explained by each of the significant SNPs. I used the following procedure for estimating the variance explained in
fit <- lm (Phenotypic_value ~ SNP_data, data = a) summary(fit)$adj.r.squared
Here, the datafile
a contains three columns namely,
Phenotypic_value for each sample, and the biallelic
SNP_data. I got a value which is 0.43 meaning 43% phenotypic variation explained by the SNP.
Again, I used another formula which is:
f is the minor allele frequency and
b.alt is the effect size i.e.
beta estimate obtained from
GEMMA. This gives me a value of 0.03 meaning 3% variation explained which seems reasonable to me.
My question is that which of the above method is correct? Why do I obtain such a huge difference between the two approaches? Is there any other way to estimate the percent variation explained?
Alternatively, from the GEMMA google group, I have got this formula
pve <- var(x) * (beta^2 + se^2)/var(y). But I do not understand how can I obtain the value of
I borrowed the first and the last formula from GEMMA google group discussion. The first one is obviously a normal linear model equation in statistics. The second formula is from link. Also, the data structure is three columns, 1 is with individual, 2 is the genetic information (individual carrying A or T) and 3 is the phenotype.
In the last formula,
var(x) is the variance of the genotype vector as they said in GEMMA group and the
beta is the effect size estimate and
se is the standard error from GEMMA output.
It will be great to receive some feedback on this. Thank you.