motifPiles {motifStack} | R Documentation

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

### 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 par("cex")*clavel.leaves
`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

### Author(s)

Jianhong Ou

### See Also

`motifCircos`

### Examples

    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)))
      }

[Package motifStack version 1.26.0 Index]