Learn R Programming

qtl (version 1.01-9)

summary.scanone: Summarize the results of one or several one-QTL genome scans

Description

Print the rows of the output from scanone that correspond to the maximum LOD for each chromosome, provided that they exceed some specified thresholds.

Usage

## S3 method for class 'scanone':
summary(\dots, threshold=0)

Arguments

...
One or several objects output by the function scanone.
threshold
LOD score thresholds. Only peaks with LOD score above this value will be returned. This could be a scalar, a vector or a matrix. See below section for details.

Value

  • An object of class summary.scanone, to be printed by print.summary.scanone. This is a data.frame with one row per chromosome, corresponding to the maximum LOD scores.

Details

This function is used to report locus deemed interesting for a one-QTL genome scan. Users can provide one or more results from scanone and one or more thresholds corresponding to different significance levels. For multiple scanone results case, a loci will be reported if any of the LOD scores exceeds the minimum of the corresponding threshold. A column is significance code will be printed for each column of LOD score. It will use "stars" to visualize the significance level. That is, if the LOD score exceeds the lowest threshold, it will have one star (*). If it exceeds the second lowest threshold, it will have two stars (**) and so on. The input threshold could be a scalar, a vector or a matrix. The way threshold works is like the following:
  1. Onescanoneresult case.
    • Threshold is a scalar. This is the easiest case. Locus with LOD scores exceed this value will be reported.
    • Threshold is a vector. Different values correspond to different significance level.
  2. Multiplescanoneresult case.
    • Threshold is a scalar. The code will assume the same threshold value will apply to all scan results and there will be only one significance level.
    • Threshold is a vector. The code will assume that each value in the vector corresponds to a scanone result, and there will be only one significance level. Note that the length of the vector must be the same as the number of scanone results.
    • Threshold is a matrix. Each row of the matrix corresponds to a significance level and each column corresponds to a scan result.
Usually the threshold should be obtained from the permutation test. Users can use quantile to get a list of threhold values for different significance levels.

See Also

scanone, plot.scanone, max.scanone, quantile

Examples

Run this code
data(fake.f2)
fake.f2 <- calc.genoprob(fake.f2)
# scanones on observed data
scan1 <- scanone(fake.f2, pheno.col=1)
# permutation tests
out1 <- scanone(fake.f2, pheno.col=1, n.perm=100)out1 <- scanone(fake.f2, pheno.col=1, n.perm=3)
###### summary one result #######
# one sig level
summary(scan1, threshold=quantile(out1, 0.95))
# multiple sig level
summary(scan1, threshold=quantile(out1, c(0.63,0.95,0.99)))

# scan the other phenotype
scan2 <- scanone(fake.f2, pheno.col=2)
out2 <- scanone(fake.f2, pheno.col=2, n.perm=100)out2 <- scanone(fake.f2, pheno.col=2, n.perm=3)

##### summary multiple results
# one sig level
summary(scan1,scan2, threshold=2)
# multiple sig level, same threshold
summary(scan1,
        scan2,threshold=matrix(quantile(out1,c(0.37,0.95,0.99)),ncol=1))   
# one sig level, different threshold
summary(scan1, scan2,threshold=c(3,0.8))
# multiple sig level, different threshold
threshold <- matrix(c(quantile(out1,probs=c(0.37,0.95,0.99)),0.5,0.8,1.2), ncol=2) 
summary(scan1, scan2, threshold=threshold)

Run the code above in your browser using DataLab