R/qtl2 (aka qtl2) is a reimplementation of the QTL analysis software R/qtl, to better handle high-dimensional data and complex cross designs. It is split into qtl2geno (for calculating genotype probabilities, imputations, and genetic maps), qtl2scan (for QTL genome scans and related calculations), and qtl2plot (for data visualization). A further package, qtl2convert, contains functions for converting data among the R/qtl2, DOQTL, and R/qtl formats, for example to convert genotype probabilities produced by DOQTL to the format needed by qtl2scan, or to convert qtl2scan results to the format produced by scanone in R/qtl, so that they may be graphed with the R/qtl functions.


In R/qtl2 version 0.5, we made major revisions to some of the central data structures, and a number of steps in QTL analyses have changed. See the revised user guide, or this description of the changes in version 0.5. A couple of functions for converting objects from the format for Rqtl2 version 0.4 and the new format are in convert_04_to_05.R.

Discussion group

For discussion/questions about R/qtl2, join the rqtl2-disc google group. Or join rqtl-announce for announcements about R/qtl and R/qtl2. (We’ll try to keep the original rqtl-disc group for the discussion/questions about the original R/qtl only.)


R/qtl2 is not yet available on CRAN, but it can be installed from a mini-CRAN at rqtl.org.

install.packages("qtl2", repos="http://rqtl.org/qtl2cran")

The qtl2 package is inspired by the tidyverse package; it is basically empty, but when you install it, the qtl2geno, qtl2scan, qtl2plot, and qtl2convert packages, plus a bunch of dependencies, will be installed.

Alternatively, you can install R/qtl2 from its source on GitHub. (But note that compiling the C++ code can be rather slow.)

On Windows, you’ll need Rtools.

On Mac OS X, you’ll need the command-line developer tools, as well as gfortran.

You then need to install the devtools package, plus a set of package dependencies: yaml, jsonlite, data.table, and RcppEigen. (Additional, secondary dependencies will also be installed.)

install.packages(c("devtools", "yaml", "jsonlite", "data.table", "RcppEigen"))

Finally, install R/qtl2 using devtools::install_github().




The qtl2geno, qtl2scan, qtl2plot, and qtl2convert packages are free software; you can redistribute them and/or modify them under the terms of the GNU General Public License, version 3, as published by the Free Software Foundation.

These programs are distributed in the hope that they will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

A copy of the GNU General Public License, version 3, is available at https://www.r-project.org/Licenses/GPL-3

Sources on github: