sim.seqs {HACSim} | R Documentation |
Simulate DNA sequences according to DNA substitution models
Description
Simulates DNA sequences according to various DNA substitution models:
Jukes-Cantor (1969)
Kimura (1980)
Felsenstein (1981)
Hasegawa-Kishino-Yano (1985)
Output can then be passed to HACReal()
.
Usage
sim.seqs(num.seqs, num.haps, length.seqs, count.haps, nucl.freqs,
codon.tbl = c("standard", "vertebrate mitochondrial",
"invertebrate mitochondrial"), subst.model = c("JC69", "K80", "F81", "HKY85"),
mu.rate, transi.rate, transv.rate)
Arguments
num.seqs |
Number of simulated DNA sequences |
num.haps |
Number of simulated unique species' haplotypes |
length.seqs |
Basepair length of DNA sequences |
count.haps |
Haplotype frequency distribution vector |
nucl.freqs |
Nucleotide frequency distribution vector of A, C, G, and T respectively |
codon.tbl |
Codon table |
subst.model |
Model of DNA substitution |
mu.rate |
Overall nucleotide mutation rate/site/generation |
transi.rate |
Nucleotide transition rate/site/generation |
transv.rate |
Nucleotide transversion rate/site/generation |
Value
A FASTA file of DNA sequences
Note
num.seqs
must be greater than or equal to num.haps
.
Both num.seqs
and num.haps
must be greater than 1.
nucl.freqs
must have a length of four and its elements must sum to 1.
count.haps
must have a length of num.haps
and its elements must
sum to num.seqs
.
subst.model
must be one of "JC69" (Jukes Cantor corrected p-distance),
"K80" (Kimura-2-Parameter (K2P), "F81" (Felenstein) or "HKY85"
(Hasegawa-Kishino-Yano)
mu.rate
must be specified for both "JC69" and "F81" models
transi.rate
and transv.rate
must be specified for both "K80"
and "HKY85" models
All elements nucl.freqs
must be equal to 0.25 when subst.model
is either "JC69" or "K80"
All elements nucl.freqs
must differ from 0.25 when subst.model
is either "F81" or "HKY85"
Examples
## Not run:
# Simulate DNA sequences from the 5'-COI DNA barcode region under a Jukes
# Cantor nucleotide substitution model
num.seqs <- 100 # number of DNA sequences
num.haps <- 10 # number of haplotypes
length.seqs <- 658 # length of DNA sequences
count.haps <- c(65, rep(10, 2), rep(5, 2), rep(1, 5)) # haplotype frequency distribution
nucl.freqs <- rep(0.25, 4) # nucleotide frequency distribution
subst.model <- "JC69" # desired nucleotide substitution model
codon.tbl <- "vertebrate mitochondrial"
mu.rate <- 1e-3 # mutation rate
transi.rate <- NULL # transition rate
transv.rate <- NULL # transversion rate
sim.seqs(num.seqs = num.seqs, num.haps = num.haps, length.seqs = length.seqs,
count.haps = count.haps, nucl.freqs = nucl.freqs, codon.tbl = codon.tbl,
subst.model = subst.model, mu.rate = mu.rate, transi.rate = transi.rate,
transv.rate = transv.rate)
## End(Not run)