pachterlab / kallisto

Near-optimal RNA-Seq quantification
https://pachterlab.github.io/kallisto
BSD 2-Clause "Simplified" License
656 stars 172 forks source link
kallisto pseudoalignment rna-seq

kallisto

kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads. It is based on the novel idea of pseudoalignment for rapidly determining the compatibility of reads with targets, without the need for alignment. On benchmarks with standard RNA-Seq data, kallisto can quantify 30 million human bulk RNA-seq reads in less than 3 minutes on a Mac desktop computer using only the read sequences and a transcriptome index that itself takes than 10 minutes to build. Pseudoalignment of reads preserves the key information needed for quantification, and kallisto is therefore not only fast, but also comparably accurate to other existing quantification tools. In fact, because the pseudoalignment procedure is robust to errors in the reads, in many benchmarks kallisto significantly outperforms existing tools. The kallisto algorithms are described in more detail in:

NL Bray, H Pimentel, P Melsted and L Pachter, Near optimal probabilistic RNA-seq quantification, Nature Biotechnology 34, p 525--527 (2016).

Scripts reproducing all the results of the paper are available here.

kallisto quantified bulk RNA-Seq can be analyzed with sleuth.

kallisto can be used together with bustools to pre-process single-cell RNA-seq data. See the kallistobus.tools website for instructions.

Manual

Please visit http://pachterlab.github.io/kallisto/manual.html for the manual.

License

kallisto is distributed under the BSD-2 license. The license is distributed with kallisto in the file license.txt, which is also viewable here. Please read the license before using kallisto.

Getting help

For help running kallisto, please post to the kallisto-and-applications Google Group.

Reporting bugs

Please report bugs to the Github issues page

Development and pull requests

We typically develop on separate branches, then merge into devel once features have been sufficiently tested. devel is the latest, stable, development branch. master is used only for official releases and is considered to be stable. If you submit a pull request (thanks!) please make sure to request to merge into devel and NOT master. Merges usually only go into master, but not out.