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.7.0.tar.gz (52.0 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.7.0-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for viralqc-0.7.0.tar.gz
Algorithm Hash digest
SHA256 712f331b80389ac7cb7d47c35403596a55fb1b6b663fbda1f31308efb45f9e3b
MD5 8728bf1ac61def825328b7056131fc59
BLAKE2b-256 d7687fe72133c5ffd8bba8eb2b81db550171a3be69d447bc30e27fde5b2eb8cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for viralqc-0.7.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.7.0-py3-none-any.whl.

File metadata

  • Download URL: viralqc-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 25.6 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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b574386af6104fee515016f4ba24b553b81db5b2656e036b4b08532f258e4f30
MD5 181dfc224aa0b58136777ed173c4ce4a
BLAKE2b-256 2ecc3cb99153287791b0bdf76095425bcfa1eaa581f13a5c9ca4c671ab4692ad

See more details on using hashes here.

Provenance

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