Skip to main content

CNVizard

CNVizard Logo

License: MIT Streamlit Python

CNVizard is a powerful, Streamlit-based application designed for the visualization and analysis of germline copy number variants (CNVs). This tool provides a streamlined interface for researchers and clinicians to analyze genetic data, create and manage references, and visualize CNV datasets.

Table of Contents

Features

  • Visualizes and analyzes germline copy number variants (CNVs)
  • Integration with CNVkit-generated .cnr and .bintest files
  • Supports trio analysis and scatter plots
  • Generates customizable references
  • OMIM-based CNV annotations
  • Exportable filtered datasets and visualizations

Installation

Install via PyPI

CNVizard can be easily installed from PyPI:

  1. Create and activate a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
    
  2. Install CNVizard:

    pip install CNVizard
    
  3. Run the application:

    python -m cnvizard.run <ENV>
    

Install via Docker

You can quickly run CNVizard using Docker without setting up a Python environment:

  1. Pull the Docker image:

    docker pull ghcr.io/ihggm-aachen/cnvizard
    
  2. Run the Docker container:

    docker run -p 8501:8501 cnvizard
    
  3. Access the Streamlit app: Open your browser and navigate to http://localhost:8501 to start using CNVizard.

Install from Source

To install CNVizard from source, follow these steps:

  1. Clone the repository:

    git clone https://github.com/IHGGM-Aachen/CNVizard
    cd CNVizard
    
  2. Create and activate a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
    
  3. Install the dependencies:

    pip install -e .
    
  4. Ensure you have Tabix installed (required for processing CNVkit .vcf.gz files).

  5. Run the application:

    streamlit run cnvizard/app.py <ENV>
    

Dependencies and Compatibility

Dependencies:

  • Tabix: CNVizard requires Tabix for processing .vcf.gz files. Tabix can be installed directly over some package management systems or by downloading directly from Samtools.

Pitfalls:

  • Browser Compatibility: CNVizard works well on most browsers, but some users have reported issues when using Safari. We recommend using Firefox for the best experience.

Usage

Running the Application

  1. Start the application:

    • If using the Docker container, it will be accessible at http://localhost:8501.
    • If installed from PyPI, run:
      python -m cnvizard.run <ENV>
      
    • Or if installed from source, run:
      streamlit run cnvizard/app.py <ENV>
      
  2. Set up the environment:

    • Optional: Provide an environment file (.env) during startup or upload one through the app interface. This file can contain paths to OMIM annotations, candidate lists, and references.
    • If no .env file is specified, the app will prompt you to upload or create one.
  3. Upload data files:

    • Upload .cnr, .bintest, or .vcf.gz files generated by CNVkit.

Creating References

  1. Reference Creation: CNVizard allows you to create reference files from .cnr data. You can specify the type of reference (normal or bintest) and provide paths for input and output data.

  2. Merging References: If you have previously created individual reference files, you can merge them into a consolidated reference.

  3. Convert Genomics England Panel: CNVizard provides a tool to convert Genomics England panel files into a compatible format.

Visualizing Data

  1. CNV Analysis:

    • Upload .cnr and .bintest files for sample analysis.
    • Apply filters for chromosomes, depth, log2 ratio, or specific genes.
  2. Trio Analysis:

    • You can perform trio analysis by uploading .cnr files from parents.
  3. Scatter Plots:

    • CNVizard supports genome-wide and chromosome-wide scatter plots.
    • Combine .cnr, .cns, and .vcf.gz files to visualize data points across the genome.
  4. Export Results:

    • Filtered dataframes and visualizations can be exported as Excel files for further analysis.

Visual Manual

Visual Manual

Optional OMIM Annotations

CNVizard allows you to annotate CNVs with information from OMIM (Online Mendelian Inheritance in Man). OMIM is a copyrighted resource, so we cannot provide these files.

If you wish to use OMIM annotations:

  • Obtain a license from OMIM.
  • Download the mimTitles files, the genemap2 file, and the mim2gene file.
  • Using these three files, create an omim.txt file via the web interface of CNVizard.
  • Add the path to the omim.txt file to the .env file.

Check for dbVar Study Overlap

CNVizard can calculate the overlap of CNVs analyzed in CNVizard with study VCFs obtained from dbVar.

To do this:

  • Obtain a study VCF from dbVar (e.g., dbVar FTP).
  • Upload it into CNVizard (via the sidebar) in addition to a CNV file annotated with AnnotSV.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Metadata

Release files for cnvizard 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cnvizard 0.3.1
File Size Uploaded
cnvizard-0.3.1.tar.gz 59.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for cnvizard 0.3.1
File Interpreter ABI Platform
cnvizard-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 118.4 MB

Release files / cnvizard-0.3.1.tar.gz

Download URL cnvizard-0.3.1.tar.gz
Size 59.2 MB
Tags Source
SHA-256 checksum
How to use checksums
bf49e1dc58eb29f3daad332b571dbd9c9310859fa390cc5daeccbaf55b238a5c
BLAKE2b-256 checksum
How to use checksums
d232e333652add2fae8d2db187c35383c3e5bf35298ec0616db7fad84c8b328a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2024.

Transparency log

Release files / cnvizard-0.3.1-py3-none-any.whl

Download URL cnvizard-0.3.1-py3-none-any.whl
Size 59.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
85df76d4a45800081662de1b17f95c87989e0c8cd995fdc6d6769a4f451710c8
BLAKE2b-256 checksum
How to use checksums
70ddeb3bb7b2d9e1e44aa6f3a0937c0f3e5dd0e1511a0a315fda63eb59096192
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2024.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3

2 release files

0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page