[Bioc-devel] NAMESPACE question
lawrence.michael at gene.com
Tue Oct 7 17:05:27 CEST 2014
Does that happen with the other methods or just "["? As a last resort, you
could just drop the import (because "[" is a primitive, it should just
On Tue, Oct 7, 2014 at 3:08 AM, Robert Castelo <robert.castelo at upf.edu>
> hi Martin,
> On 10/06/2014 07:24 PM, Martin Morgan wrote:
> There are two 'as.vector' generics, one defined in Matrix and one in
>> BiocGenerics (and made available via IRanges). These generics have
>> different methods
>> > showMethods(Matrix::as.vector)
>> Function: as.vector (package base)
>> x="abIndex", mode="ANY"
>> x="abIndex", mode="character"
>> x="ANY", mode="ANY"
>> x="dgCMatrix", mode="missing"
>> x="dgeMatrix", mode="missing"
>> x="diagonalMatrix", mode="missing"
>> x="dsCMatrix", mode="missing"
>> x="ldenseMatrix", mode="missing"
>> x="Matrix", mode="missing"
>> x="ndenseMatrix", mode="missing"
>> x="sparseVector", mode="character"
>> x="sparseVector", mode="missing"
>> > showMethods(BiocGenerics::as.vector)
>> Function: as.vector (package BiocGenerics)
>> so it's important that your code clearly distinguish between generics.
>> One possibility is to remove importMethodsFrom(IRanges, as.vector) from
>> the NAMESPACE, and explicitly use IRanges::as.vector(...) in your code.
> ok, i've done this as it is the easiest at the moment to meet the release
> schedule. i guess that in the future i should try to avoid using the '::'
> operator by importing exclusively what is needed from each package.
> codetoolsBioC::writeNamespaceImports("qpgraph") might provide you with
>> some guidance (it's not 100% reliable; available via svn at
>> about what functionality is being imported.
> thanks for the heads up about codetoolsBioC, i've tried it out and seen
> that some of the suggested imports are not necessary but some others i was
> really missing them (which makes me wonder how was it possible that he
> package did not break at those points).
> one further question related to NAMESPACE. i subset GRanges objects in the
> package via the '[' operator, i've included this into the NAMESPACE file as:
> c, cbind, rbind,
> "mcols<-", start, end, strand, sort,
> "[", "[<-", "[[", "[[<-", "$", "$<-")
> however, when the package reaches a subset operation x[i] with x being a
> GRanges object, an entire package loading sequence starts:
> Loading required package: GenomicRanges
> Loading required package: BiocGenerics
> Loading required package: parallel
> Attaching package: ‘BiocGenerics’
> [... etc ...]
> which may look a bit odd to the user. for every other imported method the
> package uses them silently without loading the corresponding package, am i
> importing '[' for GRanges objects from the wrong package? is there a way to
> import '[' so that my package can use it without triggering that package
> loading sequence?
> thanks again!
> Bioc-devel at r-project.org mailing list
[[alternative HTML version deleted]]
More information about the Bioc-devel