From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Hinsen Subject: Re: Use guix to distribute data & reproducible (data) science Date: Fri, 16 Feb 2018 10:28:34 +0100 Message-ID: References: <365e13248634ac1e26cf6678611d550d@hypermove.net> <87mv0ixf07.fsf@gnu.org> <1cb709d0-b282-192c-ce1d-20fbff43430e@fastmail.net> <87lgfvu3dg.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55794) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emcJs-0003Xf-DZ for guix-devel@gnu.org; Fri, 16 Feb 2018 04:28:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emcJp-00049u-4X for guix-devel@gnu.org; Fri, 16 Feb 2018 04:28:40 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:45031) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1emcJo-00048t-UZ for guix-devel@gnu.org; Fri, 16 Feb 2018 04:28:37 -0500 In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: zimoun , Guix Devel 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.