qpPlotMap: Plots a map of associated pairs

View source: R/qpgraph.R

qpPlotMapR Documentation

Plots a map of associated pairs

Description

Plots a map of associated pairs defined by adjusted p-values

Usage

qpPlotMap(p.valueMatrix, markerPos, genePos, chrLen,
          p.value=0.05, adjust.method="holm",
          xlab="Ordered Markers", ylab="Ordered Genes",
          main="", ...)

Arguments

p.valueMatrix

squared symmetric matrix with raw p-values for all pairs.

markerPos

two-column matrix containing chromosome and position of each genetic marker.

genePos

two-column matrix containing chromosome and position of each gene.

chrLen

named vector with chromosome lengths. Vector names should correspond to chromosome names, which are displayed in the axes of the plot. This vector should be ordered following the same convention for chromosomes in arguments markerPos and genePos.

p.value

adjusted p-value cutoff.

adjust.method

method employed to adjust the raw p-values. It is passed in a call to p.adjust() in its method argument.

xlab

label for the x-axis.

ylab

label for the y-axis.

main

main title of the plot, set to the empty string by default.

...

further arguments passed to the plot() function.

Details

This function plots a map of present associations, typically between genetic markers and gene expression profiles (i.e., eQTL associations), according to the chromosomal locations of both the genetic markers and the genes. The input argument p.valueMatrix should contain the raw p-values of these associations. Present associations are selected by a cutoff given in the p.value argument applied to the adjusted p-values.

The input raw p-values can be obtained with the function qpAllCItests.

Value

The selected present associations are invisibly returned.

Author(s)

R. Castelo

See Also

qpAllCItests

Examples

## generate uniformly random p-values for synthetic associations
## between m genetic markers and g genes into a symmetric matrix
m <- 100
g <- 100
p <- m + g
markerids <- paste0("m", 1:m)
geneids <- paste0("g", 1:g)
rndpvalues <- matrix(0, nrow=p, ncol=p,
                     dimnames=list(c(markerids, geneids), c(markerids, geneids)))
rndpvalues[1:m,(m+1):p] <- runif(m*g)

## put significant cis associations
rndpvalues[cbind(1:m, (m+1):p)] <- rnorm(m, mean=1e-4, sd=1e-2)^2

## put one hotspot locus with significant, but somehat weaker, trans associations
hotspotmarker <- sample(1:m, size=1)
rndpvalues[cbind(hotspotmarker, (m+1):p)] <- rnorm(g, mean=1e-2, sd=1e-2)^2

## make matrix symmetric
rndpvalues <- rndpvalues + t(rndpvalues)
stopifnot(isSymmetric(rndpvalues))
rndpvalues[1:m, 1:m] <- rndpvalues[(m+1):p,(m+1):p] <- NA

## create chromosomal map
chrlen <- c("chr1"=1000)
posmarkers <- matrix(c(rep(1, m), seq(1, chrlen, length.out=m)), nrow=m)
posgenes <- matrix(c(rep(1, g), seq(1, chrlen, length.out=g)), nrow=g)
rownames(posmarkers) <- paste0("m", 1:m)
rownames(posgenes) <- paste0("g", 1:g)

qpPlotMap(rndpvalues, posmarkers, posgenes, chrlen, cex=3)

rcastelo/qpgraph documentation built on Oct. 28, 2024, 5:15 a.m.