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; large optional ones are separate subcommands (virus-genome, deacon-index, and nr for meta --run-nr-validation).

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.2.tar.gz (127.4 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.2-py3-none-any.whl (183.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: viralunity-1.3.2.tar.gz
  • Upload date:
  • Size: 127.4 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.2.tar.gz
Algorithm Hash digest
SHA256 e2a78fc9d86dde5c1f3f1e46759dd3164e173a7bcc6580f868802dc46a0270d7
MD5 9d9bd2ed446a0213f90109d0b9712bcd
BLAKE2b-256 e1e4e99b2bf31e89041ee97381023691e55a4e501f74ef023962b113397d7bac

See more details on using hashes here.

Provenance

The following attestation bundles were made for viralunity-1.3.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: viralunity-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 183.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 65be5e8eec7dd262c35472b75ea3da7a115c4ad52f8e700c50e9343a23f8546c
MD5 2e67cfb512e8ccedb0fda526e70369ad
BLAKE2b-256 c787c6fced70cde1ba25b02cebd133f210bed996fa0fc0c40315f43dee351219

See more details on using hashes here.

Provenance

The following attestation bundles were made for viralunity-1.3.2-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