I hope that it is the good place to ask this, as it is related to Bioconductor 

I have an issue of package dependency, I'm developing a package for the 
processing of mass spectrometry data(proFIA), it works on raw data which are 
quite heave (6 cleaned files weight 50 mega), so I wanted to provide a data 
package to test the functions(plasFIA) and build the vignettes. The two package 
are finished but I have an issue following the Bioconductor submission 
guidelines about submitting two packages, which require to submit the package 
which does not depend of the other in first :

My first package proFIA which is the processing package require plasFIA to 
build the vignette. I used a preprocessed object in the example to avoid 3 mins 
processing times in each examples, without that CHECK installation will be too 
long. To access the visualization function, the raw data are necessary, that's 
why the dependence to plasFIA is mandatory.

My second package plasFIA contains the data and the processing files. In data 
directory, there is an RData file which contain an object from proFIA package 
of class "proFIAset" to store the information about the package. The 
complicated part now : this object require a path to the raw file to allows the 
visualization function to work. So in the .onLoad function I do the following 
thing :

.onLoad <- function(libname, pkgname)
      #Finding and loading the RData object
     pfile=file.path(find.package("plasFIA"), "data","plasSet.rda")
      #Creating the new paths to raw files in the meML directory.
     nms <- file.path(system.file(package="plasFIA"),"mzML",
         gsub("/", .Platform$file.sep, basename(attr(plasSet, "classes")[,1])))
     #Setting the new paths
     plasSet@classes[,1] <- nms
     plasSet@path<-file.path(find.package("plasFIA"), "mzML")
    #Saving the object.

Which work, but if I don't put "proFIA" in depend "plasFIA" CHECK fails. And if 
I put it I have a circular dependency.

I know that a similar issue exists for "faahko" and "xcms" package in 
Bioconductor, and I did not find a better solution.

Do you know a solution to overcome the circular dependency or, is this okay for 
BioConductor in this setup ?

I just opened an issue in the contribution part or Bioconductor, so you can go 
there to see the code.

Alexis Delabriere
PhD Student,
Laboratoire d'Analyse de Donn�es et d'Intelligence des Syst�mes,
CEA Saclay,

        [[alternative HTML version deleted]]

Bioc-devel@r-project.org mailing list

Reply via email to