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.4.0.tar.gz (176.0 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.4.0-py3-none-any.whl (234.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for viralunity-1.4.0.tar.gz
Algorithm Hash digest
SHA256 403d509cd7ec73f80188ca9271eaa79048b4ead61889c16d68837563c69e4527
MD5 271812dd0e476b52071c681d8de8cd4e
BLAKE2b-256 b87833959e91b69248338165bbd6df412dd709811c8c8ce0428f1a586407048a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: viralunity-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 234.3 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 308da0154c0e427d6c573e9acf49f535e6686ecccc74ef3d3880c304a12a809b
MD5 69db00573a809ffe6f685e3237aa29c3
BLAKE2b-256 d2102f6b4e0f4073c9ec670fe0022d46eb968bce0ae56e325e404675c13cb9d9

See more details on using hashes here.

Provenance

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