paudano / kestrel

Mapping-free variant caller for short-read Illumina data
GNU Lesser General Public License v3.0
18 stars 4 forks source link

Kestrel

Mapping-free variant caller for short-read Illumina data

Kestrel is a variant-caller for short-read Illumina data. It does not align sequence reads or perform a de novo assembly. Instead, it breaks reads into k-mers, which are short overlapping fragments of uniform length, and it counts the number of occurences of each unique k-mer in the sequence data. It also finds the ordered k-mers of a reference. With these two k-mer sets, Kestrel searches for patterns of variation. By using a novel local assembly method guided by the reference, it builds one or more sequences over the altered region and call variants from its alignment.

This work has been published in Oxford Bioinformatics: Audano, P. A., Ravishankar, S., & Vannberg, F. O. (2018). Mapping-free variant calling using haplotype reconstruction from k-mer frequencies. Bioinformatics, 34(10), 1659–1665. https://doi.org/10.1093/bioinformatics/btx753

Check out releases for the latest version of Kestrel. The software can be run with the kestrel script or with java -Xmx4G -jar kestrel.jar. Use the --help (or -h) option for a list of available parameters.

Do not separate kestrel.jar from the other JAR files in its directory. You may create symbolic links in another direcotry to the Kestrel execution script, kestrel. If the JAR files are separated or if Kestrel is run from a link to kestrel.jar, then it will not be able to find libraries it depends on. The most likely error message will be related to finding modules to read files, such as "Could not automatically resolve a file type from the file name".

Download a Release

The easiest way to get Kestrel is to download the Latest Release. Then, untar the downloaded file. There is nothing to compile or install.

tar -zxvf kestrel-X.Y.Z-linux.tar.gz where X, Y, and Z are the major, minor, and release version numbers.

All of Kestrel's dependencies are packaged in the directory, and there is nothing to build. Do not move kestrel.jar from the directory with the other JAR files.

Basic Usage

Java 1.7 or later is needed to run Kestrel.

From an un-tarred release, Kestrel can be run using the kestrel script or by running the JAR file directly with Java.

For example: ./kestrel -r REFERENCE.fasta -o VARIANTS.vcf READS.fastq

See ./kestrel -h for all of Kestrel's options.

The Kestrel manual distributed with each release has a comlpete list of options and how to apply them. The manual is in the process of being updated, and it is not yet complete. We apologize for any inconvenience this causes.

Clone and Build

Clone

Clone via SSH or HTTPS:

git clone git@github.com:paudano/kestrel.git

or

git clone https://github.com/paudano/kestrel.git

Build

Kestrel's build system is coordinated by Apache Ant.

Build the current release: ant package

A TAR/GZ file will appear in dist. This is the file that is uploaded as a release. To run a non-release version, the best way is to build the TAR and then un-tar it. This will place all of Kestrel's dependencies in their proper location within the directory.

For a complete list of build targets: ant -projecthelp