prepCondScores: Run SKAT on data from a single cohort, conditional on...

Description Usage Arguments Details Value Author(s) See Also Examples

Description

This function works exactly as prepScores, but with the additional argument ‘adjustments’ specifying genes for which conditional analyses are desired, and which SNPs to condition on.

Usage

1
2
3
prepCondScores(Z, formula, family = gaussian(), SNPInfo = NULL,
  adjustments = NULL, snpNames = "Name", aggregateBy = "gene",
  kins = NULL, sparse = TRUE, data = parent.frame())

Arguments

Z

A genotype matrix (dosage matrix) - rows correspond to individuals and columns correspond to SNPs. Use 'NA' for missing values. The column names of this matrix should correspond to SNP names in the SNP information file.

formula

Base formula, of the kind used in glm() - typically of the form y~covariate1 + covariate2. For Cox models, the formula follows that of the coxph() function.

family

either gaussian(), for continuous data, or binomial() for 0/1 outcomes. Binary outcomes are not currently supported for family data.

SNPInfo

SNP Info file - must contain fields given in 'snpName' and 'aggregateBy'.

adjustments

A data frame of the same format at SNPInfo, pairing genes to analyze with snp

snpNames

The field of SNPInfo where the SNP identifiers are found. Default is 'Name'. See Details.

aggregateBy

The field of SNPInfo on which the skat results were aggregated. Default is 'gene'. For single snps which are intended only for single variant analyses, it is recomended that they have a unique identifier in this field.

kins

the kinship matrix for related individuals. Only supported for family=gaussian(). See lmekin in the kinship2 package for more details.

sparse

whether or not to use a sparse Matrix approximation for dense kinship matrices (defaults to TRUE).

data

data frame in which to find variables in the formula

Details

This function has the same syntax as prepCondScores, but requires an extra argument 'adjustments'. This is a data frame of the same format as the SNPInfo, i.e. with a 'snpNames' and 'aggregateBy' columns. The function works by looping through the genes in the adjustment file, adding the corresponding SNPs to the null model. For instance, if one wants to adjuste 'gene1' for SNPs a and b (which need not be in gene 1), and ‘gene2’ for SNPs c, the adjustments would be something like adjustments = data.frame(Name = c("a","b","c"), gene = c("gene1","gene1","gene2"))

See the examples for an illustration.

Value

an object of class 'seqMeta'. Note that unlike output from the function prepScores, the null models in each element of the list may be different. When meta analyzing these, it may be good to subset the SNPInfo file to the genes of interest.

Author(s)

Arie Voorman, Jennifer Brody

See Also

prepScores skatMeta burdenMeta singlesnpMeta

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
###load example data for two studies:
### see ?seqMetaExample
data(seqMetaExample)

#specify adjustment variables
adjustments <- SNPInfo[c(1:3, 20,100), ]
adjustments

####run on each study:
cohort1.adj <- prepCondScores(Z=Z1, y~sex+bmi, SNPInfo = SNPInfo,
                adjustments=adjustments, data =pheno1)
cohort2.adj <- prepCondScores(Z=Z2, y~sex+bmi, SNPInfo = SNPInfo,
                adjustments=adjustments, kins=kins, data=pheno2)

SNPInfo.sub <- subset(SNPInfo, (SNPInfo$gene \%in\% adjustments$gene) &
                                !(SNPInfo$Name \%in\% adjustments$Name) )

#skat
out.skat <- skatMeta(cohort1.adj,cohort2.adj, SNPInfo = SNPInfo.sub)
head(out.skat)

##T1 test
out.t1 <- burdenMeta(cohort1.adj,cohort2.adj, SNPInfo = SNPInfo.sub, mafRange = c(0,0.01))
head(out.t1)

##single snp tests:
out.ss <- singlesnpMeta(cohort1.adj,cohort2.adj, SNPInfo = SNPInfo.sub)
head(out.ss)

izhbannikov/seqMetaPlus documentation built on May 18, 2019, 7:14 a.m.