Description Usage Arguments Details Value Author(s) See Also Examples
A bunch of useful strand and invertStrand methods.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ## 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)
|
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. |
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.
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 x is missing, returns an empty factor with the
"standard strand levels" i.e. +, -, and *.
If x is a character vector or factor, it is coerced to a
factor with the levels listed above. NA values in x
are not accepted.
If x is an integer vector, it is coerced to a factor
with the levels listed above. 1, -1, and NA
values in x are mapped to the +, -, and
* levels respectively.
If x is a logical vector, it is coerced to a factor
with the levels listed above. FALSE, TRUE, and
NA values in x are mapped to the +, -,
and * levels respectively.
If x is a character-, factor-, integer-, or
logical-Rle, it is transformed with
runValue(x) <- strand(runValue(x)) and returned.
If x is an RleList object, each list element in
x is transformed by calling strand() on it and
the resulting RleList object is returned. More precisely
the returned object is endoapply(x, strand).
Note that in addition to being parallel to x, this
object also has the same shape as x (i.e. its list
elements have the same lengths as in x).
If x is a DataFrame object, the "strand"
column is passed thru strand() and returned.
If x has 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.
M. Lawrence and H. Pagès
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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))))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.