NGS CNV calling and interpretation using CNVnator and InHelix

Copy number variation (CNV) can be a cause of rare diseases, particularly of intellectual disability and multiple congenital anomalies. Although array-based techniques have been the standard approach to detect CNVs in the past, NGS-based CNV detection is now becoming increasingly popular. The key drivers of this transition are the higher resolution and the fact that different sources of genetic variation (SNV, indel, CNV) can be assessed based on a single test (WES or WGS).

Data analysis and clinical interpretation of CNVs detected based on NGS data remain a challenge, considering that the amount of data generated can be hundreds of times more than would typically be obtained from an array analysis.

CNV interpretation with InHelix

InHelix is software specifically designed to deal with the large amounts of CNVs detected based on NGS data. The software allows for annotation, visualisation, filtering and reporting, and is focused on diagnosing rare diseases. This is how it works:

  • You upload CNVs to InHelix. Output from different callers is supported, including CNVnator (see below), Pindel, CoNIFER and others.
  • Within a few minutes, your data is annotated and presented in such a way that all info needed for interpretation of a CNV is provided in a single ‘card’.
  • A statistics page gives you an idea of the number, type and size distribution of CNVs called for your sample.
  • Ranking based on relevance, and live filtering of CNVs can guide you to the most interesting CNVs.
  • A gene-level visualisation is especially helpful for interpretation of the small CNVs that can be detected based on NGS data.
The filter UI shows CNVs as cards, that contain all info and external links needed for interpretation. If criteria in the left column are changed, the list of matching CNVs is directly updated.
  • You can discuss each CNV with your colleagues in InHelix itself, making the interpretation process more efficient.
  • Based on the sample information, annotation and manually added notes, InHelix automatically generates a PDF report for each sample.

Although InHelix provides everything you need for CNV interpretation, the actual CNV detection (calling), which is typically challenging as well, is not included. Choosing the right calling algorithm for your samples is just the start, compiling and running it can be tedious as well. With this in mind, the developers of InHelix created a Docker container that provides an easy way to install and run CNVnator, one of the most commonly used CNV callers for WGS. The container not only allows you to run CNVnator, it will also upload the called CNVs directly to InHelix, where you can start the actual interpretation of results.

Calling CNVs with CNVnator

Installing and configuring Docker

The three steps below have to be executed only once in order to install and configure Docker on your computer.

  1. Download Docker for Mac, Linux or Windows at
  2. Double-click the freshly downloaded Docker installer and follow the instructions.
  3. Once installed, click the Docker icon in the menu bar and choose Preferences. 
    In the General tab, set the Memory slider to at least 8 GB. This allows CNVnator to use sufficient memory when working with WGS data.

Running CNVnator

Follow the three steps below every time you want to run CNVnator on a .bam file.

1. Start Docker
Open the Terminal application (on macOS this is located in /Applications/Utilities) and enter the following command

docker run -it -v /Users:/Users diploid/cnvnator bash

This will start the Docker container and make your /Users folder available to the container. If this is the first time you run this container, Docker will first need to download it. This might take a while.

2. Select your WGS file
Next you need to tell InHelix where to find the .bam file you want to call CNVs on. You do this by entering the following command source run_cnvnator /path/to/your/bamfile where you provide a path to a .bam file that contains WGS data.

Let’s say you have a .bam file on your Desktop, then the command would become:

source run_cnvnator /Users/cyrielle/Desktop/test.bam

Please note that CNVnator can only call CNVs on WGS data. It can’t operate on BAM files containing WES or targeted capture.

3. Enter InHelix account info
InHelix will now ask you for your:

  • email: the email address you use to sign in to InHelix
  • token: this can be found at the bottom of your Account page.

If you don’t have an InHelix account yet, you may create one for free at 
If your email and token were entered correctly, CNVnator will start calling CNVs. This might take 60–180 minutes, depending on your computer’s performance. Upon completion, a new sample will be created in InHelix, using the name of the .bam file. Called CNVs will be ready for downstream analysis and interpretation.


Compiling and running CNVnator can be challenging. Even if you get it to work, several commands have to be entered for each sample you want to call. With the CNVnator Docker container, this is all done for you. A WGS .bam file is all you need to get started with CNV calling. The Docker container not only allows you to run CNVnator, it will also upload the called CNVs directly to InHelix, a tool for annotating, filtering, visualising and reporting CNVs — no need for advanced bioinformatics skills. The combination of the CNVnator Docker container for CNV calling and InHelix for annotation and interpretation, allows anyone with WGS data to start analysing CNVs.