No enriched GO terms CpGs
1
0
Entering edit mode
Joana • 0
@b8d82414
Last seen 13 months ago
Spain

Given a list of significant CpGs, FDR < 0.005 after perform RLM, (146 in total) perform an enrichment. Packages used is missMethyl, as it takes care of the bias of CpGs being annotated to more than one gene etc. As for the background I am using the all CpGs annotated in the 450k array, I know it's not the best approach and I should remove those prove not used for the analyses, but I do no have that information. I know the number of total probes used in the analyses is 463,932 , which is not far away from the number in the array 485512, therefore I assumed it wouldn't influence that much in the results.

The code/function itself doesn't have any error, My question comes as to understand why there are no significant GO terms enriched if the CpGs are significant? I apologize since I am new to these field, but I don't understand the reason of not having significant enrichment results.

Thank you

# Singificant CpGs loaded from xlsx 
# Get list of significant CpGs in this case they are filtered already)

list_signficant_cpgs <- unique(significant_cpgs$CpG) # 146
print(list_signficant_cpgs[1:10] )

# [1] "cg03084350" "cg13518625" "cg23761815" "cg00574958" "cg03819286" "cg08774868" "cg20761853" "cg02107842" "cg01678580" "cg05399785"

# GO enrichment 

go_missMethyl <- gometh(sig.cpg = list_signficant_cpgs[1:18], array.type = "450K", 
                        collection = "GO")

go_missMethyl <- go_missMethyl[order(go_missMethyl$P.DE, decreasing = FALSE),]

All input CpGs are used for testing.
> go_missMethyl <- go_missMethyl[order(go_missMethyl$P.DE, decreasing = FALSE),]
> go_missMethyl[1:20,]
           ONTOLOGY                                                           TERM  N DE        P.DE FDR
GO:0032996       CC                                             Bcl3-Bcl10 complex  1  1 0.001604424   1
GO:0003980       MF          UDP-glucose:glycoprotein glucosyltransferase activity  2  1 0.001974258   1
GO:0097359       BP                                              UDP-glucosylation  2  1 0.001974258   1
GO:0003350       BP                               pulmonary myocardium development  2  1 0.002276349   1
GO:1902440       BP              protein localization to mitotic spindle pole body  1  1 0.002692597   1
GO:1990811       CC                                                    MWP complex  1  1 0.002692597   1
GO:0006853       BP                                              carnitine shuttle  4  1 0.003287714   1
GO:0002268       BP                      follicular dendritic cell differentiation  2  1 0.003291488   1
GO:0033257       CC                                        Bcl3/NF-kappaB2 complex  2  1 0.003291488   1
GO:0004095       MF                      carnitine O-palmitoyltransferase activity  4  1 0.003307344   1
GO:1990698       MF                               palmitoleoyltransferase activity  2  1 0.003343407   1
GO:0140074       BP                  cardiac endothelial to mesenchymal transition  2  1 0.003349776   1
GO:0002266       BP                           follicular dendritic cell activation  3  1 0.003583316   1
GO:0016406       MF                           carnitine O-acyltransferase activity  6  1 0.003586884   1
GO:0016416       MF                                O-palmitoyltransferase activity  5  1 0.004099085   1
GO:0033256       CC                                     I-kappaB/NF-kappaB complex  4  1 0.004632530   1
GO:0035251       MF                               UDP-glucosyltransferase activity 11  1 0.004641942   1
GO:0051045       BP negative regulation of membrane protein ectodomain proteolysis  8  1 0.004666958   1
GO:0006011       BP                                  UDP-glucose metabolic process  6  1 0.004772528   1
GO:0090210       BP             regulation of establishment of blood-brain barrier  4  1 0.004913773   1
DNAMethylation missMethyl • 934 views
ADD COMMENT
0
Entering edit mode

Hi Joana

I noticed in the code above you only put in 18 significant CpGs, rather than the 146 that are significant:

   go_missMethyl <- gometh(sig.cpg = list_signficant_cpgs[1:18], array.type = "450K", collection = "GO")

This is really too few CpGs to perform gene set testing. Was this an error? I usually would put in at least 500 CpGs as input to missMethyl, but no more than 10,000.

Cheers, Belinda

ADD REPLY
0
Entering edit mode
Basti ▴ 780
@7d45153c
Last seen 1 day ago
France

It is not because you have significant CpGs that you will have a significant pathway enrichment of genes in which they are located. The methylation differences you observe affect genes that are not biologically related, and there is no problem with that.

The possible reasons are multiple : maybe the condition tested is likely to affect methylation globally or randomly and not on specific sites, maybe your sample size was low and your CpGs are not enough robust, the CpGs you observed are significant but the deltabeta is very low, etc ...

Differentially methylated positions contain are, to my opinion, less interesting than differentially methylated regions given that a single CpG may not have a functional implication alone. Did you look at differentially methylated regions ?

ADD COMMENT
0
Entering edit mode

Hi,

I see, then it is more probable to have an enriched term when the methylation differences affect genes related, right? About the DMRs, I didn't look at them since I do not have the data for doing that at this point. But yes, it totally make sense and would be interesting to look at it. Thanks for the suggestion.

ADD REPLY
1
Entering edit mode

You can easily identify DMR from your CpG analysis output, notably with DMRcate. In addition, you can perform the twin function of gometh which is goregion, and you will be likely to obtain pathways enrichment because individual DMPs would be removed from this analysis.

ADD REPLY
0
Entering edit mode

@Basti, could you please suggest which R package would be best to use for DMR (differentially methylated regions ) analysis?

ADD REPLY
1
Entering edit mode

I would suggest DMRcate which I find very convenient to use and is compatible with missMethyl goregion function for further analysis, and it has interesting visualisation possibilities

ADD REPLY

Login before adding your answer.

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