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.2.0.tar.gz (46.2 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.2.0-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for viralqc-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0cacee5ddd4a4d10996e0a5d96d76209d42418411d0a6ba014f0b39956eb0632
MD5 f813fd26f280ba9be3b9018dcb869ccb
BLAKE2b-256 a6ed6ad8959c5a385bb1ae9973ab41325e106653775a504600ac0d1e8e514a27

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: viralqc-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19cf565575c766e0da24e0653400fbb194ee84922726fc71adf61c1ccab89035
MD5 a57eaeb4ace47fc0e79aec7ba3cce792
BLAKE2b-256 1b80a3feeb365bef7bf189aa6465032f26e8bc0b8389d1655f7dfce6af0d731f

See more details on using hashes here.

Provenance

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