[Bioc-devel] ANN: BioC Developer's Meeting/agenda/discussion

James Wettenhall wettenhall at wehi.EDU.AU
Mon Jul 18 09:52:23 CEST 2005


Hi,

A few more thoughts...  It seems that an emerging theme is the question of
how a new user determines which packages they should look in to find
certain functionality.

I just did a Google search for "Bioconductor wiki" and didn't find
anything ideal.  For anyone who doesn't know, a "wiki" is an basically an
online encyclopedia entry, editable by everyone.  It would be nice to have
a wiki overview of Bioconductor and it could have things like, "For
normalization of 2-color array data, use package X, Y or Z.".  Then if the
maintainer of package Z was disappointed with this order, they could email
the maintainers of package X and Y and ask whether it was OK to change it
to "Z, X or Y."  Of course the wiki entry could even refer to specific
functions within packages as well or refer to separate wiki entries for
individual packages.

Some great ideas have been discussed about ways of internally storing some
of the BioC package classification information, e.g. XML, or a formal
ontology.

I'm thinking more about what the end user might like to see (particularly
the novice user).  Maybe on the BioC website, there could be an
"installation helper", with some HTML forms, where the user could say:

I want software for:
x diagnostic plots
x normalization
x differential expression
x GOs
etc. (where each 'x' represents a check box)

and perhaps some radio buttons:
o 2-color array analysis only
o affy analysis only
o both 2-color and affy.

Then, with the help of some server-side scripting (e.g. perl/cgi or php or
python/zope), the user could be given some recommendations of which
packages to install.  Then they could confirm that they actually want to
install each one (with a series of checkboxes).  If you wanted to be even
more helpful, you could even say which specific functions the user should
look at in which packages.  And of course you could list the packages in
some order e.g. popularity, rather than just alphabetical order.  Using
popularity may sound controversial, but I think Google uses it, doesn't
it?

Of course, package dependencies add a small complication e.g. if the
"affy" checkbox is selected, then the "reposTools" and "Biobase" packages
(or whatever affy depends on) should be selected and grayed (disabled) so
they can't be unselected.  Personally, I'm a fan of reducing package
dependencies where possible - there are some BioC packages whose vignettes
depend on quite a few packages (directly or indirectly) which are not
really related to the main theme of the package.  But then if you're doing
a full getBioC() installation, then dependencies are not an issue.

Yet another possibility (which I don't think would be very popular) is to
create some wrapper R packages with really generic names like
"Normalization", "DifferentialExpression" etc. which are easy to install
and then they would give instructions for installing appropriate packages
for the user's normalization needs.  Whilst I think user-friendliness is
important, I'm thinking that Tcl/Tk GUIs are not ideal for "installation
helpers" because some people don't have Tcl/Tk installed to begin with. 
But you still could possibly have some question/answer-style interface at
the command-line.

I hope these ideas were of interest to some people...

Best wishes,
James



More information about the Bioc-devel mailing list