sortPerGroup {ORFik} | R Documentation

## Sort a GRangesList

### Description

A faster, more versatile reimplementation of `sort.GenomicRanges` for GRangesList, needed since the original works poorly for more than 10k groups. This function sorts each group, where "+" strands are increasing by starts and "-" strands are decreasing by ends.

### Usage

    sortPerGroup(grl, ignore.strand = FALSE, quick.rev = FALSE)

### Arguments

`grl` | a `GRangesList`
`ignore.strand` | a boolean, (default FALSE): should minus strands be sorted from highest to lowest ends. If TRUE: from lowest to highest ends.
`quick.rev` | default: FALSE, if TRUE, given that you know all ranges are sorted from min to max for both strands, it will only reverse coordinates for minus strand groups, and only if they are in increasing order. Much quicker

### Details

Note: will not work if groups have equal names.

### Value

an equally named GRangesList, where each group is sorted within group.

### Examples

    gr_plus <- GRanges(seqnames = c("chr1", "chr1"),
                       ranges = IRanges(c(14, 7), width = 3),
                       strand = c("+", "+"))
    gr_minus <- GRanges(seqnames = c("chr2", "chr2"),
                        ranges = IRanges(c(1, 4), c(3, 9)),
                        strand = c("-", "-"))
    grl <- GRangesList(tx1 = gr_plus, tx2 = gr_minus)
    sortPerGroup(grl)

[Package ORFik version 1.12.13 Index]