Methylation EPIC for paired samples.
1
3
Entering edit mode
5.5 years ago
SCHRCS ▴ 30

Hi, I am trying to analyse a new set of Methylation EPIC array data. The data is composed of paired samples Primary and Metastasis (P1, M1), (P2, M2) and (P3, M3) and there is one replicate of each sample. I have so far tried using minfi and ChAMP package for this analysis to find DMP and DMR. I have ran the QC for these data and have done different types of normalization. however using these packages I have not been able to find any DMRs or DMPs. In addition to these I have also tried comparing all the primary samples (P1, P2, P3) to the all the metastasis samples (M1, M2 , M3) and this have came back with no result as well. Increasing the DMP PValue has not worked as well. So I would like to know if anyone knows another method to analyse paired samples with no replicates or if there is any other type of analysis that I can utilize here.

Thanks in advance.

    > myDMP <-  champ.DMP(beta = my_norm,
+                     pheno = myload2$pd$Sample_Group,
+                     compare.group = NULL,
+                     adjPVal = 0.5,
+                     adjust.method = "BH",
+                     arraytype = "EPIC")
[===========================]
[<<<<< ChAMP.DMP START >>>>>]
-----------------------------
!!! Important !!! New Modification has been made on champ.DMP(): 

    (1): In this version champ.DMP() if your pheno parameter contains more than two groups of phenotypes, champ.DMP() would do pairewise differential methylated analysis between each pair of them. But you can also specify compare.group to only do comparasion between any two of them.

    (2): champ.DMP() now support numeric as pheno, and will do linear regression on them. So covariates like age could be inputted in this function. You need to make sure your inputted "pheno" parameter is "numeric" type.

--------------------------------

[ Section 1:  Check Input Pheno Start ]

  You pheno is character type.
    Your pheno information contains following groups. >>
    <P1>:1 samples.
    <M1>:1 samples.
    <P2>:1 samples.
    <M2>:1 samples.
    <P3>:1 samples.
    <M3>:1 samples.
    [The power of statistics analysis on groups contain very few samples may not strong.]
    pheno contains 6 phenotypes
    compare.group parameter is NULL, EACH PAIR of phenotypes will be added into Compare List.
    P1_to_M1 compare group : P1, M1
    P1_to_P2 compare group : P1, P2
    P1_to_M2 compare group : P1, M2
    P1_to_P3 compare group : P1, P3
    P1_to_M3 compare group : P1, M3
    M1_to_P2 compare group : M1, P2
    M1_to_M2 compare group : M1, M2
    M1_to_P3 compare group : M1, P3
    M1_to_M3 compare group : M1, M3
    P2_to_M2 compare group : P2, M2
    P2_to_P3 compare group : P2, P3
    P2_to_M3 compare group : P2, M3
    M2_to_P3 compare group : M2, P3
    M2_to_M3 compare group : M2, M3
    P3_to_M3 compare group : P3, M3

[ Section 1:  Check Input Pheno Done ]


[ Section 2:  Find Differential Methylated CpGs Start ]

  -----------------------------
  Start to Compare : P1, M1
  Contrast Matrix
      Contrasts
Levels pP1-pM1
   pM1      -1
   pP1       1
Error in .ebayes(fit = fit, proportion = proportion, stdev.coef.lim = stdev.coef.lim,  : 
  No residual degrees of freedom in linear model fits

DMR Analysis:

> myDMR2 <- champ.DMR(beta=my_norm,pheno=myload2$pd$Sample_Group,method="DMRcate")
[===========================]
[<<<<< ChAMP.DMR START >>>>>]
-----------------------------
!!! important !!! We just upgrate champ.DMR() function, since now champ.DMP() could works on multiple phenotypes, but ProbeLasso can only works on one DMP result, so if your pheno parameter contains more than 2 phenotypes, and you want to use ProbeLasso function, you MUST specify compare.group=c("A","B"). Bumphunter and DMRcate should not be influenced.

[ Section 1:  Check Input Pheno Start ]

  You pheno is character type.
    Your pheno information contains following groups. >>
    <P1>:1 samples.
    <M1>:1 samples.
    <P2>:1 samples.
    <M2>:1 samples.
    <P3>:1 samples.
    <M3>:1 samples.

[ Section 1:  Check Input Pheno Done ]


[ Section 2:  Run DMR Algorithm Start ]

3 cores will be used to do parallel DMRcate computing.
<< Find DMR with DMRcate Method >>
Loading required package: IlluminaHumanMethylationEPICanno.ilm10b4.hg19

Attaching package: 'IlluminaHumanMethylationEPICanno.ilm10b4.hg19'

The following objects are masked from 'package:IlluminaHumanMethylation450kanno.ilmn12.hg19':

    Islands.UCSC, Locations, Manifest, Other, SNPs.132CommonSingle, SNPs.135CommonSingle,
    SNPs.137CommonSingle, SNPs.138CommonSingle, SNPs.141CommonSingle, SNPs.142CommonSingle,
    SNPs.144CommonSingle, SNPs.146CommonSingle, SNPs.147CommonSingle, SNPs.Illumina

The following objects are masked from 'package:IlluminaHumanMethylationEPICanno.ilm10b3.hg19':

    Other, SNPs.Illumina

Error in .ebayes(fit = fit, proportion = proportion, stdev.coef.lim = stdev.coef.lim,  : 
  No residual degrees of freedom in linear model fits
software error • 2.6k views
ADD COMMENT
2
Entering edit mode
5.5 years ago

While it is possible that there may in fact not be a consistent significance difference in methylation patterns, it is probably good to test out a few different options (especially if needing to avoid a false negative, where one particular method doesn't identify a particular difference, but another method could).

Also, when using all of your samples, you may want to use a 2-variable model (although I would have to double-check if that is possible with ChAMP).

While the code is a little different with the EPIC array, I have some previous benchmarks with a few different tools:

https://www.nature.com/protocolexchange/protocols/2965

http://sourceforge.net/projects/cohcap/files/Protocol_Exchange_Example.zip

While I hope that is still helpful for using the programs (and, at least for that dataset, ChAMP performed worse than the other programs), it may still be a good idea to look at the separate manuals:

minfi / bumphunter: http://bioconductor.org/packages/release/bioc/html/minfi.html

RnBeads: http://bioconductor.org/packages/release/bioc/html/RnBeads.html

COHCAP: https://www.bioconductor.org/packages/release/bioc/html/COHCAP.html

With COHCAP, it sounds like you will very likely need to use non-default parameters, but I at least know for certain that you can run a paired 2-variable comparison.

I don't think IMA will work with the EPIC array, and it looks like you've already started to look at ChAMP.

ADD COMMENT

Login before adding your answer.

Traffic: 2633 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6