GoSeq SupportedGenomes error
2
0
Entering edit mode
tootiki • 0
@tootiki-12480
Last seen 5.3 years ago

Following the instructions on https://bioconductor.org/packages/devel/bioc/vignettes/goseq/inst/doc/goseq.pdf

To see what genomes are in the local database, I am told to type:

supportedOrganisms()

...which returns:

Error: could not find function "supportedOrganisms"

googling around, I find that maybe I should type the following instead:

SupportedGenomes()

...but that returns:

Error in getNodeSet(doc, "//table[@class='descTbl']")[[1L]] :

subscript out of bounds

any idea what i’m doing wrong?

Thanks

---

traceback()

4: ucscGenomes()

3: is.factor(var)

2: unfactor(ucscGenomes())

1: supportedGenomes()

---

sessionInfo()

R version 3.3.2 (2016-10-31)

Platform: x86_64-pc-linux-gnu (64-bit)

Running under: CentOS Linux 7 (Core)

locale:

[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C

[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=C

[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8

[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C

[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C

attached base packages:

[1] stats4 parallel stats graphics grDevices utils datasets

[8] methods base

other attached packages:

[1] Rsamtools_1.22.0 Biostrings_2.38.4 XVector_0.10.0

[4] rtracklayer_1.30.4 GenomicFeatures_1.22.13 AnnotationDbi_1.32.3

[7] Biobase_2.30.0 GenomicRanges_1.22.4 GenomeInfoDb_1.6.3

[10] IRanges_2.4.8 S4Vectors_0.8.11 BiocGenerics_0.16.1

[13] goseq_1.22.0 RSQLite_1.1-2 geneLenDataBase_1.6.0

[16] BiasedUrn_1.07

loaded via a namespace (and not attached):

[1] Rcpp_0.12.9 zlibbioc_1.16.0

[3] GenomicAlignments_1.6.3 BiocParallel_1.4.3

[5] BSgenome_1.38.0 lattice_0.20-34

[7] tools_3.3.2 grid_3.3.2

[9] SummarizedExperiment_1.0.2 nlme_3.1-131

[11] mgcv_1.8-17 DBI_0.5-1

[13] lambda.r_1.1.9 futile.logger_1.4.3

[15] digest_0.6.12 Matrix_1.2-8

[17] futile.options_1.0.0 bitops_1.0-6

[19] biomaRt_2.26.1 RCurl_1.95-4.8

[21] memoise_1.0.0 GO.db_3.2.2

[23] XML_3.98-1.5

1
Entering edit mode
@james-w-macdonald-5106
Last seen 2 minutes ago
United States

Whenever you get an error like

Error: could not find function


This means exactly what it looks like it means - the function you are looking for isn't available to R. This is usually due to one of three things

1. The package containing the function has not been loaded yet.
2. You typed the name of the function incorrectly.
3. The package you have doesn't yet contain the function you want.

From your sessionInfo, we can see that you do indeed have goseq loaded, so it's not #1. You also typed the function name correctly, so that leaves us with #3.

You are running the most current released version of R, so you should also be running the most current version of Bioconductor packages. But if I compare the versions you have to the versions I have, it appears that you have a bunch of old Bioconductor packages. So you need to fix that. Restart R and then do

source("https://www.bioconductor.org/biocLite.R")
biocValid()

And follow the prescription that is offered to you. It will most likely say that you have a bunch of old packages and you should update by doing biocLite().

0
Entering edit mode
@gordon-smyth
Last seen 6 hours ago
WEHI, Melbourne, Australia

Just adding to what James has said ...

You are running goseq version 1.22.0 but reading the documentation for goseq version 1.27.0. There's a year and a half of development separating these versions, so it's not surprising that some things mentioned in the new documentation don't work with the old software.

In fact I am amazed that you could be running goseq 1.22.0 with R 3.3.2. Either you or your system administrator must have gone to a lot of extra work to load such an old package into the current version of R.

So the lessons are:

1. Always install Bioconductor in the recommended way, which ensures that the packages you have match the version of R you are using.
2. Read the documentation that comes with the software you are using. Don't do a web search for documentation that might not match the software you have.
0
Entering edit mode

thanks, both.  useful answers. can you tell i'm an R beginner?

bashing around a bit, i think the problem is that R has been updated to a version not supported by bioconductor.  this meant that BiocInstaller was struggling, and while it looked (to my uneducated eye) as if it was managing to update packages, it was actually re-installing the same very old versions.  does that make sense?

so now the question is: do i need to install an older R version, or can i do anything useful in R3.3.2?

0
Entering edit mode

No, the R version hasn't been updated to a version not supported by Bioconductor - all versions of R since 2003 or so have a version of Bioconductor that is specifically tailored for that version of R. What you or your system administrator have done is to install a version of goseq that was intended to be used in a much older version of R.

Both Gordon and I have tried to tell you that, but unfortunately it hasn't worked just yet. So let me be completely explicit.

1. No, you don't need an older version of R
2. Your Bioconductor installation is broken.
3. You (or your system administrator) need to fix it.
4. To fix your Bioconductor installation you need to do this at an R prompt, right after starting R.
source("https://www.bioconductor.org/biocLite.R")
biocValid()

This will test your installation, and then tell you which packages you have that are not correct. It will also tell you exactly what you need to do to fix things, which may simply be to do

biocLite()

which will download and install all the correct versions of packages, including goseq. Once you have done that, everything will be OK.

0
Entering edit mode

OK. firstly thanks again, your help is appreciated.
I’m new to all this, and don’t know as much as you.
there's a lot to get one's head around!
to my limited understanding, nothing i wrote in my last comment (wrong as it may well be) contradicts what was written in either previous comment, both of which i read and broadly understood.
I was just speculating on a cause of my problems updating.
I’m trying to be friendly and polite, and not to provoke.

so:
1. I’m glad I don’t need an older R.
2. it seems so. in what way?
3. that's what I’m trying to do.
4. these are all things I’ve done already, without much success, more details below.

> source("https://www.bioconductor.org/biocLite.R") Bioconductor version 3.2 (BiocInstaller 1.20.1), ?biocLite for help Bioconductor does not yet support R version 3.3.2

biocValid() indeed tells me to update a load of stuff.

> biocLite() Would you like to use a personal library instead?  (y/n) y trying URL 'https://bioconductor.org/packages/3.2/bioc/src/contrib/BiocInstaller_1.20.3.tar.gz' Content type 'application/x-gzip' length 15942 bytes (15 KB) ================================================== downloaded 15 KB

* installing *source* package ‘BiocInstaller’ ... ** R ** inst ** preparing package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded Bioconductor version 3.2 (BiocInstaller 1.20.3), ?biocLite for help Warning: BiocInstaller version 3.2 is too old for R version 3.3.2; see   https://bioconductor.org/install/#troubleshoot-biocinstaller * DONE (BiocInstaller)

The downloaded source packages are in     ‘/tmp/RtmprAkbyn/downloaded_packages’ Bioconductor version 3.2 (BiocInstaller 1.20.3), ?biocLite for help 'BiocInstaller' updated to version 1.20.3 BioC_mirror: https://bioconductor.org Using Bioconductor 3.2 (BiocInstaller 1.20.3), R 3.3.2 (2016-10-31). Old packages: 'DBI', 'BiocInstaller', 'DBI', 'Hmisc', 'Matrix', 'RSQLite',   'Rcpp', 'RcppArmadillo', 'XML', 'acepack', 'chron', 'colorspace',   'data.table', 'digest', 'futile.logger', 'ggplot2', 'lambda.r', 'mgcv',   'nlme', 'plyr', 'reshape2', 'scales', 'snow', 'stringi', 'stringr',   'survival' Update all/some/none? [a/s/n]: a trying URL 'https://cran.rstudio.com/src/contrib/DBI_0.6.tar.gz' Content type 'application/x-gzip' length 611282 bytes (596 KB) ================================================== downloaded 596 KB

* installing *source* package ‘DBI’ ... ** package ‘DBI’ successfully unpacked and MD5 sums checked ** R ** inst ** preparing package for lazy loading ** help *** installing help indices ** building package indices ** installing vignettes ** testing if installed package can be loaded * DONE (DBI)

(then a whole lot of messages that seem to suggest that its installing things, ending in:)

The downloaded source packages are in     ‘/tmp/RtmprAkbyn/downloaded_packages’ Warning message: BiocInstaller version 3.2 is too old for R version 3.3.2; see   https://bioconductor.org/install/#troubleshoot-biocinstaller

...and biocValid() still gives the same list of out-of-date packages.

so i follow the instructions on https://bioconductor.org/install/#troubleshoot-biocinstaller:

> remove.packages("BiocInstaller") Removing package from ‘/home/mbzdz/R/x86_64-pc-linux-gnu-library/3.3’ (as ‘lib’ is unspecified) > remove.packages("BiocInstaller") Removing package from ‘/home/mbzdz/R/x86_64-pc-linux-gnu-library/3.3’ (as ‘lib’ is unspecified) Error in find.package(pkgs, lib) :   there is no package called ‘BiocInstaller’ > source("https://bioconductor.org/biocLite.R") Bioconductor version 3.2 (BiocInstaller 1.20.1), ?biocLite for help Bioconductor does not yet support R version 3.3.2

0
Entering edit mode

The reason your Bioconductor installation is broken is because each Bioc version is specifically tailored to work with a particular version of R. You have the current version of R installed, but at least some of your Bioc packages are two years old. This includes the version of the BiocInstaller package you have.

In addition, you are using the system-wide installed version of R, which means that both R and all its packages are installed in a directory for which you probably do not have write privileges. This is why you were asked if you want to use a personal directory. This is a problem for you because there appears to be a BiocInstaller package in the system-wide package library that is messing things up for you. Unless you have write privileges for that directory, you cannot upgrade!

If you don't have write privileges for the system-wide package library directory, you will have to find someone who does (usually the system administrator for your Linux computer) and have them follow the instructions for trouble-shooting the BiocInstaller (keep removing it until it's completely gone, then re-install by sourcing biocLite.R).