Hi,

thanks - this helped me reproduce your problem.  The quick fix is to
load the packages in the opposite order, i.e.

library(Repitools)
library(aroma.affymetrix)

DETAILS:
When you do:

> library(aroma.affymetrix)
> library(Repitools)

you get that trim() refers to IRanges::trim():

> trim
standardGeneric for "trim" defined from package "IRanges"

function (x, use.names = TRUE)
standardGeneric("trim")
<environment: 0x000000000a9a9398>

The reason for this is that IRanges (via Repitools) is loaded *after*
R.oo (via aroma.affymetrix).  The easiest solution is simply to load
the packages in the reverse order, i.e.

> library(Repitools)
> library(aroma.affymetrix)

> trim
function (...)
UseMethod("trim")
<environment: namespace:R.oo>

The Aroma Framework tries to detect the incompatible package ordering
in search() and adjust for it, but that only works when one loads
IRanges explictly (not when it is loaded implicitly via Repitools).
Thus, doing the following also works:

> library(aroma.affymetrix)
> library(IRanges)
> library(Repitools)

> trim
function (...)
UseMethod("trim")
<environment: namespace:R.oo>

In the next release of the Aroma Framework so called namespaces will
be used everywhere.  When that is in place these kind of issues should
become part of history (at least for the end user).

Cheers,

Henrik


On Sun, Sep 4, 2011 at 5:00 PM, Dario Strbenac <d.strbe...@garvan.org.au> wrote:
> Hello,
>
> Here are the items to help narrow it down.
>
> Short example:
> library(aroma.affymetrix)
> library(Repitools)
>
> annotation <- data.frame(chr = rep("chr1", 3), start = c(781253, 850983, 
> 885829), end = c(783614, 869824, 890958), strand = rep('+', 3))
>
> cdf <- AffymetrixCdfFile$byChipType("Hs_PromPR_v02")
> cdfU <- getUniqueCdf(cdf)
> cel.set <- AffymetrixCelSet$byName("FaK9Ac", cdf = cdf)
> MATNormalise <- MatNormalization(cel.set)
> csN <- process(MATNormalise)
> csNU <- convertToUnique(csN)
>
> surround.scores <- featureScores(csNU, annotation, up = 5000, down = 2000, 
> freq = 500, chrs = paste("chr", c(1:22, 'X', 'Y', 'M'), sep = '')) # Function 
> in Repitools.
>
> Error:
> readUnits.AffymetrixCdfFile(): Updating cache
> Error in function (classes, fdef, mtable)  :
>  unable to find an inherited method for function "trim", for signature 
> "character"
>
> R Session:
> R version 2.13.0 (2011-04-13)
> Platform: x86_64-unknown-linux-gnu (64-bit)
>
> locale:
>  [1] LC_CTYPE=en_AU.UTF-8       LC_NUMERIC=C               
> LC_TIME=en_AU.UTF-8        LC_COLLATE=en_AU.UTF-8     LC_MONETARY=C
>  [6] LC_MESSAGES=en_AU.UTF-8    LC_PAPER=en_AU.UTF-8       LC_NAME=C          
>         LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
>  [1] GenomicRanges_1.4.8    IRanges_1.10.6         Repitools_0.99.24      
> aroma.affymetrix_2.1.9 affxparser_1.24.0
>  [6] aroma.apd_0.2.0        R.huge_0.3.0           aroma.core_2.1.5       
> aroma.light_1.20.0     matrixStats_0.2.2
> [11] R.rsp_0.6.2            R.cache_0.5.1          R.filesets_1.1.0       
> digest_0.5.0           R.utils_1.7.8
> [16] R.oo_1.8.1             R.methodsS3_1.2.1
>
> loaded via a namespace (and not attached):
> [1] Biobase_2.11.10    Biostrings_2.19.18 BSgenome_1.19.6
>
> ---- Original message ----
>>Date: Fri, 2 Sep 2011 05:50:13 -0700
>>From: aroma-affymetrix@googlegroups.com (on behalf of Henrik Bengtsson 
>><henrik.bengts...@aroma-project.org>)
>>Subject: Re: [aroma.affymetrix] Function Clash With IRanges
>>To: aroma-affymetrix@googlegroups.com
>>
>>Hi,
>>
>>thanks for this.  The issue with the trim() clash with IRanges was
>>(supposed to be) dealt with in aroma.core v1.0.6 [2009-05-14]:
>>
>>o BUG FIX: Now aroma.core works with the IRanges and grid packages,
>>  regardless on the order they were loaded.
>>
>>and the comments in the code show that this especially done regarding
>>trim(). The fix is that aroma.core makes sure IRanges will always come
>>after R.oo in the search() path.  So, I'm interesting in getting more
>>details about your case.  Could you please:
>>
>>1. Produce a minimum example that gives this error.
>>2. Show exactly what error you get.
>>3. Report your sessionInfo() after you get the error.
>>
>>Thanks,
>>
>>Henrik
>>
>>
>>On Fri, Sep 2, 2011 at 2:00 AM, Dario Strbenac <dario.gar...@gmail.com> wrote:
>>> When loading aroma.affymetrix, then calling a function that has
>>> require(GenomicRanges) in it, that has AromaCellPositionFile
>>> $byChipType(getChipType(cdf)), I get an error because IRanges has a
>>> trim method too, and the aroma method eventually calls trim(tags).
>>>
>>> Should this be R.oo::trim(tags) in the next release ?
>>>
>>> I have IRanges 1.10.6, aroma.affymetrix 2.1.9 and R.oo_1.8.1 in R
>>> 2.13.0.
>>>
>>> --
>>> When reporting problems on aroma.affymetrix, make sure 1) to run the latest 
>>> version of the package, 2) to report the output of sessionInfo() and 
>>> traceback(), and 3) to post a complete code example.
>>>
>>>
>>> You received this message because you are subscribed to the Google Groups 
>>> "aroma.affymetrix" group with website http://www.aroma-project.org/.
>>> To post to this group, send email to aroma-affymetrix@googlegroups.com
>>> To unsubscribe and other options, go to http://www.aroma-project.org/forum/
>>>
>>
>>--
>>When reporting problems on aroma.affymetrix, make sure 1) to run the latest 
>>version of the package, 2) to report the output of sessionInfo() and 
>>traceback(), and 3) to post a complete code example.
>>
>>
>>You received this message because you are subscribed to the Google Groups 
>>"aroma.affymetrix" group with website http://www.aroma-project.org/.
>>To post to this group, send email to aroma-affymetrix@googlegroups.com
>>To unsubscribe and other options, go to http://www.aroma-project.org/forum/
>
>
> --------------------------------------
> Dario Strbenac
> Research Assistant
> Cancer Epigenetics
> Garvan Institute of Medical Research
> Darlinghurst NSW 2010
> Australia
>
> --
> When reporting problems on aroma.affymetrix, make sure 1) to run the latest 
> version of the package, 2) to report the output of sessionInfo() and 
> traceback(), and 3) to post a complete code example.
>
>
> You received this message because you are subscribed to the Google Groups 
> "aroma.affymetrix" group with website http://www.aroma-project.org/.
> To post to this group, send email to aroma-affymetrix@googlegroups.com
> To unsubscribe and other options, go to http://www.aroma-project.org/forum/
>

-- 
When reporting problems on aroma.affymetrix, make sure 1) to run the latest 
version of the package, 2) to report the output of sessionInfo() and 
traceback(), and 3) to post a complete code example.


You received this message because you are subscribed to the Google Groups 
"aroma.affymetrix" group with website http://www.aroma-project.org/.
To post to this group, send email to aroma-affymetrix@googlegroups.com
To unsubscribe and other options, go to http://www.aroma-project.org/forum/

Reply via email to