Package 'cwot'

Title: Cauchy Weighted Joint Test for Pharmacogenetics Analysis
Description: A flexible and robust joint test of the single nucleotide polymorphism (SNP) main effect and genotype-by-treatment interaction effect for continuous and binary endpoints. Two analytic procedures, Cauchy weighted joint test (CWOT) and adaptively weighted joint test (AWOT), are proposed to accurately calculate the joint test p-value. The proposed methods are evaluated through extensive simulations under various scenarios. The results show that the proposed AWOT and CWOT control type I error well and outperform existing methods in detecting the most interesting signal patterns in pharmacogenetics (PGx) association studies. For reference, see Hong Zhang, Devan Mehrotra and Judong Shen (2022) <doi:10.13140/RG.2.2.28323.53280>.
Authors: Hong Zhang [aut, cre]
Maintainer: Hong Zhang <[email protected]>
License: GPL-2
Version: 0.1.0
Built: 2024-12-25 04:41:24 UTC
Source: https://github.com/cran/cwot

Help Index


Adaptively weighted joint test for main effect and genotype-by-treatment interaction effect for continuous endpoints.

Description

Adaptively weighted joint test for main effect and genotype-by-treatment interaction effect for continuous endpoints.

Usage

awot(nullmod, g, weights = seq(-1, 1, 0.1))

Arguments

nullmod

- The null model object from the output of awot_null.

g

- The variable of interest, e.g., the genotype.

weights

- The pre-specified weights. The default choice is a vector of -1, -0.9,..., 0.9, 1.

Value

The p-value of AWOT and the individual p-values of the composite genotypes.

References

Hong Zhang, Qing Li, Devan Mehrotra and Judong Shen. "CauchyCP: a powerful test under non-proportional hazards using Cauchy combination of change-point Cox regressions", arXiv:2101.00059.

Examples

n = 100
y = rbinom(n, 1, 0.3)
x = data.frame(x1=rnorm(n))
tr = rbinom(n, 1, 0.5)
g = rbinom(n, 2, 0.1)
nullmod = awot_null(y, tr, x)
awot(nullmod, g, weights=seq(-1,1,0.1))

Prepare null model for awot.

Description

Prepare null model for awot.

Usage

awot_null(y, tr, x = NULL)

Arguments

y

- Continuous response variable.

tr

- Binary treatment variable, 1 for treated, 0 for placebo.

x

- Covariates in addition to treatment variable.

Value

A list of objects needed for awot.

References

Hong Zhang, Devan Mehrotra and Judong Shen, "AWOT and CWOT for Genotype and Genotype by Treatment Interaction Joint Analysis in Pharmacogenetics GWAS".

Examples

n = 100
y = rnorm(n)
x = data.frame(x1=rnorm(n))
tr = rbinom(n, 1, 0.5)
nullmod = awot_null(y, tr, x)

Cauchy weighted joint test for main effect and genotype-by-treatment interaction effect for binary endpoints.

Description

Cauchy weighted joint test for main effect and genotype-by-treatment interaction effect for binary endpoints.

Usage

cwot(nullmod, g, weights = seq(-1, 1, 0.1))

Arguments

nullmod

- The null model object from the output of cwot_null.

g

- The variable of interest, e.g., the genotype.

weights

- The pre-specified weights. The default choice is a vector of -1, -0.9,..., 0.9, 1.

Value

The p-values of CWOT, CWOT_Score, CWOT_LRT and the individual p-values of the composite genotypes.

References

Hong Zhang, Qing Li, Devan Mehrotra and Judong Shen. "CauchyCP: a powerful test under non-proportional hazards using Cauchy combination of change-point Cox regressions", arXiv:2101.00059.

Examples

n = 100
y = rbinom(n, 1, 0.3)
x = data.frame(x1=rnorm(n))
tr = rbinom(n, 1, 0.5)
g = rbinom(n, 2, 0.1)
nullmod = cwot_null(y, tr, x)
cwot(nullmod, g, weights=seq(-1,1,0.1))

Prepare null model for cwot.

Description

Prepare null model for cwot.

Usage

cwot_null(y, tr, x = NULL)

Arguments

y

- Binary response variable.

tr

- Binary treatment variable, 1 for treated, 0 for placebo.

x

- Covariates in addition to treatment variable.

Value

A list of objects needed for cwot.

References

Hong Zhang, Devan Mehrotra and Judong Shen, "AWOT and CWOT for Genotype and Genotype by Treatment Interaction Joint Analysis in Pharmacogenetics GWAS".

Examples

n = 100
y = rbinom(n, 1, 0.3)
x = data.frame(x1=rnorm(n))
tr = rbinom(n, 1, 0.5)
nullmod = cwot_null(y, tr, x)