5 ms·
Making bio R reproducible is difficult. Impossible to do casually. The coupling of the undeclared environment and the code that runs is even then in Python. T
by kardianos 2y ago
Making bio R reproducible is difficult. Impossible to do casually.
The coupling of the undeclared environment and the code that runs is even then in Python.
The versioned cran is no longer available.
For this reason alone, use something that understands and takes this seriously.
- rrr_oh_man 2y agoWhat? What’s your issue with making R reproducible?
- kardianos 2y agoPackages are installed into your system. May bio packages (bioconductor, etc) are difficult to run in any other way outside of a system install. So outside of running everything in a container, it is difficult to maintain a project level dependency versions. No regard is given (by default) to install specific versions of a package. They just install the latest. So your build from 2 years ago will almost certainly be different, sometimes in important ways, from your build today, even if you used the same packages. This says nothing as to R's suitability to help maintain bio-scientist's accuracy through the process. Often times they will just dump data to R data files, which are opaque to version control and difficult to read outside of the R environment, because the data files often contain references to types defined in packages, thus to decode the data you have to have the correct R packages installed. This makes reading it in an external environment infeasible. R has many useful packages that just exist and work. But the verification and versioning, and reproducible system, is to me, makes it something to acutely avoid.
- rrr_oh_man 2y agoRegarding versioning — it sounds like 80% of your issues exist because of the lack of a project environment. Have you ever checked out `renv`? It should work quite well with Bioconductor. (Dumping data into binaries is… unfortunate, but this sounds more like a training issue than anything else.)
- 331c8c71 2y agoI use nix (flakes) almost religiously now for exactly that reason (both for Python and R).