qb.sim.cross {qtlbim} | R Documentation

## Simulates QTL related data for an F2 or BC cross.

### Description

This function is used to simulate genotypic, phenotypic and covariate data for BC and F2 populations. The underlying genetic model is Cockerham's model and data for both continuous (normally distributed only) and ordinal traits can be generated.

### Usage

    qb.sim.cross(len = rep(100,20), n.mar = 11, eq.spacing = TRUE,
      n.ind = 400, type = c("f2","bc"), missing.geno = 0.0,
      missing.pheno = 0.0, ordinal = c(0.5,0.5),
      qtl.pos = NULL, qtl.main = NULL, qtl.epis = NULL,
      covariate = NULL, gbye = NULL, seed = NULL )
    ## S3 method for class 'qb.sim':
    summary(object, ...)

### Arguments

`len` | defines the length (in cM) of each chromosome and number of chromosomes. Thus `len = c(80,90,44)` would represent a model with three chromosomes of lengths 80, 90, and 44 respectively.
`n.mar` | The number of markers per chromosome. This can be specified as a single number or as a vector. If a single number is specified, all the chromosomes will have the same number of markers. If n.mark is a vector then it must have the same number of entries as there are chromosomes. For example, if n.mar = c(10,11,9) then we have a three chromosome model in which the first chromosome has 10 markers, the second has 11 and the third has 9.a vector specifying the number of markers per chromosome.
`eq.spacing` | if TRUE, markers will be equally spaced. Default is TRUE. If FALSE, markers are generated uniformly over the chromosome.
`n.ind` | specifies the number of individuals.
`type` | indicates whether to simulate an intercross ("f2") or a backcross ("bc").
`missing.geno` | the frequency of missing genotypes.
`missing.pheno` | the frequency of missing phenotypic values.
`ordinal` | define the probabilities of each ordinal category and the number of elements in the vector will determine the number of categories. The elements must be positive and the should sum up to 1
`qtl.pos` | This parameter specifies the positions of qtl as a matrix with dimensions (number of qtl) x 2. Note that the row dimension is the number of qtl and is not the number of chromosomes. Each row identifies a qtl, the first column entries represent the chromosome's index, the second column entries represent the location on the chromosome of the qtl. The (row) order in which qtl are listed in this parameter is the index by which they are identified later on in the parameters `qtl.main` and `qtl.epi`.
`qtl.main` | The parameter `qtl.main` is a matrix specifying the main effects of QTLs. The first column gives the qtl-index (the row index of the qtl in the `qtl.pos` parameter.), the second and third column gives the additive and dominance effects, respectively. There are two or three columns depending on `type` being "bc" or "f2".
`qtl.epis` | It is a matrix specifying epistatic effects. There are 3 or 6 columns depending on `type` being "bc" or "f2". Each row gives an epistatic pair. The first entry in a row gives the first qtl index, the second entry represents the index of the second qtl. The other entries give the value of the epistatic effects (additive-additive, additive-dominance, dominance-additive and dominance-dominance) of the two qtls. The indices used to represent the qtl are the row indices of the `qtl.pos` matrix which correspond to the first and second qtl in each epistatic pair.
`covariate` | A vector of two elements, the first being the true value of the coffecient for the fixed covariate and the second the true value for the standard deviation of the random covariate.
`gbye` | A matrix specifying the interaction between the fixed covariate and QTL main effect. The first column is the index of the QTL, the other column(s) is(are) the value(s) of interaction(s).
`seed` | Set pseudo-random number seed with `set.seed` if not `NULL`.
`object` | An object of class `qb.sim`, typically the `qtl` element of a `cross` object created by `qb.sim.cross`.
`...` | Not used here.

### Details

The most important difference of this simulation function from others is that it computes phenotype values with full genetic model. i.e. both additive, dominance, and espistatic effects are considerred. Furthermore, environmental effects and gene-environment interactions can be included in the model to simulate phenotypes.

The outputted genotypes for markers and qtls will be coded as 1 and 2 for BC and 1,2, and 3 for F2. Missing data will be coded as NA.

### Value

`qb.sim.cross` will returns an object of class `cross`. See `read.cross` for details. In addition, a component `qtl` of class `qb.sim` is added which is a list of atmost 6 components depending on the options specified.

`geno` | is a matrix of true QTL genotypes for every individual and each locus. The genotypes are defined following `read.cross`.
`pos` | is a matrix of true QTL position. Same as `qtl.pos`.
`herit.main` | is a matrix of the heritability of main effects. `nrow($qtl$herit.main)`=no. of QTLs and `ncol($qtl$herit.main)`=2 or 3 depending on the type of genetic cross ("bc" or "f2"). The first column being the QTL index and the others being additive and dominant heritability respectively.
`herit.epis` | is a matrix of the heritability of epistatic effects. `nrow($qtl$herit.epis)`=no. of QTLs pairs interacting and `ncol($qtl$herit.main)`=3 or 6 depending on the type of genetic cross ("bc" or "f2"). The first column being the QTL index and the others being additive-additive, additive-dominant, dominant-additive and dominant-dominant heritability respectively.
`herit.cov` | is a vector of length 2 containing the heritability of the fixed and random covariate.
`herit.gbye` | is a matrix of heritability of GxE interactions. `nrow($qtl$herit.gbye)`= no. of GxE interactions and `ncol($qtl$herit.gbye)`= 2 or 3 depending on the type of genetic cross ("bc" or "f2"). The first column being the GxE index and the others being additive and dominant GxE interaction heritability.

### Author(s)

Dr. Nengjun Yi, et al., nyi@ms.ssg.uab.edu

### References

http://www.qtlbim.org

### See Also

`qb.genoprob`, `qb.data` `qb.model`, `qb.mcmc`, `sim.cross`

### Examples

    ## Not run:
    ## Simulate large intercross.
    cross <- qb.sim.cross(len = rep(100,20), n.mar = 11, eq.spacing =FALSE,
      n.ind = 500, type = "f2", ordinal = c(0.3,0.3,0.2,0.2),
      missing.geno = 0.03, missing.pheno = 0.03,
      qtl.pos = rbind(qtl.1=c(chr=1,pos=15),qtl.2=c(1,45),qtl.3=c(3,12),
        qtl.4=c(5,15),qtl.5=c(7,15),qtl.6=c(10,15),qtl.7=c(12,35),qtl.8=c(19,15)),
      qtl.main = rbind(main.1=c(qtl=1,add=0.5,dom=0),main.2=c(2,0,0.7),
        main3=c(3,-0.5,0),main4=c(4,0.5,-0.5)),
      qtl.epis = rbind(epis1=c(qtl.a=4,qtl.b=5,aa=-0.7,ad=0,da=0,dd=0),
        epis2=c(6,8,0,1.2,0,0)),
      covariate = c(fix.cov=0.5,ran.cov=0.07),
      gbye = rbind(GxE.1=c(qtl=7,add=0.8,dom=0)) )

    ## Examine simulation information.
    summary(cross$qtl)
    ## End(Not run)

    ## Simulate small backcross.
    cross <- qb.sim.cross(len = rep(60,3), n.mar = 7, eq.spacing =FALSE,
      n.ind = 100, type = "bc", ordinal = c(0.3,0.3,0.2,0.2),
      missing.geno = 0.03, missing.pheno = 0.03,
      qtl.pos = rbind(qtl.1=c(chr=1,pos=15), qtl.2=c(1,45),
                      qtl.3=c(2,12), qtl.4=c(3,15)),
      qtl.main = rbind(main.1=c(qtl=1,add=1.5), main.2=c(2,0),
                       main3=c(3,-1), main4=c(4,0)),
      qtl.epis = rbind(epis1=c(qtl.a=2,qtl.b=3,aa=-2), epis2=c(2,4,3)),
      covariate = c(fix.cov=0.5,ran.cov=0.07),
      gbye = rbind(GxE.1=c(qtl=3,add=2)))
    summary(cross$qtl)

[Package qtlbim version 1.6.5 Index]