[BioC] GO's to gene's

Marc Carlson mcarlson at fhcrc.org
Tue Mar 2 18:27:28 CET 2010


Good responses all around.

Yes our annotations are updated twice a year to go with each release. 
So the next update is actually "imminent".  The advantage to using Amigo
is that it will often be ever so slightly more current, but the
advantage to using our packages is that they will always give you the
same answers for a given version number.  So we are are doing this as a
trade off in exchange for greater reproducibility in your research. 
This is so that when you go to publish your results, you can reference
that they were done with Bioconductor version X.Y, and know that the
people who read your paper in two years will still be able to get the
same answers that you did.


  Marc



On 03/01/2010 07:49 PM, Martin Morgan wrote:
> On 03/01/2010 06:34 PM, Loren Engrav wrote:
>   
>> Thank you
>> You are clearly very good at this
>>
>> So to check it all out I did it manually on Amigo. Amigo found 33 genes
>> (limited to Human and omitting IEA)
>>
>> The org.HS.eg.db method found 29 of the 33 but did not find
>> CST3 (1471) GO:0010711 IEP
>> HIF1A (3091) GO:0032963 ISS
>> IL6R (3570), GO:0032966 IDA and
>> TRAM2 (9697) GO:0032964 IMP
>>
>> I suppose to figure out, for example, why org.Hs.eg.db does not map 9697 to
>> GO:0032964 is complex
>>     
>   
>> names(org.Hs.egGO[["9697"]])
>>     
> [1] "GO:0015031" "GO:0065002" "GO:0016020" "GO:0016021"
>
> Hmm, what are the offspring / ancestors of GO:0032964 ?
>
>   
>> GOBPOFFSPRING[["GO:0032964"]]
>>     
> [1] "GO:0032965" "GO:0032966" "GO:0032967"
>   
>> GOBPANCESTOR[["GO:0032964"]]
>>     
>  [1] "all"        "GO:0008152" "GO:0008150" "GO:0009058" "GO:0009059"
>  [6] "GO:0032501" "GO:0032963" "GO:0043170" "GO:0044236" "GO:0044259"
>
> Nope nothing jumping out. Where's the GO data coming from?
>
>   
>> org.Hs.eg() ## or GO()
>>     
> [snip]
> Date for GO data: 20090830
>
> Whereas AMIGO says (at the bottom of each page)
>
>   GO database release 2010-02-27
>
> so that looks like a likely issue that would require some more
> substantial investigation. Merits of using a 'current' db (Amigo) vs a
> 'versioned' db (GO.db)? See mailing list archives, e.g., current
> state-of-knowledge vs. reproducibility (how would we redo the analysis
> we did last month and get the same results with AMIGO?).
>
> On the other hand
>
>   
>> org.Hs.egGO2EG[["GO:0010711"]]
>>     
>    IEP
> "1471"
>   
>> GOTERM[["GO:0010711"]]
>>     
> GOID: GO:0010711
> Term: negative regulation of collagen catabolic process
> Ontology: BP
> Definition: Any process that decreases the rate, frequency or extent of
>     collagen catabolism. Collagen catabolism is the proteolytic
>     chemical reactions and pathways resulting in the breakdown of
>     collagen in the extracellular matrix.
> Synonym: down regulation of collagen catabolic process
> Synonym: down-regulation of collagen catabolic process
> Synonym: downregulation of collagen catabolic process
> Synonym: inhibition of collagen catabolic process
> Synonym: negative regulation of collagen breakdown
> Synonym: negative regulation of collagen catabolism
> Synonym: negative regulation of collagen degradation
>
> so why didn't we find that one?
>
>   
>> terms <- Term(GOTERM)  # or maybe Definition(GOTERM)
>> "GO:0010711" %in% names(terms)
>>     
> [1] TRUE
>   
>> terms[["GO:0010711"]]
>>     
> [1] "negative regulation of collagen catabolic process"
>
> yep it's there
>
>   
>> ontologies <- Ontology(GOTERM)
>> ontologies[["GO:0010711"]]
>>     
> [1] "BP"
>   
>> collagen <- terms[grepl("collagen", terms) & ("BP" == ontologies)]
>> collagen[["GO:0010711"]]
>>     
> [1] "negative regulation of collagen catabolic process"
>
> yep it's there (or were we looking for MF, as below?).
>
>   
>> egids[["GO:0010711"]]
>>     
>    IEP
> "1471"
>
> yep it's there. So this makes me think it's a programming error or a
> miscommunication. I'd suggest you write a little function
>
> getGO <-
>     function(termLike, ontology, exludeEvidence)
> {
>     ## a few lines of code here, representing the query you perform
> }
>
> and perhaps sharing that with the list will shed some light.
>
> Martin
>
>
>   
>> Thank you
>>
>>
>>     
>>> From: Martin Morgan <mtmorgan at fhcrc.org>
>>> Date: Mon, 01 Mar 2010 05:16:48 -0800
>>> To: Loren Engrav <engrav at u.washington.edu>
>>> Cc: "bioconductor at stat.math.ethz.ch" <bioconductor at stat.math.ethz.ch>
>>> Subject: Re: [BioC] GO's to gene's
>>>
>>> On 02/28/2010 09:01 PM, Loren Engrav wrote:
>>>       
>>>> So I checked
>>>>         
>>>>> collagen
>>>>>           
>>>> And this list matches Amigo
>>>> So then would appear the issue lies in
>>>>         
>>>>> egids <- mget(names(collagen), org.Hs.egGO2EG, ifnotfound=NA)
>>>>>           
>>>> Some of the names are finding no associated genes in org.Hs.egGO2EG and so
>>>> appear as NA
>>>> True? Possible?
>>>>         
>>> yes. GO is not H. sapiens specific and ENTREZ ids are not 100%
>>> comprehensive, so some GO terms do not map to ENTREZ ids.
>>>
>>>       
>>>>>> Also I would like to omit the IEA group
>>>>>>             
>>> maybe
>>>
>>>   egids <- lapply(egids, function(elt)  elt[names(elt) != "IEA"])
>>>   egids[sapply(egids, length) != 0]
>>>
>>> Martin
>>>
>>>       
>>>> My version of org.Hs.egGO2EG is 2.3.6
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>         
>>>>> From: Loren Engrav <engrav at u.washington.edu>
>>>>> Date: Sun, 28 Feb 2010 20:33:05 -0800
>>>>> To: "bioconductor at stat.math.ethz.ch" <bioconductor at stat.math.ethz.ch>
>>>>> Conversation: [BioC] GO's to gene's
>>>>> Subject: Re: [BioC] GO's to gene's
>>>>>
>>>>> Oopps, Amigo says there are 20 such terms, not 68 as I said before, cuz I
>>>>> retrieved only BP
>>>>>
>>>>>
>>>>>           
>>>>>> From: Loren Engrav <engrav at u.washington.edu>
>>>>>> Date: Sun, 28 Feb 2010 20:28:17 -0800
>>>>>> To: "bioconductor at stat.math.ethz.ch" <bioconductor at stat.math.ethz.ch>
>>>>>> Conversation: [BioC] GO's to gene's
>>>>>> Subject: Re: [BioC] GO's to gene's
>>>>>>
>>>>>> Ok thank you
>>>>>> I now show
>>>>>>             
>>>>>>> sessionInfo()
>>>>>>>               
>>>>>> R version 2.10.1 (2009-12-14)
>>>>>> i386-apple-darwin9.8.0
>>>>>>
>>>>>> locale:
>>>>>> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>>>>>>
>>>>>> attached base packages:
>>>>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>>>>
>>>>>> other attached packages:
>>>>>> [1] org.Hs.eg.db_2.3.6  GO.db_2.3.5         RSQLite_0.8-3
>>>>>> AnnotationDbi_1.8.1 DBI_0.2-5
>>>>>> [6] Biobase_2.6.1
>>>>>>
>>>>>> loaded via a namespace (and not attached):
>>>>>> [1] tools_2.10.1
>>>>>>
>>>>>> And all commands pass with no errors, however I see
>>>>>>
>>>>>>             
>>>>>>> egids
>>>>>>>               
>>>>>> $`GO:0010711`
>>>>>>    IEP 
>>>>>> "1471" 
>>>>>>
>>>>>> $`GO:0030199`
>>>>>>     IEA     IEA     ISS     IEA     IMP     IMP     IMP     IMP     NAS
>>>>>> IMP     NAS     IMP     ISS
>>>>>>   "302"   "304"   "538"   "871"  "1277"  "1278"  "1280"  "1281"  "1281"
>>>>>> "1289"  "1289"  "1290"  "1290"
>>>>>>     NAS     IDA     NAS     IEA     IEA     IEA     IEA     IEA     NAS
>>>>>> ISS     IDA     ISS     NAS
>>>>>>  "1301"  "1302"  "1303"  "1805"  "2296"  "2303"  "4010"  "4015"  "4060"
>>>>>> "4763"  "7042"  "7046"  "7373"
>>>>>>     NAS     NAS
>>>>>>  "9508" "50509"
>>>>>>
>>>>>> $`GO:0030574`
>>>>>>      IEA      IEA      IEA      IEA      IEA      IEA      IEA      IEA
>>>>>> IEA      IEA      IEA
>>>>>>   "4312"   "4313"   "4314"   "4316"   "4317"   "4318"   "4319"   "4320"
>>>>>> "4322"   "4325"   "4327"
>>>>>>      IEA      IDA      IMP      NAS      IEA      NAS      IEA      IEA
>>>>>> IEA      IEA 
>>>>>>   "5184"   "5645"   "5645"   "5653"   "5657"   "9508"   "9509"  "56547"
>>>>>> "64066" "140766"
>>>>>>
>>>>>> $`GO:0032963`
>>>>>>    IEA    IMP 
>>>>>> "3091" "7148" 
>>>>>>
>>>>>> $`GO:0032964`
>>>>>>    IEA    IMP    IMP    TAS    IMP
>>>>>>  "871" "1277" "1281" "1281" "1289"
>>>>>>
>>>>>> $`GO:0032966`
>>>>>>    IDA     IC 
>>>>>> "3569" "4261" 
>>>>>>
>>>>>> $`GO:0032967`
>>>>>>    ISS    IDA    IDA     IC    IMP    TAS    IMP
>>>>>>  "265" "2147" "2149" "3066" "7040" "7040" "7043"
>>>>>>
>>>>>> $`GO:0033342`
>>>>>>     IMP 
>>>>>> "23560"
>>>>>>
>>>>>> So many GO terms containing the word "collagen" are not listed, like
>>>>>> 0004656
>>>>>> 0005518
>>>>>> etc
>>>>>> Amigo claims there are 68 such terms and the list above has only 8
>>>>>> What did I do wrong?
>>>>>> Also I would like to omit the IEA group
>>>>>>
>>>>>> Thank you
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> From: Martin Morgan <mtmorgan at fhcrc.org>
>>>>>>> Date: Sun, 28 Feb 2010 19:30:34 -0800
>>>>>>> To: Loren Engrav <engrav at u.washington.edu>
>>>>>>> Cc: "bioconductor at stat.math.ethz.ch" <bioconductor at stat.math.ethz.ch>
>>>>>>> Subject: Re: [BioC] GO's to gene's
>>>>>>>
>>>>>>> On 02/28/2010 07:17 PM, Loren Engrav wrote:
>>>>>>>               
>>>>>>>> Thank you both
>>>>>>>> Given my skills, it might be easier/quicker to do it "manually" with
>>>>>>>> Amigo
>>>>>>>> But I am trying both methods
>>>>>>>>
>>>>>>>> For the second method I get
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> library(GO.db)
>>>>>>>>>                   
>>>>>>>> Loading required package: AnnotationDbi
>>>>>>>> Loading required package: Biobase
>>>>>>>>
>>>>>>>> Welcome to Bioconductor
>>>>>>>>
>>>>>>>>   Vignettes contain introductory material. To view, type
>>>>>>>>   'openVignette()'. To cite Bioconductor, see
>>>>>>>>   'citation("Biobase")' and for packages 'citation(pkgname)'.
>>>>>>>>
>>>>>>>> Loading required package: DBI
>>>>>>>>                 
>>>>>>>>> terms <- Term(GOTERM)
>>>>>>>>>                   
>>>>>>>> Error in function (classes, fdef, mtable)  :
>>>>>>>>   unable to find an inherited method for function "Term", for signature
>>>>>>>> "GOTermsAnnDbBimap"
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> sessionInfo()
>>>>>>>>>                   
>>>>>>>> R version 2.9.2 Patched (2009-09-05 r49613)
>>>>>>>> i386-apple-darwin9.8.0
>>>>>>>>
>>>>>>>> locale:
>>>>>>>> en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>>>>>>>>                 
>>>>>>> ,
>>>>>>>               
>>>>>>>> attached base packages:
>>>>>>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>>>>>>                 
>>>>>>> Update to R version 2.10 and associated Bioc packages, or for a (much)
>>>>>>> slower solution (you'll want to check that Term and Ontology return ids
>>>>>>> in identical order)
>>>>>>>
>>>>>>>   terms = eapply(GOTERM, Term)
>>>>>>>
>>>>>>> etc. I have
>>>>>>>
>>>>>>>               
>>>>>>>> sessionInfo()
>>>>>>>>                 
>>>>>>> R version 2.10.1 Patched (2010-02-23 r51168)
>>>>>>> x86_64-unknown-linux-gnu
>>>>>>>
>>>>>>> locale:
>>>>>>>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>>>>>>>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>>>>>>>  [5] LC_MONETARY=C              LC_MESSAGES=en_US.UTF-8
>>>>>>>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>>>>>>>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
>>>>>>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>>>>>>
>>>>>>> attached base packages:
>>>>>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>>>>>
>>>>>>> other attached packages:
>>>>>>> [1] GO.db_2.3.5         RSQLite_0.7-3       DBI_0.2-4
>>>>>>> [4] AnnotationDbi_1.8.1 Biobase_2.6.1
>>>>>>>
>>>>>>> loaded via a namespace (and not attached):
>>>>>>> [1] tools_2.10.1
>>>>>>>
>>>>>>>
>>>>>>> Martin
>>>>>>>
>>>>>>>               
>>>>>>>>                 
>>>>>>>>> From: Martin Morgan <mtmorgan at fhcrc.org>
>>>>>>>>> Date: Sun, 28 Feb 2010 18:42:33 -0800
>>>>>>>>> To: Vincent Carey <stvjc at channing.harvard.edu>
>>>>>>>>> Cc: Loren Engrav <engrav at u.washington.edu>,
>>>>>>>>> "bioconductor at stat.math.ethz.ch"
>>>>>>>>> <bioconductor at stat.math.ethz.ch>
>>>>>>>>> Subject: Re: [BioC] GO's to gene's
>>>>>>>>>
>>>>>>>>> On 02/28/2010 06:14 PM, Vincent Carey wrote:
>>>>>>>>>                   
>>>>>>>>>> Perhaps there is a package with such functionality.  However, with the
>>>>>>>>>> GO.db package in place, you need to do a little
>>>>>>>>>> programming, perhaps along the lines of
>>>>>>>>>>
>>>>>>>>>> querGO = function(str, attr = "definition", ont = "MF") {
>>>>>>>>>>   require(GO.db, quietly = TRUE)
>>>>>>>>>>   gc = GO_dbconn()
>>>>>>>>>>   quer.1 = paste("select go_id, term from go_term where",
>>>>>>>>>>   attr, "like('%")
>>>>>>>>>>   quer.2 = "%') and ontology = '"
>>>>>>>>>>   quer.3 = "'"
>>>>>>>>>>   quer = paste(quer.1, str, quer.2, ont, quer.3, collapse = "",
>>>>>>>>>>   sep = "")
>>>>>>>>>>   dbGetQuery(gc, quer)
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> whereby
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> querGO("collagen", "term")
>>>>>>>>>>>                       
>>>>>>>>>>        go_id
>>>>>>>>>> term
>>>>>>>>>> 1 GO:0004656                     procollagen-proline 4-dioxygenase
>>>>>>>>>> activity
>>>>>>>>>> 2 GO:0005518                                               collagen
>>>>>>>>>> binding
>>>>>>>>>> 3 GO:0008475                      procollagen-lysine 5-dioxygenase
>>>>>>>>>> activity
>>>>>>>>>> 4 GO:0019797                     procollagen-proline 3-dioxygenase
>>>>>>>>>> activity
>>>>>>>>>> 5 GO:0019798                       procollagen-proline dioxygenase
>>>>>>>>>> activity
>>>>>>>>>> 6 GO:0033823                       procollagen glucosyltransferase
>>>>>>>>>> activity
>>>>>>>>>> 7 GO:0042329 structural constituent of collagen and cuticulin-based
>>>>>>>>>> cuticle
>>>>>>>>>> 8 GO:0050211                     procollagen galactosyltransferase
>>>>>>>>>> activity
>>>>>>>>>> 9 GO:0070052                                             collagen V
>>>>>>>>>> binding
>>>>>>>>>>                     
>>>>>>>>>>>                       
>>>>>>>>> Also
>>>>>>>>>
>>>>>>>>>   library(GO.db)
>>>>>>>>>   terms <- Term(GOTERM)  # or maybe Definition(GOTERM) ?
>>>>>>>>>   ontologies <- Ontology(GOTERM)
>>>>>>>>>   collagen <- terms[grepl("collagen", terms) & ("MF" == ontologies)]
>>>>>>>>>
>>>>>>>>> and the next step,
>>>>>>>>>
>>>>>>>>>   library(org.Hs.eg.db)
>>>>>>>>>   egids <- mget(names(collagen), org.Hs.egGO2EG, ifnotfound=NA)
>>>>>>>>>   egids <- egids[!is.na(egids)]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>>>> On Sun, Feb 28, 2010 at 8:56 PM, Loren Engrav <engrav at u.washington.edu>
>>>>>>>>>> wrote:
>>>>>>>>>>                     
>>>>>>>>>>> Is there a BioC package that will find all the GO terms containing
>>>>>>>>>>> some
>>>>>>>>>>> word, like perhaps ³collagen²
>>>>>>>>>>> And then find all the genes contained within those found terms
>>>>>>>>>>>
>>>>>>>>>>> I scanned
>>>>>>>>>>> GoProfiles
>>>>>>>>>>> GOSemSim
>>>>>>>>>>> GOstats
>>>>>>>>>>> GoTools and
>>>>>>>>>>> TopGO
>>>>>>>>>>>
>>>>>>>>>>> And could not determine that any would do that.
>>>>>>>>>>>
>>>>>>>>>>> Thank you.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>        [[alternative HTML version deleted]]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Bioconductor mailing list
>>>>>>>>>>> Bioconductor at stat.math.ethz.ch
>>>>>>>>>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>>>>>>>>>> Search the archives:
>>>>>>>>>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Bioconductor mailing list
>>>>>>>>>> Bioconductor at stat.math.ethz.ch
>>>>>>>>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>>>>>>>>> Search the archives:
>>>>>>>>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>>>>>>>>                     
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> Martin Morgan
>>>>>>>>> Computational Biology / Fred Hutchinson Cancer Research Center
>>>>>>>>> 1100 Fairview Ave. N.
>>>>>>>>> PO Box 19024 Seattle, WA 98109
>>>>>>>>>
>>>>>>>>> Location: Arnold Building M1 B861
>>>>>>>>> Phone: (206) 667-2793
>>>>>>>>>                   
>>>>>>>> _______________________________________________
>>>>>>>> Bioconductor mailing list
>>>>>>>> Bioconductor at stat.math.ethz.ch
>>>>>>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>>>>>>> Search the archives:
>>>>>>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>>>>>>                 
>>>>>>>
>>>>>>> -- 
>>>>>>> Martin Morgan
>>>>>>> Computational Biology / Fred Hutchinson Cancer Research Center
>>>>>>> 1100 Fairview Ave. N.
>>>>>>> PO Box 19024 Seattle, WA 98109
>>>>>>>
>>>>>>> Location: Arnold Building M1 B861
>>>>>>> Phone: (206) 667-2793
>>>>>>>               
>>>> _______________________________________________
>>>> Bioconductor mailing list
>>>> Bioconductor at stat.math.ethz.ch
>>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>>> Search the archives:
>>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>>         
>>>
>>> -- 
>>> Martin Morgan
>>> Computational Biology / Fred Hutchinson Cancer Research Center
>>> 1100 Fairview Ave. N.
>>> PO Box 19024 Seattle, WA 98109
>>>
>>> Location: Arnold Building M1 B861
>>> Phone: (206) 667-2793
>>>       
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
>>     
>
>



More information about the Bioconductor mailing list