<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">I looked at how other developres deal
with issue of dependency between a package and its data.package. I
checked out two random packages from CRAN: GANPA (GANPAdata) and
gamlss (gamlss.data). Both of them (GANPA and gamlss) dependes on
their data packages - that means their <span id="result_box"
class="short_text" lang="en"><span class="hps"></span></span>DESCRIPTION
files contain a reference to their data packages in the "Depends:"
field. Only GANPAdata suggests <span id="result_box"
class="short_text" lang="en"><span class="hps"></span></span>GANPA
(gamlss.data does not Depends/Suggests gamlss).<br>
<br>
When I made GenABEL depending on GenABEL.data, I kept in my mind
the same idea as Nicola pronounced below - that, in this case,
GenABEL.data is installed automaticly when users run
"install.package(GenABEL)". This is convinient for users who
install GenABEL from CRAN and this is in line with GANPA and
gamlss but it, probably, does not fully reflect the GenABEL
reality. The dependency between GenABEL and GenABL.data is weak -
GenABEL is gonna be mostly used without GenABEL.data. So, I
support the Yurii's idea about making GenABEL.data as 'suggested'
and including 'requre(...'. <br>
<br>
About dot: Personally, I like GenABEL.data. From this name, It is
clear that this package is some kind of a 'subpackage' of GenABEL
package and it is not a standalone one.<br>
<br>
best,<br>
Maksim<br>
<br>
On 28/11/2013 18:24, L.C. Karssen wrote:<br>
</div>
<blockquote cite="mid:529727F7.1000204@karssen.org" type="cite">
<pre wrap="">
On 11/28/2013 12:12 PM, Yury Aulchenko wrote:
</pre>
<blockquote type="cite">
<pre wrap="">I would think that GenABEL(.)data is "suggested" and then any
examples using the data from this packages start with something like
if (require("GenABEL(.)data") ...
</pre>
</blockquote>
<pre wrap="">
This sounds like a good solution.
</pre>
<blockquote type="cite">
<pre wrap="">
How do other packages which lean on data-packages solve this?
As for the "dot" - I do not have any strong opinion - both options
seem ok to me :)
</pre>
</blockquote>
<pre wrap="">
Great :-). Then I propose (of course) to stick with the dot, also
because that's already used now.
Best,
Lennart.
</pre>
<blockquote type="cite">
<pre wrap="">
best, Yurii
On Nov 28, 2013, at 12:06 PM, Nicola Pirastu
<a class="moz-txt-link-rfc2396E" href="mailto:nicola.pirastu@burlo.trieste.it"><nicola.pirastu@burlo.trieste.it></a> wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi all,
I've been following this conversation with much interest although
I'm sorry I can't contribute much.
I was just wondering, could GenABEL.data not be just a dependency
on GenABEL? This way installing GenABEL trough install.packages
would result in the installation also of GenABEL.data without the
user actually having to do it himself.
Best.
Nicola
Dr. Nicola Pirastu PhD Research Fellow Medical Sciences,
Chirurgical and Health Department University of Trieste Medical
Genetics IRCCS Burlo Garofolo Via dell'Istria 65/1 34137 Italy tel.
+390403785539
Il giorno 28/nov/2013, alle ore 11:59, "L.C. Karssen"
<a class="moz-txt-link-rfc2396E" href="mailto:lennart@karssen.org"><lennart@karssen.org></a> ha scritto:
</pre>
<blockquote type="cite">
<pre wrap="">Hi Maksim,
First of all, thanks for the good work!
On 11/27/2013 07:58 PM, Maksim Struchalin wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi All,
I created a GenABEL.data package where I moved the following
data: GenABEL/data/* , inst/exdata/srgenos.dat and
inst/exdata/srphenos.dat. All the corresponding files are
deleted from GenABEL. Also, GenABEL.data contains R directory
with three files (ge03d2c.R, ge03d2ex.R and srdta.R). These
scripts does not go to the final distribution and needed only
for possible future usage. Only GenABEL.data/data/* files go to
GenABEL.data_1.0.tar.gz after running "R CMD build
GenABEL.data". The directories "R" and "inst" are removed by
running GenABEL/data/clean.R in "build" process. May be it is
not a good idea to do it in such a way but, at least, it is
convinient and has no any reflection on end users (suggest a
better way plz).
The way how GenABEL.data works now is not like how we discussed
below. It is impossible to generate files during "R CMD
INSTALL" and undisarable during "R CMD build". The best opition
was just to move all the data to GenABEL.data from GenABEL
(like CRAN people suggested). In this case, we can install
GenABEL.data without having GenABEL installed. After this, we
install GenABELL.
</pre>
</blockquote>
<pre wrap="">
This sounds very strange to me. Does the user first need to
install the GenABEL.data package and then the 'main' GenABEL
package? Or do I misunderstand you? What happens if the user
installs them in a different order? I guess that shouldn't
matter, right, as the package contains only data?
</pre>
<blockquote type="cite">
<pre wrap="">When we run library(GenABEL), it automaticly attaches
GenBEL.data. Thus, the only change for users is that they need
to install two packages now (GenABEL.data and GebABEL).
</pre>
</blockquote>
<pre wrap="">
And GenABEL.data is only needed if they actually want to use the
examples, right? Or do we simply put GenABEL.data in the list of
required packages in the DESCRIPTION file?
Thanks,
Lennart.
</pre>
<blockquote type="cite">
<pre wrap="">
Now we have sizes of both packages much smaller: 469K for
GenABEL and 2.4M for GenABEL.data.
It should work now, but if you experience some problems, let me
know.
best, Maksim
On 26/11/2013 20:48, L.C. Karssen wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi Maksim,
On 11/26/2013 12:11 PM, Maksim Struchalin wrote:
</pre>
<blockquote type="cite">
<pre wrap="">I am still in the way of compressing GenABEL data. To
remind you: the idea consists of compressing the original
data text files and use them later for generating RData
files (e.g. srdta).
Yurii proposed to make RData files in examples which use
them. I see now only one way how this idea can be
implemented. We replace "data(srdta)" line in every file
where it is used by a function e.g. "generate_srdt()" which
generate srdta object. The same procedure for other five
*.RData files from GenABEL/data. If we follow this way, we
have to change 71 files in man directory and, additionally
to this, the GenABEL manual. Also, users will not be able
to load the srdta set (and others) by typing "data(srdta)"
in a command line (how they get used to) and has to know
that the function generate_srdt() now services for these
needs. This all sounds nasty :-).
</pre>
</blockquote>
<pre wrap="">I'm not sure how many user actually type data(srdta), but I
see you point.
</pre>
<blockquote type="cite">
<pre wrap="">Making the data during package installation time is also a
bad idea as Yurii noted below. Actually, this is impossible
because the process of making GenABEL data requires GenABEL
functions which are not available during installation time
(they are avaialble only after GenABEL installed).
</pre>
</blockquote>
<pre wrap="">Good point!
</pre>
<blockquote type="cite">
<pre wrap="">I see only one good solution now: move all the GenABEL data
to a new package e.g. GenABELdata as it was proposed by
CRAN people from the begining. In this case, it is possible
to generate RData during installation time using GenABEL
functions (which are installed by that time). I think this
solution is paltform independent because R rules permit
runing *.R scripts to generate data during installation
time.
What do you think about making a data package for GenABEL?
Do you think the name GenABELdata is ok? May be we can move
all the *ABEL data in DatABEL package instead of making
*ABELdata data packages?
</pre>
</blockquote>
<pre wrap="">Sounds like this is the best solution. Thanks for digging in
to this. As for the package name, either GenABELdata or
GenABEL.data sounds find with me (the latter one being a bit
clearer in my opinion).
Best,
Lennart
</pre>
<blockquote type="cite">
<pre wrap="">best, Maksim
On 18/11/2013 18:54, Yury Aulchenko wrote:
</pre>
<blockquote type="cite">
<pre wrap="">On Nov 15, 2013, at 17:21 PM, L.C. Karssen
<a class="moz-txt-link-rfc2396E" href="mailto:lennart@karssen.org"><lennart@karssen.org></a> wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi Maksim,
On 14-11-13 22:38, Maksim Struchalin wrote:
</pre>
<blockquote type="cite">
<pre wrap="">In this email, I propose a new approach which allows
to reduce total size of data from 8Mb to 2Mb that
reduce the entire GenABEL size from 12Mb to 6Mb.
</pre>
</blockquote>
<pre wrap="">I gues you mean B (bytes) instead of b (bits) here
:-).
</pre>
<blockquote type="cite">
<pre wrap="">"R CMD check --as-cran" reports that the following
sub-directories have too big size: data (2.3Mb),
exdata (5.7Mb) and libs (2.6Mb). After the last
GenABEL submission to CRAN, the maintainers suggested
to create a new package called GenABELdata and move
all the data there. I run through the data and found
that: 1) "exdata" directory can be compressed by gzip
and reduced from 5.8Mb -> 1.1Mb. - There is a
function guzip() from library R.utils which can
decompress the files. It works on any OS. - Moreover:
the native R function read.table() can read gzip
files without decompression. - Even more: it looks
like that the biggest file "srgenos.dat" is used only
once a long time ago for generating "srdta.RData" and
now it is just sitting there and eating space
needlessly.
</pre>
</blockquote>
<pre wrap="">Sounds like a waste of space!
</pre>
<blockquote type="cite">
<pre wrap="">2) We can delete some files from the "data"
directory. The deleted files will be generated on the
user computer based on the files from exdata. It can
be done during INSTALLATION (a line in Makefile?) or
on the first load through (|run funcion .onAttach()
in R/zzz.R|).
</pre>
</blockquote>
<pre wrap="">This sounds like a perfectly acceptable option.
</pre>
</blockquote>
<pre wrap="">I suggest this is done in the "example" which make use of
this data, NOT in the INSTALL etc. - we should make
things as "robust" as possible and interfere as little as
possible with the usual workflow (which is very much
system-specific, in that we will need to to test on all
platforms)
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">It will reduce total size of "data" directory from
2.3Mb to 800Kb.
</pre>
</blockquote>
<pre wrap="">Fantastic! If no one has other objections I say: go
ahead.
Best,
Lennart.
</pre>
<blockquote type="cite">
<pre wrap="">Any objections/suggestions?
best, Maksim
_______________________________________________
genabel-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:genabel-devel@lists.r-forge.r-project.org">genabel-devel@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">
</pre>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">--
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">-----------------------------------------------------------------
</pre>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">L.C. Karssen
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">Utrecht The Netherlands
<a class="moz-txt-link-abbreviated" href="mailto:lennart@karssen.org">lennart@karssen.org</a> <a class="moz-txt-link-freetext" href="http://blog.karssen.org">http://blog.karssen.org</a>
Stuur mij aub geen Word of Powerpoint bestanden! Zie
<a class="moz-txt-link-freetext" href="http://www.gnu.org/philosophy/no-word-attachments.nl.html">http://www.gnu.org/philosophy/no-word-attachments.nl.html</a>
</pre>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">------------------------------------------------------------------
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">
_______________________________________________
genabel-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:genabel-devel@lists.r-forge.r-project.org">genabel-devel@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">
</pre>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">_______________________________________________
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">genabel-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:genabel-devel@lists.r-forge.r-project.org">genabel-devel@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">
</pre>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">_______________________________________________
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">genabel-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:genabel-devel@lists.r-forge.r-project.org">genabel-devel@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">
</pre>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">_______________________________________________
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">genabel-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:genabel-devel@lists.r-forge.r-project.org">genabel-devel@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">
</pre>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">_______________________________________________
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">genabel-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:genabel-devel@lists.r-forge.r-project.org">genabel-devel@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">
</pre>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">--
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen
Utrecht The Netherlands
<a class="moz-txt-link-abbreviated" href="mailto:lennart@karssen.org">lennart@karssen.org</a> <a class="moz-txt-link-freetext" href="http://blog.karssen.org">http://blog.karssen.org</a> GPG key ID: A88F554A
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
_______________________________________________ genabel-devel
mailing list <a class="moz-txt-link-abbreviated" href="mailto:genabel-devel@lists.r-forge.r-project.org">genabel-devel@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">
</pre>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">AVVISO DI RISERVATEZZA Informazioni riservate possono essere contenute
nel messaggio o nei suoi allegati. Se non siete i destinatari indicati
nel messaggio, o responsabili per la sua consegna alla persona, o se
avete ricevuto il messaggio per errore, siete pregati di non
trascriverlo, copiarlo o inviarlo a nessuno. In tal caso vi invitiamo a
cancellare il messaggio ed i suoi allegati. Grazie. CONFIDENTIALITY
NOTICE Confidential information may be contained in this message or in
its attachments. If you are not the addressee indicated in this message,
or responsible for message delivering to that person, or if you have
received this message in error, you may not transcribe, copy or deliver
this message to anyone. In that case, you should delete this message and
its attachments. Thank you.
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">_______________________________________________ genabel-devel
mailing list <a class="moz-txt-link-abbreviated" href="mailto:genabel-devel@lists.r-forge.r-project.org">genabel-devel@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
genabel-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:genabel-devel@lists.r-forge.r-project.org">genabel-devel@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel</a></pre>
</blockquote>
</blockquote>
</blockquote>
<br>
</body>
</html>