detectEVE is an open-source Snakemake tool designed for the fast and precise detection of non-retroviral endogenous viral elements (nrEVEs) in genomic assemblies, offering minimal installation requirements and high user flexibility.
# download workflow
git clone https://github.com/thackl/detectEVE
cd detectEVE
# install dependencies via conda or mamba (https://github.com/conda-forge/miniforge)
mamba create -n detectEVE
mamba activate detectEVE
mamba env update --file workflow/envs/env.yaml
# run detectEVE
./detectEVE -h # show help
./detectEVE [options] [<in.fa> ...] # analyze local fasta files
./detectEVE [options] -a acc.csv # download & analyze NCBI accession table
./detectEVE [options] -A acc,acc # download & analyze NCBI accession list
# or combine local fasta files and remote accessions
./detectEVE [options] [(-a acc.csv | -A acc,acc)] [<in.fa> ...]
# download and prep databases
./detectEVE --setup-databases [--snake ARGS]
# run example data
cd examples
../detectEVE *.fnaSee NCBI SRA WGS for downloadable accessions.
The online documentation providing advanced setups, detailed explanations of parameters, and FAQ is located at the GitHub Wiki.
The pipeline produces the following final files in results/:
<genome_id>-validatEVEs.tsv- best hit of the EVE with evidence and confidence annotation (high confidence: EVE score > 30, low confidence: EVE score > 10)<genome_id>-validatEVEs.fna- validatEVEs nucleotide sequences<genome_id>-validatEVEs.pdf- graphical overview of hit distribution for validatEVEs
When using the tool in published research, please cite:
- Brait N, Hackl T and Lequime S (2025) detectEVE: Fast, Sensitive and Precise Detection of Endogenous Viral Elements in Genomic Data. Molecular Ecology Resources e14083 doi: https://doi.org/10.1111/1755-0998.14083
detectEVE is based on the EVE search strategy developed by S. Lequime and previously used in the following publications:
- Lequime et al., 2017 https://doi.org/10.1093/ve/vew035
- Li et al., 2022 https://doi.org/10.1093/molbev/msac190
- Brait et al., 2023 https://doi.org/10.1093/ve/vead088
If you encounter an error related to tidyverse/stringi/libicui18n.so.58, try
reinstalling stringi locally. To restart the workflow from where it failed,
just run the same command again.
mamba remove r-stringi r-tidyverse
R -e 'install.packages("stringi")'
mamba install r-tidyversediamond v2.1.9 has a bug and does not output send correctly when using
long-read mode (–range-culling). Since at this point v2.1.9 is the latest
diamond version, detectEVE defaults to diamond v2.1.8 to avoid this bug.