Interaction accessors | R Documentation |
Methods to get and set fields in an InteractionSet or GInteractions object.
## S4 method for signature 'GInteractions'
anchors(x, type="both", id=FALSE)
## S4 method for signature 'InteractionSet'
anchors(x, type="both", id=FALSE)
## S4 method for signature 'GInteractions'
anchorIds(x, type="both")
## S4 method for signature 'InteractionSet'
anchorIds(x, type="both")
## S4 method for signature 'GInteractions'
first(x)
## S4 method for signature 'InteractionSet'
first(x)
## S4 method for signature 'GInteractions'
second(x)
## S4 method for signature 'InteractionSet'
second(x)
## S4 method for signature 'GInteractions'
regions(x)
## S4 method for signature 'InteractionSet'
regions(x)
## S4 method for signature 'GInteractions'
seqinfo(x)
## S4 method for signature 'InteractionSet'
seqinfo(x)
## S4 method for signature 'GInteractions'
show(x)
## S4 method for signature 'InteractionSet'
show(x)
## S4 replacement method for signature 'GInteractions'
anchorIds(x, type="both") <- value
## S4 replacement method for signature 'InteractionSet'
anchorIds(x, type="both") <- value
## S4 replacement method for signature 'GInteractions'
regions(x) <- value
## S4 replacement method for signature 'InteractionSet'
regions(x) <- value
## S4 replacement method for signature 'GInteractions'
seqinfo(x, new2old = NULL,
pruning.mode = c("error", "coarse", "fine", "tidy")) <- value
## S4 replacement method for signature 'InteractionSet'
seqinfo(x, new2old = NULL,
pruning.mode = c("error", "coarse", "fine", "tidy")) <- value
## S4 replacement method for signature 'GInteractions'
replaceRegions(x) <- value
## S4 replacement method for signature 'InteractionSet'
replaceRegions(x) <- value
## S4 replacement method for signature 'GInteractions'
appendRegions(x) <- value
## S4 replacement method for signature 'InteractionSet'
appendRegions(x) <- value
## S4 method for signature 'GInteractions'
reduceRegions(x)
## S4 method for signature 'InteractionSet'
reduceRegions(x)
## S4 method for signature 'GInteractions'
names(x)
## S4 method for signature 'InteractionSet'
names(x)
## S4 replacement method for signature 'GInteractions'
names(x) <- value
## S4 replacement method for signature 'InteractionSet'
names(x) <- value
## S4 replacement method for signature 'StrictGInteractions'
anchors(x, type="both") <- value
## S4 replacement method for signature 'ReverseStrictGInteractions'
anchors(x, type="both") <- value
## S4 method for signature 'GInteractions'
length(x)
## S4 method for signature 'GInteractions'
as.data.frame(x, row.names=NULL, optional=FALSE, ...)
## S4 method for signature 'GInteractions'
x$name
## S4 replacement method for signature 'GInteractions'
x$name <- value
## S4 method for signature 'InteractionSet'
interactions(x)
## S4 replacement method for signature 'InteractionSet'
interactions(x) <- value
## S4 method for signature 'InteractionSet'
mcols(x, use.names=FALSE)
## S4 replacement method for signature 'InteractionSet'
mcols(x) <- value
x |
An InteractionSet or GInteractions object. |
type |
a string specifying which anchors are to be extracted or replaced. |
id |
a scalar logical indicating whether indices or GRanges should be returned. |
new2old, pruning.mode |
Additional arguments to pass to |
name |
a string indicating the field of |
value |
For For For |
row.names, optional, ... |
Additional arguments, see |
use.names |
A logical scalar, see |
For the getters, values in various slots of x
are returned, while for the setters, the slots of x
are modified accordingly – see Details.
The return value of anchors
varies depending on type
and id
:
If id=FALSE
, a GRanges object is returned containing the regions specified by the anchor1
or anchor2
slots in x
,
for type=="first"
or "second"
, respectively.
The first
and second
methods are synonyms for anchors
in these respective cases.
If id=FALSE
and type="both"
, a list is returned with two entries first
and second
, containing regions specified by anchor1
and anchor2
respectively.
If id=TRUE
and type="both"
, a list is returned containing the two integer vectors in the anchor1
or anchor2
slots of x
.
Otherwise, each vector is returned corresponding to the requested value of type
.
Note that anchorIds
is the same as calling anchors
with id=TRUE
.
Replacement in anchorIds<-
requires anchor indices rather than a GRanges object.
If type="both"
, a list of two integer vectors is required in value
, specifying the indices of the interacting regions in regions(x)
.
If type="first"
or "second"
, an integer vector is required to replace the existing values in the anchor1
or anchor2
slot, respectively.
If the object is a StrictGInteractions, indices are automatically swapped so that anchor1 >= anchor2
for each interaction.
The opposite applies if the object is a ReverseStrictGInteractions.
For regions
, a GRanges is returned equal to the regions
slot in x
.
For regions<-
, the GRanges in value
is used to replace the regions
slot.
Resorting of the replacement GRanges is performed automatically, along with re-indexing of the anchors.
In addition, the replacement must be of the same length as the existing object in the regions
slot.
The replaceRegions
replacement method can take variable length GRanges, but requires that the replacement contain (at least) all ranges contained in anchors(x)
.
The appendRegions
replacement method appends extra intervals to the existing regions
slot of x
.
This is more efficient than calling replaceRegions
on a concatenated object with regions(x)
and the extra intervals.
The reduceRegions
method will return a GInteractions object where the regions
slot is reduced to only those entries used in anchors(x)
.
This may save some memory in each object by removing unused regions.
However, this is not recommended for large workflows with many GInteractions objects.
R uses a copy-on-write memory management scheme, so only one copy of the GRanges in regions
should be stored so long as it is not modified in different objects.
For access and setting of all other slots, see Vector-class
for details on the appropriate methods.
This includes mcols
or metadata
, to store interactions-specific or experiment-wide metadata, respectively.
The length
method will return the number of interactions stored in x
.
The show
method will print out the class, the number of pairwise interactions, and the total number of regions in the GInteractions object.
The number and names of the various metadata fields will also be printed.
The as.data.frame
method will return a data.frame object containing the coordinates for the two anchor regions as well as any element-wise metadata.
The seqinfo
method will return the sequence information of the GRanges in the regions
slot.
This can be replaced with the seqinfo<-
method – see ?Seqinfo
for more details.
Almost all InteractionSet methods operate by calling the equivalent method for the GInteractions object, and returning the resulting value.
The only exception is interactions
, which returns the GInteractions object in the interactions
slot of the InteractionSet object.
This slot can also be set by supplying a valid GInteractions object in interactions<-
.
The show
method will print information equivalent to that done for a SummarizedExperiment object.
An additional line is added indicating the number of regions in the regions
slot of the object.
For access and setting of all other slots, see SummarizedExperiment-class
for details on the appropriate methods.
This includes assays
, colData
, mcols
or metadata
, which can all be applied to InteractionSet objects.
Note that there are several options for metadata - experiment-wide metadata, which goes into metadata(x)<-
;
region-specific metadata (e.g., adjacent genes, promoter/enhancer identity, GC content), which goes into mcols(regions(x))<-
;
and interaction-specific metadata (e.g., interaction distance, interaction type), which goes directly into mcols(x)<-
.
This is applicable to both GInteractions and InteractionSet objects.
In addition, library-specific data (e.g., library size) should be placed into colData(x)<-
for InteractionSet objects.
Users should take care with the differences in the $
and $<-
operators between these two classes.
For GInteractions objects, this will access or modify fields in the mcols
slot, i.e., for interaction-specific metadata.
For InteractionSet objects, this will access or modify fields in the colData
slot, i.e., for library-specific data.
The difference in behaviour is due to the concept of libraries in the InteractionSet, which is lacking in the GInteractions class.
For InteractionSet objects, the mcols
getter and setter functions operate on the GInteractions object stored in interactions
slot,
rather than accessing the elementMetadata
slot of the SummarizedExperiment base class.
This makes no difference for practical usage in the vast majority of cases,
except that any metadata stored in this manner is carried over when the GInteractions object is extracted with interactions(x)
.
Similarly, the names
getter and setter will operate the names of the internal GInteractions object.
However, the metadata
getter and setter will operate on the SummarizedExperiment base class, not on the internal GInteractions object.
Aaron Lun
GInteractions-class
,
InteractionSet-class
,
Vector-class
,
SummarizedExperiment-class
example(GInteractions, echo=FALSE) # Generate a nice object.
show(gi)
# Accessing anchor ranges or indices:
anchors(gi)
anchors(gi, type="first")
anchors(gi, id=TRUE)
anchors(gi, id=TRUE, type="first")
anchors(gi, id=TRUE, type="second")
# Modifying anchor indices:
nregs <- length(regions(gi))
mod <- list(sample(nregs, length(gi), replace=TRUE),
sample(nregs, length(gi), replace=TRUE))
anchorIds(gi) <- mod
anchors(gi, id=TRUE, type="first")
anchors(gi, id=TRUE, type="second")
anchorIds(gi, type="both") <- mod
anchorIds(gi, type="first") <- mod[[1]]
anchorIds(gi, type="first") <- mod[[2]]
# Accessing or modifying regions:
regions(gi)
reduceRegions(gi)
regions(gi)$score <- runif(length(regions(gi)))
new.ranges <- c(regions(gi), resize(regions(gi), fix="center", width=50))
try(regions(gi) <- new.ranges) # Fails
replaceRegions(gi) <- new.ranges # Succeeds
length(regions(gi))
appendRegions(gi) <- GRanges("chrA", IRanges(5:10+1000, 1100+5:10), score=runif(6))
length(regions(gi))
seqinfo(gi)
seqinfo(gi) <- Seqinfo(seqnames=c("chrA", "chrB"), seqlengths=c(1000, 2000))
# Accessing or modifying metadata.
gi$score <- runif(length(gi))
mcols(gi)
as.data.frame(gi)
#################
# Same can be done for an InteractionSet object:
example(InteractionSet, echo=FALSE)
anchors(iset)
regions(iset)
reduceRegions(iset)
regions(iset)$score <- regions(gi)$score
replaceRegions(iset) <- new.ranges
seqinfo(iset)
seqinfo(iset) <- Seqinfo(seqnames=c("chrA", "chrB"), seqlengths=c(1000, 2000))
# Standard SE methods also available:
colData(iset)
metadata(iset)
mcols(iset)
# Note the differences in metadata storage:
metadata(iset)$name <- "metadata for SE0"
metadata(interactions(iset))$name <- "metadata for GI"
iset$lib.size <- runif(ncol(iset))*1e6
colData(iset)
mcols(iset) # untouched by "$" operator
mcols(iset)$whee <- runif(nrow(iset))
mcols(iset)
mcols(interactions(iset)) # preserved
names(iset) <- paste0("X", seq_along(iset))
names(iset)
names(interactions(iset))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.