virasign

Virasign

Virasign (Viral Read ASSIGNment) is a viral taxonomic classification and reference selection tool for nanopore data. It maps long-read sequencing data (via minimap2) against viral databases (RVDB, RefSeq, or a custom accesion number) and performs taxonomic classification to identify viruses. Virasign generates comprehensive interactive HTML reports with filterable tables, charts, heatmaps, and per-virus coverage visualizations. For each identified virus, Virasign also provides the closest reference sequence, mapped reads in FASTQ format, BAM files, which can be used to easily generate a consensus genome, and coverage PDFs. Virasign includes options to blind yourself from certain incidental findings (such as HIV, Hepatitis viruses, HTLV, EBV, CMV, HPV) when wanted, ensuring these findings do not appear in any output files, in line with consent guidelines and ethical research practices.

Virasign has been validated to classify the diversity of human pathogens well. However, when extended to other sources such as viral diversity within animal hosts, there may not be sufficient references in the databases to find good hits using this approach. In such cases, you can specify your own custom databases or accessions to improve detection.

Why Virasign?


Installation

Install virasign via Conda:

conda create -n virasign -c bioconda virasign -y
conda activate virasign

Option 2: From Source Code

conda create -n virasign python=3.9 -y
conda activate virasign
conda install -c conda-forge -c bioconda minimap2=2.24 seqtk=1.3 curl "samtools>=1.17" mmseqs2=15.6f452 nextclade -y
git clone https://github.com/DaanJansen94/virasign.git
cd virasign
pip install .

Update to newest code (if applicable):

conda activate virasign
cd virasign
git pull
pip install .

Database preparation (optional)

Optional download of the database(s) so you can store them in a location of interest (few GB).

virasign --prepare-db -d RVDB,RefSeq --db-dir /path/to/Databases/

Usage

First, make sure your conda environment is activated:

conda activate virasign

Basic Usage

# Without -o (creates Virasign_output in current directory)
virasign -i input_dir [options]

# With -o (uses specified directory)
virasign -i input_dir -o output_dir -t threads [options]

Command-Line Options

To see all available options:

virasign --help

Required Arguments

Optional Arguments


Examples

# Basic usage with default RVDB database (creates Virasign_output in current directory)
virasign -i input_dir

# Basic usage with specified output directory
virasign -i input_dir -o output_dir

# Store databases in a custom location (auto-downloads on first use)
virasign -i input_dir --db-dir /path/to/Databases/

# Use both databases with special added accessions and 16 threads (without -o, creates Virasign_output)
virasign -i input_dir -d RVDB,RefSeq -a PX852146.1,NC_123456.1 -t 16

# Use both databases with a specific RVDB version
virasign -i input_dir -d RVDB,RefSeq --rvdb-version 31.0

# Use a single accession as the database
virasign -i input_dir -d OZ254622.1 -o output_dir

# Use an organism/species-restricted database (downloads a small custom database)
virasign -i input_dir -d "Orthopoxvirus monkeypox" -o output_dir

# Use text file with species names as database
virasign -i input_dir -d species_list.txt -o output_dir
# (species_list.txt contains one species name per line)

# Use text file with accessions as database
virasign -i input_dir -d my_accessions.txt -o output_dir
# (my_accessions.txt contains one accession per line)

# Blind incidental findings of chronic viruses
virasign -i input_dir -d RVDB -b HEP,HIV,HTLV

# Run without summary HTML, then build summary from the same output folder
virasign -i input_dir -o output_dir --no-html
virasign --build-html -o output_dir
# Same, when you used the default ./Virasign_output (run from the parent of Virasign_output):
virasign --build-html

Output Files

Output Description
.virasign.log Detailed run log (hidden file in the output directory)
results_summary_*.html Interactive HTML report (see example below)
results_summary_*.csv CSV table with all identified viruses across all samples
*_final_selected_references.json Summary per sample (metadata/stats; not the sequences themselves)
NC_004296.1, NC_006577.2 Per-virus folder: NC_004296.1.fasta, NC_004296.1.bam, mread.fastq.gz, NC_004296.1.json, coverage.pdf, log_coverage.pdf

HTML Output example

HTML Output Example


Design and how Virasign works

Virasign works in two steps: (1) map reads to a large viral DB (e.g. RVDB, RefSeq), (2) pick one best reference per virus and remap all reads to that curated set.

Also on Zenodo, Docker, and Singularity.


Citation

If you use Virasign in your research, please cite:

Jansen, D., & Vercauteren, K. (2026). Virasign: A viral taxonomic classification tool designed for nanopore sequencing data (v0.0.7). Zenodo. https://doi.org/10.5281/zenodo.18387008

Also cite other tools Virasign relies on; see docs/citations/CITATIONS.md.