| lva {AllelicImbalance} | R Documentation |
make an almlof regression for arrays
lva(x, ...) ## S4 method for signature 'ASEset' lva( x, rv, region, settings = list(), return.class = "LinkVariantAlmlof", type = "lm", verbose = FALSE, covariates = matrix(), ... )
x |
ASEset object with phase and 'ref'/'alt' allele information |
... |
arguments to forward to internal functions |
rv |
RiskVariant object with phase and 'ref'/'alt' allele information |
region |
RiskVariant object with phase and alternative allele information |
settings |
RiskVariant object with phase and alternative allele information |
return.class |
'LinkVariantAlmlof' (more options in future) |
type |
"lm" or "nlme", "nlme" needs subject information |
verbose |
logical, if set TRUE, then function will be more talkative |
covariates |
add data.frame with covariates (only integers and numeric) |
internal method that takes one array with results from regionSummary and one matrix with group information for each risk SNP (based on phase)
Jesper R. Gadin, Lasse Folkersen
data(ASEset)
a <- ASEset
# Add phase
set.seed(1)
p1 <- matrix(sample(c(1,0),replace=TRUE, size=nrow(a)*ncol(a)),nrow=nrow(a), ncol(a))
p2 <- matrix(sample(c(1,0),replace=TRUE, size=nrow(a)*ncol(a)),nrow=nrow(a), ncol(a))
p <- matrix(paste(p1,sample(c("|","|","/"), size=nrow(a)*ncol(a), replace=TRUE), p2, sep=""),
nrow=nrow(a), ncol(a))
phase(a) <- p
#add alternative allele information
mcols(a)[["alt"]] <- inferAltAllele(a)
#init risk variants
p.ar <- phaseMatrix2Array(p)
rv <- RiskVariantFromGRangesAndPhaseArray(x=GRvariants, phase=p.ar)
#colnames has to be samea and same order in ASEset and RiskVariant
colnames(a) <- colnames(rv)
# in this example each and every snp in the ASEset defines a region
r1 <- granges(a)
#use GRangesList to merge and use regions defined by each element of the
#GRangesList
r1b <- GRangesList(r1)
r1c <- GRangesList(r1, r1)
# in this example two overlapping subsets of snps in the ASEset defines the region
r2 <- split(granges(a)[c(1,2,2,3)],c(1,1,2,2))
# link variant almlof (lva)
lva(a, rv, r1)
lva(a, rv, r1b)
lva(a, rv, r1c)
lva(a, rv, r2)
# Use covariates (integers or nuemric)
cov <- data.frame(age=sample(20:70, ncol(a)), sex=rep(c(1,2), each=ncol(a)/2),
row.names=colnames(a))
lva(a, rv, r1, covariates=cov)
lva(a, rv, r1b, covariates=cov)
lva(a, rv, r1c, covariates=cov)
lva(a, rv, r2, covariates=cov)
# link variant almlof (lva), using nlme
a2 <- a
ac <- assays(a2)[["countsPlus"]]
jit <- sample(c(seq(-0.10,0,length=5), seq(0,0.10,length=5)), size=length(ac) , replace=TRUE)
assays(a2, withDimnames=FALSE)[["countsPlus"]] <- round(ac * (1+jit),0)
ab <- cbind(a, a2)
colData(ab)[["subject.group"]] <- c(1:ncol(a),1:ncol(a))
rv2 <- rv[,c(1:ncol(a),1:ncol(a))]
colnames(ab) <- colnames(rv2)
lva(ab, rv2, r1, type="nlme")
lva(ab, rv2, r1b, type="nlme")
lva(ab, rv2, r1c, type="nlme")
lva(ab, rv2, r2, type="nlme")