isglobal-brge/methylclock

Issue with normalization

Opened this issue · 5 comments

Thank you for developing this useful package! I am having trouble implementing the DNAmAge function with normalization = TRUE. Running DNAmAge with or without normalization has similar run time and produces identical estimates, so it doesn't appear that the data are being normalized. When looking at the code for DNAmAge, I don't see when the normalization argument is used in DNAmAge or predAge.

Thanks for your help!

I'd like to bump this issue. I've tried:

  • DNAmAge(betas, normalize = TRUE, cell.count = TRUE)
  • DNAmAge(betas, normalized = FALSE, cell.count = TRUE)
  • DNAmAge(betas, normalized = FALSE, cell.count = FALSE)

and

  • DNAmAge(GRset, normalize = TRUE, cell.count = TRUE)
  • DNAmAge(GRset, normalized = FALSE, cell.count = TRUE)
  • DNAmAge(GRset, normalized = FALSE, cell.count = FALSE)

All the estimated ages are identical.

The issue then is it's unclear which of these is the one being run.

Thanks.

Hi. Sorry for occupying your question. I would like to consult you on the following question, thank you.
when calculating DNAm PhenoAge using Levine's clock _513 CpGs, some individuals' DNAm PhenoAge values turned out to be negative (i.e., DNAm PhenoAge < 0). It is worth noting that this issue also occurred when using the author's provided TestDataset (as shown in the attached image).
This problem only appears when using Levine's clock, and I would like to inquire about how to solve it and whether these negative values would have any impact on subsequent analysis.
We looking forward to hearing from you at your earliest time.

Best regards,
Carrie Chen
Negative DNAm PhenoAge values when using Levine's clock _513 CpGs in methyclock R package

Thank you for developing this useful package! I am having trouble implementing the DNAmAge function with normalization = TRUE. Running DNAmAge with or without normalization has similar run time and produces identical estimates, so it doesn't appear that the data are being normalized. When looking at the code for DNAmAge, I don't see when the normalization argument is used in DNAmAge or predAge.

Thanks for your help!

I examined the code of DNAmAge function and found that parameter normalize is used nowhere within the corresponding script. So, probably this feature is currently not added.

Thank you for developing this useful package! I am having trouble implementing the DNAmAge function with normalization = TRUE. Running DNAmAge with or without normalization has similar run time and produces identical estimates, so it doesn't appear that the data are being normalized. When looking at the code for DNAmAge, I don't see when the normalization argument is used in DNAmAge or predAge.
Thanks for your help!

I examined the code of DNAmAge function and found that parameter normalize is used nowhere within the corresponding script. So, probably this feature is currently not added.

This is funny as in their document put at 2024-05-01, https://bioconductor.org/packages/release/bioc/vignettes/methylclock/inst/doc/methylclock.html#age-acceleration, they literally said "DNAmAge function includes the BMIQ method proposed by Teschendorff et al. (2012) using Horvath’s robust implementation that basically consists of an optimal R code implementation and optimization procedures." No such function could be found in the DNAmAge source code.

Thank you for developing this useful package! I am having trouble implementing the DNAmAge function with normalization = TRUE. Running DNAmAge with or without normalization has similar run time and produces identical estimates, so it doesn't appear that the data are being normalized. When looking at the code for DNAmAge, I don't see when the normalization argument is used in DNAmAge or predAge.
Thanks for your help!

I examined the code of DNAmAge function and found that parameter normalize is used nowhere within the corresponding script. So, probably this feature is currently not added.

This is funny as in their document put at 2024-05-01, https://bioconductor.org/packages/release/bioc/vignettes/methylclock/inst/doc/methylclock.html#age-acceleration, they literally said "DNAmAge function includes the BMIQ method proposed by Teschendorff et al. (2012) using Horvath’s robust implementation that basically consists of an optimal R code implementation and optimization procedures." No such function could be found in the DNAmAge source code.

They have a normalization.R file in the code folder but the normalize argument isn't used anywhere in the DNAmAge function. It's frustrating that this issue hasn't been addressed yet since normalized vs. unnornalized Beta values do indeed affect the age estimates. However, I believe https://github.com/yiluyucheng/dnaMethyAge does implement the Horvath-adapted BMIQ normalization for calculating Horvath pan-tissue age.