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.
- 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
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>
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:8501
to start using CNVizard.
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.gz
files). -
Run the application:
streamlit run cnvizard/app.py <ENV>
- 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.
- 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.
-
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
.env
file 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.gz
files generated by CNVkit.
- Upload
-
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. -
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.
-
CNV Analysis:
- Upload
.cnr
and.bintest
files for sample analysis. - Apply filters for chromosomes, depth, log2 ratio, or specific genes.
- Upload
-
Trio Analysis:
- You can perform trio analysis by uploading
.cnr
files 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.gz
files to visualize data points across the genome.
-
Export Results:
- Filtered dataframes and visualizations can be exported as Excel files for further analysis.
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, thegenemap2
file, and themim2gene
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.
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.
This project is licensed under the MIT License. See the LICENSE file for more information.