Hi, > In other words, on the paper, what are the benefits of a management of > some piece of data in the store ? For example for the applications of > weights of a trained neural network; or of the positions of the atoms in > protein structure.
Provenance tracking. In a complex data processing workflow, it is important to know which computations were done in which order using which software. This is technically almost the same as software dependency tracking, so it would be nice to re-use the Guix infrastructure for this. > For me --maybe I have wrong-- the way is to define a package (or > workflow) that fetches the data from some external source, cleans if > needed, does some checks, and then puts it to /path/to/somewhere/ > outside the store. In parallel computing, this /path/to/somewhere/ is > accessible by all the nodes. Moreover, this /path/to/somewhere/ contains > something hash-based in the folder name. > > Is it not enough ? Whether for software or for data, dependencies are DAGs whose terminal nodes are measuremnts (for data) or human-supplied information (code, parameters, methodological choices). Guix handles the latter very well. The three missing pieces are: - Dealing with measurements, which might involve interacting with experimental equipment or databases. Moreover, since data from such sources can change, its hash in the store must be computed from the contents, not just from the reference to the contents. - Dealing with data that is much larger than what Guix handles well in the store. - Exporting results with provenance tracking to the outside world, which may not be using Guix. Big data aside, this could take the form of a new output format to "guix pack", for example a research object (http://www.researchobject.org/) or a Reproducible Document Archive (https://github.com/substance/dar). > Why do you need the history of changes ? as git provide ? I'd say git is fine for everything not "too big". > Secrets is another story than reproducible science toolchain, I guess. Yes, indeed. And not something I need to deal with, so I will shut up now! Konrad.
