<p>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. </p>

<p>For example, the Biological Process (BP) GO term <a href="http://amigo.geneontology.org/amigo/term/GO:0003163" rel="nofollow noreferrer">GO:0003163 sinoatrial node development</a> has the following tree:</p>

<pre><code>￼ 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
</code></pre>

<p>This means that any gene annotated with <code>GO:0003163</code> 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.</p>

<p>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.</p>

<p>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. </p>

CC BY-SA 4.0
2019-12-05T19:24:38.800Z
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.
hua
CC BY-SA 4.0
2019-12-05T19:31:20.650Z
@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.
terdon
CC BY-SA 4.0
2019-12-05T19:50:05.377Z
Hi terdon, I use the clusterProfiler, and I don't know what kind of the package or GO terms you use?
hua
CC BY-SA 4.0
2019-12-05T20:14:11.983Z
@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 :)
terdon
CC BY-SA 4.0
2019-12-05T10:03:59.290Z
2019-12-05T10:03:59.290Z
terdon
<p>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 <a href="https://github.com/bioconda/bioconda-recipes/pull/18701" rel="nofollow noreferrer">Gene Ontology Consortium</a> and are relatively broad for the most part, with a few more specific molecular signaling pathways included. If you <a href="http://amigo.geneontology.org/amigo/search/ontology?q=atrial" rel="nofollow noreferrer">search for the ontologies for "atrial"</a> 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.</p>

CC BY-SA 4.0
2019-12-05T08:16:28.100Z
2019-12-05T08:16:28.100Z
Devon Ryan
<p>Did anyone know whether the GO terms can include more detail information? Like I can get the DotPlot of the GO terms as below:
<a href="https://i.sstatic.net/B1iWS.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/B1iWS.jpg" alt="enter image description here"></a>
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?</p>

<rna-seq><go-enrichment>
about GO terms's name
# about GO terms's name

(Asked by: username_0 on 2019-12-05)

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](https://i.sstatic.net/B1iWS.jpg)](https://i.sstatic.net/B1iWS.jpg)
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?

**Tags:** rna-seq, go-enrichment

---

## 2 answers

### Answer by username_1 on 2019-12-05. Score: 1 | Accepted answer

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.

> **Comments:**
> **username_0**: 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.  
> **username_1**: @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.  
> **username_0**: Hi terdon, I use the clusterProfiler, and I don't know what kind of the package or GO terms you use?  
> **username_1**: @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 :)  

---

### Answer by username_2 on 2019-12-05. Score: 0

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](https://github.com/bioconda/bioconda-recipes/pull/18701) 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"](http://amigo.geneontology.org/amigo/search/ontology?q=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.


---

