Learn R Programming

R/qtl: A QTL mapping environment

Authors: Karl W Broman and Hao Wu, with ideas from Gary Churchill and Śaunak Sen and contributions from Danny Arends, Robert Corty, Timothée Flutre, Ritsert Jansen, Pjotr Prins, Lars Rönnegård, Rohan Shah, Laura Shannon, Quoc Tran, Aaron Wolen, and Brian Yandell

R/qtl is an extensible, interactive environment for mapping quantitative trait loci (QTL) in experimental crosses. It is implemented as an add-on package for the freely available and widely used statistical language/software R. The development of this software as an add-on to R allows us to take advantage of the basic mathematical and statistical functions, and powerful graphics capabilities, that are provided with R. Further, the user will benefit by the seamless integration of the QTL mapping software into a general statistical analysis program. Our goal is to make complex QTL mapping methods widely accessible and allow users to focus on modeling rather than computing.

A key component of computational methods for QTL mapping is the hidden Markov model (HMM) technology for dealing with missing genotype data. We have implemented the main HMM algorithms, with allowance for the presence of genotyping errors, for backcrosses, intercrosses, and phase-known four-way crosses.

The current version of R/qtl includes facilities for estimating genetic maps, identifying genotyping errors, and performing single-QTL genome scans and two-QTL, two-dimensional genome scans, by interval mapping (with the EM algorithm), Haley-Knott regression, and multiple imputation. All of this may be done in the presence of covariates (such as sex, age or treatment). One may also fit higher-order QTL models by multiple imputation and Haley-Knott regression.

License

The R/qtl package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 3, as published by the Free Software Foundation.

This program is distributed in the hope that it 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

Copy Link

Version

Install

install.packages('qtl')

Monthly Downloads

4,141

Version

1.70

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

August 22nd, 2024

Functions in qtl (1.70)

add.threshold

Add significance threshold to plot
argmax.geno

Reconstruct underlying genotypes
bristleX

Data on bristle number in Drosophila
addint

Add pairwise interaction to a multiple-QTL model
A starting point

Introductory comments on R/qtl
addcovarint

Add QTL x covariate interaction to a multiple-QTL model
MQM

Introduction to Multiple QTL Model (MQM) mapping
allchrsplits

Test all possible splits of a chromosome into two pieces
arithscan

Arithmetic operators for scanone and scantwo results
c.scanone

Combine columns from multiple scanone results
c.scantwoperm

Combine data from scantwo permutations
cim

Composite interval mapping
cbind.scantwoperm

Combine scantwo permutations by column
badorder

An intercross with misplaced markers
checkAlleles

Identify markers with switched alleles
c.scantwo

Combine columns from multiple scantwo results
cbind.scanoneperm

Combine columns from multiple scanone permutation results
calc.penalties

Calculate LOD penalties
clean.cross

Remove derived data
c.cross

Combine data for QTL experiments
convert2sa

Convert a sex-specific map to a sex-averaged one
convert2risib

Convert a cross to RIL by sib mating
fake.4way

Simulated data for a 4-way cross
droponemarker

Drop one marker at a time and determine effect on genetic map
addloctocross

Add phenotype location into a cross object
dropfromqtl

Drop a QTL from a qtl object
c.scanoneperm

Combine data from scanone permutations
clean.scantwo

Clean up scantwo output
calc.errorlod

Identify likely genotyping errors
fake.bc

Simulated data for a backcross
addmarker

Add a marker to a cross
comparegeno

Compare individuals' genotype data
comparecrosses

Compare two cross objects
bristle3

Data on bristle number in Drosophila
bayesint

Bayesian credible interval
chrlen

Chromosome lengths in QTL experiment
find.marker

Find marker closest to a specified position
flip.order

Flip the orders of markers on a set of chromosomes
find.flanking

Find flanking markers for a specified position
jittermap

Jitter marker positions in a genetic map
hyper

Data on hypertension
listeria

Data on Listeria monocytogenes susceptibility
chrnames

Pull out the chromosome names from a cross
inferFounderHap

Crude reconstruction of founder haplotypes in multi-parent RIL
countXO

Count number of obligate crossovers for each individual
convert.scantwo

Convert output from scantwo for R/qtl version 1.03 and earlier
convert2riself

Convert a cross to RIL by selfing
est.rf

Estimate pairwise recombination fractions
est.map

Estimate genetic maps
map10

An example genetic map
formLinkageGroups

Partition markers into linkage groups
mqmaugment

MQM augmentation
map2table

Convert genetic map from list to table.
movemarker

Move a marker to a new chromosome
drop.dupmarkers

Drop duplicate markers
drop.nullmarkers

Drop markers without any genotype data
compareorder

Compare two orderings of markers on a chromosome
drop.markers

Drop a set of markers
mqmplot.cofactors

Plot cofactors on the genetic map
calc.genoprob

Calculate conditional genotype probabilities
condense.scantwo

Condense the output from a 2-d genome scan
fill.geno

Fill holes in genotype data
fake.f2

Simulated data for an F2 intercross
mqmplot.directedqtl

Plot LOD*Effect curves of a multiple-QTL model
find.pseudomarker

Find the pseudomarker closest to a specified position
mqmpermutation

Estimate QTL LOD score significance using permutations or simulations
findDupMarkers

Find markers with identical genotype data
getid

Pull out the individual identifiers from a cross
groupclusteredheatmap

Retrieving groups of traits after clustering
find.markerpos

Find position of a marker
mqmautocofactors

Automatic setting of cofactors, taking marker density into account
mqmextractmarkers

MQM marker extraction
mqmsetcofactors

Set cofactors at fixed intervals, to be used with MQM
find.pheno

Find column number for a particular phenotype
geno.table

Create table of genotype distributions
mqmtestnormal

Shapiro normality test used for MQM
geno.image

Plot grid of genotype data
mqmplot.permutations

Plot results from mqmpermutation
mqmfind.marker

Fetch significant markers after permutation analysis
mqmprocesspermutation

Convert mqmmulti objects into a scanoneperm object
mqmplot.circle

Circular genome plot for MQM
mqmgetmodel

Retrieve the QTL model used in mapping from the results of an MQM scan
mqmplot.singletrait

Plot LOD curves of a multiple-QTL model
fitqtl

Fit a multiple-QTL model
fitstahl

Fit Stahl interference model
locateXO

Estimate locations of crossovers
max.scanPhyloQTL

Maximum peak in genome scan to map a QTL to a phylogenetic tree
markernames

Pull out the marker names from a cross
locations

Genetic locations of traits for the multitrait dataset
plotMap

Plot genetic map
inferredpartitions

Identify inferred partitions in mapping QTL to a phylogenetic tree
interpPositions

Interpolate positions from one map to another
plotMissing

Plot grid of missing genotypes
max.scanone

Maximum peak in genome scan
nmissing

Number of missing genotypes
plotPheno

Plot a phenotype distribution
mqmplot.cistrans

cis-trans plot
max.scantwo

Maximum peak in two-dimensional genome scan
mqmplot.clusteredheatmap

Plot clustered heatmap of MQM scan on multiple phenotypes
mqmscan

Genome scan with a multiple QTL model (MQM)
nind

Determine the number of individuals QTL experiment
nmar

Determine the numbers of markers on each chromosome
nphe

Determine the number of phenotypes QTL experiment
nullmarkers

Identify markers without any genotype data
ntyped

Number of genotypes
convert.map

Change map function for a genetic map
convert.scanone

Convert output from scanone for R/qtl version 0.98
plot.qtl

Plot QTL locations
cleanGeno

Delete genotypes that are possibly in error
plotGeno

Plot observed genotypes, flagging likely errors
plotInfo

Plot the proportion of missing genotype information
plotPXG

Plot phenotypes versus marker genotypes
plot.rfmatrix

Plot recombination fractions or LOD scores for a single marker
mqmscanfdr

Estimate FDR for multiple trait QTL analysis
plotRF

Plot recombination fractions
plot.scanoneperm

Plot permutation results for a single-QTL genome scan
plot.scanPhyloQTL

Plot LOD curves from single-QTL scan to map QTL to a phylogenetic tree
plot.comparegeno

Plot genotype comparison
plot.scantwo

Plot LOD scores for a two-dimensional genome scan
mqmscanall

Parallelized MQM on multiple phenotypes in a cross object
pickMarkerSubset

Identify the largest subset of markers that are some distance apart
orderMarkers

Find an initial order for markers within chromosomes
qtl-internal

Internal qtl functions
pull.genoprob

Pull out the genotype probabilities from a cross
find_large_intervals

Find large intervals in a map
pull.rf

Pull out recombination fractions or LOD scores from a cross object
effectscan

Plot estimated QTL effects across the whole genome
formMarkerCovar

Create matrix of marker covariates for QTL analysis
phenames

Pull out the phenotypes names from a cross
plot.cross

Plot various features of a cross object
find.markerindex

Determine the numeric index for a marker
geno.crosstab

Create table of two-locus genotypes
plotErrorlod

Plot grid of error LOD values
effectplot

Plot phenotype means against genotypes at one or two markers
pull.draws

Pull out the genotype imputations from a cross
plot.scantwoperm

Plot permutation results for a 2d, 2-QTL genome scan
pull.map

Pull out the genetic map from a cross
plotLodProfile

Plot 1-d LOD profiles for a multiple QTL model
lodint

LOD support interval
makeqtl

Make a qtl object
mapthis

Simulated data for illustrating genetic map construction
markerlrt

General likelihood ratio test for association between marker pairs
mqmplot.heatmap

Heatmap of a genome of MQM scan on multiple phenotypes
replacemap.scantwo

Replace the genetic map in QTL mapping results with an alternate map
replace.map

Replace the genetic map of a cross
pull.geno

Pull out the genotype data from a cross
scanonevar.meanperm

Permutation test for mean effect in scanonevar
scanonevar.varperm

Permutation test for variance effect in scanonevar
replaceqtl

Replace a QTL in a qtl object with a different position
rescalemap

Rescale genetic maps
replacemap.scanone

Replace the genetic map in QTL mapping results with an alternate map
ripple

Compare marker orders
mqmplot.multitrait

Plot the results from a genomescan using a multiple-QTL model on multiple phenotypes
scanone

Genome scan with a single QTL model
scanPhyloQTL

Single-QTL genome scan to map QTL to a phylogenetic tree
scanonevar

Genome scan for QTL affecting mean and/or variance
pull.markers

Drop all but a selected set of markers
scanoneboot

Bootstrap to get interval estimate of QTL location
read.cross

Read data for a QTL experiment
refineqtl

Refine the positions of QTL
reorderqtl

Reorder the QTL in a qtl object
pull.pheno

Pull out phenotype data from a cross
nqrank

Transform a vector of quantitative values to the corresponding normal quantiles
nchr

Determine the number of chromosomes
plotModel

Plot a QTL model
multitrait

Example Cross object from R/QTL with multiple traits
qtlversion

Installed version of R/qtl
plot.scanone

Plot LOD curves
simPhyloQTL

Simulate a set of intercrosses for a single diallelic QTL
pull.argmaxgeno

Pull out the results of the Viterbi algorithm from a cross
nqtl

Determine the number of QTL in a QTL object
sim.cross

Simulate a QTL experiment
plot.scanoneboot

Plot results of bootstrap for QTL position
simulatemissingdata

Simulates missing genotype data
readMWril

Read data for 4- or 8-way RIL
sim.geno

Simulate genotypes given observed marker data
reduce2grid

Reduce to a grid of pseudomarkers.
scanqtl

General QTL scan
scantwopermhk

Permutation test for 2d genome scan by Haley-Knott regression
shiftmap

Shift starting points in genetic maps
subset.scantwoperm

Subsetting two-dimensional permutation test results
subset.scantwo

Subsetting the results of a 2-d genome scan
summaryMap

Print summary of a genetic map
summary.fitqtl

Summary of fit of qtl model
summary.qtl

Print summary of a QTL object
subset.map

Subsetting chromosomes for a genetic map
summary.ripple

Print summary of ripple results
summary.scanoneperm

LOD thresholds from scanone permutation results
summary.scanoneboot

Bootstrap confidence interval for QTL location
subset.cross

Subsetting data for QTL experiment
summary.cross

Print summary of QTL experiment
summaryScantwoOld

Summarize the results of a two-dimensional genome scan
sim.map

Simulate a genetic map
summary.scanone

Summarize the results of a genome scans
simFounderSnps

Simulate founder SNPs for a multiple-strain RIL
summary.scanPhyloQTL

Summarize the results a genome scan to map a QTL to a phylogenetic tree
summary.comparegeno

Print pairs of individuals with similar genotype data.
transformPheno

Transformation of the phenotypes in a cross object
summary.scantwo

Summarize the results of a two-dimensional genome scan
scantwo

Two-dimensional genome scan with a two-QTL model
tryallpositions

Test all possible positions for a marker
stepwiseqtl

Stepwise selection for multiple QTL
xaxisloc.scanone

Get x-axis locations in scanone plot
subset.scanone

Subsetting the results of a genome scan
strip.partials

Strip partially informative genotypes
typingGap

Maximum distance between genotyped markers
write.cross

Write data for a QTL experiment to a file
summary.scantwoperm

LOD thresholds from scantwo permutation results
switch.order

Switch the order of markers on a chromosome
subset.scanoneperm

Subsetting permutation test results
switchAlleles

Switch alleles at selected markers
table2map

Convert a table of marker positions to a map object.
top.errorlod

List genotypes with large error LOD scores
totmar

Determine the total number of markers
addpair

Scan for an additional pair of QTL in a multiple-QTL model
add.cim.covar

Indicate marker covariates from composite interval mapping
arithscanperm

Arithmetic Operators for permutation results
addqtl

Scan for an additional QTL in a multiple-QTL model
addtoqtl

Add to a qtl object