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 snakemakeConfigure 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-runYou can execute the workflow locally using $N cores with
snakemake --use-conda --cores $NIt 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_configThis 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.yamlThere 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.