R/AllGenerics.R, R/Modstrings-modifyNucleotide.R
modifyNucleotides.RdmodifyNucleotides 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 class 'ModString'
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for class 'ModStringSet'
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for class 'DNAString'
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for class 'RNAString'
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for class 'DNAStringSet'
modifyNucleotides(
x,
at,
mod,
nc.type = c("short", "nc"),
stop.on.error = TRUE,
verbose = FALSE
)
# S4 method for class '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.
the input ModString or ModStringSet
object with the changes applied
# 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) { # \dontrun{
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) { # \dontrun{
mseq <- modifyNucleotides(seq,c(3),c("m7G"))
} # }