| subXString {Biostrings} | R Documentation |
Functions for fast substring extraction.
subXString(x, start=NA, end=NA, length=NA) substr(x, start=NA, stop=NA) substring(text, first=NA, last=NA)
x |
An XString object for subXString.
A character vector, an XStringViews or an XString
object for substr or substring.
|
start |
A numeric vector. |
end |
A numeric vector. |
length |
A numeric vector. |
stop |
A numeric vector. |
text |
A character vector, an XStringViews or an XString object. |
first |
A numeric vector. |
last |
A numeric vector. |
subXString provides a very efficient way to extract a substring
from an XString object.
For example, extracting a 100Mb substring from Human chromosome 1 (250Mb)
with subXString is almost instantaneous and has almost no memory
footprint. In fact, the cost in time and memory of a call to subXString
doesn't depend on the length of the original object or on the length of
the extracted object.
The "trick" behind this "feature" is very simple: subXString
does NOT copy the sequence data.
[TODO]
H. Pages
letter,
views,
XString-class,
XStringViews-class
subXString("AxyxyxBC", 7)
s <- BString("AxyxyxBC")
subXString(s, 7) # same as subXString("AxyxyxBC", 7)
subXString(s, , 7)
subXString(s, , 7, 3)
identical(subXString(s), s) # TRUE
v <- views(s, c(6, 4,-1, NA), c(7, 6, 1, 1))
## 2 equivalent ways of keeping the last letter of each view
views(subject(v), end(v), end(v))
## 2 equivalent ways of making the views wider
views(subject(v), start(v)-3, end(v)+3)