Blood cell composition adjustment in methylation EPIC array: ChAMP
Entering edit mode
Ankit • 0
Last seen 6 months ago

Hi everyone,

Can anyone suggest me a way or preferably a script to adjust for blood cell composition in Methylation EPIC array datasets using ChAMP R package.

I see ChAMP software can do it for 450K and 27 K methylation array (champ.refbase). But I did not observe anything for EPIC/850K.

I also noticed a bioconductor package FlowSorted.Blood.EPIC can import data for EPIC:Blood but how to adjust my methylation array data with that.

So if anyone has suggestions , please help.

Thank you

MethylationArray methylationArrayAnalysis ChAMP • 405 views
Entering edit mode
Last seen 11 hours ago
United States

From the help for champ.refbase, it looks like it's just fitting a linear regression to the cell proportions (minus the smallest one), and then returns the residuals. Which isn't what I would normally do. Instead you could use minfi and the estCell function (with the FlowSorted.Blood.EPIC package) to estimate cell proportions. I look at that as more informative than anything else, although people do use the proportions as independent variables in a linear model (which you could do with minfi or DMRcate, for sure, and maybe ChAMP, although I have never used that package).

My usual go-to move is to simply use the sva package to estimate surrogate variables to control for the cell proportions. Although not everybody loves that idea (I am actually wrestling with a reviewer over that exact issue). However, the surrogate variables tend to do a good job of capturing extra variability, without having the downside of being dependent (which the cell proportions are, unless you drop one like ChAMP does). There are papers out there, primarily by the authors of minfi that advocate for that approach, which you could find if you care to do so.

Entering edit mode

Thanks James.

Entering edit mode


As I tried to find the solution for Cell heterogeneity correction for EPIC array, I tried to opt for few possibities but stuck at steps.

  1. I estimated cell counts using minfi package. But how to use this estimate cell counts to correct my beta matrix or M matrix or RGchannel set in ordrer to get output of some new corrected matrix or set to use for downstream analysis. I saw in cross package estimation is a possibility but how to correct I donot know.
  1. The function champ.refbase will give the output of matrix. But it is limited to 450K. I am wondering if somebody has a champ.refbase script adapted for EPIC and if its possible to share or give directions.
  1. Is it possible to use EPIC IDOL library and L-DMR to manually correct for my beta matrix in a stepwise manner ?
Entering edit mode
Yuan Tian ▴ 240
Last seen 2 days ago
United Kingdom

Hi Ankit:

Next version ChAMP is under developing now, which will include a reference for EPIC/850K then, and should have a lot of other improvements.

There are a couple of ways I think you can try to do cell devolution on EPIC data for now:

  1. Find the most informative CpGs from FlowSorted.Blood.EPIC data, then this data could be used in refbase function in RefbaseEWAS pacakge. Actually, ChAMP uses this way as well.

  2. Try packages like EpiDish, which is designed to address cell fraction problem.

  3. Try minfi package, which provided functions to estimate cell fraction. However, I am not familiar with those functions.

  4. Previously I tried MethylCIBERSORT, which actually used Stanford CIBERSORT to get cell fraction.

I am not an expert of cell devolution, so I can't comment which above way is the best. And optimisation for cell devolution is endless, from reference data to feature selection. If I have time during Chrismas (not likely), I would very much like to compare them a bit.

Entering edit mode

Hi Yuan,

Thanks for your valuable suggestions. Good to know ChAMP will have this function updated.

  1. Do you have pre-available function which I can import via source code ?? Something which you have used for your data or in development pipeline and tested.
  1. I used EpiDish for estimation of cell fraction, but how to use this for correction?

Please let me know.

Thank you


Login before adding your answer.

Traffic: 731 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