@eeshanbot's project template for organized exploratory computational research
Welcome to my project template! I see automation and transparency as key components for following FAIR data principles:
- Findability
- Accessibility
- Interoperability
- Reusability
As this is a GitHub "template", the best way to use it is to download to your own computer or click "use this template".
This folder holds local data. This is a read-only folder. I will put project specific data here and more general or multiple-project data products somewhere else.
This folder holds functions. I like to use the following syntax. I put anything into a function that I might use more than once.
Helper functions tend to start with eb_ for autocompletion (eager beaver). They are then followed by one of:
view_= makes a figure (does not save it automatically)get_= runs a small computationcompute_= runs a large computationread_= reads some kind of input file, generally customized by data streamwrite_= writes some kind of output fileh_= helper for miscellaneous, useful tasks
- constants =
A_CONSTANT_VARIABLE - number of =
nVal, nSamples, num_samples - important / dynamic =
importantVariablesHere - scratch =
k, m, n, x, y, z, a, b, c, d(never i or j) - iterator =
iVal, iSamplesorkk,mm,nn...
This folder holds scripts. These scripts access data from data and functions from src. Each script or collection of scripts lives in an aptly named sub-folder based on the desired task. Scripts are named with the following prefixes:
io= a simple input/output scriptv= viewerp= process
This folder holds figures, tables, etc, that you may want to decouple from the processing pipeline. You can always automate this with a symbolic link.
This folder holds LaTeX code, makefiles, bib files, etc for eventual journal submission. Sometimes I like to add a journal folder and write entries in Markdown; this is a nice Markdown cheat sheet.