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 --output 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

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.0.tar.gz (113.8 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.0-py3-none-any.whl (166.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: viralunity-1.3.0.tar.gz
  • Upload date:
  • Size: 113.8 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.0.tar.gz
Algorithm Hash digest
SHA256 9ecaf244e8889ba38a872765dd788f1ba1389eefd26cb46de37f06f18e4f9847
MD5 192f73678299cb39257f8c5c746d9adb
BLAKE2b-256 c610174e30c1202daa56dd7ddeb7fe0d09ec24bf37fb25bc6e083bbfda0db729

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: viralunity-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 166.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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 54609fce2cd42fb84693facbd19c4255ffc6d74954462c6c570a11506a70b53f
MD5 946d5e4ef5df4ea83e783667d94e7177
BLAKE2b-256 2435cff5885c7ed21049d0501950ec7192eac32a8ac0634a7945cfcc38449c6d

See more details on using hashes here.

Provenance

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