weCall is a fast, accurate and simple to use command line tool for variant detection in Next Generation Sequencing (NGS) data.
It identifies genomic sites where genetic variants exist relative to the reference genome, and infers genotypes at these sites. It reads data from one or more BAM files simultaneously, each containing reads from one or more samples, and calls variants in these samples jointly. The output consists of a single VCF or gVCF file, and summarises the evidence for a variant site as a genotype call, a genotype quality, and genotype likelihoods for each sample. weCall is fast to run and very easy to use in a single processing step.
- Ensure you have cmake, ncurses, boost (>=1.54) and zlib installed.
- Clone weCall repository. Withing the repository type
make install
. This will addweCall
and the unit test tools (unittest
,iotest
) to/usr/bin/local
. The installation directory can be set by modifying thePREFIX
variable in the Makefile. - The user documentation can be created with
make doc
. The user documentation will be generated in the foldertarget/build/doc/weCall-userguide.pdf
of the repository. - weCall may be run directly from the command line. A quick summary of the parameters accepted by weCall can be obtained by invoking the help facility:
weCall -h
. For detailed information on how to use weCall, please refer to the user guide (target/build/weCall-userguide.pdf
).
weCall can be run directly from the command line. For an example of variant calling for chromosome 20: position 0 to 100000, run the following:
weCall --inputs sample.bam --refFile reference.fa --regions 20:0-100000
An output.vcf
should appear in the working directory if it succeeded.
Multiple samples can be called simultanously by providing a comma-separeted list of bam files.
weCall --inputs sample1.bam,sample2.bam --refFile reference.fa --regions 20:0-100000
A quick summary of the parameters accepted by weCall may be obtained by invoking the help facility:
weCall -h
.
For detailed information on how to use weCall, please refer to the user guide in target/build/weCall-userguide.pdf
.
If it is not availble, it can be created by running make
.
weCall is tested using unit tests (C++) and acceptance test (python).
- To reformat the C++ code:
./scripts/clang-reformat.sh
- To run the C++ unit tests:
make test-unit
- To run the full acceptance test suite you'll need python 3.x and a virtual environment. This will be automatically installed when you run the tests with
make test-acceptance
.