sim.cross {qtl}R Documentation

Simulate a QTL experiment


Simulates data for a QTL experiment using a model in which QTLs act additively.


sim.cross(map, model=NULL, n.ind=100, type=c("f2", "bc", "4way"),
          error.prob=0, missing.prob=0, partial.missing.prob=0,
          keep.qtlgeno=TRUE, keep.errorind=TRUE,


map A list whose components are vectors containing the marker locations on each of the chromosomes.
model A matrix where each row corresponds to a different QTL, and gives the chromosome number, cM position and effects of the QTL.
n.ind Number of individuals to simulate.
type Indicates whether to simulate an intercross (f2), a backcross (bc), or a phase-known 4-way cross (4way).
error.prob The genotyping error rate.
missing.prob The rate of missing genotypes.
partial.missing.prob When simulating an intercross or 4-way cross, this gives the rate at which markers will be incompletely informative (i.e., dominant or recessive).
keep.qtlgeno If TRUE, genotypes for the simulated QTLs will be included in the output.
keep.errorind If TRUE, and if error.prob > 0, the identity of genotyping errors will be included in the output.
map.function Indicates whether to use the Haldane, Kosambi, Carter-Falconer, or Morgan map function when converting genetic distances into recombination fractions.


Meiosis is assumed to exhibit no crossover interference. If one of the chromosomes has class X, it is assumed to be the X chromosome, and is assumed to be segregating in the cross. Thus, in an intercross, it is segregating like a backcross chromosome. In a 4-way cross, a second phenotype, sex, will be generated.

QTLs are assumed to act additively, and the residual phenotypic variation is assumed to be normally distributed with variance 1.

For a backcross, the effect of a QTL is a single number corresponding to half the difference between the homozygote and the heterozygote.

For an intercross, the effect of a QTL is a pair of numbers, (a,d), where a is the additive effect (half the difference between the homozygotes) and d is the dominance deviation (the difference between the heterozygote and the midpoint between the homozygotes).

For a four-way cross, the effect of a QTL is a set of three numbers, (a,b,c), where, in the case of one QTL, the mean phenotype, conditional on the QTL genotyping being AC, BC, AD or BD, is a, b, c or 0, respectively.


An object of class cross. See read.cross for details.

If keep.qtlgeno is TRUE, the cross object will contain a component qtlgeno which is a matrix containing the QTL genotypes (with complete data and no errors), coded as in the genotype data.

If keep.errorind is TRUE and errors were simulated, each component of geno will each contain a matrix errors, with 1's indicating simulated genotyping errors.


Karl W Broman,

See Also, read.cross, fake.f2, fake.bc fake.4way


# simulate a genetic map
map <-

# simulate 250 intercross individuals with 2 QTLs
fake <- sim.cross(map, type="f2", n.ind=250,
                  model = rbind(c(1,45,1,1),c(5,20,0.5,-0.5)))

[Package qtl version 0.98-57 Index]