Learn R Programming

phangorn (version 1.5-0)

simSeq: Simulate sequences.

Description

Simulate sequences for a given evolutionary tree.

Usage

simSeq(tree, l=1000, Q=NULL, bf=NULL, rootseq=NULL, type="DNA",
    model="", levels=NULL, rate=1, ancestral=FALSE)

Arguments

tree
a phylogenetic tree tree, an object of class phylo.
l
length of the sequence to simulate.
Q
the rate matrix.
bf
base frequencies.
rootseq
a vector of length l containing the root sequence, other root sequence is randomly generated.
type
Type of sequences ("DNA", "AA" or "USER").
model
Amino acid models: one of "WAG", "JTT", "Dayhoff" or "LG"
levels
levels takes a character vector of the different bases, default is for nucleotide sequences, only used when type = "USER".
rate
rate.
ancestral
Return ancestral sequences?

Value

  • simSeq returns an object of class phyDat.

Details

simSeq simulates sequence alignments. So far rate variation is not yet implemented, but one can combine different alignments having their own rate. In fact it is possible to generate DNA, RNA, amino acid, or 0/1.

See Also

phyDat

Examples

Run this code
tree = rtree(5)
plot(tree)
nodelabels()

# Example for simple DNA alignment
data = simSeq(tree, l = 10, type="DNA", bf=c(.1,.2,.3,.4), Q=1:6)
as.character(data)

# Example to simulate discrete Gamma rate variation
rates = phangorn:::discrete.gamma(1,4)
data1 = simSeq(tree, l = 100, type="AA", model="WAG", rates[1])
data2 = simSeq(tree, l = 100, type="AA", model="WAG", rates[2])
data3 = simSeq(tree, l = 100, type="AA", model="WAG", rates[3])
data4 = simSeq(tree, l = 100, type="AA", model="WAG", rates[4])
data <- c(data1,data2, data3, data4)

write.phyDat(data, file="temp.dat", format="sequential",nbcol = -1, colsep = "")
unlink("temp.dat")

Run the code above in your browser using DataLab