A tool for visualizing germline copy number variants
Project description
CNVizard
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
.cnrand.bintestfiles - 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:
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate
-
Install CNVizard:
pip install CNVizard
-
Run the application:
python -m cnvizard.run <ENV>
Install via Docker
You can quickly run CNVizard using Docker without setting up a Python environment:
-
Pull the Docker image:
docker pull ghcr.io/ihggm-aachen/cnvizard
-
Run the Docker container:
docker run -p 8501:8501 cnvizard
-
Access the Streamlit app: Open your browser and navigate to
http://localhost:8501to start using CNVizard.
Install from Source
To install CNVizard from source, follow these steps:
-
Clone the repository:
git clone https://github.com/IHGGM-Aachen/CNVizard cd CNVizard
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate
-
Install the dependencies:
pip install -e .
-
Ensure you have Tabix installed (required for processing CNVkit
.vcf.gzfiles). -
Run the application:
streamlit run cnvizard/app.py <ENV>
Dependencies and Compatibility
Dependencies:
- Tabix: CNVizard requires Tabix for processing
.vcf.gzfiles. 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
-
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>
- If using the Docker container, it will be accessible at
-
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
.envfile is specified, the app will prompt you to upload or create one.
- Optional: Provide an environment file (
-
Upload data files:
- Upload
.cnr,.bintest, or.vcf.gzfiles generated by CNVkit.
- Upload
Creating References
-
Reference Creation: CNVizard allows you to create reference files from
.cnrdata. You can specify the type of reference (normal or bintest) and provide paths for input and output data. -
Merging References: If you have previously created individual reference files, you can merge them into a consolidated reference.
-
Convert Genomics England Panel: CNVizard provides a tool to convert Genomics England panel files into a compatible format.
Visualizing Data
-
CNV Analysis:
- Upload
.cnrand.bintestfiles for sample analysis. - Apply filters for chromosomes, depth, log2 ratio, or specific genes.
- Upload
-
Trio Analysis:
- You can perform trio analysis by uploading
.cnrfiles from parents.
- You can perform trio analysis by uploading
-
Scatter Plots:
- CNVizard supports genome-wide and chromosome-wide scatter plots.
- Combine
.cnr,.cns, and.vcf.gzfiles to visualize data points across the genome.
-
Export Results:
- Filtered dataframes and visualizations can be exported as Excel files for further analysis.
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
mimTitlesfiles, thegenemap2file, and themim2genefile. - Using these three files, create an
omim.txtfile via the web interface of CNVizard. - Add the path to the
omim.txtfile to the.envfile.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cnvizard-0.3.1.tar.gz.
File metadata
- Download URL: cnvizard-0.3.1.tar.gz
- Upload date:
- Size: 59.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf49e1dc58eb29f3daad332b571dbd9c9310859fa390cc5daeccbaf55b238a5c
|
|
| MD5 |
cf4e86b17da8731944af826e41896ddf
|
|
| BLAKE2b-256 |
d232e333652add2fae8d2db187c35383c3e5bf35298ec0616db7fad84c8b328a
|
Provenance
The following attestation bundles were made for cnvizard-0.3.1.tar.gz:
Publisher:
build_and_publish.yml on IHGGM-Aachen/CNVizard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cnvizard-0.3.1.tar.gz -
Subject digest:
bf49e1dc58eb29f3daad332b571dbd9c9310859fa390cc5daeccbaf55b238a5c - Sigstore transparency entry: 147290091
- Sigstore integration time:
-
Permalink:
IHGGM-Aachen/CNVizard@3dc004a31e12d63199e62b50ab7a9ee80561ad58 -
Branch / Tag:
refs/tags/0.3.1 - Owner: https://github.com/IHGGM-Aachen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yml@3dc004a31e12d63199e62b50ab7a9ee80561ad58 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cnvizard-0.3.1-py3-none-any.whl.
File metadata
- Download URL: cnvizard-0.3.1-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.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85df76d4a45800081662de1b17f95c87989e0c8cd995fdc6d6769a4f451710c8
|
|
| MD5 |
2c07c8a0b090f30f66ed3d215f49f738
|
|
| BLAKE2b-256 |
70ddeb3bb7b2d9e1e44aa6f3a0937c0f3e5dd0e1511a0a315fda63eb59096192
|
Provenance
The following attestation bundles were made for cnvizard-0.3.1-py3-none-any.whl:
Publisher:
build_and_publish.yml on IHGGM-Aachen/CNVizard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cnvizard-0.3.1-py3-none-any.whl -
Subject digest:
85df76d4a45800081662de1b17f95c87989e0c8cd995fdc6d6769a4f451710c8 - Sigstore transparency entry: 147290096
- Sigstore integration time:
-
Permalink:
IHGGM-Aachen/CNVizard@3dc004a31e12d63199e62b50ab7a9ee80561ad58 -
Branch / Tag:
refs/tags/0.3.1 - Owner: https://github.com/IHGGM-Aachen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yml@3dc004a31e12d63199e62b50ab7a9ee80561ad58 -
Trigger Event:
release
-
Statement type: