| motifPiles {motifStack} | R Documentation |
plot sequence logo stacks with a linear phylogenic tree and multiple color sets.
motifPiles(phylog, pfms=NULL, pfms2=NULL,
r.tree=.45, col.tree=NULL,
cnodes=0, labels.nodes=names(phylog$nodes), clabel.nodes=0,
cleaves=.2, labels.leaves=names(phylog$leaves), clabel.leaves=1,
col.leaves=rep("black", length(labels.leaves)),
col.leaves.bg=NULL, col.leaves.bg.alpha=1,
r.pfms=NA, r.pfms2=NA, motifScale=c("logarithmic", "linear", "none"),
col.pfms=NULL, col.pfms.width=0.02,
col.pfms2=NULL, col.pfms2.width=0.02,
r.anno=0, col.anno=list(),
pfmNameSpliter=";", rcpostfix="(RC)", ic.scale=TRUE,
plotIndex=FALSE, IndexCol="black", IndexCex=.8,
groupDistance=NA, groupDistanceLineCol="red")
phylog |
an object of class phylog |
pfms |
a list of objects of class pfm |
pfms2 |
a list of objects of class pfm |
r.tree |
width of the tree |
col.tree |
a vector of colors for tree |
cnodes |
a character size for plotting the points that represent the nodes, used with par("cex")*cnodes. If zero, no points are drawn |
labels.nodes |
a vector of strings of characters for the nodes labels |
clabel.nodes |
a character size for the nodes labels, used with par("cex")*clabel.nodes. If zero, no nodes labels are drawn |
cleaves |
a character size for plotting the points that represent the leaves, used with par("cex")*cleaves. If zero, no points are drawn |
labels.leaves |
a vector of strings of characters for the leaves labels |
clabel.leaves |
a character size for the leaves labels, used with |
col.leaves |
a vector of colors for leaves labels |
col.leaves.bg |
a vector of colors for background of leaves labels |
col.leaves.bg.alpha |
alpha value [0, 1] for the colors of backgroud of leaves labels |
r.pfms |
width of the pfms |
r.pfms2 |
width of the pfms2 |
motifScale |
the scale of logo size |
col.pfms |
a vector of colors for inner pile of pfms |
col.pfms.width |
width for inner pile of pfms |
col.pfms2 |
a vector of colors for outer pile of pfms |
col.pfms2.width |
width for outer pile of pfms |
r.anno |
a vector of width of color sets |
col.anno |
a list of color sets |
pfmNameSpliter |
spliter when name of pfms/pfms2 contain multiple node of labels.leaves |
rcpostfix |
the postfix for reverse complements |
ic.scale |
logical. If TRUE, the height of each column is proportional to its information content. Otherwise, all columns have the same height. |
plotIndex |
logical. If TRUE, will plot index number in the motifLogo which can help user to describe the motifLogo |
IndexCol |
The color of the index number when plotIndex is TRUE. |
IndexCex |
The cex of the index number when plotIndex is TRUE. |
groupDistance |
show groupDistance on the draw |
groupDistanceLineCol |
groupDistance line color, default: red |
none
Jianhong Ou
if(interactive()){
library("MotifDb")
matrix.fly <- query(MotifDb, "Dmelanogaster")
motifs <- as.list(matrix.fly)
motifs <- motifs[grepl("Dmelanogaster-FlyFactorSurvey-", names(motifs), fixed=TRUE)]
names(motifs) <- gsub("Dmelanogaster_FlyFactorSurvey_", "",
gsub("_FBgn[0-9]+$", "",
gsub("[^a-zA-Z0-9]","_",
gsub("(_[0-9]+)+$", "", names(motifs)))))
motifs <- motifs[unique(names(motifs))]
pfms <- sample(motifs, 50)
jaspar.scores <- MotIV::readDBScores(file.path(find.package("MotIV"),
"extdata", "jaspar2010_PCC_SWU.scores"))
d <- MotIV::motifDistances(lapply(pfms, pfm2pwm))
hc <- MotIV::motifHclust(d, method="average")
phylog <- hclust2phylog(hc)
leaves <- names(phylog$leaves)
pfms <- pfms[leaves]
pfms <- lapply(names(pfms), function(.ele, pfms){new("pfm",mat=pfms[[.ele]],
name=.ele)},pfms)
pfms <- DNAmotifAlignment(pfms, minimalConsensus=3)
library(RColorBrewer)
color <- brewer.pal(12, "Set3")
motifPiles(phylog, pfms, cleaves = 0.5, clabel.leaves = 0.7,
col.leaves=rep(color, each=5),
col.leaves.bg = sample(colors(), 50),
col.tree=rep(color, each=5),
r.anno=c(0.02, 0.03, 0.04),
col.anno=list(sample(colors(), 50),
sample(colors(), 50),
sample(colors(), 50)))
}