Skip to content
/ project-template Public template
forked from yy/project-template

A template for research repositories

License

Notifications You must be signed in to change notification settings

skojaku/project-template

 
 

Repository files navigation

Project template

A simple template for research project repos. Also check out data science and reproducible science cookie cutters.

Installation

Run the following

./install.sh YOUR_PROJECT_REPO_FOLDER

This script creates the following folders and files.

  1. libs for a software library for the project.
  2. data for datasets and scripts for downloading datasets.
  3. exps for timestamped experiments.
  4. paper for manuscripts.
  5. workflow for workflow scripts.
  6. .gitignore that lists temporary and binary files to ignore (LaTeX, Python, Jupyter, data files, etc. )

Set up

Miniforge

Miniforge is preferred over conda because Miniforge comes with mamba and conda-forge is the default channel.

Setting up the virtual environment

First create a virtual environment for the project.

mamba create -n project_env_name python=3.7
mamba activate project_env_name

Install ipykernel for Jupyter and snakemake for workflow management.

mamba install -y -c bioconda -c conda-forge snakemake ipykernel numpy pandas scipy matplotlib seaborn tqdm austin

Create a kernel for the virtual environment that you can use in Jupyter lab/notebook.

python -m ipykernel install --user --name project_env_kernel_name

Git pre-commit

conda install -y -c conda-forge pre-commit
pre-commit install

Snakemake setting

mkdir -p ~/.config/snakemake/default 

and create ~/.config/snakemake/default/config.yaml:

# non-slurm profile defaults
keep-going: True
rerun-triggers: mtime

and add the following to .zshrc or .bashrc file

export SNAKEMAKE_PROFILE=default

About

A template for research repositories

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TeX 68.9%
  • Python 23.7%
  • Makefile 4.2%
  • Shell 3.2%