Hi, Does anyone know which is suitable R tools to perform analysis on illumina EPIC array? I tried to use minfi, but it seems I kept getting bugs for not being able to use function such as "read.metharray", or "read.metharray.exp".
> ?read.metharray
No documentation for ‘read.metharray’ in specified packages and libraries:
you could try ‘??read.metharray’
> sessionInfo()
R version 3.2.5 (2016-04-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats4 parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] minfi_1.14.0 bumphunter_1.8.0 locfit_1.5-9.1 iterators_1.0.8 foreach_1.4.3 Biostrings_2.36.4 XVector_0.8.0
[8] GenomicRanges_1.20.8 GenomeInfoDb_1.4.3 IRanges_2.2.9 S4Vectors_0.6.6 lattice_0.20-33 Biobase_2.28.0 BiocGenerics_0.14.0
[15] BiocInstaller_1.18.5
loaded via a namespace (and not attached):
[1] genefilter_1.50.0 splines_3.2.5 beanplot_1.2 rtracklayer_1.28.10 GenomicFeatures_1.20.6 XML_3.98-1.4
[7] survival_2.39-4 DBI_0.4-1 BiocParallel_1.2.22 RColorBrewer_1.1-2 registry_0.3 rngtools_1.2.4
[13] lambda.r_1.1.7 doRNG_1.6 matrixStats_0.50.2 plyr_1.8.4 pkgmaker_0.22 stringr_1.0.0
[19] zlibbioc_1.14.0 futile.logger_1.4.1 codetools_0.2-14 biomaRt_2.24.1 AnnotationDbi_1.30.1 illuminaio_0.10.0
[25] preprocessCore_1.30.0 Rcpp_0.12.5 xtable_1.8-2 openssl_0.9.4 limma_3.24.15 base64_2.0
[31] annotate_1.46.1 Rsamtools_1.20.5 digest_0.6.9 stringi_1.1.1 nor1mix_1.2-1 grid_3.2.5
[37] GEOquery_2.34.0 quadprog_1.5-5 tools_3.2.5 bitops_1.0-6 magrittr_1.5 siggenes_1.42.0
[43] RCurl_1.95-4.8 RSQLite_1.0.0 futile.options_1.0.0 MASS_7.3-45 Matrix_1.2-6 reshape_0.8.5
[49] mclust_5.2 GenomicAlignments_1.4.2 multtest_2.24.0 nlme_3.1-128
Is its implementation completed? why did I get such errors? These commands are all listed in reference manual. By the way, is there other tools to analyze EPIC data? Thank you. -Xiaokuan
Minfi is currently 1.18, might be worth updating that for a start, along with your version of R to 3.3.
Thank you Andrew. Do you happen to know where I can find the most recent vignette for minfi, especially for analysis of EPIC array? So far almost all the documents are about 450K not EPIC 850K. and the minfi's user guide on bioconductor site is empty too. Thank you. -Xiaokuan
On the bioconductor page, however it seems as though the vignette hasn't built properly. I've cross posted this to Bioconductor support, where hopefully Kasper Hansen, or one of the Minfi team will notice.
Based on Kasper's response, here's 3.2's user guide.
Andrew, thank you for helping me find the solution.Too bad, it has no specific description for EPIC analysis. But I guess I can figure it out. Thank you for your help. -Xiaokuan
Forget about the fact that they're "EPIC" arrays. Everything on there about 450K analysis should work fine for 850K, except for the annotation.
I have roughly finished analysis of EPIC array using "minfi" package. I have obtain the DMP results, however, I am wondering how I should annotate these methylation locus? Simply speaking how I should map a gene to a DMP locus? Thanks.
Hello Wei,
Even I'm working on EPIC array data. Could you please tell me how to go forward for the analysis using minfi package? Thank you in Advance.
dsp
It's pretty straightforward. You just need to follow the tutorial Andrew listed above. If there is any now packages (such as annotation) needed for the process, just install them. Then you will be able to obtain beta, M values and DMPs, DMRs. Also, I have to say minfi so far has the best support for EPIC as I evaluate other packages as well. -Xiaokuan
Thank you very much. I'l give a try then. If I have any doubts will ask you. :)
Hi Wei,
How can I get annotation for EPIC data?
or, after you created genomic ratioSet, gset, using minfi, you can directly get annotation by command:
anno<-getAnnotation(gset)
Be careful that it's pulling in the correct annotation for 850, and not just the 450 annotation set.
Thanks for the reply Andrew and Wei. I am working on Infinium methylation EPIC data to find DMP and DMR. I am following minfi user guide for the analysis. I have some doubts in the analysis. Please check the following:
For DMP:
What if I want DMP for specific comparisons? And dmpFinder returns a data.frame with columns for the statistic, the p-value, the q-value and the intercept. And, if I would like to know which CpG's are hyper- or hypo-methylated from that table how to go for that? How can I extract the tables of differentially expressed CpGs for each comparison I give?
For eg: I want to find DMP for following comparisons.
Looking forward to your response. Thank you in Advance
actually, you can extract the beta values and use phenotype information to create your design file; then using limma package to identify deferentially methylated position. This is pretty much what ChAMP package's champ.MVP function does. As for Andrew's comment, you should be able to automatically load EPIC manifest but double check to see if your annotation is right may be a good point too. -Xiaokuan
Thanks for the reply wei. As you said I used limma package, lmFit. Could you please check the following whether it is the rightway or not. And Could you please tell me about contMatrix once which is below.
yes, it seems fine.
See here
Hi Andrew,
The 3.2's user guide doesn't have how to find differential methylated regions. Could you please tell me which package should be used for that and how to? Thank you in Advance.
If you're using Limma to do differential methylation tests, I'd recommend DMRCate
Will give a try. Thank you.
Hi Andrew,
I am having some issues while using DMRcate. I am getting an error for cpg.annotate
myAnnotation <- cpg.annotate(mVals, datatype = "array",analysis.type="differential", design=design,contrasts = TRUE, cont.matrix = contMatrix,coef="MCFseven - fourAfive")
Your contrast returned 496947 individually significant probes. We recommend the default setting of pcutoff in dmrcate(). Error in data.frame(ID = rownames(object), stat = stat, CHR = RSanno$chr, : arguments imply differing number of rows: 812896, 425236
PS. I also made a post at https://groups.google.com/d/msg/epigenomicsforum/G3yO92pEqzQ/z-KIDzRMBwAJ
Please have a look to my pipeline. Any advice is greatly appreciated. Thank you in Advance
This thread is getting ridiculously long now, so please make a new post in biostars
Ok I made a new thread now.