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.5.0.tar.gz (190.2 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.5.0-py3-none-any.whl (250.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for viralunity-1.5.0.tar.gz
Algorithm Hash digest
SHA256 872b8d5c9c9e6313579f8bb3fffd24f5155867767405e51c370ff5465c09e46b
MD5 2e4002f8f02f29567a3bee0368d49a11
BLAKE2b-256 7ae849caa4dd5c6d795d6ae0e64e69110b7687d3c27e8988e564f98e93c95629

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for viralunity-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63ed2eae96a0b36fb9e889fe1ff910dee072d4dc1477124ddf4de80843305729
MD5 c78b0ed174d1022b7d5c05a1f7e29693
BLAKE2b-256 fd804480d8fc609cf6f436f474c66e7808d89b7d22455447601b5ed5789c5ce7

See more details on using hashes here.

Provenance

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