Finally, a workflow that I'm proud to share!
Amaranthus is my first true workflow for my computational neuroscientific projects. However, it is broad enough to be applied to any computational discipline. It is highly based on the great Cookiecutter Data Science project template
Dedicated to Amaranta Saball.
- Python 2.7 or 3.5+
- Cookiecutter Python package >= 1.4.0: This can be installed with pip by or conda depending on how you manage your Python packages:
$ pip install cookiecutter
or
$ conda config --add channels conda-forge
$ conda install cookiecutter
cookiecutter https://github.com/jpalma-espinosa/Amaranthus
The directory structure of your new project looks like this:
├── data
│ ├── params <- Set of parameters to process the raw data
| ├── processed <- Put here the processeced data, ready to analyze and create plots
| └── raw <- Raw unmutable data.
├── LICENSE
├── Makefile <- Makefile with commands like `make data` or `make train`
├── notebooks <- Jupyter notebooks. Naming convention is a number (for ordering),
│ the creator's initials, and a short `-` delimited description, e.g.
│ `1.0-jqp-initial-data-exploration`.
├── README.md <- This file.
├── reports <- Holds rmd files for creating a lab notebook and a final report
| ├── figs <- Store your nice figures for reporting. Could be generated from <project>/src/figures
│ ├── master <- Holds master docs and bibliography
│ ├── output <- Holds your knitted rmd files in several formats (.docx, .pdf, .html)
│ ├── presentations <- Save here your slides and presentations.
│ ├── rmd <- Several rmd files for documentation process: Daily reporting, meeting
| | notes, experiment notes, paper analysis, preliminary results, among others
│ └── utils <- Some utility files for knitting the master docs.
├── requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
│ generated with `pip freeze > requirements.txt`
├── src
│ ├── data-processing <- Scripts to download or generate, and process data
│ ├── plotting <- Scripts for making plots
│ └── utils <- Utilitary scripts. See inside for more information.
├── test_environment.py
└── tox.ini
As this is v1.0, there are a lot to fix and TODO. If you have any idea, please drop me an email or submit an issue. I'd be more than happy to implement it.