Skip to main content

A tool for visualizing germline copy number variants

Project description

CNVizard

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>
    

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.
  • Reformat the morbidmap.txt file into a tab-delimited .txt file with the following column names:
    gene  OMIMG Disease  OMIMP Inheritance
    

Dependencies and Compatibility

Dependencies:

  • Tabix: CNVizard requires Tabix for processing .vcf.gz files. Tabix can be installed directly over some pacakge 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.

License

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

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

cnvizard-0.2.tar.gz (59.2 MB view details)

Uploaded Source

Built Distribution

cnvizard-0.2-py3-none-any.whl (59.2 MB view details)

Uploaded Python 3

File details

Details for the file cnvizard-0.2.tar.gz.

File metadata

  • Download URL: cnvizard-0.2.tar.gz
  • Upload date:
  • Size: 59.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for cnvizard-0.2.tar.gz
Algorithm Hash digest
SHA256 91f08b18c8e7188f9de1326c68fc5f8911b045bf63457d4d6a55084a1e112921
MD5 4bd7f05bf5ee3a9b521a45c29dc662ad
BLAKE2b-256 b38ead7a43169326386ad2fe6beb32c9cd4f79bfb10d6a973b4b6f00bec15374

See more details on using hashes here.

File details

Details for the file cnvizard-0.2-py3-none-any.whl.

File metadata

  • Download URL: cnvizard-0.2-py3-none-any.whl
  • Upload date:
  • Size: 59.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for cnvizard-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cd71fd0073e7dbdbbfa86645cbc758b2473c3aaed09da763bd291e7fae6efb2e
MD5 0cf8cb223ec464277806cddd270c2d09
BLAKE2b-256 c5e54d80ebec57a3c6ed54d2ccd1c1383b623dbfb6419b28ad32eac3a7144f59

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page