PRRSV ORF5 Evolutionary Lineage and Genetic Clade Classification
210
PRRSV ORF5 Evolutionary Lineage and Genetic Clade Classification
A fast, self-contained command-line tool for classifying porcine reproductive and respiratory syndrome virus (PRRSV) ORF5 sequences into their known evolutionary lineages.
PRRSV is one of the most economically damaging pathogens in the global swine industry. Its ORF5 gene — encoding the GP5 envelope glycoprotein — evolves rapidly and is the standard target for molecular epidemiology, lineage tracking, and vaccine-strain discrimination.
Existing classification tools exist (Nextclade, PRRS-Loom), but they are either web-only or lock users into a fixed reference model. prrsifier is different: it is self-hosted, open-source, and lets you swap in your own reference set without retraining anything. Every classification comes with a confidence score and full traceability — you can trace any assignment back to the specific reference sequence it matched, and immediately see which queries are genuinely novel versus merely under-sampled.
Built for veterinary diagnostic labs, surveillance programs, and researchers who need reproducible lineage assignment.

Each query is assigned the lineage of its nearest reference sequence in the tree. The confidence metric measures how much closer the nearest neighbor is compared to the second-nearest:
confidence = (second_dist - nearest_dist) / nearest_dist
confidence >= 0.5 → strong, unambiguous assignment0.1 <= confidence < 0.5 → moderate; query sits between two clustersconfidence < 0.1 → novel candidate; flagged for wet-lab characterization| Component | Role |
|---|---|
| Rust | Orchestration, Newick parsing, patristic distances, classification logic |
| BLAST+ | Species discrimination against reference databases |
| MAFFT | Multiple sequence alignment |
| FastTree | Approximate maximum-likelihood tree inference |
| Conda | Reproducible environment for bioinformatics tools |
| Docker | Self-contained, portable runtime |
The classifier itself is written in Rust — no Python dependency at runtime. The heavy lifting (alignment, tree inference) is delegated to the standard tools the field already trusts.
docker pull propenster/prrsifier:0.1.0
docker run --rm -v "$PWD:/work" propenster/prrsifier:0.1.0 \
-i /work/queries.fa \
-o /work/results.tsv \
git clone https://github.com/propenster/prrsifier.git
cd prrsifier
make refs blastdb classifier
./classifier/target/release/prrsifier \
-i queries.fa \
-o results.tsv \
-i, --input <FILE> Input FASTA of query ORF5 sequences
-o, --output <FILE> Output TSV (default: output.tsv)
-d, --data-dir <DIR> Root dir containing prrsv1/ and prrsv2/ (default: data)
-c, --min-confidence <FLOAT> Confidence threshold for "Novel" flagging (default: 0.10)
-t, --threads <N> Threads for BLAST and MAFFT (default: 1)
--workdir <DIR> Keep intermediate files for debugging
query_id species lineage nearest_ref nearest_dist second_ref second_dist confidence flag
OR293404 prrsv2 L1A OR293404 0.0 EU756373 0.0135... 1.0 Classified
| Column | Meaning |
|---|---|
query_id | Original sequence identifier |
species | PRRSV-1 or PRRSV-2 |
lineage | Assigned lineage (e.g. L1A, L8C, L1.6) |
nearest_ref | Accession of the closest reference sequence |
nearest_dist | Patristic distance to that reference |
second_ref | Accession of the second-closest reference |
second_dist | Patristic distance to that reference |
confidence | Ratio metric (see above) |
flag | Classified or Novel/Unclassified |
prrsifier ships with curated ORF5 reference sets derived from peer-reviewed nomenclature:
| Species | Sequences | Lineages | Source |
|---|---|---|---|
| PRRSV-1 | 955 | 25 | Yim-im et al. 2025 |
| PRRSV-2 | 1,100 | 32 | Yim-im & Zhang 2023 |
| Both sets span all major lineages, sublineages, and commercial vaccine strains. The reference FASTAs and metadata TSVs are in data/, and can be replaced with your own curated panel — no retraining required. |
The reference set is plain FASTA + TSV. To add a new variant, sublineage, or vaccine strain:
Append the sequence to data//reference_clean.fasta
Add a matching row to data//reference_metadata.tsv
Rebuild the BLAST database: make blastdb
No model weights, no retraining, no black box.
Citation If prrsifier contributes to your work, please cite the preprint: Olusegun, F. (2026). prrsifier: an extensible, self-hosted PRRSV ORF5 lineage classifier with auditable provenance and confidence scoring. bioRxiv. (link once posted)
References:
Yim-im, W., et al. (2023). Refining PRRSV-2 genetic classification based on global ORF5 sequences. Microbiol Spectr.
Yim-im, W., et al. (2025). Global PRRSV-1 ORF5 lineage classification. Vet Microbiol.
Chandra et al. 2025 — describe SDRS as the state of the art for U.S. PRRSV surveillance
Zeller et al. 2024 — Nextclade PRRSV-2
Zeller et al. 2023 — ClassLog
Vander Waal et al. 2024 — variant classification (PRRS-Loom)
Paploski et al. 2021 — sub-lineage dynamics (background)
MIT © 2026 Faith (propenster) Olusegun
Acknowledgements Built on the shoulders of the open-source bioinformatics community — in particular the developers of BLAST+, MAFFT, FastTree, and the researchers whose published nomenclature made the reference curation possible.
Content type
Image
Digest
sha256:13b08e1c3…
Size
1.2 GB
Last updated
9 days ago
docker pull propenster/prrsifier