R/AllGenerics.R
, R/Modstrings-modifyNucleotide.R
modifyNucleotides.Rd
modifyNucleotides
modifies a nucleotide in a sequence (or set
of sequences) based on the type of modification provided. It checks for the
identity of the base nucleotide to be
modifyNucleotides(
x,
at,
mod,
nc.type = "short",
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for ModString
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for ModStringSet
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for DNAString
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for RNAString
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for DNAStringSet
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for RNAStringSet
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
a ModString
or ModStringSet
object
the location where the modification should be made.
The same input as in the original replaceLetterAt
are expected:
If x is a ModString
object, then at is typically an integer
vector with no NAs but a logical vector or Rle object is valid too. Locations
can be repeated and in this case the last replacement to occur at a given
location prevails.
If x is a rectangular ModStringSet
object, then at
must
be a matrix of logicals with the same dimensions as x. If the
ModStringSet
is not rectangular, at
must be a list of
logical vectors.
The modification short name or nomenclature
If x
is a ModString
object, then letter must be a
ModString
object or a character vector (with no NA
) with
a total number of letters (sum(nchar(letter)))
equal to the number of
locations specified in at.
If x
is a rectangular ModStringSet
object, then letter
must be a ModStringSet
object, a list of character vectors or a
CharacterList
of the same length as
x. In addition, the number of letters in each element of letter must match
the number of locations specified in the corresponding row of at
(all(width(letter) == rowSums(at)))
.
the type of nomenclature to be used. Either "short" or "nc".
"Short" for m3C would be "m3C", "nc" for m3C would be "3C". (
default = "short"
)
For combineIntoModstrings
: TRUE
(default)
or FALSE
: Should an error be raised upon encounter of incompatible
positions?
See replaceLetterAt
.
# modify nucleotides in a ModDNAString
seq <- ModDNAString("AGTC")
seq
#> 4-letter ModDNAString object
#> seq: AGTC
mseq1 <- modifyNucleotides(seq,c(1,2,4),c("1mA","7mG","3mC"))
mseq1
#> 4-letter ModDNAString object
#> seq: "7T'
# This fails since m7G requires a G at the selected position in the sequence
if (FALSE) {
mseq <- modifyNucleotides(seq,c(3),c("7mG"))
}
# modify nucleotides in a ModRNAString
seq <- ModRNAString("AGUC")
seq
#> 4-letter ModRNAString object
#> seq: AGUC
mseq1 <- modifyNucleotides(seq,c(1,2,4),c("m1A","m7G","m3C"))
mseq1
#> 4-letter ModRNAString object
#> seq: "7U'
# This fails since m7G requires a G at the selected position in the sequence
if (FALSE) {
mseq <- modifyNucleotides(seq,c(3),c("m7G"))
}