On Fri, Jan 21, 2011 at 7:42 PM, Boris Lenhard <[email protected]>wrote:
> Hi, I am trying to do a simple thing with liftOver:
>
> > ucsc.con <- browserSession("UCSC")
> > genome(ucsc.con) <- "hg19"
> > query <- ucscTableQuery(ucsc.con, "cpgIslandExt")
> > cpg.hg19.gr<- track(query, asRangedData=F)
> > hg19ToMm9.chain <- import.chain(file.path(SOURCE.DATA.ROOT.DIR,
> + "hg19ToMm9.over.chain"))
> > cpg.mm9FromHg19.gr <- liftOver(cpg.hg19.gr, hg19ToMm9.chain)
> Error in findOverlaps(ranges, ranges(chain)) :
> error in evaluating the argument 'query' in selecting a method for
> function 'findOverlaps'
>
>
> > traceback()
> 8: findOverlaps(ranges, ranges(chain))
> 7: function (ranges, chain)
> {
> ol <- findOverlaps(ranges, ranges(chain))
> shits <- subjectHits(ol)
> ranges <- ranges(ol, ranges, ranges(chain))
> starts <- ifelse(reversed(chain)[shits], start(reflect(ranges,
> ranges(chain)[shits])), start(ranges))
> ranges <- IRanges(starts, width = width(ranges))
> offsets <- offset(chain)[shits]
> spaces <- space(chain)[shits]
> GRanges(spaces, IRanges(start(ranges) - offsets, end(ranges) -
> offsets))
> }(dots[[1L]][[1L]], dots[[2L]][[1L]])
> 6: .Call("do_mapply", FUN, dots, MoreArgs, environment(), PACKAGE = "base")
> 5: mapply(liftOverSpace, x, chain)
> 4: do.call(c, mapply(liftOverSpace, x, chain))
> 3: .local(x, chain, ...)
> 2: liftOver(cpg.hg19.gr, hg19ToMm9.chain)
> 1: liftOver(cpg.hg19.gr, hg19ToMm9.chain)
>
>
> Then I tried simple
> > ranges(hg19ToMm9.chain)
> Error in function (classes, fdef, mtable) :
> unable to find an inherited method for function "ranges", for signature
> "Chain"
>
> and indeed, there does not seem to be a "ranges" method for Chain, not even
> in the development version of the rtracklayer package. Since the
> documentation for liftOver says
>
> -----
> x: The intervals to lift-over, usually a GRanges.
>
> chain: A Chain object, usually imported with import.chain.
> -----
>
> and both objects that I am passing to it seem fine, is there anything I am
> missing?
>
>
There is not supposed to be a ranges method for a Chain object. There is one
for a ChainBlock, which is what that code is using. Anyway, the error is in
the query argument to findOverlaps, not the subject. This bug was fixed in
version 1.11.10, but now I see that version hasn't made it into the
repository yet, due to another bug. Just committed a fix for that though, so
it should come through soon.
Thanks,
Michael
> Thanks,
>
> Boris
>
>
>
>
>
> > sessionInfo()
> R version 2.12.1 (2010-12-16)
> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
>
> locale:
> [1] en_GB.UTF-8/en_GB.UTF-8/C/C/en_GB.UTF-8/en_GB.UTF-8
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] beanplot_1.1 GenomicFeatures_1.2.3 GenomicRanges_1.2.3
> IRanges_1.8.8 rtracklayer_1.10.6
> [6] RCurl_1.4-3 bitops_1.0-4.1
>
> loaded via a namespace (and not attached):
> [1] Biobase_2.10.0 biomaRt_2.6.0 Biostrings_2.18.2 BSgenome_1.18.2
> DBI_0.2-5 RSQLite_0.9-4 tools_2.12.1
> [8] XML_3.2-0
>
> _______________________________________________
> Bioc-sig-sequencing mailing list
> [email protected]
> https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing
>
[[alternative HTML version deleted]]
_______________________________________________
Bioc-sig-sequencing mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing