Module overview
|
|
Command line/shell
|
There are a number of incompatible shells; different neuroimaging tools may use specific shells and thus provide instructions that are not compatible with your current shell.
A command line shell is a powerful tool and learning additional ‘tricks’ can help make its use much more efficient, less error-prone, and thus more reproducible.
Shell scripting is the most accessible tool to automate execution of arbitrary set of commands; this avoids manual retyping of the same commands and in turn avoids typos and erroneous analyses.
Environment variables play a big role in defining script behavior.
You can write automated tests for your commands to ensure correct execution.
Shell scripts are powerful, but – if misused – can cause big problems.
|
Version control systems
|
Using VCS not only improves sharing and collaboration, but is integral for guaranteeing reproducibility
VCS can be used directly or can serve as a foundation for domain-specific tools
|
Package managers and distributions
|
|
'Right to share'
|
|
Other day-to-day reproducible practices
|
If you can’t reproduce it, it’s likely that nobody else can
Having open sharing in mind from the beginning can simplify future reproducibility
|
Wrap-Up
|
|
FIXME: more reference material.