The goal of this workflow is to provide a flexible interface to performing GWAS in Populus tremula.
- snakemake
- conda (miniconda)
- cookiecutter (optional)
The recommended approach would be to create a snakemake conda environment that is used for running the workflow.
conda create -n snakemake snakemake
conda activate snakemake
Configure the workflow by editing the file config.yaml
and the traits.tsv
file.
Test the configuration by performing a dry-run
snakemake --use-conda --dry-run
You can execute the workflow locally using $N
cores with
snakemake --use-conda --cores $N
It is also possible to execute the workflow in a cluster environment, and the easiest approach is probably by using an existing snakemake profile. Profiles can be generated through snakemake by modifying the cluster entry in config.yaml and running
snakemake --use-conda cluster_config
This will generate a profile with the desired name in $HOME/.config/snakemake
.
The profile can be utilised by running snakemake with the --profile
flag, specifing the generated profile
snakemake --profile <profile_name>
For more information on how to configure the cluster parameters, take a look at the snakemake documentation.
In the cluster/slurm.yaml you can find a suggested job configuration for SLURM. This together with a profile means you can run the workflow like
snakemake --profile <profile_name> --cluster-config cluster/slurm.yaml
There is a small test dataset included under test/data
.
The traits are in this case just random numbers sampled from a standard normal distribution.
Running the workflow without modifying config.yaml
will use this data.