Metafor microarray meta-analysis inputs
Entering edit mode
4.7 years ago
ab123 ▴ 50

Hi there,

I'm trying to run meta-analysis of multiple data sets (microarray) using metafor. However, I'm struggling to understand the input.

I've already preprocessed the data and have my differentially expressed genes from limma.

The metafor function is:

rma(yi, vi, sei, weights, ai, bi, ci, di, n1i, n2i, x1i, x2i, t1i, t2i,
        m1i, m2i, sd1i, sd2i, xi, mi, ri, ti, sdi, r2i, ni, mods,
        measure="GEN", intercept=TRUE, data, slab, subset,
        add=1/2, to="only0", drop00=FALSE, vtype="LS",
        method="REML", weighted=TRUE, test="z",
        level=95, digits=4, btt, tau2, verbose=FALSE, control, ...)

yi vector of length k with the observed effect sizes or outcomes. See ‘Details’. vi vector of length k with the corresponding sampling variances. See ‘Details’.

What are yi and vi in relation to my limma results? And what are the ai, bi etc...?

Thank you!

metafor meta-analysis • 1.2k views
Entering edit mode
2.2 years ago
pharmhax • 0

metafor::rma() expects your effect sizes for a given gene to be passed to yi, and either its corresponding variances passed to vi, or alternatively standard errors passed to sei.

So yi should be a vector populated with fit$coefficients from limma::lmFit() objects (assuming that you store the results in fit), where you pick the coefficient corresponding to your gene of interest each time.

I'm a bit torn regarding the standard error / variance - it has always seemed to me you should pluck the values corresponding to your gene of interest from fit$'s and send the resulting vector into rma's vi parameter, but in another post ( Gordon Smyth says standard errors should be calculated as sqrt(fit$ * fit$stdev.unscaled, so you can send that directly into sei, or transform it into variance, which would mean sending a vector of fit$ * fit$stdev.unscaled^2 into vi. (again, this is all for your specific gene of interest)

It would be amazing if your post captured Gordon Smyth's attention, as he would be the person to help decide what limma output best corresponds to the vi parameter!


Login before adding your answer.

Traffic: 2733 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6