VIPER (Variant InsPector and Expert Rating tool) can be utilised to view variant calls and decide whether or not those are true or false positives. All calls are visualised using IGV, thus enabling fast rating of sv calls. VIPER is implemented using Java and AngularJS.
If you are using VIPER for the first time, you should have a look at at the short tutorial.
To run the VIPER server, Java version 1.8 is required. You can check your java version by running
java -version in a console.
It is advised to use the VIPER and IGV jar files (as well as example configuration files) that can be downloaded from the GitHub release pages.
If you are using Linux, it is recommended to install
sudo apt-get install xvfb
You can then run VIPER with
java -jar VIPER.jar config.json
to start the VIPER server, and open
http://localhost:8090 in a browser tab.
To build VIPER from source,
gradle need to be installed.
You can then use
./build.sh to create an executable version of the VIPER server.
VIPER can be configured using a .json file. There are mandatory and optional parameters that change the way VIPER operates.
These parameters act as input to the VIPER server and must be specified by the user:
|analysisFile||File containing variant calls (must be a
|workDir||Directory that stores images by igv and decision progress. WARNING: Do not delete this directory, or your progress will be lost|
|bamDir||Directory containing your
These parameters are optional and may be omitted using the default values:
|enableGrouping||Group together calls with same chromosome values and similar breakpoint values||
|breakpointTolerance||If grouping is enabled, this is the maximum distance where two breakpoints are considered similar.||
|csvDelimiter||Character that delimits csv columns.||
|collectionDelimiter||A single cell in a csv table may have multiple values. These values are seperated by this character.||
|partnerFile||CSV file containing partnering information (i.e., control-tumor pairs, trios). When used, VIPER offers to inspect the partner samples as well as the sample the respective variant was called in.||
|partnerDelimiter||Delimiter used when reading partnering information.||
|viperPort||Port that VIPER listens on.||
|igvPort||Port that IGV uses to communicate with VIPER||
|numPrecomputedSnapshots||Precompute this number of breakpoint images to minimize visualization waiting time.||
|keepVcfSimple||Use only mandatory vcf columns and ignore additional INFO and genotype information||
|excludeRefVcfCalls||Ignore calls that are marked as reference calls.||
|igvJar||Path to IGV jar file.||
|igvMaxMemory||Maximum heap size of the IGV process.||
|igvLog||File containing IGV logs||
|sleepInterval||Time to wait between IGV commands||
.bam files and sample
.csvcall files can be found on Sciebo.
Please make sure to cite the applications note when using VIPER for research purposes:
Marius Wöste, Martin Dugas; VIPER: a web application for rapid expert review of variant calls, Bioinformatics
The VIPER icon was provided by courtesy of Niké Jenny Bruinsma.