Last data update: 2014.03.03

R: plot a DNA sequence logo cloud
motifCloudR Documentation

plot a DNA sequence logo cloud

Description

Plot a DNA sequence logo cloud

Usage

motifCloud(motifSig, rcpostfix="(RC)", 
           layout=c("rectangles", "cloud", "tree"), 
           scale=c(6, .5), rot.per=.1,
           draw.box=TRUE, draw.freq=TRUE, 
           box.col="gray", freq.col="gray",
           group.col=NULL, groups=NULL, draw.legend=FALSE, 
           font="Helvetica-Bold", ic.scale=TRUE, fontsize=12)

Arguments

motifSig

an object of class motifSig

rcpostfix

postfix for reverse-complement motif names, default: (RC)

layout

layout of the logo cloud, rectangles, cloud or tree

scale

A vector of length 2 indicating the range of the size of the sequence logo.

rot.per

proportion sequence logo with 90 degree rotation. Only work for "cloud" layout

draw.box

draw box for each sequence logo or not

draw.freq

label frequency of each signature or not

box.col

color of box for each sequence logo

freq.col

color of frequency label

group.col

color setting for groups

groups

a named vectors of motif groups

draw.legend

draw group color legend or not

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

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)
    motifSig <- motifSignature(pfms, phylog, groupDistance=0.1)
    motifCloud(motifSig)
  }

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/motifCloud.Rd_%03d_medium.png", width=480, height=480)
> ### Name: motifCloud
> ### Title: plot a DNA sequence logo cloud
> ### Aliases: motifCloud
> 
> ### ** 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)
>     motifSig <- motifSignature(pfms, phylog, groupDistance=0.1)
>     motifCloud(motifSig)
> #  }
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>