Skip to main content

A pipeline for viral metagenomics analysis.

Project description

ViralUnity

ViralUnity is a tool for analysing viral high-throughput sequencing data. It is a Python package that orchestrates Snakemake workflows for data quality control, taxonomic assignment, and reference genome assembly. ViralUnity runs on *nix systems and can process entire sequencing runs in minimal time on a regular computer.

Full documentation: https://viralunity.readthedocs.io/en/latest/

Installation

Install the ViralUnity CLI from PyPI:

pip install viralunity

conda/mamba is still required at runtime. ViralUnity orchestrates Snakemake, which builds the per-rule tool environments (aligners, classifiers, assemblers) via --use-conda on first run. Make sure conda or mamba is installed and on your PATH; you can pre-build those environments up front with viralunity setup --pipelines all.

To install from source for development instead:

git clone https://github.com/InstitutoTodosPelaSaude/ViralUnity.git
cd ViralUnity
conda env create -n viralunity -f environment.yml
conda activate viralunity
pip install -e .

Per-rule conda environments under viralunity/scripts/envs/ are managed automatically by Snakemake; the top-level environment.yml only installs ViralUnity itself and its core runtime dependencies.

Quick start

Six top-level subcommands are exposed via the viralunity CLI:

viralunity create-samplesheet --input <runs-dir> --output samples.csv
viralunity get-databases all --path databases/
viralunity setup --pipelines all                # pre-build per-rule conda envs
viralunity consensus illumina --sample-sheet samples.csv --reference ref.fasta --output run/
viralunity meta      illumina --sample-sheet samples.csv --kraken2-database <db> --output run/
viralunity build-deacon-index --input host.fasta --output host.dcn

get-databases all grabs the four common databases; the others are separate subcommands (virus-genome, deacon-index, host-genome, nr for meta --run-nr-validation, and the clean-protein-fasta utility) — run viralunity get-databases --help for the full list.

Global options: --log-level {DEBUG,INFO,WARNING,ERROR} and --json-logs (e.g. viralunity --log-level DEBUG meta ...).

Each subcommand has its own --help; the same information is exhaustively documented in the docs/ Sphinx site (rendered on ReadTheDocs at the link above).

Tests

make test

This installs the package in editable mode (if not already installed) and runs the unittest suite under test/. Snakemake dry-run tests live in test/viralunity_dryrun_test.py and use pytest.

Citation

A scientific publication describing this pipeline is being prepared. Meanwhile, please cite this repository. Primary references for upstream tools (fastp, MultiQC, Minimap2, Samtools, BCFtools, BEDtools, gofasta, MEGAHIT, Racon, BLAST, Kraken2, Krona, DIAMOND, Clair3, Medaka, Deacon) are listed in the ReadTheDocs site.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

viralunity-1.3.3.tar.gz (127.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

viralunity-1.3.3-py3-none-any.whl (183.8 kB view details)

Uploaded Python 3

File details

Details for the file viralunity-1.3.3.tar.gz.

File metadata

  • Download URL: viralunity-1.3.3.tar.gz
  • Upload date:
  • Size: 127.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for viralunity-1.3.3.tar.gz
Algorithm Hash digest
SHA256 f367f1fc06e6aaba7555e02a2420f1d36108afd516af68970fe5a432d858bf14
MD5 ef2f8298b2a1ca729aaec2a0ac1fa523
BLAKE2b-256 aac5d20463380b59036ab8274feebd613ec0d3ba342b820e3314710853db9cb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for viralunity-1.3.3.tar.gz:

Publisher: release.yaml on InstitutoTodosPelaSaude/ViralUnity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file viralunity-1.3.3-py3-none-any.whl.

File metadata

  • Download URL: viralunity-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 183.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for viralunity-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 23d66b3bd3d662f99c51f006b7c58cdc80e21732d5c699232d078bab4c8b3add
MD5 cf3f1f944c95ff987327a3d1918787d6
BLAKE2b-256 9902070013c0830c3a4bc22b623e8d2f860c838c4d37adb6dc97fd00e1a3a3be

See more details on using hashes here.

Provenance

The following attestation bundles were made for viralunity-1.3.3-py3-none-any.whl:

Publisher: release.yaml on InstitutoTodosPelaSaude/ViralUnity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page