[Bioc-devel] importing packages without a name space

Seth Falcon sfalcon at fhcrc.org
Tue Apr 17 18:17:15 CEST 2007


"Laurent Gatto" <L.Gatto at dnavision.be> writes:
> You are right. I started to write the code using simpleaffy as an
> example, as it does similar things. Everything worked fine (and still
> does) without the NAMESPACE file.

In general, that just isn't a good moel for how to do things.  I am
not surprised that you've encountered difficulties with using a
NAMESPACE given that setup.

>> So I'm guessing that .initClassesAndMethods() contains all of your
>> setClass and setMethod calls.  Can you try just putting those at the
>> package level in your R code?  
>
> All the setClass and SetMethods are in the main R file.
>
>> What does .createYAQCEnvironment do?
>
> The function creates a new environment and loads some data that is
> stored in a file in the data directory of the package:
>
> .createYAQCEnvironment <- function() {
>   if(!exists(".yaqcEnv")) {
>     .yaqcEnv <- new.env()
>      data(morespikes,envir =.yaqcEnv )
>      assign(".yaqcEnv",.yaqcEnv,envir=globalenv())
>   }
> }

It would be much cleaner to put this environment in your package name
space and not muck with the globalenv.  How about putting this in one
of your .R files:

   .yaqcEnv <- new.env(parent=emptyenv(), hash=TRUE)
   data(morespikes, envir = .yaqcEnv)

And then you can decide whether this is something the user should have
access to by exporting this object in the NAMESPACE file or not.

>> Have you exported all classes and methods in your NAMESPACE file?
>
> Yes, I export the class with 'exportClasses("YAQCStats")', the formal
> methods with exportMethods() and the other function with export().

Good.

>> Perhaps you want to post your DESCRIPTION file as well, R is fairly
>> picky about the syntax and I'd like to rule that out.
>
> Package: yaqcaffy
> Title: Affymetrix expression data quality control and reproducibility
> analysis
> Version: 0.0.12
> Author: Laurent Gatto
> Description: Quality control of Affymetrix GeneChip expression data  
>              and reproducibility analysis of human whole genome chips 
>              with the MAQC reference datasets. 
> Maintainer: Laurent Gatto <l.gatto at dnavision.be>
> Depends: R (>= 2.0), simpleaffy, methods
> Imports: geneplotter
> biocViews: Microarray,OneChannel,QualityControl
> License: The Artistic License, Version 2.0
> URL: http://www.bioconductor.org

That looks reasonable.  Are you still seeing the same error messages
or are things working better/different now?

+ seth

-- 
Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center
http://bioconductor.org



More information about the Bioc-devel mailing list