eqsens_dt: support for sensitivity analyses related to eQTL enumerations

Description Usage Arguments Details Value Note Author(s) Examples

View source: R/pureSensSoft.R

Description

support for sensitivity analyses related to eQTL enumerations

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
eqsens_dt(dtab, filtgen = filtgen.maf.dist, by = c("pairs", "snps", "probes")[1], 
	targfdrs = c(0.05, 0.01, 0.005), 
	parmslist = list(mafs = c(0.025, 0.05, 0.075, 0.1, 0.125), 
		dists = c(1000, 5000, 10000, 25000, 50000, 1e+05)),
                renameChisq = TRUE)
filtgen.maf.dist (maf.dist, validate.tab = function(tab) all(c("mindist", 
    "MAF", "score") %in% colnames(tab))) 
update_fdr_filt(tab, filt = function(x) x, by = c("pairs", "snps", 
    "probes")[1]) 
plotsens(eqsout, ylab = "count of eQTL at given FDR", 
     title = "cis radius in bp")

Arguments

dtab

data.table instance as generated by converting a cisScores GRanges. In general it will need to have column names score, MAF, mindist, and columns with names permScore_1, ....

filtgen

a function that generates a closure. The function returned by filtgen will be a function of one argument that filters an input data.table. The environment of the returned function will possess bindings used to define the filtering operation. filtgen.maf.dist, documented here, is a working example.

by

character atom describing the level of aggregation for sensitivity analysis. eQTl searches generally involve cartesian products of sets of SNPs and sets of genes, and if all elements of these products are of interest, set by to "pairs". For sensitivity analysis in which per-SNP associations are measured by choosing the maximum association statistic for all genes cis to the SNP, set by to "snps". For per-gene associations, with scores maximized over all SNPs cis to genes, use "probes".

targfdrs

numeric vector of FDR levels for which enumerations are performed.

parmslist

list of numeric vectors giving thresholds for use in filtering tests using filtgen

maf.dist

numeric vector of length two giving thresholding values for MAF and cis distance for filtering association tests

validate.tab

function of one argument, assumed to be a data.table instance, that can be used to check whether filtering conditions are feasible before attempting to filter; should return TRUE if they are, FALSE otherwise.

tab

data.table instance as generated by converting a cisScores

filt

function of one argument that operates on a data.table instance to reduce the rows to a desired set; parameters of filtering task are established in the environment of filt

eqsout

matrix as output by eqsens\_dt

ylab

text string to be used to label Y axis on the left

title

text string to label top of plot

renameChisq

Some utilities fail to generate 'score' for observed association statistic, but report as 'chisq'. If TRUE and such a column name is found in dtab, setnames will be run to rename to 'score'.

Details

The objective is to generate data for tabulation or visualization of sensitivity analyses, and the scope of sensitivity analysis can be established in various ways. This software is mostly intended as a framework.

Value

eqsens_dt returns a data.frame instance with enumerations of eQTL at various FDR thresholds for various settings of tuning parameters

update_fdr_filt revises (using pifdr) the fdr field of an input data.table instance using variable score as observed value, and permuted values furnished by the variables named with permScore as leading substring

Note

To do: allow filtering on the number of permutations to be used in FDR calculation.

Author(s)

VJ Carey <stvjc@channing.harvard.edu>

Examples

1
2
3
4
5
6
   ## Not run: 
   example(cisScores) # would generate f1
   names(f1) = NULL
   eqsens_dt( data.table(as(f1, "data.frame")) )
   
## End(Not run)

GGtools documentation built on Nov. 8, 2020, 6:32 p.m.