Hi,

Some students of mine are currently working on a unified R interface to multiple C/C++ algorithms of a kind (too early to mention details). The special challenges
are that some of these algorithm have special requirements, that not
necessarily all of them will run on all target platforms, and that all make quite
special settings in their Makefiles. In order to deal with these challenges,
in particular, to be able to provide a maximum of algorithms on each platform, we have thought of putting all algorithms in separate packages and writing a wrapper
package that provides a unified interface to all algorithms available on the
respective platform.

To illustrate our idea, consider the following example: suppose that the algorithms
are implemented in packages fooAlg1, fooAlg2 and fooAlg3, which are mutually
independent of each other. Basic functionality that is used by all three packages is contained in a package fooCommon on which the packages fooAlg1, fooAlg2 an
fooAlg3 all depend. Then the wrapper package foo provides a unified
interface to those packages which are available on the given platform:

         +-- suggests --> fooAlg1 >-- depends --+
         |                                      |
  foo >--+-- suggests --> fooAlg2 >-- depends --+--> fooCommon
         |                                      |
         +-- suggests --> fooAlg3 >-- depends --+

If the user tries to call an algorithm via the unified interface, package foo checks if the required package is available. If so, it loads the package and runs the
algorithm. If not, an error message is shown.

So far, so good. Now my questions:

- Do you think this is a good idea?
  If not, do you have a better suggestion?
- Would it be acceptable to submit a whole bunch of packages to Bioconductor
  instead of one single package that contains all algorithms?
  If yes, would it be ok if the documentation were concentrated in the
wrapper package foo? (In particular, would it be ok if fooAlg1, fooAlg2 and
  fooAlg3 had no vignettes?

Thanks in advance for your kind assistance!

Kind regards,
Ulrich

--
Dr. Ulrich Bodenhofer
Associate Professor
Institute of Bioinformatics

Johannes Kepler University
Altenberger Str. 69
4040 Linz, Austria

Tel. +43 732 2468 4526
Fax +43 732 2468 4539
bodenho...@bioinf.jku.at
http://www.bioinf.jku.at/

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

Reply via email to