motifCloud {motifStack} | R Documentation |
Plot a DNA sequence logo cloud
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)
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. |
none
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) }