Hi Michele,
The traditional GO doesn't have any ontology for tissue type. There is an ontology for biological process (BP), molecular function (MF) and for cellular component (CC). But there is not a GO for tissue type or anatomical location. It looks like right now GO is essentially telling people to use other peoples terms for annotating those kinds of things when describing genes (IOW using other peoples IDs and ontologies such as Uberon or cell ontology).
Since that is the case, you can't directly look up GO terms that are associated with a specific tissue type unless the GO actually added a new ontology, or you had some domain specific knowledge to leverage (which could include annotations from other ontologies). But the gene ontology alone cannot indicate tissue. So if for example, you wanted to study GO terms that relate only to muscle cell development, you have to know somehow which specific processes are specifically involved in that and then go after those terms (and their child terms).
As for looking up all the specific children for a GO Term here is how you could do that:
library(GO.db)
muscleProcessID = "GO:0003012"
muscleIDs = unlist(mget(muscleProcessID,GOBPOFFSPRING),use.names=FALSE)
muscleIDs = c(muscleProcessID,muscleIDs)
And once you have those, you could then take those IDs to something like an org package and look up things like associated gene IDs etc. like this
library(org.Hs.eg.db)
select(org.Hs.eg.db, muscleIDs, 'SYMBOL', 'GO')
Hope this helps. If you would like to contribute some more packages to help us also cover some of these other ontologies, then please feel free to contact me.
Have you tried the check the
RamiGO
package? I have only used it to draw GO trees, but it might do more. That's all I can think of right now.