The MatchedGRanges class is a subclass of both Matched and GRanges. Therefore, it contains slots and methods for both of these classes.

Details

The MatchedGRanges class uses a delegate object during initialization to assign its GRanges slots. MatchedGRanges behaves as a GRanges but also includes additional Matched object functionality (see ?Matched). For more information about GRanges see ?GenomicRanges::GRanges.

Slots

focal

A GRanges object containing the focal data to match.

pool

A GRanges object containing the pool from which to select matches.

delegate

A GRanges object used to initialize GRanges-specific slots. matchRanges() assigns the matched set to the slot.

matchedData

A data.table with matched data

matchedIndex

An integer vector corresponding to the indices in the pool which comprise the matched set.

covar

A character vector describing the covariates used for matching.

method

Character describing replacement method used for matching.

replace

TRUE/FALSE describing if matching was done with or without replacement.

seqnames

seqnames(delegate)

ranges

ranges(delegate)

strand

strand(delegate)

seqinfo

seqinfo(delegate)

elementMetadata

elementMetadata(delegate)

elementType

elementType(delegate)

metadata

metadata(delegate)

Accessor methods for Matched Class

Functions that get data from Matched subclasses (x) such as MatchedDataFrame, MatchedGRanges, and MatchedGInteractions are listed below:

  • matchedData(x): Get matched data from a Matched object

  • covariates(x): Get covariates from a Matched object

  • method(x): Get matching method used for Matched object

  • withReplacement(x): Get replace method

  • indices(x, set): Get indices of matched set

For more detail check the help pages for these functions.

Accessor methods for Matched subclass objects

Additional functions that get data from Matched subclasses (x) such as MatchedDataFrame, MatchedGRanges, and MatchedGInteractions include:

  • focal(x): Get focal set from a Matched object

  • pool(x): Get pool set from a Matched object

  • matched(x): Get matched set from a Matched object

  • unmatched(x): Get unmatched set from a Matched object

For more detail check the help pages for these functions.

Examples

## Contructing MatchedGRanges with matchRanges
set.seed(123)
gr <- makeExampleMatchedDataSet(type = "GRanges")
mgr <- matchRanges(
  focal = gr[gr$feature1, ],
  pool = gr[!gr$feature1, ],
  covar = ~ feature2 + feature3,
  method = "rejection",
  replace = FALSE
)
class(mgr)
#> [1] "MatchedGRanges"
#> attr(,"package")
#> [1] "nullranges"

## Make MatchedGRanges example
set.seed(123)
x <- makeExampleMatchedDataSet(type = "GRanges", matched = TRUE)
## Accessor functions for Matched class
matchedData(x)
#>        id feature2 feature3         ps       set
#>     1:  1 2.879049        c 0.21095908     focal
#>     2:  1 3.539645        c 0.19210984     focal
#>     3:  1 7.117417        c 0.11193396     focal
#>     4:  1 4.141017        a 0.01771986     focal
#>     5:  1 4.258575        c 0.17308581     focal
#>    ---                                          
#> 20496:  0 1.235781        b 0.08945367 unmatched
#> 20497:  0 1.696712        a 0.02707977 unmatched
#> 20498:  0 6.111404        a 0.01255772 unmatched
#> 20499:  0 2.216575        d 0.07578989 unmatched
#> 20500:  0 5.330029        b 0.04535856 unmatched
covariates(x)
#> [1] "feature2" "feature3"
method(x)
#> [1] "rejection"
withReplacement(x)
#> [1] FALSE
head(indices(x, set = 'matched'))
#> [1] 6100 5198 9886 3619 9077 6763

## Accessor functions for Matched subclasses
focal(x)
#> GRanges object with 500 ranges and 3 metadata columns:
#>         seqnames    ranges strand |  feature1  feature2    feature3
#>            <Rle> <IRanges>  <Rle> | <logical> <numeric> <character>
#>     [1]     chr1     1-100      * |      TRUE   2.87905           c
#>     [2]     chr1     2-101      * |      TRUE   3.53965           c
#>     [3]     chr1     3-102      * |      TRUE   7.11742           c
#>     [4]     chr1     4-103      * |      TRUE   4.14102           a
#>     [5]     chr1     5-104      * |      TRUE   4.25858           c
#>     ...      ...       ...    ... .       ...       ...         ...
#>   [496]     chr1   496-595      * |      TRUE   1.28384           d
#>   [497]     chr1   497-596      * |      TRUE   4.36369           a
#>   [498]     chr1   498-597      * |      TRUE   4.32968           b
#>   [499]     chr1   499-598      * |      TRUE   4.72823           b
#>   [500]     chr1   500-599      * |      TRUE   5.10432           b
#>   -------
#>   seqinfo: 1 sequence from an unspecified genome; no seqlengths
pool(x)
#> GRanges object with 10000 ranges and 3 metadata columns:
#>           seqnames      ranges strand |  feature1  feature2    feature3
#>              <Rle>   <IRanges>  <Rle> | <logical> <numeric> <character>
#>       [1]     chr1     501-600      * |     FALSE   3.28347           e
#>       [2]     chr1     502-601      * |     FALSE   7.12640           a
#>       [3]     chr1     503-602      * |     FALSE   1.92222           b
#>       [4]     chr1     504-603      * |     FALSE  10.24116           a
#>       [5]     chr1     505-604      * |     FALSE  10.17287           c
#>       ...      ...         ...    ... .       ...       ...         ...
#>    [9996]     chr1 10496-10595      * |     FALSE   1.23578           b
#>    [9997]     chr1 10497-10596      * |     FALSE   1.69671           a
#>    [9998]     chr1 10498-10597      * |     FALSE   6.11140           a
#>    [9999]     chr1 10499-10598      * |     FALSE   2.21657           d
#>   [10000]     chr1 10500-10599      * |     FALSE   5.33003           b
#>   -------
#>   seqinfo: 1 sequence from an unspecified genome; no seqlengths
matched(x)
#> GRanges object with 500 ranges and 3 metadata columns:
#>         seqnames      ranges strand |  feature1  feature2    feature3
#>            <Rle>   <IRanges>  <Rle> | <logical> <numeric> <character>
#>     [1]     chr1   6600-6699      * |     FALSE  2.108420           c
#>     [2]     chr1   5698-5797      * |     FALSE  5.991699           b
#>     [3]     chr1 10386-10485      * |     FALSE  5.696525           b
#>     [4]     chr1   4119-4218      * |     FALSE  0.409923           a
#>     [5]     chr1   9577-9676      * |     FALSE  9.330107           b
#>     ...      ...         ...    ... .       ...       ...         ...
#>   [496]     chr1   1275-1374      * |     FALSE   3.27301           b
#>   [497]     chr1   4976-5075      * |     FALSE   8.05522           c
#>   [498]     chr1   3917-4016      * |     FALSE   2.01576           a
#>   [499]     chr1 10205-10304      * |     FALSE   6.60221           b
#>   [500]     chr1   1841-1940      * |     FALSE   7.79926           c
#>   -------
#>   seqinfo: 1 sequence from an unspecified genome; no seqlengths
unmatched(x)
#> GRanges object with 9500 ranges and 3 metadata columns:
#>          seqnames      ranges strand |  feature1  feature2    feature3
#>             <Rle>   <IRanges>  <Rle> | <logical> <numeric> <character>
#>      [1]     chr1     501-600      * |     FALSE   3.28347           e
#>      [2]     chr1     502-601      * |     FALSE   7.12640           a
#>      [3]     chr1     503-602      * |     FALSE   1.92222           b
#>      [4]     chr1     504-603      * |     FALSE  10.24116           a
#>      [5]     chr1     505-604      * |     FALSE  10.17287           c
#>      ...      ...         ...    ... .       ...       ...         ...
#>   [9496]     chr1 10496-10595      * |     FALSE   1.23578           b
#>   [9497]     chr1 10497-10596      * |     FALSE   1.69671           a
#>   [9498]     chr1 10498-10597      * |     FALSE   6.11140           a
#>   [9499]     chr1 10499-10598      * |     FALSE   2.21657           d
#>   [9500]     chr1 10500-10599      * |     FALSE   5.33003           b
#>   -------
#>   seqinfo: 1 sequence from an unspecified genome; no seqlengths