| strand-utils {GenomicRanges} | R Documentation |
Strand utilities
Description
A bunch of useful strand and invertStrand methods.
Usage
## S4 method for signature 'missing'
strand(x)
## S4 method for signature 'character'
strand(x)
## S4 method for signature 'factor'
strand(x)
## S4 method for signature 'integer'
strand(x)
## S4 method for signature 'logical'
strand(x)
## S4 method for signature 'Rle'
strand(x)
## S4 method for signature 'RleList'
strand(x)
## S4 method for signature 'DataFrame'
strand(x)
## S4 replacement method for signature 'DataFrame,ANY'
strand(x) <- value
## S4 method for signature 'character'
invertStrand(x)
## S4 method for signature 'factor'
invertStrand(x)
## S4 method for signature 'integer'
invertStrand(x)
## S4 method for signature 'logical'
invertStrand(x)
## S4 method for signature 'Rle'
invertStrand(x)
## S4 method for signature 'RleList'
invertStrand(x)
Arguments
x |
The object from which to obtain a strand factor, strand factor Rle, or strand factor RleList object. Can be missing. See Details and Value sections below for more information. |
value |
Replacement value for the strand. |
Details
All the strand and invertStrand methods documented
here return either a strand factor, strand factor
Rle, or strand factor RleList object.
These are factor, factor-Rle, or factor-RleList
objects containing the "standard strand levels" (i.e. +, -,
and *) and no NAs.
Value
All the strand and invertStrand methods documented here
return an object that is parallel to input object x when
x is a character, factor, integer, logical, Rle,
or RleList object.
For the strand methods:
If
xis missing, returns an empty factor with the "standard strand levels" i.e.+,-, and*.If
xis a character vector or factor, it is coerced to a factor with the levels listed above.NAvalues inxare not accepted.If
xis an integer vector, it is coerced to a factor with the levels listed above.1,-1, andNAvalues inxare mapped to the+,-, and*levels respectively.If
xis a logical vector, it is coerced to a factor with the levels listed above.FALSE,TRUE, andNAvalues inxare mapped to the+,-, and*levels respectively.If
xis a character-, factor-, integer-, or logical-Rle, it is transformed withrunValue(x) <- strand(runValue(x))and returned.If
xis an RleList object, each list element inxis transformed by callingstrand()on it and the resulting RleList object is returned. More precisely the returned object isendoapply(x, strand). Note that in addition to being parallel tox, this object also has the same shape asx(i.e. its list elements have the same lengths as inx).If
xis aDataFrameobject, the"strand"column is passed thrustrand()and returned. Ifxhas no"strand"column, this return value is populated with*s.
Each invertStrand method returns the same object as its corresponding
strand method but with "+" and "-" switched.
Author(s)
M. Lawrence and H. Pagès
See Also
Examples
strand()
x1 <- c("-", "*", "*", "+", "-", "*")
x2 <- factor(c("-", "-", "+", "-"))
x3 <- c(-1L, NA, NA, 1L, -1L, NA)
x4 <- c(TRUE, NA, NA, FALSE, TRUE, NA)
strand(x1)
invertStrand(x1)
strand(x2)
invertStrand(x2)
strand(x3)
invertStrand(x3)
strand(x4)
invertStrand(x4)
strand(Rle(x1))
invertStrand(Rle(x1))
strand(Rle(x2))
invertStrand(Rle(x2))
strand(Rle(x3))
invertStrand(Rle(x3))
strand(Rle(x4))
invertStrand(Rle(x4))
x5 <- RleList(x1, character(0), as.character(x2))
strand(x5)
invertStrand(x5)
strand(DataFrame(score=2:-3))
strand(DataFrame(score=2:-3, strand=x3))
strand(DataFrame(score=2:-3, strand=Rle(x3)))
## Sanity checks:
target <- strand(x1)
stopifnot(identical(target, strand(x3)))
stopifnot(identical(target, strand(x4)))
stopifnot(identical(Rle(strand(x1)), strand(Rle(x1))))
stopifnot(identical(Rle(strand(x2)), strand(Rle(x2))))
stopifnot(identical(Rle(strand(x3)), strand(Rle(x3))))
stopifnot(identical(Rle(strand(x4)), strand(Rle(x4))))