shmulateSeq {shazam} | R Documentation |
Simulate mutations in a single sequence
Description
Generates random mutations in a sequence iteratively using a targeting model. Targeting probabilities at each position are updated after each iteration.
Usage
shmulateSeq(
sequence,
numMutations,
targetingModel = HH_S5F,
start = 1,
end = nchar(sequence),
frequency = FALSE
)
Arguments
sequence |
sequence string in which mutations are to be introduced.
Accepted alphabet: |
numMutations |
a whole number indicating the number of mutations to be
introduced into |
targetingModel |
5-mer TargetingModel object to be used for computing probabilities of mutations at each position. Defaults to HH_S5F. |
start |
Initial position in |
end |
Last position in |
frequency |
If |
Details
If the input sequence
has a non-triplet overhang at the end, it will be trimmed
to the last codon. For example, ATGCATGC
will be trimmed to ATGCAT
.
Mutations are not introduced to positions in the input sequence
that contain
.
or N
.
With frequency=TRUE
, the number of mutations introduced is the floor
of
the length of the sequence multiplied by the mutation frequency specified via
numMutations
.
Value
A string defining the mutated sequence.
See Also
See shmulateTree for imposing mutations on a lineage tree. See HH_S5F and MK_RS5NF for predefined TargetingModel objects.
Examples
# Define example input sequence
sequence <- "NGATCTGACGACACGGCCGTGTATTACTGTGCGAGAGATA.TTTA"
# Simulate using the default human 5-mer targeting model
# Introduce 6 mutations
shmulateSeq(sequence, numMutations=6, frequency=FALSE)
# Introduction 5% mutations
shmulateSeq(sequence, numMutations=0.05, frequency=TRUE)