From MEC at stowers.org  Tue Mar  5 15:36:12 2013
From: MEC at stowers.org (Cook, Malcolm)
Date: Tue, 5 Mar 2013 14:36:12 +0000
Subject: [Rd] [BioC] enabling reproducible research & R package
 management & install.package.version & BiocLite
In-Reply-To: <CAF42j23OD664yG7rgVMYzsEgges97=mn+DcQihne8CQUM0DmOQ@mail.gmail.com>
References: <D4772401B9D976478C0895769BE3E7920716E6@MBSRV02.sgc.loc>
	<CAErFSogyfzMQ9UEK7e=Ukvgdg-NfxS60cPtppvvvN0MKnogyzw@mail.gmail.com>
	<CAHA9McNqVxFAdBYMqJm=avjA8wsS0uVSGQ=6eviXU6iPzPVXVQ@mail.gmail.com>
	<CAF42j23OD664yG7rgVMYzsEgges97=mn+DcQihne8CQUM0DmOQ@mail.gmail.com>
Message-ID: <D4772401B9D976478C0895769BE3E792072B7C@MBSRV02.sgc.loc>

.>>> * where do the dragons lurk
 .>>>
 .>>
 .>> webs of interconnected dynamically loaded libraries, identical versions of
 .>> R compiled with different BLAS/LAPACK options, etc.  Go with the VM if you
 .>> really, truly, want this level of exact reproducibility.
 .>
 .> Sounds like the best bet -- maybe tools like vagrant might be useful here:
 .>
 .> http://www.vagrantup.com
 .>
 .> ... or maybe they're overkill?
 .>
 .> Haven't really checked it out myself too much, my impression is that
 .> these tools (vagrant, chef, puppet) are built to handle such cases.
 .>
 .> I'd imagine you'd probably need a location where you can grab the
 .> precise (versioned) packages for the things you are specifying, but
 .
 .Right...and this is a bit tricky, because we don't keep old versions
 .around in our BioC software repositories.  They are available through
 .Subversion but with the sometimes additional overhead of setting up
 .build-time dependencies.


So, even if I wanted to go where dragons lurked, it would not be possible to cobble a version of biocLite that installed specific versions of software.

Thus, I might rather consider an approach that at 'publish' time tarzips up a copy of the R package dependencies based on a config file defined from sessionInfo and caches it in the project directory.

Then when/if the project is revisited (and found to produce differnt results under current R enviRonment),  I can "simply" install an old R (oops, I guess I'd have to build it), and then un-tarzip the dependencies into the projects own R/Library which I would put on .libpaths.

Or, or?  

(My virtual machine advocating colleagues are snickering now, I am sure......)

Thanks for all your thoughts and advices....

--Malcolm

 .
 .
 .> ...
 .>
 .> -steve
 .>
 .> --
 .> Steve Lianoglou
 .> Graduate Student: Computational Systems Biology
 .>  | Memorial Sloan-Kettering Cancer Center
 .>  | Weill Medical College of Cornell University
 .> Contact Info: http://cbio.mskcc.org/~lianos/contact
 .>
 .> ______________________________________________
 .> R-devel at r-project.org mailing list
 .> https://stat.ethz.ch/mailman/listinfo/r-devel
 .
 ._______________________________________________
 .Bioconductor mailing list
 .Bioconductor at r-project.org
 .https://stat.ethz.ch/mailman/listinfo/bioconductor
 .Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



[Rd] [BioC] enabling reproducible research & R package management & install.package.version & BiocLite
Cook, Malcolm