Learn R Programming

motifStack (version 1.16.2)

motifPiles: plot sequence logo stacks with a linear phylogenic tree and multiple color sets

Description

plot sequence logo stacks with a linear phylogenic tree and multiple color sets.

Usage

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"),
           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")

Arguments

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

Value

  • none

See Also

motifCircos

Examples

Run this code
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)))
  }

Run the code above in your browser using DataLab