[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
then 
>build/install.

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.
All 
>you need to do is to get set up to be able to build R, and then you
will 
>be able to install packages. In the past this was a semi-difficult
thing 
>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
capability.

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
muddle 
>along using the exceptionally dull tools that are typically available
on 
>Windows.

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
parse 
>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
imaginative.
 
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
perhaps.


>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:

out[i]
<-paste("http://www.ensembl.org/Mus_musculus/Transcript/Exons?t=",
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.



Regards


John



More information about the Bioconductor mailing list