unpack {GenomicFiles} | R Documentation

## Un-pack results obtained with a pack()ed group of ranges

### Description

`unpack` returns results obtained with pack()ed ranges to the geometry of the original, unpacked ranges.

### Usage

    ## S4 method for signature 'list,GRangesList'
    unpack(flesh, skeleton, ...)
    ## S4 method for signature 'List,GRangesList'
    unpack(flesh, skeleton, ...)

### Arguments

`flesh` | A `List` object to be unpacked; the result from querying a file with `skeleton`.
`skeleton` | The `GRangesList` created with 'pack(x)'.
`...` | Arguments passed to other methods.

### Details

`unpack` returns a `List` obtained with packed ranges to the geometry and order of the original, unpacked ranges.

### Value

A unpacked form of `flesh`.

### See Also

- `pack` for packing ranges.

### Examples

      fl <- system.file("extdata", "ex1.bam", package = "Rsamtools")
      gr <- GRanges(c(rep("seq2", 3), "seq1"),
                    IRanges(c(75, 1, 100, 1), width = 2))

      ## Ranges are packed by order within chromosome and grouped
      ## around gaps greater than 'inter_range_len'. See ?pack for details.
      pk <- pack(gr, inter_range_len = 25)

      ## FUN computes coverage for the range passed as 'rng'.
      FUN <- function(rng, fl, param) {
          requireNamespace("GenomicAlignments") ## for bamWhich() and coverage()
          Rsamtools::bamWhich(param) <- rng
          GenomicAlignments::coverage(Rsamtools::BamFile(fl), param=param)[rng]
      }

      ## Compute coverage on the packed ranges.
      dat <- bplapply(as.list(pk), FUN, fl = fl, param = ScanBamParam())

      ## The result list contains RleLists of coverage.
      lapply(dat, class)

      ## unpack() transforms the results back to the order of
      ## the original ranges (i.e., unpacked 'gr').
      unpack(dat, pk)

[Package GenomicFiles version 1.30.0 Index]