[BioC] goTools package, ontoCompare error
James W. MacDonald
jmacdon at med.umich.edu
Fri Nov 6 16:22:02 CET 2009
Hi Craig,
Craig Johnson wrote:
> Dear list,
>
> If someone could please help me figure out what I am missing I would
> be very grateful. My error can be recreated using the package data
> set and example and only occurs when using custom end nodes. The code
> and session info follow.
>
> Thanks, Craig
>
>> library("goTools", verbose=FALSE) library("GO.db") data(probeID)
>> subset=c(L1=list(affylist[[1]][1:5]),L2=list(affylist[[2]][1:5]))
>> MFendnode <- CustomEndNodeList("GO:0003674", rank=2)
> rank= 1 rank= 2
>> res <- ontoCompare(subset, probeType="hgu133a", endnode=MFendnode,
>> goType="MF")
> Starting ontoCompare... Loading required package: org.Hs.eg.db Error
> in function (classes, fdef, mtable) : unable to find an inherited
> method for function "Ontology", for signature "NULL"
The problem arises in this line of the ontoCompare() function:
if (missing(endnode))
endnode <- EndNodeList()
else endnode <- unique(c("GO:0003673", "GO:0003674", "GO:0005575",
"GO:0008150", endnode))
Since you are passing an endnode to ontoCompare(), you get these other
GO IDs tacked on the front of your endnode. Howeva,
> get("GO:0003673", GOTERM)
Error in .checkKeys(value, Lkeys(x), x at ifnotfound) :
value for "GO:0003673" not found
This is because this term is the 'root' term (e.g., the only children of
this term are molecular function, cellular component, and biological
process) this term is now obsolete, being replaced by the GO term 'all':
> get("GO:0003674", GOTERM)
GOID: GO:0003674
Term: molecular_function
Ontology: MF
Definition: Elemental activities, such as catalysis or binding,
describing the actions of a gene product at the molecular level. A
given gene product may exhibit one or more molecular functions.
Synonym: molecular function
Synonym: molecular function unknown
Synonym: GO:0005554
Secondary: GO:0005554
> get("GO:0003674", GOMFANCESTOR)
[1] "all"
Note that goTools doesn't use a namespace (tsk, tsk), so you can just
copy the ontoCompare function to the editor of your choice (or use
fix(ontoCompare), same difference), remove the offending GO term and
paste into your workspace. This will mask the function in the package
and it will then work correctly. This is an impermanent fix.
When I do so, I get this:
res <- ontoCompare(subset, probeType="hgu133a", endnode=MFendnode,
goType="MF")
Starting ontoCompare...
>
> res
[,1] [,2]
hydrolase activity 0.0 0.2
protein binding 0.4 0.4
nucleic acid binding 0.2 0.0
enzyme activator activity 0.0 0.2
GTPase regulator activity 0.0 0.2
NotFound 0.4 0.4
-OR-
You can download the source package, fix the function in
goTools/R/goTools.R, then build and install the package. This is
permanent until you re-install the package from BioC.
-OR-
You can email the maintainer Agnes Paquet <paquetagnes at yahoo.com>
and ask her to fix it. Since she hasn't responded to your original
request for help, I have to assume she doesn't closely follow the BioC
listserv traffic, so a direct appeal is probably more likely to get a
result.
Best,
Jim
>
>
>> traceback()
> 7: stop("unable to find an inherited method for function \"",
> fdef at generic, "\", for signature ", cnames) 6: function (classes,
> fdef, mtable) { methods <- .findInheritedMethods(classes, fdef,
> mtable) if (length(methods) == 1L) return(methods[[1L]]) else if
> (length(methods) == 0L) { cnames <- paste("\"", sapply(classes,
> as.character), "\"", sep = "", collapse = ", ") stop("unable to find
> an inherited method for function \"", fdef at generic, "\", for
> signature ", cnames) } else stop("Internal error in finding inherited
> methods; didn't return a unique method") }(list("NULL"), function
> (object) standardGeneric("Ontology"), <environment>) 5: FUN(X[[1L]],
> ...) 4: lapply(X, FUN, ...) 3: sapply(FullGOenv[index], Ontology) 2:
> getOntology(endnode, goType, FullGOenv) 1: ontoCompare(subset,
> probeType = "hgu133a", endnode = MFendnode, goType = "MF")
>
>
>
>> sessionInfo()
> R version 2.10.0 (2009-10-26) i386-pc-mingw32
>
> locale: [1] LC_COLLATE=English_United States.1252 [2]
> LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United
> States.1252 [4] LC_NUMERIC=C [5] LC_TIME=English_United States.1252
>
>
> attached base packages: [1] stats graphics grDevices datasets
> tools utils methods [8] base
>
> other attached packages: [1] hgu133a.db_2.3.5 org.Hs.eg.db_2.3.6
> goTools_1.20.0 [4] GO.db_2.3.5 RSQLite_0.7-3 DBI_0.2-4
> [7] AnnotationDbi_1.8.0 genefilter_1.28.0 Biobase_2.6.0 [10]
> limma_3.2.1
>
> loaded via a namespace (and not attached): [1] annotate_1.24.0
> splines_2.10.0 survival_2.35-7 xtable_1.5-5
>
>
> Craig Johnson Biostatistician, UM Microarray Core 7410 CCGC 1500 E.
> Medical Center Dr. Ann Arbor, MI 48109-0946
>
>
> ********************************************************** Electronic
> Mail is not secure, may not be read every day, and should not be used
> for urgent or sensitive issues
>
> _______________________________________________ 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
--
James W. MacDonald, M.S.
Biostatistician
Douglas Lab
University of Michigan
Department of Human Genetics
5912 Buhl
1241 E. Catherine St.
Ann Arbor MI 48109-5618
734-615-7826
More information about the Bioconductor
mailing list