[BioC] Using htmlpage

john seers (IFR) john.seers at bbsrc.ac.uk
Thu Feb 5 17:02:11 CET 2009

Hi Jim

Thanks for taking the time to reply.

>But I believe you really want the converse - 
>to stuff your function into the namespace and have the package think it

>belongs there.

Not quite. I do not want/need my function to be in the namespace. I just
want the package to be able to call my function or supply me a way to
give it a list of functions or data or something like that. I do not
know what R lets you do/does not let you do in this area. I imagine, and
you have intimated, it is programmatically possible. 

>by far the easiest way is to add a function to a source package and

I am not so sure about that. Putting on my user hat I would say that if
you want to supply extendability to a package that the user can
manipulate it should be possible with simple standard R commands. If I
did it your way I would have to remember to update my R installation
every change. Worse, I would have to maintain all the R installations of
the users that use my code, as well as handle all the problems it would
raise with them. I want to have clean demarcated and separate interfaces
from the packages I use.   

>You don't need to build R from source to build and install packages.
>you need to do is to get set up to be able to build R, and then you
>be able to install packages. In the past this was a semi-difficult
>to do, but these days Duncan Murdoch has an installer that makes it 
>practically painless.

I have built R (and packages) many times on Unix but not for some time.
I tried once on Windows but at that time it was almost impossible. (More
than semi-difficult). The tools were not easily available and were a bit
confused with versions etc and the instructions were opaque. However if
it has improved that much maybe I will have another look.

>But personally, I would recommend getting set up to build packages 
>yourself. It's not that hard, and you gain two really nice things. 
>First, you will be able to install packages for which there is only a 
>source version. I can't tell you how often I have needed this

I do not have a great need for this though. If I had a pressing need
then yes.   

>Second, you get all these nice Unix tools that turn out to be 
>exceptionally useful (who knew?). Things like sed, cut, awk, etc can be

>daunting to use at first, but they are so very useful for doing what 
>they do that I can no longer imagine a life where I would have to
>along using the exceptionally dull tools that are typically available

I get all this through using Cygwin on Windows. 

>Yes you could. However, the ellipsis is designed to pass arbitrary 
>variables to underlying code. You would then have to write code to
>whatever random things an end user might pass via that method and then 
>try to divine what they meant to do. And I am just not that
Hmm - does that mean there is no pass through of the variables? That
will not work then. There is something ringing a bell that there is a
way to just pass the "..." variables through without parsing. Perhaps
that was another language in another universe somewhere. But I think I
saw it in R. The word "rest" keeps popping into my mind - I am sure I
saw a chunk of code that passed through the "rest" of the variables. I
am not sure if I can find it again. I will have a look or ask on R-help

>Since the only additional argument we need is the species, it is much 
>more directed and simpler to add a species argument

One of the specific problems I had was I had an exon id as the id. But
the Ensembl query had to use the transcript name for the query string. 

Something like:

ids[i], sep = "")

So I did not want the ids[i] but a way of getting to my transcript id
column to generate t=transcript_id. 

If you call it species it may give the appearance of being less flexible
than it could be. For instance, there was another possible query I
considered that needed the gene id and the transcript id and other
variables. There are many possibilities and variations I think. The
helper script can handle the details if you can get the information to
it. Perhaps a list of columns? Rather like the "othernames" in htmlpage.

>I have been meaning to add Ensembl, so this gives me that much more 
>impetus. It won't be for a couple of days though.

That is great. If it is just a couple of days would be brilliant but
whenever will be welcome. I will be interested in what you come up with.



More information about the Bioconductor mailing list