Last data update: 2014.03.03

R: plot sequence logo stacks with a ape4-style phylogenic tree
plotMotifStackWithPhylogR Documentation

plot sequence logo stacks with a ape4-style phylogenic tree

Description

plot sequence logo stacks with a ape4-style phylogenic tree

Usage

plotMotifStackWithPhylog(phylog, pfms=NULL,
                         f.phylog = 0.3, f.logo = NULL, cleaves =1, cnodes =0,
                         labels.leaves = names(phylog$leaves), clabel.leaves=1,
                         labels.nodes = names(phylog$nodes), clabel.nodes = 0, 
                         font="Helvetica-Bold", ic.scale=TRUE, fontsize=12)

Arguments

phylog

an object of class phylog

pfms

a list of objects of class pfm

f.phylog

a size coefficient for tree size (a parameter to draw the tree in proportion to leaves label)

f.logo

a size coefficient for the motif

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

font

font of logo

ic.scale

logical If TRUE, the height of each column is proportional to its information content. Otherwise, all columns have the same height.

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

  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)
    plotMotifStackWithPhylog(phylog, pfms, f.phylog=0.3, 
                             cleaves = 0.5, clabel.leaves = 0.7)
  }

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(motifStack)
Loading required package: grImport
Loading required package: grid
Loading required package: XML
Loading required package: MotIV
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit


Attaching package: 'MotIV'

The following object is masked from 'package:stats':

    filter

Loading required package: ade4

Attaching package: 'ade4'

The following object is masked from 'package:BiocGenerics':

    score

Loading required package: Biostrings
Loading required package: S4Vectors
Loading required package: stats4

Attaching package: 'S4Vectors'

The following objects are masked from 'package:base':

    colMeans, colSums, expand.grid, rowMeans, rowSums

Loading required package: IRanges
Loading required package: XVector
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/motifStack/plotMotifStackWithPhylog.Rd_%03d_medium.png", width=480, height=480)
> ### Name: plotMotifStackWithPhylog
> ### Title: plot sequence logo stacks with a ape4-style phylogenic tree
> ### Aliases: plotMotifStackWithPhylog
> 
> ### ** Examples
> 
> #  if(interactive()){
>     library("MotifDb")
See system.file("LICENSE", package="MotifDb") for use restrictions.
>     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)
>     plotMotifStackWithPhylog(phylog, pfms, f.phylog=0.3, 
+                              cleaves = 0.5, clabel.leaves = 0.7)
> #  }
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>