GithubHelp home page GithubHelp logo

computational_modelling_project_template's Introduction

Generic Computational Modelling Project Template

This folder structure aims to ensure replicability for experiments involving computational modelling from design to publication, and hopefully save time and heaches in the long run. This project template (and notes below) are from Dani Navarro (@djnavarro), Andy Perfors (@perfors), and Charles Kemp (@cskemp), presented at the 2018 Complex Human Data Summer School.

People may differ in their preferences for organising the folders, but the key goals of this template are:

  • Clear organisation that is stable from project to project;
  • Shared structure among people on the same project;
  • Folder organisation that parallels and supports your workflow.

Folder Details

There are four main folders, containing sub-folders. Each of the main folders is modularisable (e.g. for projects involving multiple experiments, copy the sub-folders into 'expt1', 'expt2', etc.)

A. Analysis

  • analysis/code: All of the analysis code.
  • analysis/data: Output datafiles from your analysis code (e.g. subsetted data, cleaned files, etc).
  • analysis/figures: Figures generated from doing the data analysis.
  • analysis/resources: Documents explaining analysis choices, etc (you may not need this).

B. Docs

  • docs/ethics: All ethics and ethics related documents.
  • docs/papers: This is what you write. This is also expandable into further sub-folders (e.g. for multiple submissions).
  • docs/readings: Relevant papers and your notes on them — your future self will thank you! (if you use LaTeX or a bibliography manager, integrate this as appropriate).
  • docs/resources: Any documents you make for yourself, e.g. describing design decisions, or figures (that are not data or model outputs).
  • docs/talks: Any talks or presentations (including posters).

C. Experiment

  • experiment/code: Code for actually implementing the experiment (e.g. Javascript, qualtrics, etc). If it’s not on a computer then you probably do not need this.
  • experiment/data: Raw data in a easy to read file (e.g., csv) along with a description of the file (definition of variables, etc). It is very important to keep the raw data separate from any analyses, so you can always go back to it if you need.
  • experiment/resources: Experiment-specific resources like stimuli (through the process of development)

D. Models

This folder has a similar structure to the analysis folder, but contains everything associated with any of your computational models (not for analysing the data — rather, for theorising about the models).

  • models/code: All of the modelling code.
  • models/data: Output datafiles from your models (e.g. simulations, model criticism, etc).
  • models/figures: Figures generated from running your models.
  • models/resources: Documents explaining and/or illustrating modelling choices.

Notes

Git does not allow empty folders (as this blank project template should be), so each folder has an empty .gitkeep file that can safely be removed once the template has been downloaded.

computational_modelling_project_template's People

Contributors

awhug avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.