Skip to content

Replication of records - Using Sumatra to publish computational projects #379

@felix11h

Description

@felix11h

I'm interested in using Sumatra to publish computational projects (example here). The smt repeat function is very helpful in repeating computations under original conditions and testing if the repeated computation matches the original record. For this, a previous state of the project (e.g. git version, potentially other parameters?) is loaded.

For a published computational project, a reader might interested in replicating (single) results in a straightforward manner. For this smt repeat could be great. However, the loading of a previous version of the code "behind the scenes" can be very misleading. Old versions of the code might look very different from what the reader is seeing in the published repository.

I'm suggesting either an option for smt repeat or a new, related command smt replicate. The command would function similarly to smt repeat but instead of checking out a previous version of the project, the command repeats the record with the current version. This would allow a test whether the code, as currently shown, is able to replicate the results obtained originally.

To allow for complete or partial replication of the project, the command would take either a record, a tag or the whole project and replicate all records in the group in chronological order. The tag command specifically could help replicate the just the simulation, data-analysis or plotting stages in the project, as for example described in the Popper convention (cc @ivotron).

I'm interested in feedback on this. Implementation of such functionality seems, at first glance, manageable. Am I overlooking expected complications? Would such functionality be seen as helpful and fitting within the scope of Sumatra?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions