This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Adjusting summary GWAS for LDSC intercept in R

I performed a GWAS of a binary lung function trait (normal or abnormal). Using LDSC the intercept was 1.02 I want to adjust the summary results for the intercept. I understand this can be done by converting the p-values for each SNP to chi square, then dividing by the intercept, then converting back to p-value.

I've seen there are commands in R for this; chi (pchisq) and chi from p (qchisq)

What I don't know is what the degrees of freedom is and I'm unclear about the lower tail.

How would I calculate the degrees of freedom and what should I do for the tail command? Is there a better way to do this then the above commands?

Thank you!

gwas ldsc

1 answer

Hi @mk19726, I normally perform my adjustments like this: from LDscore regression, treat the intercept like lambdaGC for adjusting your GWAS results (assuming intercept > 1 so there’s evidence of something to correct). Method depends on what data you have:


  1. beta (or odds ratio) and SE: multiply the SE by sqrt(intercept)
  2. z statistics: divide Z stat by sqrt(intercept)
  3. chi2 statistics: divide chi2 by the intercept
  4. p-values: re-compute after applying above adjustment to test statistics

NB: I got this sudo code from the ldscore regression google group

Log in to answer this question.