--- library_name: transformers base_model: duttaprat/HViLM-base datasets: - duttaprat/HVUE-v2 pipeline_tag: text-classification tags: - genomics - virology - dna - virus - pathogenicity - hvue-v2 license: apache-2.0 --- # HViLM-Patho **HViLM-Patho** is the official HViLM model for binary virus pathogenicity classification. - **Fine-tuned from:** [duttaprat/HViLM-base](https://huggingface.co/duttaprat/HViLM-base) - **Benchmark:** [duttaprat/HVUE-v2](https://huggingface.co/datasets/duttaprat/HVUE-v2) - **HVUE v2 configuration:** `Pathogenicity/standard_capped_1000bp` - **Checkpoint selection:** best validation F1 (`checkpoint-3000`) - **Input:** virus nucleotide sequence - **Output:** non-pathogenic vs. pathogenic This repository contains a **standalone full fine-tuned checkpoint**, so users can load `duttaprat/HViLM-Patho` directly without separately loading `HViLM-base`. ## Label Mapping | ID | Label | |---:|---| | 0 | `NON_PATHOGENIC` | | 1 | `PATHOGENIC` | ## Performance Held-out HVUE v2 test set, standard 1000-nt configuration: | Metric | Score | |---|---:| | Accuracy | 92.39 | | F1 | 91.32 | | MCC | 83.10 | | Precision | 93.03 | | Recall | 90.12 | ## Training Details - **Fine-tuning method:** LoRA - **LoRA rank:** 8 - **LoRA alpha:** 16 - **Target modules:** query and value projections across all 12 transformer layers - **Approximate trainable LoRA parameters:** ~0.3M - **Learning rate:** 3e-5 - **Maximum input length:** 250 BPE tokens (approximately 1000 nt) - **Early stopping:** patience 3, monitored using validation F1 - **Hardware:** NVIDIA A40 GPU The released repository contains the full task-specific model weights rather than only the LoRA adapter. ## Usage ```python import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification model_id = "duttaprat/HViLM-Patho" tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True) model = AutoModelForSequenceClassification.from_pretrained( model_id, trust_remote_code=True, ) sequence = "ATGCGTACGTTAGCCGATCGATTACGCGTACGTAGCTAGC" inputs = tokenizer( sequence, return_tensors="pt", truncation=True, max_length=250, ) with torch.no_grad(): logits = model(**inputs).logits prediction_id = logits.argmax(dim=-1).item() print(model.config.id2label[prediction_id]) ``` Possible outputs are `NON_PATHOGENIC` and `PATHOGENIC`. ## Intended Use HViLM-Patho is intended for research on virus sequence representation and computational pathogenicity classification. Predictions should be interpreted as model outputs rather than experimental or clinical evidence. ## Related Resources - [HViLM-base](https://huggingface.co/duttaprat/HViLM-base) - [HViLM-R0](https://huggingface.co/duttaprat/HViLM-R0) - [HViLM-Tropism](https://huggingface.co/duttaprat/HViLM-Tropism) - [HVUE-v2](https://huggingface.co/datasets/duttaprat/HVUE-v2) - [HViLM GitHub repository](https://github.com/duttaprat/HViLM) ## Citation ```bibtex @article{dutta2026hvilm, title={HViLM: A foundation model for viral genomics enables multi-task prediction of pathogenicity, transmissibility, and host tropism}, author={Dutta, Pratik and Vaska, Jack and Surana, Pallavi and Sathian, Rekha and Chao, Max and Zhou, Zhihan and Liu, Han and Davuluri, Ramana V}, journal={bioRxiv}, pages={2026--03}, year={2026}, publisher={Cold Spring Harbor Laboratory} } ```