the cedar ledge


Date: October 10 2020

Summary: DrWatson is a strong tool for encouraging reproducible science and enforces good project management.

Keywords: ##zettel #julialang #project #management #reproducible #science #archive


Not Available

Table of Contents

  1. How To Cite
  2. References
  3. Discussion:

Today, I spent some time learning about DrWatson.jl. I have always wanted to use the project and now I finally have a reason to work with it! I enjoyed the default layout provided by DrWatson - here are some general thoughts on the matter.

The project directory provided by DrWatson is automatically setup. The defaults are quite nice and I did not change anything except for ignoring the data files:

β”‚projectdir          <- Project's main folder. It is initialized as a Git
β”‚                       repository with a reasonable .gitignore file.
β”œβ”€β”€ _research        <- WIP scripts, code, notes, comments,
β”‚   |                   to-dos and anything in an alpha state.
β”‚   └── tmp          <- Temporary data folder.
β”œβ”€β”€ data             <- **Immutable and add-only!**
β”‚   β”œβ”€β”€ sims         <- Data resulting directly from simulations.
β”‚   β”œβ”€β”€ exp_pro      <- Data from processing experiments.
β”‚   └── exp_raw      <- Raw experimental data.
β”œβ”€β”€ plots            <- Self-explanatory.
β”œβ”€β”€ notebooks        <- Jupyter, Weave or any other mixed media notebooks.
β”œβ”€β”€ papers           <- Scientific papers resulting from the project.
β”œβ”€β”€ scripts          <- Various scripts, e.g. simulations, plotting, analysis,
β”‚   β”‚                   The scripts use the `src` folder for their base code.
β”‚   └── intro.jl     <- Simple file that uses DrWatson and uses its greeting.
β”œβ”€β”€ src              <- Source code for use in this project. Contains functions,
β”‚                       structures and modules that are used throughout
β”‚                       the project and in multiple scripts.
β”œβ”€β”€        <- Optional top-level README for anyone using this project.
β”œβ”€β”€ .gitignore       <- by default ignores _research, data, plots, videos,
β”‚                       notebooks and latex-compilation related files.
β”œβ”€β”€ Manifest.toml    <- Contains full list of exact package versions used currently.
└── Project.toml     <- Main project file, allows activation and installation.
                        Includes DrWatson by default.

I started DrWatson up in my Julia REPL and ran the following as I already had a git repo set-up and files in the repo:

using DrWatson
initialize_project("NeuriViz"; authors = ["Jacob Zelko", "Zachary P Christensen"], force = false, git = false, placeholder = true)

It set up the structure I needed and was quite easy to use. DrWatson was created by George Datseris.

How To Cite

Zelko, Jacob. DrWatson.jl. October 10 2020.



CC BY-SA 4.0 Jacob Zelko. Last modified: January 17, 2023. Website built with Franklin.jl and the Julia programming language.