nlogomaker {Logolas} | R Documentation

## Main workhorse function that builds negative logo plots

### Description

stacks logos created by the `makemylogo` function on top of each other to build the logo plot.

### Usage

    nlogomaker(table, ic = FALSE, score = c("diff", "log", "log-odds", "probKL",
      "ratio", "unscaled_log", "wKL"), color_profile, total_chars = c("A", "B",
      "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q",
      "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "zero", "one", "two", "three",
      "four", "five", "six", "seven", "eight", "nine", "dot", "comma", "dash",
      "colon", "semicolon", "leftarrow", "rightarrow"), bg = NULL,
      frame_width = NULL, yscale_change = TRUE, pop_name = NULL,
      addlogos = NULL, addlogos_text = NULL, newpage = TRUE, yrange = NULL,
      xaxis = TRUE, yaxis = TRUE, xaxis_fontsize = 10, xlab_fontsize = 15,
      y_fontsize = 15, main_fontsize = 16, start = 0.001, xlab = "X",
      ylab = "Enrichment Score", col_line_split = "grey80", control = list())

### Arguments

`table` | The input table (data frame or matrix) of counts across different logos or symbols (specified along the rows) and across different sites or positions or groups (specified along the columns).
`ic` | Boolean, denoting whether information content based scaling is used on top of the scoring scheme used or not. Default is FALSE
`score` | Can take either of the options - `diff`, `log`, `log-odds`, `probKL`, `ratio`, `unscaled_log`, `wKL`. Each option corresponds to a different scoring scheme. The most recommended option is `log`.
`color_profile` | A list containing two elements - "type" and "col". The type can be of three types - "per-row", "per-column" and "per-symbol". The "col" element is a vector of colors, of same length as number of rows in table for "per-row" (assigning a color to each string), of same length as number of columns in table for "per-column" (assuming a color for each column), or a distinct color for a distinct symbol in "per-symbol". For "per-symbol", the length of the `color_profile$col` should be same as library size of the logos, but if the vector of colors provided is more or less, we can downsample or upsample the colors as required. The colors are matched with the symbols in the `total_chars`
`total_chars` | The total number of character symbols in the user library. The default is the default library provided by Logolas, but the user can add symbols that he creates to this list.
`bg` | The background probability, which defaults to NULL, in which case equal probability is assigned to each symbol. The user can however specify a vector (equal to in length to the number of symbols) which specifies the background probability for each symbol and assumes this background probability to be the same across the columns (sites), or a matrix, whose each cell specifies the background probability of the symbols for each position.
`frame_width` | The width of the frames for individual site/postion/column in the logo plot. As default, all the columns have same width, equal to 1.
`yscale_change` | If TRUE, adjusts the Y axis scale based on the size of the bars, else keeps it to the maximum value possible, which is `ceiling(max(ic)` under `ic_computer` defined IC criteria.
`pop_name` | User can mention a name of the population for which the logo plot is created. Defaults to NULL when no population name is mentioned.
`addlogos` | Vector of additional logos/symbols defined by user
`addlogos_text` | Vector of the names given to the additional logos/symbols defined by user.
`newpage` | if TRUE, plots the logo plot in a new page. Defaults to TRUE.
`yrange` | The limit of the Y axis.
`xaxis` | Binary specifying if there should be a X axis in the logo plot or not. Defaults to TRUE.
`yaxis` | Binary specifying if there should be a Y axis in the logo plot or not. Defaults to TRUE.
`xaxis_fontsize` | The size of the X-axis axis ticks.
`xlab_fontsize` | The size of the X-axis label.
`y_fontsize` | The size of the Y-axis font.
`main_fontsize` | The size of the title.
`start` | The starting point in Y axis for the first logo. Default is 0.0001 which is very close to 0.
`xlab` | X axis label
`ylab` | Y axis label
`col_line_split` | The color of the line split between the consecutive groups or blocks
`control` | control parameters fixing whether the height of the logos is detrmined by IC or histogram proportions (`hist`), the scales for the plot (`scale0`, `scale1`), the additive factor epsilon added to log transform to avoid log(0) errors (`epsilon`), the quantile adjustment (`quant`), whether to use symmetric KL for scaling (`symm`), whether the symbols should be filled with color or border colored (`tofill_pos, tofill_neg`), the Renyi alpha parameter for the entropy calculation (`alpha`), the gap between ylabel and y-axis and xlabel and x-axis texts (`gap_ylab`, `gap_xlab`), the viewport configuration details for the plot (`viewport.margin.bottom`,`viewport.margin.left`, `viewport.margin.top`, `viewport.margin.right`), whether the height of the logos would be fixed apriori or determined by the PWM matrix as in seqLogo (`use_seqLogo_heights`) etc.

### Value

Plots the logo plot for the table data, with column names representing the sites/blocks and the row names denoting the symbols for which logos are plotted

### Examples

    mFile <- system.file("Exfiles/pwm1", package="seqLogo")
    m <- read.table(mFile)
    p <- seqLogo::makePWM(m)
    pwm_mat <- slot(p,name = "pwm")
    pwm_mat[,4] <- c(0.3, 0.3, 0.35, 0.05)
    mat1 <- cbind(pwm_mat[,c(3,4)], rep(NA,4), pwm_mat[,c(5,6)]);
    colnames(mat1) <- c("-2", "-1", "0", "1", "2")
    mat2 <- cbind(rep(NA,6), rep(NA,6),
                 c(0.8, 0.10, 0.03, 0.03, 0.0, 0),
                 rep(NA,6), rep(NA,6))
    rownames(mat2) <- c("C>T", "C>A", "C>G",
                        "T>A", "T>C", "T>G")

    table <- rbind(mat1, mat2)

    cols = RColorBrewer::brewer.pal.info[RColorBrewer::brewer.pal.info$category == 'qual',]
    col_vector = unlist(mapply(RColorBrewer::brewer.pal, cols$maxcolors,
                       rownames(cols)))

    total_chars = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
                    "K", "L", "M", "N", "O",
                   "P", "Q", "R", "S", "T", "U", "V",
                   "W", "X", "Y", "Z", "zero", "one", "two",
                   "three", "four", "five", "six", "seven",
                   "eight", "nine", "dot", "comma",
                   "dash", "colon", "semicolon", "leftarrow", "rightarrow")

    set.seed(20)
    col_vector[c(1,3,7, 20, 43)] <- c("red", "blue",
                                  "orange", "green", "gray")
    color_profile <- list("type" = "per_symbol",
                         "col" = col_vector)

    nlogomaker(table,
               color_profile = color_profile,
               yrange = 1.2)

[Package Logolas version 1.10.0 Index]