plot sequence logo stacks with a radial phylogenic tree

Share:

Description

plot sequence logo stacks with a radial phylogenic tree

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
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=.8,
       groupDistance=NA, groupDistanceLineCol="red",
       plotAxis=FALSE, font="Helvetica-Bold", fontsize=12)

Arguments

phylog

an object of class phylog

pfms

a list of objects of class pfm

circle

a size coefficient for the outer circle

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

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

fontsize

font size of the template for grImport, default 12. Higher value make better quality figure, but also increase the file size.

Value

none

See Also

plot.phylog

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  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(pfms)
    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")
    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))
  }

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.