Commit 8b611890 authored by joalof's avatar joalof
Browse files

Joakim's initial suggestion.

parent d617b55d
# 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
......@@ -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 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.
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL /official site/
!_TAG_PROGRAM_VERSION 0.0.0 /e72a1491/
CEST project template /^# CEST project template$/;" c
Joakim's suggestion /^## Joakim's suggestion$/;" s
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