Installation
Conda installation
The simplest way to install AccuSNV is via bioconda, in a new environment with Python 3.12:
conda create -n accusnv python=3.12
conda activate accusnv
conda install -c conda-forge -c bioconda bwa bowtie2 samtools bcftools tabix sickle-trim cutadapt samclip phylip
If you run that, you then can install accusnv via pip in the environment:
pip install accusnv
Now you should be good to go!
Try running accusnv -h to see the help menu, and continue to quick start. Everything below is additional detail.
Pip installation
If you install the non-Python dependencies for AccuSNV separately on your system (see below), you can install the AccuSNV python package just via pip as well:
pip install AccuSNV
Dependencies
These dependencies are not Python packages, so install them separately and make sure they are on your PATH.
AccuSNV checks for all of these before it starts and names any that are missing, so you find out immediately if a dependency is unavailable.
Tool |
Used for |
|---|---|
|
Aligning reads to the reference |
|
Dropping soft-clipped |
|
Sorting, duplicate marking, pileups |
|
Variant calling and call quality scores |
|
Indexing the VCF files |
|
Quality trimming |
|
Adapter trimming |
|
Building the maximum-parsimony tree |
You can install these dependencies by hand with conda:
conda install -c conda-forge -c bioconda bwa samclip samtools bcftools tabix sickle cutadapt phylip
dnapars is only needed for the parsimony tree, so it is not checked when you pass --skip_trees or --skip_all_downstream, or when you set use_nj_tree: true in pipeline.yaml to build a neighbor-joining tree with Biopython instead.
samclip is only used on bwa alignments, so it is not checked when the aligner is bowtie2 or
when you pass --skip_samclip.
Using a different environment
If the binaries are in one conda environment and you run accusnv from another, pass the
activation command with -e:
accusnv -e 'conda activate accusnv' -i samples.csv -r reference_genomes -o out
Every workflow rule will then run that command first. AccuSNV skips its own dependency check in this case, since it cannot see inside the other environment. So in this case, if something is missing, you will find out when the rule that needs it fails.
This is also the answer on clusters where compute nodes do not inherit the login node’s
environment. Passing -e 'conda activate accusnv' is usually all that is needed.
Troubleshooting
Below is a list of conda issues you may run into during installation.
Snakemake 8 requires Python >3.11. AccuSNV requires Snakemake version >8, which in turn requires a Python version higher than 3.11. Older Python versions simply will not work.
The Cutadapt package in bioconda requires Python <3.13. If you are running into an issue specifically mentioning an inability to resolve the cutadapt dependency, this is most likely due to an outdated cutadapt in bioconda (as of Aug 2026). You can try creating a fresh conda environment without installing cutadapt, and instead install it separately with pip inside the conda environment:
pip install cutadapt.