[Bioc-devel] Restrictions on findOverlaps parameters with SummarizedExperiment objects

Peter Hickey hickey at wehi.EDU.AU
Sat Apr 12 05:40:16 CEST 2014


Thanks for the explanation and the update, Martin.
Cheers,
Pete
----- Original Message -----
From: Martin Morgan <mtmorgan at fhcrc.org>
To: Peter Hickey <hickey at wehi.EDU.AU>, bioc-devel at r-project.org
Sent: Sat, 12 Apr 2014 06:45:46 +1000 (EST)
Subject: Re: [Bioc-devel] Restrictions on findOverlaps parameters with SummarizedExperiment objects

On 04/10/2014 11:44 PM, Peter Hickey wrote:
> Could the findOverlaps method with signatures involving SummarizedExperiment objects please be extended to allow the full range of "type" and "select" arguments"? Please see the examples below for situations where the parameter choices seem unduly restrictive. Are there reasons for these restrictions?
>

Hi Pete -- Updated in 1.15.46, thanks. I think the original rationale had been 
that the rowData can be a GRanges or GRangesList, and type and select are not 
equally supported across these types, so only those values implemented for all 
row data were available. Martin


> Thanks,
> Pete
>
> These examples use GenomicRanges_1.14.4:
>
> ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> ## Returns error: "Error in match.arg(type) :   'arg' should be one of "any", "start", "end", "within""
> nrows <- 200; ncols <- 6
>    counts <- matrix(runif(nrows * ncols, 1, 1e4), nrows)
>    rowData <- GRanges(rep(c("chr1", "chr2"), c(50, 150)),
>                       IRanges(floor(runif(200, 1e5, 1e6)), width=100),
>                       strand=sample(c("+", "-"), 200, TRUE))
>    colData <- DataFrame(Treatment=rep(c("ChIP", "Input"), 3),
>                         row.names=LETTERS[1:6])
>    sset <- SummarizedExperiment(assays=SimpleList(counts=counts),
>                   rowData=rowData, colData=colData)
> findOverlaps(sset, sset, type = 'equal')
>
> ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> ## But this works fine (ostensibly doing the same thing as the above but via a different signature)
> findOverlaps(sset, rowData(sset), type = 'equal')
>
> ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> ## I looked at the method definitions for various signatures
> ## This revealed that only a subset of "type" and "select" arguments are allowed for certain signatures involving SummarizedExperiment objects
> ## E.g. Does not allow type = 'equal' or select = 'last' or select = 'arbitrary'
> selectMethod('findOverlaps', c('SummarizedExperiment', 'SummarizedExperiment'))
> Method Definition:
>
> function (query, subject, maxgap = 0L, minoverlap = 1L, type = c("any",
>      "start", "end", "within"), select = c("all", "first"), ...)
> {
>      .local <- function (query, subject, maxgap = 0L, minoverlap = 1L,
>          type = c("any", "start", "end", "within"), select = c("all",
>              "first"), ignore.strand = FALSE)
>      {
>          findOverlaps(rowData(query), rowData(subject), maxgap = maxgap,
>              minoverlap = minoverlap, type = match.arg(type),
>              select = match.arg(select), ignore.strand = ignore.strand)
>      }
>      .local(query, subject, maxgap, minoverlap, type, select,
>          ...)
> }
> <environment: namespace:GenomicRanges>
>
> Signatures:
>          query                  subject
> target  "SummarizedExperiment" "SummarizedExperiment"
> defined "SummarizedExperiment" "SummarizedExperiment"
>
> ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> ## E.g. Does allow type = 'equal' but does not allow select = 'last' or select = 'arbitrary'
> selectMethod('findOverlaps', c('SummarizedExperiment', 'Vector'))
> Method Definition:
>
> function (query, subject, maxgap = 0L, minoverlap = 1L, type = c("any",
>      "start", "end", "within", "equal"), select = c("all", "first"),
>      ...)
> {
>      .local <- function (query, subject, maxgap = 0L, minoverlap = 1L,
>          type = c("any", "start", "end", "within", "equal"), select = c("all",
>              "first"), ignore.strand = FALSE)
>      {
>          findOverlaps(rowData(query), subject, maxgap = maxgap,
>              minoverlap = minoverlap, type = match.arg(type),
>              select = match.arg(select), ignore.strand = ignore.strand)
>      }
>      .local(query, subject, maxgap, minoverlap, type, select,
>          ...)
> }
> <environment: namespace:GenomicRanges>
>
> Signatures:
>          query                  subject
> target  "SummarizedExperiment" "Vector"
> defined "SummarizedExperiment" "Vector"
>
> ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> ## E.g. Does allow type = 'equal' but does not allow select = 'last' or select = 'arbitrary'
> selectMethod('findOverlaps', c('Vector', 'SummarizedExperiment'))
> Method Definition:
>
> function (query, subject, maxgap = 0L, minoverlap = 1L, type = c("any",
>      "start", "end", "within", "equal"), select = c("all", "first"),
>      ...)
> {
>      .local <- function (query, subject, maxgap = 0L, minoverlap = 1L,
>          type = c("any", "start", "end", "within", "equal"), select = c("all",
>              "first"), ignore.strand = FALSE)
>      {
>          findOverlaps(query, rowData(subject), maxgap = maxgap,
>              minoverlap = minoverlap, type = match.arg(type),
>              select = match.arg(select), ignore.strand = ignore.strand)
>      }
>      .local(query, subject, maxgap, minoverlap, type, select,
>          ...)
> }
> <environment: namespace:GenomicRanges>
>
> Signatures:
>          query    subject
> target  "Vector" "SummarizedExperiment"
> defined "Vector" "SummarizedExperiment"
>
> --------------------------------
> Peter Hickey,
> PhD Student/Research Assistant,
> Bioinformatics Division,
> Walter and Eliza Hall Institute of Medical Research,
> 1G Royal Parade, Parkville, Vic 3052, Australia.
> Ph: +613 9345 2324
>
> hickey at wehi.edu.au
> http://www.wehi.edu.au
>
>
> ______________________________________________________________________
> The information in this email is confidential and inte...{{dropped:22}}



More information about the Bioc-devel mailing list