Last data update: 2014.03.03

R: Running GenCAT
GenCATR Documentation

Running GenCAT

Description

This function runs the GenCAT approach on a data frame of SNP level test statistics.

Usage

GenCAT(SNPdata, genoData, snpInfo, pcCutoff = 0.95, 
workers = getOption("mc.cores", 2L))

Arguments

SNPdata

A data table containing SNP level test statistics, chromsome, class, and allele assignment. This must have the column names 'SNP', 'testStat', 'chr', 'class', 'effect_allele', and 'other_allele'.

genoData

This is an object of class 'SnpMatrix' with genotype data to run GenCAT

snpInfo

If 'genoData' is provided this is a table which includes SNP data with columns 'chr', 'SNP', 'position', 'A1', and 'A2'."

pcCutoff

Threshold for the cumulative poportion of eigenvalues given by eigen() for the SNP-wise correlation matrix. By default this is set to 0.95.

workers

Specifies the number of parallel processes to run.

Details

Reference population should be representative of population used to generate SNP level test statistics. Genotype data is input using the arguments genoData and snpInfo. The former should be of class SnpMatrix. The latter should be a data frame similar to that of the map element of the list created by the read.plink or read.pedfile functions from the snpStats package.

The pcCutoff argument specifies the proportion of variability in the SNP wise correlation matrix used in the eigen decomposition and estimation of independent test statistics.

Value

An object of class "GenCATtest" with five elements.

GenCAT

A data frame containing GenCAT test results.

Used

A data frame containing SNP information for SNPs used in GenCAT analysis

notFound

A data frame containing SNP information for SNPs for which there was no reference genotype data

unMatched

A data frame containing SNP information for SNPs in which an allele assignment wasn't in reference genotype

TransStats

A data frame containing transformed test statistics from eigen decomposition of each class

Author(s)

Eric Reed, Sara Nunez, Jing Qian, Andrea Foulkes

References

Qian J, Nunez S, Reed E, Reilly MP, Foulkes AS (2016) <DOI:10.1371/journal.pone.0148218> A Simple Test of Class-Level Genetic Association Can Reveal Novel Cardiometabolic Trait Loci. PLoS ONE 11(2): e0148218.

See Also

snpStats

Examples


###############
#Running GenCAT
###############
data("CardioMapped")

#Subset CardioMapped to decrease CPU time
CardioMappedSub<-CardioMapped[CardioMapped$chr < 15,]
set.seed(1)
CardioMappedSub<-CardioMappedSub[sample(1:nrow(CardioMappedSub), 100),]

print(head(CardioMappedSub))

library(snpStats)
data('geno')

genoData<-geno$genotypes
snpInfo<-geno$map

print(str(genoData))

colnames(snpInfo)<-c('chr', 'SNP', 'gen.dist', 'position', 'A1', 'A2')
print(head(snpInfo))

GenCATtest <- GenCAT(CardioMappedSub, genoData=genoData, snpInfo = snpInfo)

  

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(GenCAT)
Loading required package: dplyr

Attaching package: 'dplyr'

The following objects are masked from 'package:stats':

    filter, lag

The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

Loading required package: doParallel
Loading required package: foreach
Loading required package: iterators
Loading required package: parallel
Loading required package: ggplot2
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/GenCAT/GenCAT.Rd_%03d_medium.png", width=480, height=480)
> ### Name: GenCAT
> ### Title: Running GenCAT
> ### Aliases: GenCAT
> ### Keywords: ~kwd1 ~kwd2
> 
> ### ** Examples
> 
> 
> ###############
> #Running GenCAT
> ###############
> data("CardioMapped")
> 
> #Subset CardioMapped to decrease CPU time
> CardioMappedSub<-CardioMapped[CardioMapped$chr < 15,]
> set.seed(1)
> CardioMappedSub<-CardioMappedSub[sample(1:nrow(CardioMappedSub), 100),]
> 
> print(head(CardioMappedSub))
            SNP effect_allele other_allele   testStat chr position class
17232 rs9572807             C            T -0.3014771  13 72423959 DACH1
24151 rs4389009             G            A -1.4443860  13 99193519 STK24
37178 rs7151730             T            A  0.1387317  14 33531585 NPAS3
58941 rs1076958             G            A  2.0597766  14 91131857 TTC7B
13089 rs7987481             G            A -1.0024210  13 47318950 LRCH1
58302  rs411064             G            A  0.2132412  14 90008860 FOXN3
> 
> library(snpStats)
Loading required package: survival
Loading required package: Matrix
> data('geno')
> 
> genoData<-geno$genotypes
> snpInfo<-geno$map
> 
> print(str(genoData))
Formal class 'SnpMatrix' [package "snpStats"] with 1 slot
  ..@ .Data: raw [1:99, 1:84195] 01 03 02 03 ...
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : chr [1:99] "CEU_1" "CEU_2" "CEU_3" "CEU_4" ...
  .. .. ..$ : chr [1:84195] "rs624673" "rs9511877" "rs638773" "rs9511880" ...
NULL
> 
> colnames(snpInfo)<-c('chr', 'SNP', 'gen.dist', 'position', 'A1', 'A2')
> print(head(snpInfo))
          chr       SNP gen.dist position A1 A2
rs624673   13  rs624673       NA 19743996  G  A
rs9511877  13 rs9511877       NA 19744070  A  G
rs638773   13  rs638773       NA 19744848  A  G
rs9511880  13 rs9511880       NA 19745096  G  T
rs482278   13  rs482278       NA 19745251  A  G
rs9507552  13 rs9507552       NA 19745903  G  A
> 
> GenCATtest <- GenCAT(CardioMappedSub, genoData=genoData, snpInfo = snpInfo)
[1] "Running GenCAT on 41 classes on chromosome 13."
[1] "Running GenCAT on 43 classes on chromosome 14."
> 
>   
> 
> 
> 
> 
> dev.off()
null device 
          1 
>