This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Odd Ratio calculation in plink

Hi, I feel confused when i calculate odd ratio of per snp by plink. My problem is described as followings: when i run this command plink --noweb --bfile mydata --assoc ,I get this results:

CHR         SNP         BP   A1      F_A      F_U   A2        CHISQ            P           OR 
1   rs3094315     792429    G   0.1489  0.08537    A        1.684       0.1944        1.875 
1   rs4040617     819185    G   0.1354  0.08537    A        1.111       0.2919        1.678 
1   rs4075116    1043552    C  0.04167  0.07317    T       0.8278       0.3629       0.5507 
1   rs9442385    1137258    T   0.3723   0.4268    G       0.5428       0.4613       0.7966 
1  rs11260562    1205233    A  0.02174  0.03659    G       0.3424       0.5585       0.5852

when I use another command plink --noweb --bfile mydata --logistic, I get this results:

CHR         SNP         BP   A1       TEST    NMISS         OR         STAT            P 
   1   rs3094315     792429    G        ADD       88      2.061        1.381       0.1672
   1   rs4040617     819185    G        ADD       89      1.804         1.12       0.2629
   1   rs4075116    1043552    C        ADD       89     0.5303      -0.9272       0.3538
   1   rs9442385    1137258    T        ADD       88     0.8197       -0.687       0.4921
   1  rs11260562    1205233    A        ADD       87     0.5758      -0.5877       0.5567

So, why is odd ratio of the same snp different?

snp plink odd ratio

2 answers

Basically they use different methods for the calculation of the odds ratio - logistic uses the logistic regression model and assoc uses allele counts. Your differences aren't that large but the rarer the allele the greater the difference you may see. Have a read of Plink 1.07 manual - it is outlined in this page.

thank you very much! now, i still feel a little confused. I know how to calculate OR in '-assoc'. I wonder how to calculate in logistic regression. Here is my guess: coefficient is firstly calculated in logistic regression and then the exponent of the coefficient is used for OR. Is it right?

In the interest of learning you can test your theory by implementing the --beta flag into your analysis. This will return the regression coefficients. plink --bfile mydata --logistic --beta

I have tried it and knew it well, thank you very much again!

Log in to answer this question.