[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