Skip to content

ctglab/ReViewCNV

Repository files navigation

ReViewCNV

GitHub release GitHub docker image build GitHub commit activity GitHub last commit GitHub contributors GitHub Website GitHub forks GitHub Repo stars GitHub watchers

ReViewCNV is a containerized Shiny App for the visualization of germinal Copy Number Variants (CNVs). It was created to visualize CNVs from exome or gene panels sequencing identified by the algorithm EXCAVATOR2

ReViewCNV has now increased its compatibility and accepts as input a list of CNVs identified by any bioinformatic tool!

The App allows the user to compare the CNVs of interst with population polymorphisms present in different public datasets (AnnotSV, DGV and gnomAD) and to identify the genes present in correspondence of the altered regions (genome-wide). The exons of the genes present in correspondance of the CNVs of interest are highlighted. It is possible to visualize up to three individuals at the same time in synchronized plots, facilitating family studies and the identification of de novo mutations.

In the container are present two apps: app_Excavator2.R and app_CNV_tsv.R. The app_Excavator2.R is specific for EXCAVATOR2. The app_CNV_tsv.R accepts as input a tsv file (without header) with three columns indicating for each CNV the genomic coordinates (Chromosome, Start and End) and optionally a fourth column specifying the CNV type (i.e. deletion or duplication). Example input files for the app_Excavator2.R are avialble in the folder TEST_TRIO_app_Excavator2, while for the app_CNV_tsv.R in the folder test_TRIO_app_CNV_tsv.

The ShinyApp has been developed in R (v. 4.4.1) using RStudio as IDE and the following R libraries: arrow, bslib, dplyr, htmlwidgets,plotly, shiny, shinyHugePlot and stringr. The base image used for the Dockerfile is rhub/rminimal.


Building and running the Docker

To build the image, download the repository, open the terminal, go to the folder with the downloaded files and run the command below (this will take around 25 minutes):

sudo docker buildx build -t shiny-app-excavator2 .

To run the app_Excavator2.R use:

sudo docker run --name shiny-app-excavator2 -p 3838:3838 shiny-app-excavator2 Rscript app_Excavator2.R

To run the app_CNV_tsv.R use:

sudo docker run --name shiny-app-excavator2 -p 3838:3838 shiny-app-excavator2 Rscript app_CNV_tsv.R


Building and running the Singularity/Apptainer

To create the .sif file it is necessary to build the Docker image first (see above). The Docker image should be saved locally as a .tar file using the command below:

sudo docker save shiny-app-excavator2 > shiny-app-excavator2.tar

The .tar file can be converted to a .sif file using one of the two commands below:

singularity build shiny-app-excavator2.sif docker-archive://shiny-app-excavator2.tar (if using singularity)

apptainer build shiny-app-excavator2.sif docker-archive://shiny-app-excavator2.tar (if using apptainer)

To run the the app_Excavator2.R on apptainer/singularity use one of the two commands below:

singularity run shiny-app-excavator2.sif Rscript app_Excavator2.R (if using singularity)

apptainer run shiny-app-excavator2.sif Rscript app_Excavator2.R (if using apptainer)

To run the the app_CNV_tsv.R on apptainer/singularity use one of the two commands below:

singularity run shiny-app-excavator2.sif Rscript app_CNV_tsv.R (if using singularity)

apptainer run shiny-app-excavator2.sif Rscript app_CNV_tsv.R (if using apptainer)


How to use the app

The animated gifs below illustrate how the app works. The first one shows how to upload the input files in the app_CNV_tsv.R. The other gifs show the app functionalities in app_Excavator2.R, they are almost the same in app_CNV_tsv.R.


Questions?

Do you have any question or suggestion? Please let us know, we look forward to your feedback!


Uploading the input file in the app_CNV_tsv.R

App_CNV_tsv_upload



Specifying the genome assembly and interacting with the identified regions and the population polymorphisms plots

Video_1b



Showing the genes annotations plot, filtering the identified regions and visualizing a different chromosome

Video_2b



Filtering the population polymorphisms, changing public dataset and increasing the number of polymorphisms to visualize

Video_3_new



Sharing the y axis range when loading multiple individuals and disabling the x axis sharing

Video_4b



Downloading an HTML file of a full chromosome or of a chromosomal region

Video_5b

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published