A cookie cutter (aka project template) to set up a folder structure for a computational project. This is a quick way to setup a folder structure that follows one standard to organize a project. This helps with project management, reproducibility, sharing, and publishing your data, analysis, and results.
This project was inspired (and modeled off) by:
the setup_project_dir.sh
script creates the following folder structure:
Path_Provided
|- doc/ # directory for documentation, one subdirectory for manuscript
|
|- data/ # data for storing fixed data sets
|
|- src/ # any source code
|
|- bin/ # any compiled binaries or scripts
|
|- results/ # output for tracking computational experiments performed on data
A README containing a brief blurb is placed in each folder. This is because git will not track empty folders and placing a README will remind you of what goes in each folder, and also the overall folder structure will be retained
There are a few ways set everything up.
- fork/clone the repo to your computer
- download and extract the zip on the right
- download the script by clicking on
setup_project_dir.sh
above andright-click
>save link as...
on theraw
button - downloading the script directly:
wget https://github.com/chendaniely/computational-project-cookie-cutter/raw/master/setup_project_dir.sh
The above methods all accomplish the same thing, it gets the script onto your computer. Use which ever one makes sense.
go to the directory where the setup_project_dir.sh
is and run the following line in your terminal
bash setup_project_dir.sh /directory/to/where/your/project/is
Enjoy!
If you want to be able to call this script no matter where you are, you can add the following lines to your .bashrc
, .bash_alias
, etc (Note: you only need it in one of them)
alias pinit='/path/to/where/the/script/is/setup_project_dir.sh'
and you can use it as such: pinit /path/to/folder
or if you are already in the folder pinit .
I'm not the only one creating similar cookie-cutter projects: