Last commit


Usage: Main [options] Files
    --paper, --background
      background color.  A named color ('red', 'blue'...) use the syntax 
      Default: java.awt.Color[r=255,g=0,b=0]
    -caseAtt, --caseAttribute
      Do not calculate MAF for cases, but use this tag to get Controls' MAF. 
      Notation 'AC/AN' will use two attributes
    -ctrlAtt, --ctrlAttribute
      Do not calculate MAF for controls, but use this tag to get Cases' MAF. 
      Notation 'AC/AN' will use two attributes
    --pen, --foreground
      pen color.  A named color ('red', 'blue'...) use the syntax 
      Default: java.awt.Color[r=255,g=200,b=0]
    -format, --format
      How to print doubles, printf-like precision format.
      Default: %.5f
    -h, --help
      print help and exit
      What kind of help
      Possible Values: [usage, markdown, xml]
    -nchr, --nocallhomref
      Consider no call as hom-ref
      Default: false
    -opacity, --opacity
      opacity [0-1]
      Default: 0.6
    -o, --out
      Image file name. Output file. Optional . Default: stdout
    -ped, --pedigree
      A pedigree is a text file delimited with tabs. No header. Columns are 
      (1) Family (2) Individual-ID (3) Father Id or '0' (4) Mother Id or '0' 
      (5) Sex : 1 male/2 female / 0 unknown (6) Status : 0 unaffected, 1 
      affected,-9 unknown  If not defined, I will try to extract the pedigree 
      from the VCFheader.
      Point Shape
      Default: oval
      Possible Values: [oval, square, cross]
      points width
      Default: 10.0
    -sexchr, --sexualchromosomes
      comma separated list of chromosomes that should be considered as sexual 
      Default: chrX,chrY,X,Y
    -tee, --tee
      Tee input to stdout, useful in linux pipelines to get intermediary 
      results. Requires that -o 'file' is set.
      Default: false
    -txt, --txt, --text, -tsv, --tsv
      Input is a tab delimited file. containg x=case and y=controls
      Default: false
    -title, --title
      Default: <empty string>
      print version and exit
      Canvas width
      Default: 700
    -xyAttribute, --xyAttribute
      When using 'tee', add this Attribute containing the MAF for case and 
      Default: MAFCASECTRL


Requirements / Dependencies

Download and Compile

$ git clone "https://github.com/lindenb/jvarkit.git"
$ cd jvarkit
$ make software

The *.jar libraries are not included in the main jar file, so you shouldn’t move them. The required libraries will be downloaded and installed in the dist directory.

Experimental: you can also create a fat jar which contains classes from all the libraries, on which your project depends (it’s bigger). Those fat-jar are generated by adding standalone=yes to the gnu make command, for example ` make software standalone=yes`.

edit ‘local.mk’ (optional)

The a file local.mk can be created edited to override/add some definitions.

For example it can be used to set the HTTP proxy:


Source code




The project is licensed under the MIT license.


Should you cite software ? https://github.com/mr-c/shouldacite/blob/master/should-I-cite-this-software.md

The current reference is:


Lindenbaum, Pierre (2015): JVarkit: java-based utilities for Bioinformatics. figshare. http://dx.doi.org/10.6084/m9.figshare.1425030


Create Exac/Gnomad from a VCF annotated with both databases:

java -jar casectrlcanvas.jar -caseAtt AC_NFE/AN_NFE -ctrlAtt gnomad_exome_AF_NFE -o exome_gnomad_vs_exac.png.NFE.png -title 'Case:ExacAC/AN_NFE Ctrl:gnomad_exome_AF_NFE' -opacity 0.2 input.vcf

Create Exac/my-controls from a VCF annotated with both databases:

java -jar casectrlcanvas.jar -p myped.ped -caseAtt AC_NFE/AN_NFE   -o out.png -opacity 0.2 input.vcf

Note to self: create a mosaic of images:

montage -geometry 1000x1000+2+2 file1.png file2.png fileN.png out.png

Note to self: Running in headless mode (no X11 available)

see http://www.oracle.com/technetwork/articles/javase/headless-136834.html

java -Djava.awt.headless=true -jar casectrlcanvas.jar ....