GithubHelp home page GithubHelp logo

project-skeleton's Introduction

Project Skeleton

A basic repo template (directory structure) to be use as starting point for new projects.

Structure

00-Information

Proposals, prompts, outlines, ... anything relevant to the conception of the project.

01-Data

Data in downloaded formats are "raw" (e.g., .xlsx, .dat, .csv, ...). We import and store data in R formats (e.g., .rds, .rdata) during "processing". Data cleaning and recoding finalize "analytic" datasets. Note: generally, "00-" prefix means don't modify or rewrite the files within.

  • Sub-directories
    • 00-Raw-Data
    • 01-Processed-Data
    • 02-Analytic-Data

02-Scripts

Envisioned as a linear path from raw data management to final figure creation. Playground to catch everything incomplete; data wrangling to transition through data directories; helper functions to hold project specific functions or those oriented to external programs; visualization is obvious; analysis to fit models, calculate stats, general computation/programming. Each has its own typical set of script types.

  • Sub-directories and typical scripts
    • 00-Playground
      • exploratory code dump, in-progress scripts, under construction, placeholder for other scripts
    • 01-Data-Wrangling
      • download_Data_* : scripts to automate the data download from online
      • process_Data_* : scripts to process raw data
      • prep_Files_* : scripts to write files for external program use
      • process_Results_* : scripts to process results from external program analyses
    • 02-Helper-Functions
      • repeated, modular, specific, useful code
      • run_Program_* : scripts to automate external programs
    • 03-Visualization
      • plot_* : pretty self-explanatory, fundamental units to generate_Figure scripts
      • generate_Figure_* : scripts to create high-level figures, plots, images, interactive visualizations
      • generate_Table_* : scripts to create tables
    • 04-Analysis
      • analyze_* : scripts to run analyses within R

03-Output

Store the goodies to show everyone else.

  • Sub-directories
    • 01-Tables
    • 02-Figures
    • 03-Non-Static

04-Report

  • Sub-directories
    • 01-Notebook (detailed reports, write-ups, long-winded, process-oriented)
      • reproducibility_notebook.RMD : quasi-stream-of-thought writing, deeply woven web of scripts and analytical directions
    • 02-Presentation (slide decks)
    • 03-Manuscript (polished for publication)

05-Miscellaneous

Whatever else may need to accompany repo.

Useful Resources

How to collaborate

Ten simple rules for collaboratively writing a multi-authored paper

How to write a first-class paper

Ten simple rules for structuring papers

Writing science

Ten guidelines for effective data visualization in scientific publications

Three tips for giving a great research talk

How to give a great scientific talk

Science communication, public engagement, and outreach

project-skeleton's People

Contributors

daileyco avatar

Stargazers

 avatar

Watchers

 avatar M H M Mubassir 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.