[Bioc-devel] Unable to reproduce error!
Paolo Martini
paolo.martini at unipd.it
Fri Oct 20 11:15:07 CEST 2017
Thanks a lot.
Yesterday I was unable to get the error because the graphite I downloaded
was not the latest version (it had a build failure).
I'll fix clipper asap.
Thanks again.
Paolo
2017-10-20 10:12 GMT+02:00 Martin Morgan <martin.morgan at roswellpark.org>:
> On 10/20/2017 03:43 AM, Paolo Martini wrote:
>
>> Dear all,
>>
>> I am the clipper package maintainer.
>> According to the "Build/check report" for BioC 3.6,
>> the clipper package has an error while compiling the vignette.
>>
>> I try to reproduce the error in my computer using the devel version but
>> the
>> R CMD check and installation goes smoothly.
>>
>
> I verified that I'm using devel and my packages are current
>
> $ R
> > R.version.string # 3.4.2
> > BiocInstaller::isDevel() # TRUE
> > BiocInstaller::biocValid() # TRUE
>
> I checked out a fresh copy of clipper, into a temporary directory
>
> $ git clone https://git.bioconductor.org/packages/clipper
>
> then installed it
>
> $ R CMD INSTALL clipper
>
> I then extracted the R source code of the vignette
>
> $ cd clipper/vignettes
> $ R CMD Stangle clipper.Rnw # could have used knitr::purl() for Rmd
>
> and tried to run the vignette code
>
> $ R -f clipper.R
>
> It fails as on the build system
>
> > pathwayAnalysis <- pathQ(exp, classes, graph, nperm=100, alphaV=0.05,
> b=100)
> Error in getExpression(exprs(expr), classes) : Gene names not specified.
> Calls: pathQ ... getExpression -> getExpression -> getExpression ->
> getExpression
> Execution halted
>
> OK, reproducible without any additional stuff like devtools or RStudio
> getting in the way. Time to debug. I started R in my favorite IDE, and
> tried to source the vignette
>
> $ source("clipper.R", echo=TRUE, max=Inf)
>
> it fails in the same way. I looked for the error, and tried to reproduce
> it in a simpler fashion, guessing a bit at what the failing code was trying
> to do ('expr' in the traceback() being the function argument 'exp')
>
> > pathwayAnalysis <- pathQ(exp, classes, graph, nperm=100, alphaV=0.05,
> b=100)
> Error in getExpression(exprs(expr), classes) : Gene names not specified.
> > traceback()
> 10: stop("Gene names not specified.")
> 9: getExpression(exprs(expr), classes)
> 8: getExpression(exprs(expr), classes)
> 7: getExpression(expr, classes)
> 6: getExpression(expr, classes)
> 5: pathQ(exp, classes, graph, nperm = 100, alphaV = 0.05, b = 100) at
> clipper.R#95
> 4: eval(ei, envir)
> 3: eval(ei, envir)
> 2: withVisible(eval(ei, envir))
> 1: source("clipper.R", echo = TRUE, max = Inf)
> > clipper:::getExpression(exprs(exp), classes)
> Error in clipper:::getExpression(exprs(exp), classes) :
> Gene names not specified.
>
> I found that clipper:::getExpression is and S4 generic, with a likely
> method, so set the debugger and tried again
>
> > clipper:::getExpression
> standardGeneric for "getExpression" defined from package "clipper"
>
> function (expr, classes)
> standardGeneric("getExpression")
> <environment: 0x11061920>
> Methods may be defined for arguments: expr, classes
> Use showMethods("getExpression") for currently available ones.
> > showMethods(clipper:::getExpression)
> Function: getExpression (package clipper)
> expr="ExpressionSet", classes="numeric"
> expr="matrix", classes="numeric"
>
> > debug(clipper:::getExpression, signature=c("matrix", "numeric"))
> > clipper:::getExpression(exprs(exp), classes)
> Tracing clipper:::getExpression(exprs(exp), classes) step 2
> Called from: eval(expr, p)
> Browse[1]> n
> debug: if (is.null(rownames(expr))) stop("Gene names not specified.")
> Browse[2]> rownames(expr)
> NULL
> Browse[2]> Q
> >
>
> and back at the top level
>
> > rownames(exprs(exp))
> NULL
>
> hmm, this looks weird
>
> > dim(exp)
> Features Samples
> 0 79
>
> In code chunk 3 you'd got the genes from graphite, and
>
> > head(genes)
> [1] "ENTREZID:10000" "ENTREZID:1019" "ENTREZID:1021"
> [4] "ENTREZID:1026" "ENTREZID:1029" "ENTREZID:1147"
>
> in code chunk 10 you'd calculated the intersection of these genes with the
> row.names of the sample expression set
>
> > intersect(genes, row.names(exprs(all)))
> character(0)
>
> and this is because the rownames are in a different format
>
> > head(row.names(exprs(all)))
> [1] "5595" "7075" "1557" "643" "643" "1843"
>
> I guess this is because graphite or one of it's dependencies has changed,
> accidentally or otherwise, the format of the identifiers returned in chunk
> 3. Likely the reason that you were not able to reproduce this is because
> you were using an out-of-date version of graphite (isDevel() and
> biocValid() would have diagnosed this). I don't know whether the resolution
> is a bug fix in graphite, or a fix to your own vignette code; it is always
> worth pushing the resolution as close to the source of the problem as
> possible, so if it's a change in graphite then engage the
> maintainer("graphite") in your investigation.
>
> Martin
>
>
>> Anyone has suggestions on how to debug this?
>>
>>
>>
>
> This email message may contain legally privileged and/or confidential
> information. If you are not the intended recipient(s), or the employee or
> agent responsible for the delivery of this message to the intended
> recipient(s), you are hereby notified that any disclosure, copying,
> distribution, or use of this email message is prohibited. If you have
> received this message in error, please notify the sender immediately by
> e-mail and delete this email message from your computer. Thank you.
>
--
*******************************
Paolo Martini
c/o Lab Romualdi
via U. Bassi 58/b
35121 Padova, Italy
Tel: 049 8276319
Fax: 049 8276159
e-mail: paolo.martini at unipd.it
http://romualdi.bio.unipd.it/
*******************************
[[alternative HTML version deleted]]
More information about the Bioc-devel
mailing list