selscape
selscape is a Snakemake workflow for studying genomic landscapes of natural selection across species. It integrates BCFtools and PLINK for variant processing and filtering, and runs selection scans with BetaScan, selscan, and scikit-allel to identify outlier regions across multiple statistics. It also uses dadi via dadi-cli to infer the distribution of fitness effects (DFE). Outlier regions are functionally annotated with ANNOVAR and assessed for Gene Ontology (GO) term enrichment using Gowinda.

Requirements
selscape works on Linux operating systems with the following dependencies:
- bcftools=1.21
- bedtools=2.31.1
- cyvcf2=0.31.0
- dadi=2.4.3
- dadi-cli=0.9.13
- matplotlib=3.9.4
- nlopt=2.10.0
- numpy=1.26.4
- openjdk=25.0.1
- pandas=2.2.3
- pip=25.0.1
- plink=1.90b6.21
- pyliftover=0.4.1
- pydantic=2.5.0
- pysam=0.23.0
- python=3.11.13
- r-base=4.4.3
- r-data.table=1.17.8
- r-dt=0.33
- r-ggplot2=3.5.2
- r-htmlwidgets=1.6.4
- r-qqman=0.1.9
- r-readr=2.1.5
- scikit-allel=1.3.7
- scipy=1.13.1
- snakemake=7.32.4
Installation
Users can first install mamba, and then install selscape using the following commands:
git clone https://github.com/xin-huang/selscape
cd selscape
mamba env create -f workflow/envs/env.yaml
mamba activate selscape-test
In addition, users must manually download ANNOVAR and place the downloaded annovar/ directory under resources/tools/.
Help
For detailed configuration and usage instructions, see the documentation. If you need further help, such as reporting a bug or suggesting a feature, please open an issue.