Did anyone know whether the GO terms can include more detail information? Like I can get the DotPlot of the GO terms as below: enter image description here The problem is that some of the genes, in the GO terms, is more about sinoatrial-node (SAN). So whether there is any method that we can do to dig deeper into the GO terms?


The various Gene Ontologies are arranged as Direct Acyclical Graphs. This means that each term can have children and parents. When a gene is annotated with a GO term, it also inherits all of that term's parents. Therefore, when you run a GO enrichment analysis, it is very common that you find the broader terms enriched since those are the ones shared by most genes.

For example, the Biological Process (BP) GO term GO:0003163 sinoatrial node development has the following tree:

 GO:0008150 biological_process
      GO:0048856 anatomical structure development
      GO:0032501 multicellular organismal process
          GO:0032502 developmental process
          GO:0007275 multicellular organism development
              GO:0048731 system development
              GO:0009888 tissue development
                  GO:0048513 animal organ development
                  GO:0072359 circulatory system development
                  GO:0060537 muscle tissue development
                      GO:0048738 cardiac muscle tissue development
                      GO:0007507 heart development
                      GO:0014706 striated muscle tissue development
                          GO:0003161 cardiac conduction system development
                              GO:0003163 sinoatrial node development
                                  GO:0060921 sinoatrial node cell differentiation

This means that any gene annotated with GO:0003163 will also be annotated with every one of the terms above it in the tree, all the way to the top of the graph. All genes with at least one BP GO term will also be annotated with GO:0008150, the root of the tree.

As you can see, your "muscle tissue development (GO:0060537)" is also there and is a parent of "sinoatrial node development". However, if you just ran an enrichment analysis (I ave no idea what you did since you haven't actually told us anything), then what will have happened is that there are many genes annotated with various different child terms of GO:0060537, but since all child terms will inherit the parent annotations, what you see is the parent and not the specific term you are looking for.

So yes, there are far more specific terms that what you show, but whether or not they appear in your results will depend on what you are doing.

| improve this answer | |
  • $\begingroup$ Hi terdon, Thank you so much for your reply. Now it make more sense to me. And I would like to know how I can do to specific the GO terms like how can I show my child terms as I got the parent annotations? Here is my code on getting the DotPlot "cluster0_all_gene_ego<-enrichGO(cluster0_all_gene,keyType = 'SYMBOL', OrgDb = org.Mm.eg.db, ont = "BP", pAdjustMethod = "BH",pvalueCutoff = 1,qvalueCutoff = 1) dotplot(cluster0_all_gene_ego)". So what's the next step I need to do to dig out the chid terms? Much appreciated for your answer. $\endgroup$ – hua Dec 5 '19 at 19:24
  • $\begingroup$ @hua sorry, I don't speak R and anyway, this can't really be sorted in the comments. Please ask a new question about this. The problem will probably be your enrichment. There is likely no enrichment for more specific terms, that's why you see the parents. If you have term A which has the children A1, A2` and A3, and you have a gene annotated with each of the children, then only the parent will be enriched since all three will be annotated with the parent as well as the child term, but he child terms will not be overrepresented. $\endgroup$ – terdon Dec 5 '19 at 19:31
  • $\begingroup$ Hi terdon, I use the clusterProfiler, and I don't know what kind of the package or GO terms you use? $\endgroup$ – hua Dec 5 '19 at 19:50
  • $\begingroup$ @hua please ask a new question. These sites are not supposed to work as forums, comments should only be used to ask for a clarification. Everything else should be in its own question. And I haven't worked with GO terms in more than 5 years now, and I almost never use R, I'm not the right person to ask. So ask a new question where the right person can see it :) $\endgroup$ – terdon Dec 5 '19 at 20:14

This ends up not being a question of what method to use, but rather how detailed the GO term database you're using is. GO terms are maintained by the Gene Ontology Consortium and are relatively broad for the most part, with a few more specific molecular signaling pathways included. If you search for the ontologies for "atrial" you'll find a number of relevant GO terms. The question mostly becomes whether those are sufficient for your needs. If they are, make sure you include "biological process" in your GO analysis. If not, you might have to make your own group of relevant genes.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.