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 *.fna
See 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:
- not yet applicable
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-tidyverse
diamond 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.