Re: [Bioc-devel] Bug Report - for goseq - for RefSeq Genes track - RefSeq identifiers or Entrez Gene ID ?

2015-10-10 Thread Nadia Davidson
Hi Sonali,

Thanks for reporting this. I’ve moved away from Entrez IDs for refseq with 
newer genome versions, as I think goseq should take the refs symbols directly. 
Documentation still needs to be updated for this.

It’s concerning that you’re seeing this behaviour for hg19, so I’ll look into 
it. A work around is to use the Entrez IDs and provide goseq with the flag 
“knownGene” rather than “refGene”.

I’m currently on leave until January, so a fix might be slow.

Cheers,
Nadia.


> On 10 Oct 2015, at 8:15 am, Arora, Sonali  wrote:
> 
> Hi everyone,
> 
> I am using goseq to perform Gene Ontology analysis of RNA-seq data and I 
> think I found the following bug.
> 
> Since my RNA-seq data was aligned using Refseq table - so I need to 
> supply id as "refGene" which are actually EntrezId's from 
> goseq::supportedGeneIDs()
> 
> The bug is - that the internal function(getgo) is expecting refseq 
> identifiers and the external function (goseq) is expecting entrez id's..
> 
> When I use refGene as id ( which is actually an entrez gene ids). I get 
> the following error -
> 
>> pwf = nullp(genes, "hg19", "refGene")
> Loading hg19 length data...
> Warning message:
> In pcls(G) : initial point very close to some inequality constraints
>> GO.wall = goseq(pwf, "hg19", "refGene")
> Fetching GO annotations...
> Error in names(tmp) = rep(names(map), times = as.numeric(summary(map)[,  :
>   attempt to set an attribute on NULL
> 
> 
>  After some debugging, I find that internal function getgo() returns a 
> vector of NULL's using "Entrez Gene Id" as id.
> 
>> go = getgo(names(genes), "hg19", "refGene")
>> head(go)
> $
> NULL
> 
> $
> NULL
> 
> $
> NULL
> 
> $
> NULL
> 
> $
> NULL
> 
> $
> NULL
> 
> The last line of the function goseq::getgo() seems to be the issue..
> 
> Browse[2]> head(names(user2cat))
> [1] "NM_14" "NM_15" "NM_16" "NM_17" "NM_18" "NM_19"
> Browse[2]> head(genes)
> [1] "1" "100"   "1000"  "1" "10001" "100037417"
> Browse[2]> head(user2cat[toupper(genes)])
> $
> NULL
> 
> $
> NULL
> 
> $
> NULL
> 
> $
> NULL
> 
> $
> NULL
> 
> $
> NULL
> 
> If I give the getgo() function refseq identifiers instead of entrez id, 
> then the internal function getgo works - but the nullp function fails as 
> it is still expecting entrez gene id.
> 
>> test_genes <- c(0, 0,1,0,0,0)
>> names(test_genes) =c("NM_14", "NM_15", "NM_16", "NM_17",
> +  "NM_18", "NM_19")
>> go = getgo(names(test_genes), "hg19", "refGene")
>> names(go)
> [1] "NM_14" "NM_15" "NM_16" "NM_17" "NM_18" "NM_19"
>> pwf = nullp(test_genes, "hg19", "refGene")
> Loading hg19 length data...
> Error in getlength(names(DEgenes), genome, id) :
>   The gene names specified do not match the gene names for genome hg19 
> and ID refGene.
> Gene names given were: NM_14, NM_15, NM_16, NM_17, 
> NM_18, NM_19, NA, NA, NA, NA
> Required gene names are: 84251, 113451, 25932, 55707, 55707, 84871, 
> 50651, 55707, 7049, 1629
> 
> A reproducible example -
> 
> # case - 1
> test_genes <- c(0, 0,1,0,0,0)
> names(test_genes) <- c(1,100,1000, 1, 10001, 100037417)
> go = getgo(names(test_genes), "hg19", "refGene")
> 
> # case -2
> names(test_genes) =c("NM_14", "NM_15", "NM_16", "NM_17",
>  "NM_18", "NM_19")
> go = getgo(names(test_genes), "hg19", "refGene")
> pwf = nullp(test_genes, "hg19", "refGene")
> 
> 
>> sessionInfo()
> R version 3.2.2 RC (2015-08-09 r68965)
> Platform: x86_64-w64-mingw32/x64 (64-bit)
> Running under: Windows 7 x64 (build 7601) Service Pack 1
> 
> locale:
> [1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United 
> States.1252LC_MONETARY=English_United States.1252 LC_NUMERIC=C
> [5] LC_TIME=English_United States.1252
> 
> attached base packages:
> [1] parallel  stats4stats graphics  grDevices utils datasets  
> methods   base
> 
> other attached packages:
>  [1] org.Hs.eg.db_3.2.2AnnotationDbi_1.31.19 IRanges_2.3.24
> S4Vectors_0.7.22  Biobase_2.29.1 BiocGenerics_0.15.10  
> goseq_1.21.1  RSQLite_1.0.0
>  [9] DBI_0.3.1 geneLenDataBase_1.5.0 BiasedUrn_1.06.1
> 
> loaded via a namespace (and not attached):
>  [1] XVector_0.9.4  GenomicRanges_1.21.30 
> zlibbioc_1.15.0GenomicAlignments_1.5.18 
> BiocParallel_1.3.54lattice_0.20-33
>  [7] GenomeInfoDb_1.5.16tools_3.2.2 grid_3.2.2 
> SummarizedExperiment_0.3.9 nlme_3.1-122   mgcv_1.8-7
> [13] lambda.r_1.1.7 futile.logger_1.4.1 
> Matrix_1.2-2   rtracklayer_1.29.28 
> futile.options_1.0.0   bitops_1.0-6
> [19] RCurl_1.95-4.7 biomaRt_2.25.3 
> GO.db_3.2.2GenomicFeatures_1.21.31 
> Biostrings_2.37.8  Rsamtools_1.21.20
> [25] XML_3.98-1.3
> 
> Please advise.
> 
> Thanks and Regards,
> Sonali.
> 
> 

[Bioc-devel] error in stable AnnotationHub

2015-10-10 Thread Kasper Daniel Hansen
Using Bioconductor 3.1 and the following code

library(AnnotationHub)
ah <- AnnotationHub()
ah[["AH28868"]]

I get an error like

retrieving 1 resources
  |==|
100%
Error in value[[3L]](cond) :
  failed to load hub resource ‘E003-DNase.hotspot.broad.bed.gz’ of class
EpigenomeRoadmapFile; reason: length of 'chrom' greater than length
of 'ranges'
In addition: There were 50 or more warnings (use warnings() to see the
first 50)

Best,
Kasper

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Rd] A where() functions that does what exists() does but return the environment when object lives?

2015-10-10 Thread Uwe Ligges

I'd start looking at getAnywhere().

Best,
Uwe

On 10.10.2015 01:18, Henrik Bengtsson wrote:

Hi,

exists("foo", inherits=TRUE) check whether an object named "foo"
exists, and get("foo", inherits=TRUE) retrieves it.  I'm looking for a
similar function to exists() that returns the environment where the
object "foo" exists, iff at all.  If not found, NULL is returned.
Does that exist?

EXAMPLE #1:


sample2 <- base::sample
env <- where("sample2", inherits=TRUE)
env



Note the difference to:


obj <- get("sample2", inherits=TRUE)
environment(obj)




EXAMPLE #2:


a <- 1
foo <- function() { b <- 2; list(a=where("a", inherits=TRUE), b=where("b", 
inherits=TRUE)) }
foo()

$a

$b



foo()

$a

$b



I do understand that I can implement such a function myself, but I
prefer not to.

Thanks,

Henrik

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel



__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] MiKTeX's withdrawal of texi2dvi.exe

2015-10-10 Thread Prof Brian Ripley
MiKTeX has abruptly removed texi2dvi.exe from its distribution.  (MiKTeX 
broke its updating process earlier and an attempted update trashed the 
updater on my installation so I was forced to make a fresh install of 
the current distribution.  I do not know if updates remove a currently 
installed texi2dvi.exe.)


This has two consequences:

1) It is used by tools::texi2dvi() if found.  As far as I can tell 
texify.exe is a sufficient replacement there, so you can set 
options(texi2dvi = "texify") (and R-patched/R-devel have been changed to 
try that).  Otherwise emulation will be used and does work, less robustly.


2) It was used to make manuals when building R from sources.  This has 
been worked around in R-patched/R-devel.  If you need to build an 
earlier version of R, edit doc/manuals/Makefile.win from


ifeq "$(MIKTEX)" "TRUE"
R_TEXOPTS = --include-directory=../../share/texmf/tex/latex
TEXI2DVI = texi2dvi
else
R_TEXOPTS =
TEXI2DVI =
endif

setting the first TEXI2DVI line to

TEXI2DVI = TEXINDEX=/Rtools/bin/texindex.exe texify

altering the full path to texindex.exe as required (being on the PATH is 
not sufficient).  (For current versions, set this in MkRules.local.)



--
Brian D. Ripley,  rip...@stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford
1 South Parks Road, Oxford OX1 3TG, UK

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] R CMD check --as-cran without qpdf

2015-10-10 Thread Kirill Müller
Today, a package that has an HTML vignette (but no PDF vignette) failed 
R CMD check --as-cran on a system without qpdf. I think the warning 
originates here [1], due to a premature check for the existence of qpdf 
[2]. Setting R_QPDF=true (as in /bin/true) helped, but perhaps it's 
possible to check qpdf existence only when it matters.


I have attached a patch (untested) that could serve as a starting point. 
The code links correspond to SVN revision 69500. Thanks.



Best regards

Kirill


[1] 
https://github.com/wch/r-source/blob/f42ee5e7ecf89a245afd6619b46483f1e3594ab7/src/library/tools/R/check.R#L322-L326, 

[2] 
https://github.com/wch/r-source/blob/f42ee5e7ecf89a245afd6619b46483f1e3594ab7/src/library/tools/R/check.R#L4426-L4428
diff --git src/library/tools/R/check.R src/library/tools/R/check.R
index a508453..e4e5027 100644
--- src/library/tools/R/check.R
+++ src/library/tools/R/check.R
@@ -319,11 +319,7 @@ setRlibs <-
  paste("  file", paste(sQuote(miss[f]), collapse = ", "),
"will not be installed: please remove it\n"))
 }
-if (dir.exists("inst/doc")) {
-if (R_check_doc_sizes) check_doc_size()
-else if (as_cran)
-warningLog(Log, "'qpdf' is needed for checks on size reduction of PDFs")
-}
+if (R_check_doc_sizes && dir.exists("inst/doc")) check_doc_size()
 if (dir.exists("inst/doc") && do_install) check_doc_contents()
 if (dir.exists("vignettes")) check_vign_contents(ignore_vignettes)
 if (!ignore_vignettes) {
@@ -2129,12 +2125,18 @@ setRlibs <-
 
 check_doc_size <- function()
 {
-## Have already checked that inst/doc exists and qpdf can be found
+## Have already checked that inst/doc exists
 pdfs <- dir('inst/doc', pattern="\\.pdf",
 recursive = TRUE, full.names = TRUE)
 pdfs <- setdiff(pdfs, "inst/doc/Rplots.pdf")
 if (length(pdfs)) {
 checkingLog(Log, "sizes of PDF files under 'inst/doc'")
+if (!nzchar(Sys.which(Sys.getenv("R_QPDF", "qpdf" {
+if (as_cran)
+warningLog(Log, "'qpdf' is needed for checks on size reduction of PDFs")
+return()
+}
+
 any <- FALSE
 td <- tempfile('pdf')
 dir.create(td)
@@ -4424,8 +4426,7 @@ setRlibs <-
 	config_val_to_logical(Sys.getenv("_R_CHECK_PKG_SIZES_", "TRUE")) &&
 nzchar(Sys.which("du"))
 R_check_doc_sizes <-
-	config_val_to_logical(Sys.getenv("_R_CHECK_DOC_SIZES_", "TRUE")) &&
-nzchar(Sys.which(Sys.getenv("R_QPDF", "qpdf")))
+	config_val_to_logical(Sys.getenv("_R_CHECK_DOC_SIZES_", "TRUE"))
 R_check_doc_sizes2 <-
 	config_val_to_logical(Sys.getenv("_R_CHECK_DOC_SIZES2_", "FALSE"))
 R_check_code_assign_to_globalenv <-

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] MiKTeX's withdrawal of texi2dvi.exe

2015-10-10 Thread Jeroen Ooms
On Sat, Oct 10, 2015 at 8:02 AM, Prof Brian Ripley
 wrote:
>
> It was used to make manuals when building R from sources.  This has been 
> worked around in R-patched/R-devel.  If you need to build an earlier version 
> of R, edit doc/manuals/Makefile.win ...

Thank you for the fix.

FWIW, texi2dvi.exe was actually removed quite a while ago (1 year?). A
copy of an older miktex build of the current miktex branch that still
includes texi2dvi is available
here:http://www.stat.ucla.edu/~jeroen/mingw-w64 . Perhaps it is worth
archiving this somewhere to be able to re-build older versions of R on
Windows in the future.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel