An easy breezy whole-genome derived snp-based phylogenetic pipeline 🌪️
- Any kind of conda environment
anaconda
,miniconda
,micromamba
- I recommend
mamba
- A
git
installation (optional) - Linux system
Everything you'll need is right here in this repository, which will also be your project directory. You'll need to clone
this repository for every new project (it's very lightweight). Feel free to rename the gust
folder to whatever is relevant for your project.
git clone https://github.com/pdimens/gust.git
wget -O gust.zip https://github.com/pdimens/gust/archive/refs/heads/main.zip
unzip gust.zip # or whatever archive extractor you have
🌪️ if you already have a gust
conda environment, skip this step 🌪️
Use the provided gust_env.yaml
conda configuration file to create a new conda environment. If not using conda
, replace conda
with the appropriate environment framework, (mamba
, micromamba
, etc.)
cd gust # enter the gust directory
conda env create -f .other/gust_env.yaml
This will create a new environment called gust
containing all the software dependencies. Activate the environment with:
conda activate gust
It's minimal, I swear.
- Put all of the genomes you want included in analysis in the
genomes
folder- make sure the files end with
.fasta
- I haven't figured out how to make snakemake more flexible with this (PR's welcome!)
- make sure the files end with
- Specify the name of the reference genome and outgroup genome in
config.yml
- the genomes should be in the
genomes/
folder - use just the name, not the full path
- e.g.
"bostauros.fasta"
✅ vs"genomes/bostauros.fasta"
❌
- the genomes should be in the
- [optional] Modify software parameters in
config.yml
- activate the
gust
environment withconda activate gust
If you call gust
without arguments you will see help text, otherwise:
./gust numThreads configFile
where numThreads
is the number of threads to use (>1, no default) and
configFile
is the name of the configuration file (optional, defaults to config.yml
).
Running gust
with 25 threads using the configuration file config.yml
./gust 25
Running gust
with 10 threads using the configuration file frag250.yml
./gust 10 frag250.yml