Getting started

Install Mamba

Install Mamba using miniforge.

For Unix-like platforms (Mac OS & Linux)

curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh

Install Snakemake

mamba create -c conda-forge -c bioconda -n snakemake snakemake
mamba activate snakemake # activate environment

Get annoSnake

git clone https://github.com/bheimbu/annoSnake.git

Running with example data, download from Figshare

cd annoSnake/workflow
# Step 1: unzip read folder and move figshare folder to workflow dir
unzip 25772187.zip
mv 25772187/figshare figshare # in params.yaml specified as inputdir

# Step 2: install all environments and databases
snakemake --use-conda --conda-frontend conda --conda-create-envs-only
snakemake --profile profile/ databases/.setup_done

# Step 3: run the full workflow
snakemake --profile profile/ -n # view the DAG of jobs first, then run...
snakemake --profile profile/

Important

For more information see The annoSnake workflow: step by step.

You may start the workflow by using tmux.

tmux new -s annosnake #starts a new tmux session with the name annosnake
mamba activate snakemake #always activate the environment first
snakemake --profile profile/ #starts annoSnake workflow

You can exit the session by pressing Ctrl+B followed by D; and may close your terminal while the workflow is running.

tmux attach -t annosnake #get back to your session

Running annoSnake locally

Note

You may also run annoSnake locally using

snakemake --use-conda --conda-frontend conda --cores 4 # adjust the number of cores to your PC specs

Running annoSnake with other scheduling systems

You may have no access to SLURM, but that’s no problem at all. There are Snakemake profiles for different scheduling systems, including LSF, HTCondor, etc. Check out here. Additionally, there are plugins, which help Snakemake workflows function better in, for example, HTCondor environments (see here for more details).