@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, iSamples
orkk,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.