Output of standard error of --meta-analysis estimates

1,125 views
Skip to first unread message

Matthew Law

unread,
Jan 31, 2016, 6:59:44 PM1/31/16
to plink2-users
Hello

Is it possible for PLINK 1.9 to output the standard errors for the fixed and random meta-analysis effect size estimates? If not, which method would you recommend to use to calculate the effect sizes based on the PLINK OR and P values?

Thanks

Matthew

Thomas Scerri

unread,
Nov 20, 2016, 5:46:35 PM11/20/16
to plink2-users
Was this issue answered somewhere else?  I'd like to know too.   It appears as though PLINK does not do this. 

Matthew Law

unread,
Nov 20, 2016, 7:48:34 PM11/20/16
to plink2-users
Hi

It wasn't answered here, so I calculated it from the OR and P value provided by PLINK using R

e.g. 

dd$SE_fixed_qnorm<-abs(log(dd$OR)/qnorm(dd$P/2))

where OR is the plink derived OR, and P is the plink derived P. 

I also tested deriving it using CHISQ and it gave he same results (here I converted the OR into BETA before passing it to the function)
SE=sqrt(((log(BETA))^2)/qchisq(P,1,lower.tail=F))

Matthew

Joni Coleman

unread,
Feb 13, 2017, 10:43:24 AM2/13/17
to plink2-users
Dear Chris,

Is it possible for PLINK to report the SEs from fixed and random inverse variance weighted meta-analyses?

Joni

JMR JMR

unread,
Feb 15, 2017, 6:49:16 AM2/15/17
to plink2-users
Yes, I think that would be ideal! Since the next step is to plot the forest plots using the corresponding SEs. Any chances to have that on the next update?

Matthew Law, could you explain (maybe it's a dumb question), how those SEs are approximated by your function?

Thanks

Christopher Chang

unread,
Feb 15, 2017, 1:37:58 PM2/15/17
to plink2-users
Okay, I'll make sure the plink 2.0 implementation of this supports direct output of SE columns.  (It may be a while before I get around to this, though; apologies in advance.)

Matthew Law

unread,
Feb 16, 2017, 12:59:44 AM2/16/17
to plink2-users
Hi

One method is here - http://www.bmj.com/content/343/bmj.d2090. I don't use that one, but on a quick test it gives similar results to the method I use.

I use the following formula in R. To test it, I calculated the SEs using PLINK OR and P  versus the SEs reported from other meta-analysis programs and they are very similar..

SE<-abs(log(OR)/qnorm(P/2))

Where P is meta-analysis p-value, OR is odds ratio, log is natural log. qnorm is the R function to convert a p value into a zscore (here we want 1 tailed so P/2). Abs just returns a positive value rather than a negative.

I look forward to the SE being reported in plink though, would be ace

Matthew

rk1...@bristol.ac.uk

unread,
Dec 5, 2018, 6:00:20 AM12/5/18
to plink2-users
Hi has this been implemented yet as I can't find how to do it.

Many thanks

Christopher Chang

unread,
Dec 5, 2018, 1:42:03 PM12/5/18
to plink2-users
No, this isn't directly implemented yet; you should use a script to apply a formula like the one mentioned by Matthew Law to plink's output.

Tomas Keller

unread,
Oct 25, 2019, 8:49:08 AM10/25/19
to plink2-users
Hello all, 

I am curious whether the default  --meta-analysis output the inverse-variance weighted fixed effect model? 

Tomas

Christopher Chang

unread,
Oct 25, 2019, 11:28:23 AM10/25/19
to plink2-users
Yes.

Tomas Keller

unread,
Oct 25, 2019, 11:57:52 AM10/25/19
to plink2-users
Thank you.

Tomas Keller

unread,
Oct 25, 2019, 12:01:50 PM10/25/19
to plink2-users
Hello Chris, 

do you know why there is an question mark for A2 in the output of '--meta-analysis' ?

 CHR           BP            SNP      A1  A2   N           P        P(R)      OR   OR(R)       Q       I
  22    50860565      rs9616844   A   ?   3      0.5717      0.8924  1.0341  1.0169  0.0184   74.97
  22    50861324      rs8185000   C     3      0.5658      0.8899  1.0346  1.0174  0.0178   75.17
  22    50967912     rs74624637   T   ?   3      0.9508      0.8254  1.0155  0.9129  0.1372   49.66 

Both minor and major alleles exist  in the bim files.
Thank you.
Tomas

Christopher Chang

unread,
Oct 25, 2019, 12:08:35 PM10/25/19
to plink2-users
I can't answer this without more information.  Can you post the .log file and a small fileset that can be used to replicate what you're seeing?

Tomas Keller

unread,
Oct 27, 2019, 12:29:29 PM10/27/19
to plink2-users
Hi Chris, 

Yes, I attached the .log file and a small fileset for your information.

Thanks!
meta2_assoc.logistic
meta3_assoc.logistic
combinedMeta.log
combinedMeta.meta
meta1_assoc.logistic

Christopher Chang

unread,
Oct 27, 2019, 1:09:29 PM10/27/19
to plink2-users
Take a look at those .logistic files: only the A1 allele is reported for each variant.  There's no way for --meta-analysis to know what the second allele is from the input you've provided.

One way to avoid this problem in the future is to run plink 2.0 "--glm cols=+ax" in place of plink 1.9 --logistic, and tell --meta-analysis about the new column names with "--meta-analysis-a2-field AX", etc.

Tomas Keller

unread,
Oct 28, 2019, 3:57:35 AM10/28/19
to plink2-users
That's nice, thanks very much!

Tomas Keller

unread,
Nov 26, 2019, 6:03:52 AM11/26/19
to plink2-users
Hey Chris,  Interestingly, newly downloaded plink2 gave the error "Error: Unrecognized flag ('--meta-analysis')."  Do you perhaps know the reason?


On Sunday, 27 October 2019 18:09:29 UTC+1, Christopher Chang wrote:

Christopher Chang

unread,
Nov 26, 2019, 10:36:55 AM11/26/19
to plink2-users
—meta-analysis isn’t scheduled to be added to PLINK 2.0 for a long time; there are other missing functions (in particular, merge) which are far more important. Use e.g. PLINK 1.9 for this.

Lystra Hayden

unread,
Nov 16, 2020, 11:16:04 AM11/16/20
to plink2-users
Hello, 

Checking in to see if there is an update on getting SE (or 95% CI) directly from --meta-analysis? I can't find how to do it. 

Thank you

Christopher Chang

unread,
Nov 18, 2020, 11:30:12 AM11/18/20
to plink2-users
Not directly implemented right now, sorry.  See Matthew Law's last comment in this thread for ways to compute this from what --meta-analysis does report.
Reply all
Reply to author
Forward
0 new messages