| Type: | Package | 
| Title: | Family Sequence Kernel Association Test for Rare and Common Variants | 
| Version: | 1.1.0 | 
| Author: | Khalid B. Kunji [aut, cre], Mohamad Saad [aut] | 
| Maintainer: | Khalid B. Kunji <kkunji@hbku.edu.qa> | 
| Repository: | CRAN | 
| Description: | FamSKAT-RC is a family-based association kernel test for both rare and common variants. This test is general and several special cases are known as other methods: famSKAT, which only focuses on rare variants in family-based data, SKAT, which focuses on rare variants in population-based data (unrelated individuals), and SKAT-RC, which focuses on both rare and common variants in population-based data. When one applies famSKAT-RC and sets the value of phi to 1, famSKAT-RC becomes famSKAT. When one applies famSKAT-RC and set the value of phi to 1 and the kinship matrix to the identity matrix, famSKAT-RC becomes SKAT. When one applies famSKAT-RC and set the kinship matrix (fullkins) to the identity matrix (and phi is not equal to 1), famSKAT-RC becomes SKAT-RC. We also include a small sample synthetic pedigree to demonstrate the method with. For more details see Saad M and Wijsman EM (2014) <doi:10.1002/gepi.21844>. | 
| License: | GPL (≥ 3) | 
| URL: | https://www.r-project.org, https://www.ncbi.nlm.nih.gov/pubmed/25132070 | 
| Imports: | CompQuadForm, kinship2, coxme, bdsmatrix | 
| Depends: | R (≥ 3.4.1) | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| KeepSource: | TRUE | 
| NeedsCompilation: | no | 
| Packaged: | 2017-11-08 19:24:55 UTC; kunji | 
| Date/Publication: | 2017-11-09 15:01:06 UTC | 
Family Sequence Kernel Association Test for Rare and Common Variants
Description
FamSKAT-RC is a family-based association kernel test for both rare and common variants. This test is general and several special cases are known as other methods: famSKAT, which only focuses on rare variants in family-based data, SKAT, which focuses on rare variants in population-based data (unrelated individuals), and SKAT-RC, which focuses on both rare and common variants in population-based data. When one applies famSKAT-RC and sets the value of phi to 1, famSKAT-RC becomes famSKAT. When one applies famSKAT-RC and set the value of phi to 1 and the kinship matrix to the identity matrix, famSKAT-RC becomes SKAT. When one applies famSKAT-RC and set the kinship matrix (fullkins) to the identity matrix (and phi is not equal to 1), famSKAT-RC becomes SKAT-RC. We also include a small sample synthetic pedigree to demonstrate the method with. For more details see Saad M and Wijsman EM (2014) <doi:10.1002/gepi.21844>.
Author(s)
Khalid B. Kunji [aut, cre], Mohamad Saad [aut]
Maintainer: Khalid B. Kunji <kkunji@hbku.edu.qa>
References
Saad M and Wijsman EM (2014) Combining family- and population-based imputation data for association analysis of rare and common variants in large pedigrees. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4190076/
famSKAT_RC
Description
FamSKAT-RC is a family-based association kernel test for both rare and common variants.
Usage
famSKAT_RC (PHENO, genotypes, id, fullkins, covariates=NULL, sqrtweights_c,
            sqrtweights_r, binomialimpute=FALSE, acc=NULL, maf, phi)
Arguments
| PHENO | The vector of the phenotype values. The missing values must be represented by NA. | 
| genotypes | The genotype matrix. Its size should be N * P, where N is the number of individuals and P is the number of SNPs. | 
| id | The vector of individual IDs to be included in the test. These IDs are present in the kinship matrix. | 
| fullkins | The full kinship matrix that contains all individuals. | 
| covariates | A matrix of possible covariates. | 
| sqrtweights_c | The weight function to be assigned for common variants. An example is: function(maf) ifelse(maf>0, dbeta(maf,0.5,0.5), 0). | 
| sqrtweights_r | The weight function to be assigned for rare variants. An example is: function(maf) ifelse(maf>0, dbeta(maf,1,25), 0). | 
| binomialimpute | If TRUE, then impute missing genotypes using a binomial distribution (e.g. rbinom(10, 2, MAF), if 10 genotypes are missing). | 
| acc | The accuracy used in the Davies approximation. For example, acc= 1e-06. | 
| maf | A MAF threshold used to define rare and common variants (e.g. maf=0.01). | 
| phi | This parameter indicates the contribution portion of rare variants. For example, a value of phi=0.5 means that the contribution of rare and common variants to the test is equaland a value of phi=1 means that only rare variants contribute to the test. You can vary the phi values as you wish and you can also provide a grid of different values (e.g. phi = c(0,0.2,0.5,0.9)). In this case, four p-values will be obtained, one for each value of phi. | 
Details
FamSKAT-RC is a family-based association kernel test for both rare and common variants. This test is general and several special cases are known as other methods: famSKAT, which only focuses on rare variants in family-based data, SKAT, which focuses on rare variants in population-based data (unrelated individuals), and SKAT-RC, which focuses on both rare and common variants in population-based data. When one applies famSKAT-RC and sets the value of phi to 1, famSKAT-RC becomes famSKAT. When one applies famSKAT-RC and set the value of phi to 1 and the kinship matrix to the identity matrix, famSKAT-RC becomes SKAT. When one applies famSKAT-RC and set the kinship matrix (fullkins) to the identity matrix (and phi is not equal to 1), famSKAT-RC becomes SKAT-RC.
Value
The test statistic p-value.
| temp_pvalues | Some Description | 
Examples
library(kinship2)
sample.ped.geno <- process_data()
KIN = kinship(sample.ped.geno$IID, sample.ped.geno$FA, sample.ped.geno$MO)
IID = sample.ped.geno$IID
wuweights_r <- function(maf) ifelse(maf>0, dbeta(maf,1,25), 0)
wuweights_c <- function(maf) ifelse(maf>0, dbeta(maf,0.5,0.5), 0)
P_VALUES <- famSKAT_RC(PHENO=sample.ped.geno[,"Phenotype"],genotypes=as.matrix(
            sample.ped.geno[,7:ncol(sample.ped.geno)]), binomialimpute=TRUE,
            id=IID,fullkins=KIN,maf=0.05, sqrtweights_c=wuweights_c,
            sqrtweights_r=wuweights_r, phi = c(0,0.2,0.5,0.9))
print(P_VALUES)
Process Data
Description
Processes the raw data included to produce data identical to the (also included) sample.ped.geno data set. This can be used for processing your own pedigrees with SNP data.
Usage
process_data(Data = read.table(system.file("extdata", "data",
                                            package = "famSKATRC"), header = TRUE))
Arguments
| Data | A string, the path to the location of the data file you are processing, formatted as
the included example, which can be loaded with:
 | 
Value
Returns the data frame with completed preprocessing changes for famSKATRC. Mainly reworking IDs so there are not duplicates.
See Also
Examples
sample.ped.geno <- process_data()
## The function is currently defined as
function(Data = read.table(system.file("extdata", "data",
                                                package = "famSKATRC"), header = TRUE))
{
  Data[ , "IID"] = paste(Data[ , "FID"]  , Data[ , "IID"]  ,sep=".")
  Data[Data[,"FA"]!=0 , "FA"] = paste(Data[Data[,"FA"]!=0 , "FID"], Data[Data[,"FA"]!=0,
                                                                        "FA"]  ,sep=".")
  Data[Data[,"FA"]!=0 , "MO"] = paste(Data[Data[,"FA"]!=0 , "FID"], Data[Data[,"FA"]!=0,
                                                                        "MO"]  ,sep=".")
  return(Data)
}
Sample Pedigree Genotype Data
Description
A sample pedigree file with SNP data, already processed by the process_data() function. The raw data is also included in the package.
Usage
data("sample.ped.geno")Format
A data frame with 20 observations on the following 36 variables.
- FID
- a numeric vector 
- IID
- a character vector 
- FA
- a character vector 
- MO
- a character vector 
- SEX
- a numeric vector 
- Phenotype
- a numeric vector 
- rs1
- a numeric vector 
- rs2
- a numeric vector 
- rs3
- a numeric vector 
- rs4
- a numeric vector 
- rs5
- a numeric vector 
- rs6
- a numeric vector 
- rs7
- a numeric vector 
- rs8
- a numeric vector 
- rs9
- a numeric vector 
- rs10
- a numeric vector 
- rs11
- a numeric vector 
- rs12
- a numeric vector 
- rs13
- a numeric vector 
- rs14
- a numeric vector 
- rs15
- a numeric vector 
- rs16
- a numeric vector 
- rs17
- a numeric vector 
- rs18
- a numeric vector 
- rs19
- a numeric vector 
- rs20
- a numeric vector 
- rs21
- a numeric vector 
- rs22
- a numeric vector 
- rs23
- a numeric vector 
- rs24
- a numeric vector 
- rs25
- a numeric vector 
- rs26
- a numeric vector 
- rs27
- a numeric vector 
- rs28
- a numeric vector 
- rs29
- a numeric vector 
- rs30
- a numeric vector 
Details
A pedigree file with 20 individuals from two families. The first column is a family ID, the second an individual ID, the 3rd gives their father, the 4th their mother, and the 5th their sex. The 6th column gives their phenotype and columns 7 through 36 give their genotype, 30 SNP loci.
Source
This is synthetically generated data.
Examples
data(sample.ped.geno)
library(kinship2)
sample.ped.geno$FA[sample.ped.geno$FA == "0"] <- NA
sample.ped.geno$MO[sample.ped.geno$MO == "0"] <- NA
sample.ped.geno$Phenotype[sample.ped.geno$Phenotype >= 0] <- 1
sample.ped.geno$Phenotype[sample.ped.geno$Phenotype < 0] <- 0
ped.list <- pedigree(id = sample.ped.geno$IID, dadid = sample.ped.geno$FA,
                     momid = sample.ped.geno$MO, sex = sample.ped.geno$SEX,
                     famid = sample.ped.geno$FID,
                     affected = sample.ped.geno$Phenotype)
ped1 <- ped.list[1]
ped2 <- ped.list[2]
plot(ped1)
plot(ped2)