Description Usage Arguments Details Value Author(s) Examples

View source: R/diffSpliceDGE.R

Given a negative binomial generalized log-linear model fit at the exon level, test for differential exon usage between experimental conditions.

1 2 |

`glmfit` |
an |

`coef` |
integer indicating which coefficient of the generalized linear model is to be tested for differential exon usage. Defaults to the last coefficient. |

`contrast` |
numeric vector specifying the contrast of the linear model coefficients to be tested for differential exon usage. Length must equal to the number of columns of |

`geneid` |
gene identifiers. Either a vector of length |

`exonid` |
exon identifiers. Either a vector of length |

`prior.count` |
average prior count to be added to observation to shrink the estimated log-fold-changes towards zero. |

`verbose` |
logical, if |

This function tests for differential exon usage for each gene for a given coefficient of the generalized linear model.

Testing for differential exon usage is equivalent to testing whether the exons in each gene have the same log-fold-changes as the other exons in the same gene. At exon-level, the log-fold-change of each exon is compared to the log-fold-change of the entire gene which contains that exon. At gene-level, two different tests are provided. One is converting exon-level p-values to gene-level p-values by the Simes method. The other is using exon-level test statistics to conduct gene-level tests.

`diffSpliceDGE`

produces an object of class `DGELRT`

containing the component `design`

from `glmfit`

plus the following new components:

`comparison` |
character string describing the coefficient being tested. |

`coefficients` |
numeric vector of coefficients on the natural log scale. Each coefficient is the difference between the log-fold-change for that exon versus the log-fold-change for the entire gene which contains that exon. |

`genes` |
data.frame of exon annotation. |

`genecolname` |
character string giving the name of the column of |

`exoncolname` |
character string giving the name of the column of |

`exon.df.test` |
numeric vector of testing degrees of freedom for exons. |

`exon.p.value` |
numeric vector of p-values for exons. |

`gene.df.test` |
numeric vector of testing degrees of freedom for genes. |

`gene.p.value` |
numeric vector of gene-level testing p-values. |

`gene.Simes.p.value` |
numeric vector of Simes' p-values for genes. |

`gene.genes` |
data.frame of gene annotation. |

Some components of the output depend on whether `glmfit`

is produced by `glmFit`

or `glmQLFit`

.
If `glmfit`

is produced by `glmFit`

, then the following components are returned in the output object:

`exon.LR` |
numeric vector of LR-statistics for exons. |

`gene.LR` |
numeric vector of LR-statistics for gene-level test. |

If `glmfit`

is produced by `glmQLFit`

, then the following components are returned in the output object:

`exon.F` |
numeric vector of F-statistics for exons. |

`gene.df.prior` |
numeric vector of prior degrees of freedom for genes. |

`gene.df.residual` |
numeric vector of residual degrees of freedom for genes. |

`gene.F` |
numeric vector of F-statistics for gene-level test. |

The information and testing results for both exons and genes are sorted by geneid and by exonid within gene.

Yunshun Chen and Gordon Smyth

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ```
# Gene exon annotation
Gene <- paste("Gene", 1:100, sep="")
Gene <- rep(Gene, each=10)
Exon <- paste("Ex", 1:10, sep="")
Gene.Exon <- paste(Gene, Exon, sep=".")
genes <- data.frame(GeneID=Gene, Gene.Exon=Gene.Exon)
group <- factor(rep(1:2, each=3))
design <- model.matrix(~group)
mu <- matrix(100, nrow=1000, ncol=6)
# knock-out the first exon of Gene1 by 90%
mu[1,4:6] <- 10
# generate exon counts
counts <- matrix(rnbinom(6000,mu=mu,size=20),1000,6)
y <- DGEList(counts=counts, lib.size=rep(1e6,6), genes=genes)
gfit <- glmFit(y, design, dispersion=0.05)
ds <- diffSpliceDGE(gfit, geneid="GeneID")
topSpliceDGE(ds)
plotSpliceDGE(ds)
``` |

edgeR documentation built on Nov. 1, 2018, 4:13 a.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.