Run_NxtIRF_Filters: Filtering for IR and Alternative Splicing Events

Run_NxtIRF_FiltersR Documentation

Filtering for IR and Alternative Splicing Events

Description

This function implements filtering of IR or AS events based on customisable criteria. See NxtFilter for details.

Usage

get_default_filters(legacy = FALSE)

apply_filters(se, filters = get_default_filters())

runFilter(se, filterObj)

Arguments

legacy

(default FALSE) Set to TRUE to get the first four default filters introduced in the initial NxtIRFcore release.

se

the NxtSE object to filter

filters

A vector or list of one or more NxtFilter objects. If left blank, the NxtIRF default filters will be used.

filterObj

A single NxtFilter object.

Details

We highly recommend using the default filters, which are as follows:

  • (1) Depth filter of 20,

  • (2) Coverage filter requiring 90% coverage in IR events.

  • (3) Coverage filter requiring 60% coverage in AS events (i.e. Included + Excluded isoforms must cover at least 60% of all junction events across the given region)

  • (4) Consistency filter requring log difference of 2 (for skipped exon and mutually exclusive exon events, each junction must comprise at least 1/(2^2) = 1/4 of all reads associated with each isoform). For retained introns, the exon-intron overhangs must not differ by 1/4

Also, in NxtIRFcore version 1.1.1 and above, we introduced two annotation-based filters:

  • (5) Terminus filter: In alternate first exons, the splice junction must not be shared with another transcript for which it is not its first intron. For alternative last exons, the splice junction must not be shared with another transcript for which it is not its last intron

  • (6) ExclusiveMXE filter: For MXE events, the two alternate casette exons must not overlap in their genomic regions

In all data-based filters, we require at least 80% samples (pcTRUE = 80) to pass this filters from the entire dataset (minCond = -1).

Events with event read depth (reads supporting either included or excluded isoforms) lower than 5 (minDepth = 5) are not assessed in filter #2, and in #3 and #4 this threshold is (minDepth = 20).

For an explanation of the various parameters mentioned here, see NxtFilter

Value

For runFilter and apply_filters: a vector of type logical, representing the rows of NxtSE that should be kept.

For get_default_filters: returns a list of default recommended filters that should be parsed into apply_filters.

Functions

  • get_default_filters: Returns a vector of recommended default NxtIRF filters

  • apply_filters: Run a vector or list of NxtFilter objects on a NxtSE object

  • runFilter: Run a single filter on a NxtSE object

See Also

NxtFilter for details describing how to create and assign settings to NxtFilter objects.

Examples

# see ?MakeSE on example code of how this object was generated

se <- NxtIRF_example_NxtSE()

# Get the list of NxtIRF recommended filters

filters <- get_default_filters()

# View a description of what these filters do:

filters

# Filter the NxtSE using the first default filter ("Depth")

se.depthfilter <- se[runFilter(se, filters[[1]]), ]

# Filter the NxtSE using all four default filters

se.defaultFiltered <- se[apply_filters(se, get_default_filters()), ]

alexchwong/NxtIRFcore documentation built on Oct. 31, 2022, 9:14 a.m.