covScanQTL: Find the effect of candidate genes based on gene expression.

Description Usage Arguments Value Examples

Description

covScanQTL Employs the covariate scan approach (Lovell et al. (2015), Plant Cell), to rank the potential of candidate genes based on their effect on QTL morphology. Can be run for a single phenotype (e.g. Lovell et al. (2015)), or on a set of QTL underlying a trand-band. In the latter case, a boxplot of ranks can be output.

Usage

1
2
3
4
covScanQTL(cross, pheno.col = 1, qtl, addcovar = NULL,
  intcovar = NULL, which.epiqtl = NULL, focalqtl.index = 1,
  expression.covariates, qtl.method = "hk", nperm = 0, plotit = TRUE,
  verbose = TRUE, ...)

Arguments

cross

The qtl cross object with marker names that need to be changed.

pheno.col

Character vector specifying the phenotypes modelled.

qtl

A qtl model that supplies the position of the focal QTL (see focalqtl.index). If qtl only contains a single locus, this is assumed to be the qtl of interest. If a multiple qtl model is supplied, the genotypes of those QTL are inferred using the Viterbi algorithm and added to the addcovar dataframe of covariates.

addcovar

data.frame of experimental additive covariates (see scanone)

intcovar

data.frame of experimental interactive covariates (see scanone)

which.epiqtl

Numeric, which qtl (if any) in the model should be forced to interact with the focal qtl. The inferred genotypes of this marker are added to the intcovar dataframe.

focalqtl.index

Numeric, which qtl in the model is the the QTL to test?

expression.covariates

Numeric matrix with normalized expression values of candidate genes. Rows must exactly match the individuals in the cross

qtl.method

The method passed to scanone

nperm

If permutation tests are desired, specify as >0. These are not currently computationally efficient and take forever when using eQTL data.

plotit

Logical, when more than 1 pheno.y is specified, presents a boxplot of covariate scan ranks.

verbose

Logical, should updates be printed?

...

additional arguments passed on to plot.

Value

A dataframe, containing the maximum scanone outputs at chromosome chr and position pos for each phenotype and covariate.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
## Not run: 
data(multitrait)
cross<-subset(multitrait, ind = !is.na(pull.pheno(multitrait, 1)))
phe<-pull.pheno(cross, 1)
mult.fact<-exp(seq(from = 0, to = 50, length.out = 50))
#ssimulate some gene expression data, some of which are correlated with the phenotype
facs<-sapply(1:50, function(x){
  scale(sapply(scale(phe), function(y) rnorm(n = 1, mean = y, sd = mult.fact[x])))
  })
plot(sapply(1:50, function(x) cor(phe, facs[,x])),
     ylab = "cor. coef. (expression ~ chr5 QTL genotype)",
     xlab = "gene id")

expression.covariates = facs
colnames(expression.covariates)<-paste0("gene",1:ncol(expression.covariates))
qtl = makeqtl(cross, chr = max(s1)$chr, pos = max(s1)$pos, what = "prob")
test<-covScanQTL(cross = cross,
                 pheno.col = 1,
                 qtl = qtl,
                 expression.covariates = expression.covariates,
                 qtl.method = "hk",
                 nperm = 100)
qtl2 = makeqtl(cross, chr = summary(s1)$chr[4:5],
               pos = summary(s1)$pos[4:5], what = "prob")
test2<-covScanQTL(cross = cross, pheno.col = 1,qtl = qtl2,
                 which.epiqtl = 1,
                 focalqtl.index = 2,
                 expression.covariates = expression.covariates,
                 qtl.method = "hk",
                 nperm = 100)

## End(Not run)

jtlovell/qtlTools documentation built on May 20, 2019, 3:14 a.m.