psychoinformatics-de / paper-remodnav

Code, data and manuscript for https://doi.org/10.1101/619254
Creative Commons Attribution 4.0 International
4 stars 2 forks source link

Add docker container recipe and makefile for reproducing the analysis #23

Closed mih closed 11 months ago

mih commented 11 months ago

Recently the original virtualenv-baseed approach started to fall apart, because mutual incompatibilities between the dependencies (some pinned at old versions) increased.

This changeset provides a container recipe to generate a modern (or most modern, given todays possibilities) environment to still reproduce the analysis.

The container image can be built with

docker build -t remodnav:latest container

And the manuscript can be generated with

docker run -v $PWD:/tmp -w /tmp --rm --interactive --tty \
  -u $(id -u):$(id -g) -e HOME=/tmp \
  remodnav:latest \
   make -f Docker-Makefile main.pdf

This does not reproduce everything exactly. There is a small (I'd say insignificant) change in one panel of a Fig 4. The full backstory and analysis of the cause is in https://github.com/psychoinformatics-de/paper-remodnav/issues/20. However, besides that all reported statistical scores and performance measures reported in the paper remain identical.

Not that execution inside the container requires all inputs to be provisioned before. Here is the specification

remodnav/remodnav/tests/data/anderson_etal
remodnav/remodnav/tests/data/studyforrest
data/studyforrest-data-eyemovementlabels/*/*.tsv
data/raw_eyegaze/sub-*/ses-movie/func/*_recording-eyegaze_physio.tsv.gz
data/raw_eyegaze/sub-*/beh/*_recording-eyegaze_physio.tsv.gz

This will again be automated in a future changeset, based on a container-run provenance record.