Commit 6e89c53c authored by Ville Havu's avatar Ville Havu
Browse files

Merge branch 'joakim_suggestion' into 'master'

Joakim suggestion

See merge request !1
parents d617b55d d5cf321e
# latex
# C extensions
# Distribution / packaging
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
# Installer logs
# Unit test / coverage reports
# Translations
# Django stuff:
# Sphinx documentation
# PyBuilder
# Swap files
# Misc temporary files
......@@ -6,4 +6,40 @@ use it as a starting point for organizing data in your project.
In detail
1. Clone the base repository to your local machine: `git clone`
2. You can add directories for better organization of your data but keep the cloned struture as a basic template.
3. You can't push anything to the repository. If you want to remove all references to the template you can do this with `rm -rf .git/`
\ No newline at end of file
3. You can't push anything to the repository. If you want to remove all references to the template you can do this with `rm -rf .git/`
## Joakim's suggestion
This is a suggestion for a minimal directory structure that is hopefully general
enough that it can be used (maybe with some additional structure) for pure DFT projects, machine learning as well as code development.
The core ingredients:
|- data <- Any data associated with the project, generated by you or others.
|- processed <- Processed data (e.g, databases of DFT calculations)
|- raw <- Raw, immutable (!), data to be further processed (e.g. Atomic structures, DFT calculations)
|- src <- Source code (C, fortran, Python...) for any libraries or modules developed as part of the project.
|- doc <- Code documentation for the contents of src/
|- references <- Useful papers, manuals, other explanatory material.
|- scripts <- Any scripts or notebooks associated with the project (bash, python...).
If a project only involves light scripting that can be sufficiently documented by comments and/or README,
the src and doc folder can be omitted.
Other stuff that may be useful:
|- LICENSE <- A license for your project if needed.
|- Makefile <- A (Make, snakemake...) makefile that builds your code, or generates a dataset etc.
|- models <- For ML projects: trained and serialized machine learning models, summaries thereof etc.
In addition to a version controlled git repo with this directory structure, I would recommend that each project
maintains an associated Overleaf document where generated figures, tables etc are continually dumped. This
will facilitate dicussions with the supervisor and colleagues. This document can also serve as a basis for
a future publication.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment