Thanks for the explanation and the update, Martin.
Cheers,
Pete
----- Original Message -----
From: Martin Morgan <mtmor...@fhcrc.org>
To: Peter Hickey <hic...@wehi.edu.au>, bioc-devel@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
>
> hic...@wehi.edu.au
> http://www.wehi.edu.au
>
>
> ______________________________________________________________________
> The information in this email is confidential and inte...{{dropped:22}}

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to