[Bioc-devel] class name collision in cache: igvR and Gviz

Paul Shannon p@ul@thurmond@@h@nnon @ending from gm@il@com
Mon May 7 20:14:12 CEST 2018


Hi Michael,

> On May 4, 2018, at 1:36 PM, Michael Lawrence <lawrence.michael at gene.com> wrote:
> 
> Do you have a reproducible example of this? It's probably a bug in the methods package.
> 

Sorry I did not get to this sooner.  Here are two symptoms of the cache class name collision:

   1) igvR::displayTrack, if called after motifbreakR::plotMB, fails (see error message below)
   2) plotMB, if called after igvR is loaded, reports the class name collision.

- Paul

library(SNPlocs.Hsapiens.dbSNP150.GRCh38)
library(BSgenome.Hsapiens.UCSC.hg38)
library(motifbreakR)

snp <- "rs12050029"

snps.gr <- snps.from.rsid(rsid = snp,
                          dbSNP=SNPlocs.Hsapiens.dbSNP150.GRCh38,
                          search.genome=BSgenome.Hsapiens.UCSC.hg38)


results <- motifbreakR(snpList = snps.gr, filterp = TRUE,
                       pwmList = query(MotifDb, "jaspar2018"),
                       threshold = 1e-4,
                       method = "ic",
                       bkg = c(A=0.25, C=0.25, G=0.25, T=0.25),
                       BPPARAM = BiocParallel::bpparam("SerialParam"))

plotMB(results = results, rsid = snp, effect = c("weak", "strong"))


library(igvR)
igv <- igvR()
setGenome(igv, "hg38")
snp.track <- GRangesAnnotationTrack("snp", snps.gr, color="red")
displayTrack(igv, snp.track)

   # this error is only seen if motifbreakR - and thus Gviz - have been loaded
   # otherwise, displayTrack works fine
   # Error in if (trackType == "variant" && source == "file" && fileFormat ==  :
   #  missing value where TRUE/FALSE

plotMB(results = results, rsid = snp, effect = c("weak", "strong"))

   # Found more than one class "AnnotationTrack" in cache; using the first, from namespace 'Gviz'
   # Also defined by 'igvR'
   # Found more than one class "AnnotationTrack" in cache; using the first, from namespace 'Gviz'
   # Also defined by 'igvR'
   # Found more than one class "AnnotationTrack" in cache; using the first, from namespace 'Gviz'
   # Also defined by 'igvR'
   # Found more than one class "AnnotationTrack" in cache; using the first, from namespace 'Gviz'
   # Also defined by 'igvR'
   # Found more than one class "AnnotationTrack" in cache; using the first, from namespace 'Gviz'
   # Also defined by 'igvR'
   # Found more than one class "AnnotationTrack" in cache; using the first, from namespace 'Gviz'
   # Also defined by 'igvR'





> Michael
> 
> On Fri, May 4, 2018 at 10:52 AM, Paul Shannon <paul.thurmond.shannon at gmail.com> wrote:
> I just discovered a class name collision - AnnotationTrack, in Gviz and my new package igvR.   wish to get wise counsel before proceeding with a fix.  Here’s the error message:
> 
>    Found more than one class "AnnotationTrack" in cache; 
>    using the first, from namespace ‘igvR' Also defined by ‘Gviz’
> 
> AnnotationTrack is an abstract base class in my new package igvR.  The concrete derived classes at present are
> 
>   DataFrameAnnotationTrack
>   GRangesAnnotationTrack
>   UCSCBedAnnotationTrack
> 
> It would be easy for me to rename AnnotationTrack to “GenomeAnnotationTrack” or even “igvAnnotationTrack”, thereby  avoiding the name clash.  
> 
> Reasonable?  Fix in both release and devel?
> 
> Thanks -
> 
>  - Paul
> 
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> 
> 



More information about the Bioc-devel mailing list