extractSplicingGenomeWide {IsoformSwitchAnalyzeR} | R Documentation

## Genome wide Analysis of alternative splicing

### Description

This function enables a genome wide analysis of changes in isoform usage of isoforms with a common annotaiton.

Specifically this function extract isoforms of interest and for each splicing type (such as exon skipping) the global distribution of IF (measuring isoform usage) are plottet for each subset of features in that category (e.g with exons skipping vs without exon skipping). This enables a gplobal analysis of isoforms with a common annotation.

The isoforms of interest can either be defined by isoforms form gene differentially expressed, isoform that are differential expressed or isoforms from genes with isoform switching - as controled by `featureToExtract`.

This function offers both vizualization of the result as well as analysis via summary statistics of the comparisons.

### Usage

    extractSplicingGenomeWide(
        switchAnalyzeRlist,
        featureToExtract = 'isoformUsage',
        splicingToAnalyze = 'all',
        alpha=0.05,
        dIFcutoff = 0.1,
        log2FCcutoff = 1,
        violinPlot=TRUE,
        alphas=c(0.05, 0.001),
        localTheme=theme_bw(),
        plot=TRUE,
        returnResult=TRUE
    )

### Arguments

`switchAnalyzeRlist` | A `switchAnalyzeRlist` object containing the result of an isoform switch analysis (such as the one provided by `isoformSwitchTestDEXSeq()`) as well as additional annotation data for the isoforms.
`featureToExtract` | This argument, given as a string, defines the set isoforms which should be analyzed. The advailable options are: `'isoformUsage'` (Default): Analyze a subset of isoforms defined by change in isoform usage (controlled by `dIFcutoff`) and the significance of the change in isoform expression (controlled by `alpha`) `'isoformExp'` :Analyze a subset of isoforms defined by change in isoform expression (controlled by `log2FCcutoff`) and the significance of the change in isoform expression (controlled by `alpha`) `'geneExp'` :Analyze all isoforms from a subset of genes defined by by change in gene expression (controlled by `log2FCcutoff`) and the significance of the change in gene expression (controlled by `alpha`) `'all'` : Analyze all isoforms stored in the switchAnalyzeRlist (note that this is highly depending on the parameter `reduceToSwitchingGenes` in isoformSwitchTestDEXSeq - which should be set to FALSE (default is TRUE) if the 'all' option should be used here).
`splicingToAnalyze` | A string indicating which consequnces should be considered. See details for description. Default is all.
`alpha` | The cutoff which the FDR correct p-values (q-values) must be smaller than for calling significant switches. Defualit 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 signicant 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%).
`log2FCcutoff` | The cutoff which the changes in (absolute) isoform or gene expression must be larger than before an isoform is considered for inclusion.
`violinPlot` | A logical indicating whether to make a violin plots (if TRUE) or boxplots (if FALSE). Violin plots will always have added 3 black dots, one of each of the 25th, 50th (median) and 75th percentile of the data. Default is TRUE.
`alphas` | A numeric vector of length two giving the significance levels represented in plots. The numbers indicate the q-value cutoff for significant (*) and highly significant (***) respecitively. Default 0.05 and 0.001 which should be interpret as q<0.05 and q<0.001 respectively). If q-values are higher than this they will be annotated as 'ns' (not significant).
`localTheme` | General ggplo2 theme with which the plot is made, see `?ggplot2::theme` for more info. Default is theme_bw().
`plot` | A logical indicating whether to generate the plot (if TRUE) not (if FALSE). Default is TRUE.
`returnResult` | A logical indicating whether to return a data.frame with summary statistics of the comparisons (if TRUE) or not (if FALSE). Default is TRUE.

### Details

The classification of alternative splicing is always compared to the hypothetical pre-mRNA constructed by concatenating all exons from isoforms of the same gene.

The alternative splicing types, which can be passed to `splicingToAnalyze` must be a combination of:

- `all` : All of the alternative splicing types indicated below.

- `IR` : Intron Retention.

- `A5` : Alternative 5' donor site (changes in the 5'end of the upstream exon).

- `A3` : Alternative 3' acceptor site (changes in the 3'end of the downstream exon).

- `ATSS` : Alternative Transcription Start Site.

- `ATTS` : Alternative Transcription Termination Site.

- `ES` : Exon Skipping.

- `MES` : Multiple Exon Skipping. Skipping of >1 consequtive exons.

- `MEE` : Mutually Exclusive Exons.

The significance test is performed with R's build in `wilcox.test()` (aka 'Mann-Whitney-U') with default parameters and resulting p-values are corrected via p.adjust() using FDR (Benjamini-Hochberg).

### Value

If `plot=TRUE`: A plot of the distribution of IF values as a function of the annotation and condition compared. If `returnResult=TRUE`: A data.frame with the summary statistics from the comparison of the two conditions with a wilcox.test.

### Author(s)

Kristoffer Vitting-Seerup

### References

Vitting-Seerup et al. The Landscape of Isoform Switches in Human Cancers. Mol. Cancer Res. (2017).

### See Also

`isoformSwitchTestDEXSeq`
`isoformSwitchTestDRIMSeq`
`analyzeAlternativeSplicing`
`extractSplicingSummary`
`extractSplicingEnrichment`
`extractSplicingEnrichmentComparison`

### Examples

    ### Load example data
    data("exampleSwitchListAnalyzed")

    extractSplicingGenomeWide( exampleSwitchListAnalyzed )

[Package IsoformSwitchAnalyzeR version 1.4.0 Index]