plotMotifStackWithRadialPhylog.Rd
plot sequence logo stacks with a radial phylogenic tree
plotMotifStackWithRadialPhylog( phylog, pfms = NULL, circle = 0.75, circle.motif = NA, cleaves = 1, cnodes = 0, labels.leaves = names(phylog$leaves), clabel.leaves = 1, labels.nodes = names(phylog$nodes), clabel.nodes = 0, draw.box = FALSE, col.leaves = rep("black", length(labels.leaves)), col.leaves.bg = NULL, col.leaves.bg.alpha = 1, col.bg = NULL, col.bg.alpha = 1, col.inner.label.circle = NULL, inner.label.circle.width = "default", col.outer.label.circle = NULL, outer.label.circle.width = "default", clockwise = FALSE, init.angle = if (clockwise) 90 else 0, angle = 360, pfmNameSpliter = ";", rcpostfix = "(RC)", motifScale = c("linear", "logarithmic"), ic.scale = TRUE, plotIndex = FALSE, IndexCol = "black", IndexCex = 0.8, groupDistance = NA, groupDistanceLineCol = "red", plotAxis = FALSE, font = "Helvetica-Bold" )
phylog | an object of class phylog |
---|---|
pfms | a list of objects of class pfm |
circle | a size coefficient for the outer circle of the labels. Please note this is the position of inner.label.cirle. |
circle.motif | a size coefficient for the motif circle |
cleaves | a character size for plotting the points that represent the leaves, used with par("cex")*cleaves. If zero, no points are drawn |
cnodes | a character size for plotting the points that represent the nodes, used with par("cex")*cnodes. 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 par("cex")*clabel.leaves |
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 |
draw.box | if TRUE draws a box around the current plot with the function box() |
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 |
col.bg | a vector of colors for tree background |
col.bg.alpha | a alpha value [0, 1] of colors for tree background |
col.inner.label.circle | a vector of colors for inner cirlce of pfms |
inner.label.circle.width | width for inner circle of pfms |
col.outer.label.circle | a vector of colors for outer circle of pfms |
outer.label.circle.width | width for outer circle of pfms |
clockwise | a logical value indicating if slices are drawn clockwise or counter clockwise |
init.angle | number specifying the starting angle (in degrees) for the slices. Defaults to 0 (i.e., `3 o'clock`) unless clockwise is true where init.angle defaults to 90 (degrees), (i.e., `12 o'clock`) |
angle | number specifying the angle (in degrees) for phylogenic tree. Defaults 360 |
pfmNameSpliter | spliter when name of pfms contain multiple node of labels.leaves |
rcpostfix | the postfix for reverse complements |
motifScale | the scale of logo size |
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 |
plotAxis | logical. If TRUE, will plot distance axis. |
font | font of logo |
none
if(interactive() || Sys.getenv("USER")=="jianhongou"){ 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) hc <- clusterMotifs(pfms) library(ade4) phylog <- ade4::hclust2phylog(hc) leaves <- names(phylog$leaves) pfms <- pfms[leaves] pfms <- mapply(pfms, names(pfms), FUN=function(.ele, .name){ new("pfm",mat=.ele, name=.name)}) pfms <- DNAmotifAlignment(pfms, minimalConsensus=3) library(RColorBrewer) color <- brewer.pal(12, "Set3") plotMotifStackWithRadialPhylog(phylog, pfms, circle=0.9, cleaves = 0.5, clabel.leaves = 0.7, col.bg=rep(color, each=5), col.leaves=rep(color, each=5)) }