Hi Assa,

First off, please don't cross-post. This is really an R-help question, as it is about the R language rather than a specific BioC package.

Assa Yeroslaviz wrote:
dear all,

I have a problem with a masked object in a package we created here.

we make a package for a workflow of internal analysis of microarray data.
to create the package we used:

install.packages(pkgs="affyAnalysis", repos=NULL)
 R CMD INSTALL affyAnalysis
Erzeuge Verzeichnisse ...
Erzeuge DESCRIPTION ...
Erzeuge NAMESPACE ...
Erzeuge Read-and-delete-me ...
Kopiere Code-Dateien ...
Erzeuge Hilfedateien ...
Fertig.

one of the classes in the package is a S3 packge and has the name
"preprocess".
using the package require various packages. one of them is affyPLM, which
also have a S3 class named preprocess.
Each time I'm using the program i get the message:

library(affyPLM)
Lade nötiges Paket: affy
Lade nötiges Paket: Biobase

Welcome to Bioconductor

  Vignettes contain introductory material. To view, type
  'openVignette()'. To cite Bioconductor, see
  'citation("Biobase")' and for packages 'citation(pkgname)'.

Lade nötiges Paket: gcrma
Lade nötiges Paket: preprocessCore

Attache Paket: 'affyPLM'


    The following object(s) are masked from package:affyAnalysis :

     preprocess


    The following object(s) are masked from package:stats :

     resid,
     residuals,
     weights


The preprocess command in the affyPLM package needs an affybatch object to
work with.
our preprocess is as such definiert:

preprocess <- function(x,...) UseMethod("preprocessExpData")
preprocessExpData.expData <- function(data){
    require("vsn")
    data <- list(ExpressionSet=vsnrma(data$AffyBatch),
baseDir=data$baseDir,experimentName=data$experimentName,
pData=pData(data$AffyBatch))
    class(data) <- c("expSet","list")
    return(data)
}

when using the workflow we have and coming to the point of preprocesswe get
the following error message:

ex <- preprocess(ed)
Fehler in preprocess(ed) :
  argument is expData threestep requires AffyBatch argument is list
threestep requires AffyBatch

I would like to know if there is a way of using both preprocess commands
without the need to rename ours. They both use different object structure as
an input  and as far I understand the adventages of OOP in R it should be
able to recognize this differences, but how?

You need to take advantage of the namespace mechanisms available to you. The affyPLM package has a NAMESPACE file, and your package should as well. If you need preprocess from affyPLM, you can simply call it as

affyPLM::preprocess

which will ensure that you get the function you want. You can do the same with the function from your package (affyAnalysis::preprocess).

Best,

Jim



Thans in advance for your help

Assa

        [[alternative HTML version deleted]]



------------------------------------------------------------------------

_______________________________________________
Bioconductor mailing list
bioconduc...@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/bioconductor
Search the archives: 
http://news.gmane.org/gmane.science.biology.informatics.conductor
**********************************************************
Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to