Skip to main content

A tool and package for quality control of consensus virus genomes.

Project description

Install

ViralQC is a tool and package for quality control of consensus virus genomes which uses the nextclade tool, BLAST and a series of internal logics to classify viral sequences and perform quality control of complete genomes, regions or target genes.

From pip

First, install the dependencies:

or with micromamba

micromamba install \
  -c conda-forge \
  -c bioconda \
  "python>=3.8.0,<3.12.0" \
  "snakemake-minimal>=7.32.0,<7.33.0" \
  "blast>=2.16.0,<2.17.0" \
  "nextclade>=3.15.0,<3.16.0" \
  "seqtk>=1.5.0,<1.6.0"

Then, install viralQC

pip install viralQC

From Source

git clone https://github.com/InstitutoTodosPelaSaude/viralQC.git
cd viralQC

Dependencies

micromamba env create -f env.yml
micromamba activate viralQC

viralQC

pip install .

Check installation (CLI)

vqc --help

Usage (CLI)

get-nextclade-datasets

This command configures local datasets using nextclade. It is necessary to run at least once to generate a local copy of the nextclade datasets, before running the run-from-fasta command

vqc get-nextclade-datasets --cores 2

A directory name can be specified, the default is datasets.

vqc get-nextclade-datasets --cores 2 --datasets-dir <directory_name>

get-blast-database

This command configures local blast database with all ncbi refseq viral genomes. It is necessary to run at least once to generate a local blast database, before running the run-from-fasta command.

vqc get-blast-database --cores 2

A output directory name can be specified, the default is datasets.

vqc get-nextclade-datasets --cores 2 --output-dir <directory_name>

run-from-fasta

This command runs several steps to identify viruses represented in the input FASTA file and executes Nextclade for each identified virus/dataset.

run-from-fasta

vqc run-from-fasta --sequences-fasta test_data/sequences.fasta

Some parameters can be specified:

  • --output-dir — Output directory name. Default: output
  • --output-file - File to write final results. Valid extensions: .csv, .tsv or .json. Default: results.tsv
  • --datasets-dir — Path to the local Nextclade datasets directory. Default: datasets
  • --ns-min-score — Minimum score used by the Nextclade sort command. Default: 0.1
  • --ns-min-hits — Minimum number of hits for Nextclade to consider a dataset. Default: 10
  • --blast-database - Path to store local blast database. Default: datasets/blast.fasta
  • --identity-threshold - Percentual identity threshold for BLAST analysis. Default: 0.9
  • --cores — Number of threads used in nextclade sort and nextclade run. Default: 1

The output directory has the following structure:

├── <datasets>                    # Output from nextclade sort; sequences for each dataset split into sequences.fa files.
├── datasets_selected.tsv         # Formatted nextclade sort output showing the mapping between input sequences and local datasets.
├── <virus/dataset>.nextclade.tsv # Nextclade run output for each identified virus, including clade assignments and QC metrics.
├── unmapped_sequences.txt        # Names of input sequences that were not mapped to any virus on nextclade sort.
├── unmapped_sequences.blast.tsv  # BLAST results for unmapped sequences.
└── viruses.tsv                   # Nextclade sort output showing the mapping between input sequences and remote

Usage (API)

vqc-server

Go to http://127.0.0.1:8000/docs

Development

Install development dependencies and run black into viralqc directory.

pip install -e ".[dev]"
black viralqc

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

viralqc-0.5.0.tar.gz (50.7 kB view details)

Uploaded Source

Built Distribution

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

viralqc-0.5.0-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file viralqc-0.5.0.tar.gz.

File metadata

  • Download URL: viralqc-0.5.0.tar.gz
  • Upload date:
  • Size: 50.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for viralqc-0.5.0.tar.gz
Algorithm Hash digest
SHA256 3aac2b831dddca3b56d06558e1e7ed912a70cc712fa1e9433224488e85000170
MD5 e26e64136e9caa0e166fa06d561b4d14
BLAKE2b-256 b9f73d4a9396687d2864a0c4e768dcd6ccc4764c506862f8b7a0a7807ce06980

See more details on using hashes here.

Provenance

The following attestation bundles were made for viralqc-0.5.0.tar.gz:

Publisher: publish-to-pypi.yml on InstitutoTodosPelaSaude/viralQC

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

File details

Details for the file viralqc-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: viralqc-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 24.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for viralqc-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1182fcc1b72dd1a587080c5465b47690a883be0bd63452259fd7a30b8deaa991
MD5 7212fd887e946c9f46b756316d5b246b
BLAKE2b-256 9d6d3c5b631b525641825d0d08c9fc7d3d63706377edb879e63245f1a9710a16

See more details on using hashes here.

Provenance

The following attestation bundles were made for viralqc-0.5.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on InstitutoTodosPelaSaude/viralQC

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