One of the most important reproducibility habits you can adopt is writing a master script. This script should run through all of your analyses in their proper order. This will help readers know exactly how your steps are linked together; reduce all labor required of readers to executing a single script; and help you, the author, figure out if everything runs as you think, from top to bottom.


First, desginate your primary script as 'master script. Then, either put all necessary commands into that one script, as you'll see on this capsule, or set it to run each of your analysis scripts in sequence.

What makes for a good master script?

First, your master script should run headlessly, meaning that it does not require user input, nor expect a pop-up display, during runtime. 

Second, if you need system level commands (such as creating symbolic links, use a shell script. Code Ocean's Explore Page has plenty of examples, and you can always ask us for help if you have any questions.

Third, you should presume that a user might not be monitoring their run continuously -- especially if the code takes many days to run -- and thus you should set your code to  

  • have logical default parameters
  • reproduce as many of your results as possible without users' needing to choose anything
  • run continuously without pause or delay.

Did this answer your question?