Skip to content

mahesh-panchal/academic-project-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Academic Project Template

A template for reproducible academic projects. The idea of this template is to provide a structure and way of working that eases those wanting to work more reproducibly.

Important

This is work in progress, as I slowly add material.

Take it step by step

A large part of working reproducibly is building habits. Learning everything at once will also be daunting and overwhelming and can hinder your adoption of reproducible practices as a result. Building comfort with tools and practices over time and maintaing a reasonable level of challenge, is a better recipe to succeed.

There are two key tenets:

  • Codify everything.
  • Document everything else.

1. Decide on a folder structure

Before dumping all your files in a copy of this template, decide on a folder structure you want to maintain. Keeping it as simple as possible will help maintain it over time, and provide you with some flexibility.

This repository implements the following suggestion:

/
|- analyses/  // Contains scripts that launch your workflows. Codify everything!
|- data/      // A folder to organise your data.
|- docs/      // Website, Slides, Reports, Articles, Thesis that use literate programming for reproducibility.
|- workflows/ // Workflows for large scale analyses, often executed on a HPC or other non-local system.

See the README.md's in each directory for further description of the folder's purpose.

2. Implement a template

Github can be used to make a template. The idea is that you start a new project from this template, and it provides you with the folder structure you want already set up. You can populate it with useful scripts and templates that can help you work more effectively, and always have them ready in your projects. It's a good idea to have README in each folder too to tell future you how you're using these folders.

See Creating a template repo on Github for more information on how to set one up.

Note

Setting up a template is there to help enforce your folder structure usage. Integrating git into your process for version control is another step.

Some literature

About

A template for reproducible academic projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published