annotate incompatible with RdbiPgSQL !?!
2
0
Entering edit mode
@philip-lijnzaad-2499
Last seen 2.3 years ago
European Union
Dear all, I took a while to 'solve' the following problem. I need to use both RdbiPgSQL and geneplotter. The latter loads, directly or indirectly, all of annotate AnnotationDbi DBI RSQLite xtable lattice I used to have an old version of annotate that I didn't bother upgrading and worked fine. I recently did however, resulting in the indirect loading of DBI. This, in turn, is incompatible with Rdbi, resulting in connection errors: Error in function (classes, fdef, mtable) : unable to find an inherited method for function "dbConnect", for signature "PgSQL" I solved it by first library()-ing DBI, then Rdbi and RdbiPgSQL. However, I don't think this is very satisfactory. The ordering of libary() statements should be irrelevant and secondly, if I would just like to plot a few genes, it is overkill to also load complete database connection code. Would a dependency "Suggests: DBI etc." , rather than "Depends: DBI etc." not be more than enough for the annotate package? Kind regards, Philip -- Philip Lijnzaad, PhD Holstege Genomics Laboratory Dept. of Biomedical Genetics University Medical Center (UMC), Utrecht Stratenum room 2.211 (on Mondays and Thursdays not in after 15.00) MSN chat (*NOT* email): philip_lijnzaad@hotmail.com P.O. Box 85060, 3508 AB Utrecht (Universiteitsweg 100, 3584 CG Utrecht) The Netherlands tel: +31 (0)8875 68464 fax: +31 (0)8875 68479 [[alternative HTML version deleted]]
annotate geneplotter Rdbi RdbiPgSQL annotate geneplotter Rdbi RdbiPgSQL • 1.9k views
ADD COMMENT
0
Entering edit mode
@james-w-macdonald-5106
Last seen 6 hours ago
United States
Hi Philip, Philip Lijnzaad wrote: > Dear all, > > I took a while to 'solve' the following problem. I need to use both > RdbiPgSQL and geneplotter. The latter loads, directly or indirectly, > all of > > annotate AnnotationDbi DBI RSQLite xtable lattice > > I used to have an old version of annotate that I didn't bother > upgrading and worked fine. I recently did however, resulting in the > indirect loading of DBI. This, in turn, is incompatible with Rdbi, > resulting in connection errors: > > > Error in function (classes, fdef, mtable) : unable to find an > inherited method for function "dbConnect", for signature "PgSQL" > > I solved it by first library()-ing DBI, then Rdbi and RdbiPgSQL. > However, I don't think this is very satisfactory. The ordering of > libary() statements should be irrelevant and secondly, if I would > just like to plot a few genes, it is overkill to also load complete > database connection code. Would a dependency "Suggests: DBI etc." , > rather than "Depends: DBI etc." not be more than enough for the > annotate package? No. Since BioC2.3 all annotation packages are based on RSQLite databases, so annotate requires DBI to be loaded in order to work correctly. You are correct that this is an unsatisfactory situation, and namespaces are supposed to alleviate function masking, but only if they are set up correctly. So you should be contacting the maintainer of RdbiPgSQL directly (Hi Jianhua!) and asking him to fix his package. HOWEVER, you are using a dirt-old version of R and BioC, and Jianhua may have fixed this problem many months ago, so you need to upgrade to R-2.9.0 and BioC2.4 first, to ensure this problem still exists. Best, Jim > > Kind regards, > > Philip > -- 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
ADD COMMENT
0
Entering edit mode
@philip-lijnzaad-2499
Last seen 2.3 years ago
European Union
> I need to use both > RdbiPgSQL and geneplotter. Sorry, just to be complete, this is R 2.7.1, all packages all at their latest version: package.version("geneplotter") => "1.22.0" package.version("Rdbi") => "1.8.0" package.version("RdbiPgSQL") => "1.18.0" package.version("DBI") => "0.2-4" Regards, Ph. -- Philip Lijnzaad, PhD Holstege Genomics Laboratory Dept. of Biomedical Genetics University Medical Center (UMC), Utrecht Stratenum room 2.211 (on Mondays and Thursdays not in after 15.00) MSN chat (*NOT* email): philip_lijnzaad at hotmail.com P.O. Box 85060, 3508 AB Utrecht (Universiteitsweg 100, 3584 CG Utrecht) The Netherlands tel: +31 (0)8875 68464 fax: +31 (0)8875 68479
ADD COMMENT
0
Entering edit mode
Hi Philip, Please upgrade to R 2.9.x and relevant packages. We are not able to support older versions. We will have a look at this issue in the 2.9.x suite, but will not provide any patches for older versions of R/BioC. Also, you are mixing new versions of packages with old versions of R. We have specifically asked that users not do that, and if you do do that, please do not report any bugs. We are not able to provide assistance for people that do not follow the guidelines. best wishes Robert Philip Lijnzaad wrote: >> I need to use both >> RdbiPgSQL and geneplotter. > > Sorry, just to be complete, this is R 2.7.1, all packages all at their latest > version: > > package.version("geneplotter") => "1.22.0" > package.version("Rdbi") => "1.8.0" > package.version("RdbiPgSQL") => "1.18.0" > package.version("DBI") => "0.2-4" > > Regards, > > Ph. > -- Robert Gentleman, PhD Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M1-B514 PO Box 19024 Seattle, Washington 98109-1024 206-667-7700 rgentlem at fhcrc.org
ADD REPLY
0
Entering edit mode
[ sorry, my reply was intended to go to BioC (I realize BioC-devel would prolly have been more approppriate) ] ? On Monday 27 April 2009 19:14:40 you wrote: > Hi Philip, > ? Please upgrade to R 2.9.x and relevant packages. ? I am sorry that I forgot to mention that I had actually tested it there as well, and the issue is identical (see below). ?I had to downgrade to a previous release because RdbiPgSQL is broken in 2.9.x (see thread 'RdbiPgSQL problem: SET_VECTOR_ELT() can only be applied to a 'list', not a 'character'). (The 'unable to find an inherited method for function "dbConnect", for signature "PgSQL"' bug occurs only in combination with library(DBI), and is triggered by the PgSQL() call. The SET_VECTOR_ELT() problem comes after that). > We are not able to provide assistance for > people that do not follow the guidelines. My apologies for this. At the same time (since this basically is caused by the database connection package being broken), I would (kindly!) suggest that, in an ideal world, RdbiPgSQL ought to have been tested more thoroughly (especially connecting with an actual database) before the release; after all this is an infrastructure package. Anyways, kind regards, Philip ------------------ platform ? ? ? i686-pc-linux-gnu ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? arch ? ? ? ? ? i686 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? os ? ? ? ? ? ? linux-gnu ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? system ? ? ? ? i686, linux-gnu ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? status ? ? ? ? Under development (unstable) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? major ? ? ? ? ?2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? minor ? ? ? ? ?9.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? year ? ? ? ? ? 2009 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? month ? ? ? ? ?01 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? day ? ? ? ? ? ?22 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? svn rev ? ? ? ?47686 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? language ? ? ? R ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? version.string R version 2.9.0 Under development (unstable) (2009-01-22 r47686) > library(RdbiPgSQL) Loading required package: Rdbi > package.version("Rdbi") [1] "1.8.0" > package.version("RdbiPgSQL") [1] "1.18.0" > library(DBI) Attaching package: 'DBI' ? ? ? ? The following object(s) are masked from package:RdbiPgSQL : ? ? ? ? ?make.db.names ? ? ? ? The following object(s) are masked from package:Rdbi : ? ? ? ? ?dbClearResult, ? ? ? ? ?dbColumnInfo, ? ? ? ? ?dbConnect, ? ? ? ? ?dbDisconnect, ? ? ? ? ?dbGetQuery, ? ? ? ? ?dbListTables, ? ? ? ? ?dbReadTable, ? ? ? ? ?dbSendQuery, ? ? ? ? ?dbWriteTable > package.version("DBI") [1] "0.2-4" > conn=dbConnect(PgSQL(), host=db.host, dbname=db.name, user=db.user, password=db.password) Error in function (classes, fdef, mtable) ?: ? unable to find an inherited method for function "dbConnect", for signature "PgSQL" Calls: dbConnect -> .valueClassTest -> is -> <anonymous> -- Philip Lijnzaad, PhD Holstege Genomics Laboratory Dept. of Biomedical Genetics University Medical Center (UMC), Utrecht Stratenum room 2.211 (on Mondays and Thursdays not in after 15.00) MSN chat (*NOT* email): philip_lijnzaad at hotmail.com P.O. Box 85060, 3508 AB Utrecht (Universiteitsweg 100, 3584 CG Utrecht) The Netherlands tel: +31 (0)8875 68464 fax: +31 (0)8875 68479
ADD REPLY
0
Entering edit mode
Hi Philip, Philip Lijnzaad wrote: > [ sorry, my reply was intended to go to BioC (I realize BioC-devel would > prolly have been more approppriate) ] > > On Monday 27 April 2009 19:14:40 you wrote: >> Hi Philip, >> Please upgrade to R 2.9.x and relevant packages. > > I am sorry that I forgot to mention that I had actually tested it there as > well, and the issue is identical (see below). I had to downgrade to a > previous release because RdbiPgSQL is broken in 2.9.x > (see thread 'RdbiPgSQL problem: SET_VECTOR_ELT() can only be applied to > a 'list', not a 'character'). > > (The 'unable to find an inherited method for function "dbConnect", for > signature "PgSQL"' bug occurs only in combination with library(DBI), and is > triggered by the PgSQL() call. It's unlikely to be the case since PgSQL() is defined as: PgSQL <- function() { out <- list(description = "PostgreSQL object") class(out) <- c("PgSQL", "Rdbi") return(out) } >> conn=dbConnect(PgSQL(), host=db.host, dbname=db.name, user=db.user, > password=db.password) > Error in function (classes, fdef, mtable) : > unable to find an inherited method for function "dbConnect", for > signature "PgSQL" There are 2 dbConnect() generic functions: one is defined in DBI and the other in Rdbi. Roughly speaking DBI and Rdbi are 2 incompatible infrastructure packages on top of which R interfaces to specific RDBMS can be written. The current DBI and Rdbi families include: - RSQLite, RMySQL, RPostgreSQL, ROracle for the DBI family. - RdbiPgSQL (and maybe others that I'm not aware of) for the Rdbi family. Rdbi existed before DBI but is obsolete now. We have kept Rdbi + RdbiPgSQL in Bioconductor so far only because the DBI family was lacking an interface for PostgreSQL. But now that RPostgreSQL is here (released in last October, available on CRAN), there is no reason for anybody to keep using Rdbi + RdbiPgSQL. So our plan is to deprecate them soon (after we've done enough testing of the new RPostgreSQL package). In the mean time, the right way to deal with this name clashing is to use fully-qualified names: conn <- Rdbi::dbConnect(PgSQL(), ...) Cheers, H. -- Hervé Pagès Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M2-B876 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: hpages at fhcrc.org Phone: (206) 667-5791 Fax: (206) 667-1319
ADD REPLY

Login before adding your answer.

Traffic: 570 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6