isoformSwitchTest {IsoformSwitchAnalyzeR}R Documentation

Statistical Test of Isoform Switching.

Description

This function performs a statistical test (see details) for each isoforms (isoform resolution) and conditions stored in the switchAnalyzeRlist object.

Usage

isoformSwitchTest(
    switchAnalyzeRlist,
    alpha=0.05,
    dIFcutoff = 0.1,
    reduceToSwitchingGenes = TRUE,
    calibratePvalues=TRUE,
    showProgress=FALSE,
    quiet=FALSE
)

Arguments

switchAnalyzeRlist

A switchAnalyzeRlist object.

alpha

The cutoff which the (calibrated) fdr correct p-values must be smaller than for calling significant switches. Defuault is 0.05.

dIFcutoff

The cutoff which the changes in (absolute) isoform usage must be larger than before an isoform is considered switching. This cutoff can remove cases where isoforms with (very) low dIF values are deemed significant and thereby included in the downstream analysis. This cutoff is analogous to having a cutoff on log2 fold change in a normal differential expression analysis of genes to ensure the genes have a certain effect size. Default is 0.1 (10%).

reduceToSwitchingGenes

A logic indicating whether the switchAnalyzeRlist should be reduced to the genes which contains significant switching (as indicated by the alpha and dIFcutoff parameters). Enabling this will make the downstream analysis a lot faster since fewer genes needs to be analyzed. Default is TRUE.

calibratePvalues

A logic indicating whether the p-values should be calibrated according to the methods in Ferguson et al (2014), this will only be done if the p-value distribution is very skewed (if the estimated sigma^2 values is < 0.9) as suggested by the authors. See details for more information. Default is TRUE.

showProgress

A logic indicating whether to make a progress bar (if TRUE) or not (if FALSE). Defaults is FALSE.

quiet

A logic indicating whether to avoid printing progress messages (incl. progress bar). Default is FALSE

Details

Changes in isoform usage are measure as the difference in isoform fraction (dIF) values, where isoform fraction (IF) values are calculated as <isoform_exp> / <gene_exp>.

The idea behind test implemented in isoformSwitchTest can be explained as a three step process:

The procedure implemented here to esitmating the uncertainty of IF values (e.g. the variance of the IF values) is only robust when the gene expression is not close to zero. When the gene expression is to close to zero the variance estimate becomes untrustworthy. To prevent this we have implemented a hardcoded filter that only allows estimation of the IF variance (and thereby testing of an isoform) if the 95% confidence intervals (CI) of the gene expression (in both conditions) is larger than zero. The 95% CI is calculated via the t-distribution thereby taking sample size into account.

The p-value calibration, if enabled, is only performed if the sigma^2 (sigma squared) estimated from the top 50% expressed data is smaller than 0.9 in accordance with the guidelines suggested by the author.

For full description please see the methods section of Vitting-Seerup et al 2017.

Value

A switchAnalyzeRlist where the following have been modified:

The data.frame added have one row per isoform per comparison of condition and contains the following columns:

Author(s)

Kristoffer Vitting-Seerup

References

See Also

preFilter
extractSwitchSummary
extractTopSwitches

Examples

# Load example data and prefilter
data("exampleSwitchList")
exampleSwitchList <- preFilter(exampleSwitchList)

# Perfom test
exampleSwitchListAnalyzed <- isoformSwitchTest(exampleSwitchList)

# extract summary of number of switching features
extractSwitchSummary(exampleSwitchListAnalyzed)

# extract whether p-value callibration was performed
extractCalibrationStatus(exampleSwitchListAnalyzed)

[Package IsoformSwitchAnalyzeR version 1.2.0 Index]