# Appendix - Setup on your machine using conda

## Install Miniconda

For this workshop, we will analyse our data using various software. However, the only software we will need to manually install is Miniconda.

If you already use Linux or MacOS X, great! Ignore this paragraph!. If you use Windows, setup a Linux virtual machine (VM) with Vagrant (see instructions on how to do this here).

### Installing miniconda

Information on how to install Miniconda can be found on their website. Snakemake also provides information on installing Miniconda in their documentation

Once miniconda is installed, set up your channels (channels are locations where packages/software are can be installed from)

conda config --add channels defaults


## Create a conda environment

With Miniconda, we can create a conda environment which acts as a space contained from the rest of the machine in which our workflow will automatically install all the necessary software it uses, supporting the portability and reproducibility of your workflow.

Create a conda environment (called snakemake_env) that has Snakemake installed (and all it’s dependant software) and git (which will be used to clone this repository later)

conda create -n snakemake_env snakemake mamba git


Respond yes to the following prompt to install the necessary software in the new conda environment:

Proceed ([y]/n)?


Note. this installed Snakemake version 6.7.0 for me, you can use the same version this workshop was created with conda create -n snakemake_env snakemake=6.7.0

Activate the conda environment we just created

conda activate snakemake_env


Now we can see which conda environment we are in on the command line, (base) has been replaced with (snakemake_env)

(snakemake_env) orac\$


Snakemake has been installed within your snakemake_env environment, so you won’t be able to see or use your Snakemake install unless you are within this environment

## Clone this repo

Clone this repo with the following:

git clone https://github.com/nesi/snakemake_workshop.git
cd snakemake_workshop


See the Git Guides for information on cloning a repo