https://github.com/cfia-ncfad/wgscovplot

The Whole Genome Sequencing Coverage Plot (wgscovplot) is a tool to generate HTML Interactive Coverage Plot given coverage depth information, variants and DNA Gene features

https://github.com/cfia-ncfad/wgscovplot

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

The Whole Genome Sequencing Coverage Plot (wgscovplot) is a tool to generate HTML Interactive Coverage Plot given coverage depth information, variants and DNA Gene features

Basic Info
  • Host: GitHub
  • Owner: CFIA-NCFAD
  • License: other
  • Language: JavaScript
  • Default Branch: master
  • Homepage:
  • Size: 30.9 MB
Statistics
  • Stars: 19
  • Watchers: 2
  • Forks: 5
  • Open Issues: 6
  • Releases: 8
Created almost 5 years ago · Last pushed about 2 years ago
Metadata Files
Readme Changelog Contributing License

README.md

wgscovplot

wgscovplot generates interactive comparative sequencing coverage plots in self-contained, offline-friendly HTML files with optional annotation of variant calling results, PCR amplicon coverage and genetic features.

Installation

PyPI

Install from PyPI with pip

bash pip install wgscovplot

If the installation was successful, you should be able to type wgscovplot --help and get a help message on how to use the tool.

Source

Use pip to install from source:

```bash

optionally, create a virtual environment

python -m venv venv source venv/bin/activate

install from GitHub repo

pip install git+https://github.com/nhhaidee/wgscovplot.git

run wgscovplot

wgscovplot --help wgscovplot /path/to/results_folder ```

Features

  • Easy-to-use: Simply provide a Nextflow output directory containing and wgscovplot will figure out what files it needs to generate its interactive sequencing coverage plots
  • Fully-interactive plots featuring:
    • Zoom, scroll, pan, select regions of interest
    • Informative tooltips highlighting variant calling results and coverage statistics across all samples being shown
    • Change the y-axis scale to linear or log scale
    • Select which samples to show (and which Influenza gene segments to show)
    • Highlight regions of interest (e.g. genetic features, primer/probe binding sites, low coverage regions)
  • Annotate coverage plots with variant calling results from multiple different variant callers and variant effect results from SnpEff/SnpSift
  • Compare sequencing coverage across multiple samples

Usage

Basic usage will output a wgscovplot.html file in the current directory:

bash wgscovplot /path/to/results_folder

Show help info with $ wgscovplot --help:

``` Usage: wgscovplot [OPTIONS] INPUT_DIR

╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * input_dir PATH Directory containing Mosdepth and variant calling results from sequence analysis. For example, the output directory from execution of the nf-core/viralrecon or CFIA-NCFAD/nf-flu Nextflow workflow │ │ [default: None] │ │ [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --output-html -o PATH wgscovplot HTML output file [default: wgscovplot.html] │ │ --primers-fasta -p PATH FASTA file containing real-time PCR primer/probe sequences. [default: None] │ │ --low-coverage-threshold -l INTEGER Low sequencing coverage threshold. [default: 10] │ │ --edit-distance -d INTEGER The maximum differences or 'edits' allowed between real-time PCR primer/probe sequences and the sample sequences. [default: 0] │ │ --compress-depths --no-compress-depths Compress coverage depth arrays? [default: compress-depths] │ │ --verbose -v Verbose logs │ │ --force -f Force overwrite of existing output files │ │ --version --no-version Print wgscovplot version and exit [default: no-version] │ │ --install-completion [bash|zsh|fish|powershell|pwsh] Install completion for the specified shell. [default: None] │ │ --show-completion [bash|zsh|fish|powershell|pwsh] Show completion for the specified shell, to copy it or customize the installation. [default: None] │ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

wgscovplot version 0.3.0; Python 3.11.6 ```

Dependencies

  • Python (>=3.9)
  • Typescript/Javascript
    • Echarts for performant generating interactive plots
    • SolidJS for reactive UI components
    • Vite for TS/JS dev and building bundle
    • Tailwind CSS for styling

Development

This project has two main components: a Python "backend" (CLI that spits out a templated HTML with built JS embedded) and a Javascript frontend.

Python backend development is done in the wgscovplot directory.

Web frontend development is done in the web directory. The frontend is built with Vite, SolidJS and ECharts.

Environment

Python development is recommended with PyCharm. Jetbrains IDEs have great support for Python development and virtual environments.

Jetbrains IDEs work great for Typescript/Javascript development as well, but any editor will do if you have Vite live reload enabled.

Setup

```bash

clone repo

git clone https://github.com/nhhaidee/wgscovplot.git cd wgscovplot

optionally, create a virtual environment

python -m venv venv source venv/bin/activate

install dev dependencies

pip install hatch

start shell with Hatch

hatch shell

run linting with Hatch

hatch run lint:all

run tests with Hatch

hatch run cov ```

Frontend development

See web/README.md for more details.

Authors

License

Copyright 2024 Canadian Food Inspection Agency of Canada, Government of Canada.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Owner

  • Name: CFIA NCFAD - Genomics Unit
  • Login: CFIA-NCFAD
  • Kind: organization

Canadian Food Inspection Agency National Centre for Foreign Animal Disease

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 32
  • Total pull requests: 33
  • Average time to close issues: 7 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 1.06
  • Average comments per pull request: 0.36
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • peterk87 (18)
  • nhhaidee (12)
  • nrminor (2)
Pull Request Authors
  • nhhaidee (18)
  • peterk87 (13)
  • kew24 (2)
Top Labels
Issue Labels
enhancement (7) bug (4)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 17 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 8
  • Total maintainers: 2
pypi.org: wgscovplot

Create interactive comparative sequencing coverage plots from virus sequencing data.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 17 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 16.9%
Dependent repos count: 21.5%
Stargazers count: 25.1%
Average: 31.9%
Downloads: 85.9%
Maintainers (2)
Last synced: 10 months ago

Dependencies

setup.py pypi
package-lock.json npm
  • 474 dependencies
package.json npm
  • @babel/core ^7.18.5 development
  • @babel/preset-env ^7.18.2 development
  • babel-loader ^8.2.5 development
  • css-loader ^6.7.1 development
  • expose-loader ^4.0.0 development
  • jest ^28.1.1 development
  • style-loader ^3.3.1 development
  • terser-webpack-plugin ^5.3.3 development
  • webpack ^5.73.0 development
  • webpack-cli ^4.10.0 development
  • @popperjs/core ^2.11.5
  • bootstrap ^5.1.3
  • echarts ^5.2.2
  • jquery ^3.6.0
  • lodash ^4.17.21
  • select2 ^4.1.0-rc.0
.github/workflows/branch.yml actions
  • mshick/add-pr-comment v1 composite
.github/workflows/jest.yml actions
  • actions/checkout v2 composite
.github/workflows/pypi_deploy.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • casperdcl/deploy-pypi v2 composite
.github/workflows/pytest.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite