[Bioc-devel] unexpected build and check error
Luo Weijun
luo_weijun at yahoo.com
Mon Apr 7 03:51:17 CEST 2014
Martin,
Your observation on re-uses the same environment to build all vignettes is very helpful. The pre-existence of another copy of bods does explain why I had problem with bods. What I don’t understand is that this pre-existence copy should be identical because I’ve updated both copies in pathview and gage package at the same time. The error does make sense in the first round of check/build when the R server has not updated its pathview package which I’ve communicated with Dan. But now pathview package has already been updated, why I still see the old bods data being loaded from pathview? Thank you!
Weijun
--------------------------------------------
On Sat, 4/5/14, Martin Morgan <mtmorgan at fhcrc.org> wrote:
Subject: Re: [Bioc-devel] unexpected build and check error
rg>
Cc: bioc-devel at r-project.org
Date: Saturday, April 5, 2014, 1:26 PM
On 04/04/2014 10:36 AM, Luo Weijun
wrote:
> Dan,
> Thanks for the followup. That’s wired. I use R 3.0.0
here. It is different from R-3.1.0, but I don’t think it
would make such a difference in generating the error below:
> Error in bods[idx, "id.type"] : subscript out of
bounds
>
> I run the exact same build command on my local machine
(as below), I got the same error indeed:
> R CMD build --keep-empty-dirs --no-resave-data gage
>
> But if I install gage package first, then then create
vignettes manually, everything is fine.
> sudo R CMD INSTALL gage
> cd gage/vignettes/
> R CMD Sweave gage.Rnw
> R CMD texi2dvi -p gage.tex
>
> I am not sure, why there is such a difference. Do you
have any idea on this?
I can reproduce this providing the path to the gage source
tree
tools::buildVignettes(dir="path/to/gage",
quiet=FALSE)
you'll see that this builds the dataPrep vignette first, and
then the gage
vignette. It seems like dataPrep loads data bods from
pathview into the global
environment, and when the gage vignette is being processed
it attempts to load
an identically named data set into the (same) global
environment.
The (partial) output of buildVignettes is in
gage/vignettes/gage.tex; editing
gage.Rnw to include a print(ls()) early in the vignette
confirms that an object
'bods' already exists.
It's surprising to me that R re-uses the same environment to
build each
vignette, and I'll take this up on the R-devel mailing
list.
The data() function can arrange to load data into an
arbitrary environment; for
a function it seems better not to write to the global
environment, and something
like
env = new.env(parent=emptyenv())
obj = data("bods",envir=env)
bods = env[[obj]]
is better.
Hopefully this helps to address your problem.
Martin
>
> I suspected that bods data file (bods.rda in the data
directory) was not updated or have some problem somehow.
Below is the problematic code chunk in the go.gset.R file:
>
> …
> idx=which(bods[,"species"]
== species)
> if(length(idx)!=1) stop("bad
species value")
> pkg.name = bods[idx,
"package"]
> id.type=toupper(bods[idx,
"id.type"])
> …
>
> I tried to insert the following two lines:
> print(head(bods))
> print(idx)
> before the last line above and rerun rerun: R CMD build
--keep-empty-dirs --no-resave-data gage
> The error still exists, but I don’t see the printed
out results from the newly added lines, hence not able to
figure out what happened there.
> so far, I can think of anything wrong with gage
package. because the manual install and vignette creating
worked. The only problem I am sure is that R CMD build
--keep-empty-dirs --no-resave-data behave differently from
the manual process. Could you help to check into the problem
here? Thank you! I am cc’ing the devel list see if other
people got the same problem.
> Weijun
>
> --------------------------------------------
> On Fri, 4/4/14, Dan Tenenbaum <dtenenba at fhcrc.org>
wrote:
>
> Subject: Re: unexpected build and
check error
>
> Date: Friday, April 4, 2014, 12:24 PM
>
> Hi Weijun,
>
> gage is still broken today:
>
> http://www.bioconductor.org/checkResults/2.14/bioc-LATEST/gage/zin2-buildsrc.html
>
> It seems to be using the latest
versions:
>
> > packageVersion("gage")
> [1] ‘2.13.5’
> > packageVersion("pathview")
> [1] ‘1.3.4’
>
> So maybe the cause of the problem is
different? Have you
> tried using the most recent R?
(R-3.1.0 RC)?
>
> Dan
>
>
>
> ----- Original Message -----
> > From: "Dan Tenenbaum" <dtenenba at fhcrc.org>
>
> > Sent: Thursday, April 3, 2014
10:24:10 AM
> > Subject: Re: unexpected build and
check error
> >
> > No, I think it will be ok
tomorrow. If not I'll make
> sure it gets
> > fixed.
> > Thanks,
> > Dan
> >
> >
> > ----- Original Message -----
>
> > > To: "Dan Tenenbaum" <dtenenba at fhcrc.org>
> > > Sent: Thursday, April 3,
2014 10:19:16 AM
> > > Subject: unexpected build
and check error
> > >
> > > Dear Dan,
> > > I got the following error in
the bioc 2.14 build
> report:
> > > http://bioconductor.org/checkResults/devel/bioc-LATEST/gage/zin2-buildsrc.html
> > >
> > > Error: processing vignette
'gage.Rnw' failed with
> diagnostics:
> > > chunk 12 (label =
go.gsets)
> > > Error in bods[idx,
"id.type"] : subscript out of
> bounds
> > > Execution halted
> > >
> > > I believe this is due to the
loading of the old
> pathview package at
> > > that time, which carries a
copy of obsolete bods
> hence interfered
> > > the build/check. But since
pathview and gage was
> updated at the
> > > same
> > > time. This error will be
gone in the next
> building/checking cycle.
> > > My local copy does get
through the
> building/checking free of error.
> > > Shall we do something given
that the today is
> “Deadline for
> > > packages
> > > passing R CMD build and
check without warning”?
[[elided Yahoo spam]]
> > > Weijun
> > >
> > >
> >
>
> _______________________________________________
> Bioc-devel at r-project.org
mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
--
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
More information about the Bioc-devel
mailing list