This function draws the 'Combining meta-analysis' MetaVolcano

combining_mv(
  diffexp = list(),
  pcriteria = "pvalue",
  foldchangecol = "Log2FC",
  genenamecol = "Symbol",
  geneidcol = NULL,
  metafc = "Mean",
  metathr = 0.01,
  collaps = "FALSE",
  jobname = "MetaVolcano",
  outputfolder = tempdir(),
  draw = "HTML",
  colors = c("#083e46", "grey", "#811820"),
  point_size = 0.5,
  label_genes = NULL,
  label_top_n = NULL,
  label_size = 3,
  plot_title = NULL,
  show_legend = FALSE
  outputfolder = ".",
  draw = "HTML",
  render = F
)

Arguments

diffexp

list of data.frame/data.table (s) with DE results where lines are genes

pcriteria

the column name of the Pval criteria to consider c("adj.P.Val", "P.Value") <string>

foldchangecol

the column name of the foldchange variable <string>

genenamecol

the column name of the gene name variable <string>

geneidcol

the column name of the gene ID/probe/oligo/transcript variable <string>

metafc

method for summarizing gene fold-changes across studies c("Mean", "Median") <string>

metathr

top percentage of perturbed genes to be highlighted <double>

collaps

if probes should be collapsed based on the DE direction <logical>

jobname

name of the running job <string>

outputfolder

/path where to write the results/

draw

wheather or not to draw the .pdf or .html visualization <c(NULL, "PDF", "HTML")>

colors

vector of colors for the plot c(down, neutral, up)

point_size

size of points in the plot

label_genes

character vector of specific genes to label

label_top_n

number of top genes to label automatically

label_size

size of gene name labels

plot_title

custom plot title

show_legend

whether to show the legend

render

A boolean parameter that determines whether the plot should be rendered. If `TRUE`, the function will produce and save the plot based on the specified `draw` parameter (either as an HTML or PDF file). If `FALSE` (default), no plot will be rendered or saved. It's useful for cases where you might want to run the function for its side effects or calculations without necessarily visualizing the result.

Value

MetaVolcano object

Examples

data(diffexplist)
mv <- combining_mv(diffexplist)
#> Warning: There were 507 warnings in `dplyr::summarize()`.
#> The first warning was:
#> i In argument: `metap = tryCatch(...)`.
#> i In group 5: `Symbol = "A2M-AS1"`.
#> Caused by warning in `metap::sumlog()`:
#> ! Must have at least two valid p values
#> i Run dplyr::last_dplyr_warnings() to see the 506 remaining warnings.
str(mv)
#> Formal class 'MetaVolcano' [package "MetaVolcanoR"] with 5 slots
#>   ..@ input      :'data.frame':	7387 obs. of  11 variables:
#>   .. ..$ Symbol  : chr [1:7387] "MMP9" "ACVR1C" "ANG" "FAM13A" ...
#>   .. ..$ Log2FC_1: num [1:7387] 1.97 -1.63 -2.46 -2.01 -1.85 ...
#>   .. ..$ pvalue_1: num [1:7387] 1.43e-04 5.67e-09 4.99e-15 2.24e-07 5.74e-03 ...
#>   .. ..$ Log2FC_2: num [1:7387] 4.303 -1.471 -0.697 -1.272 -3.523 ...
#>   .. ..$ pvalue_2: num [1:7387] 8.40e-07 5.22e-05 2.69e-05 3.46e-07 1.86e-07 ...
#>   .. ..$ Log2FC_3: num [1:7387] 1.176 -0.677 -0.602 -0.557 -1.044 ...
#>   .. ..$ pvalue_3: num [1:7387] 3.14e-07 2.11e-09 7.49e-11 2.78e-09 5.13e-05 ...
#>   .. ..$ Log2FC_4: num [1:7387] 1.503 -1.984 -0.674 -1.135 -2.524 ...
#>   .. ..$ pvalue_4: num [1:7387] 0.04434 0.00541 0.11435 0.01299 0.02661 ...
#>   .. ..$ Log2FC_5: num [1:7387] 0.891 -0.508 -0.253 -0.492 -0.97 ...
#>   .. ..$ pvalue_5: num [1:7387] 0.0302 0.0209 0.0414 0.0149 0.1261 ...
#>   ..@ inputnames : chr [1:5] "GSE12050" "GSE24883" "GSE25401" "GSE27949" ...
#>   ..@ metaresult :'data.frame':	7387 obs. of  4 variables:
#>   .. ..$ Symbol: chr [1:7387] "MMP9" "ACVR1C" "ANG" "FAM13A" ...
#>   .. ..$ metap : num [1:7387] 9.00e-15 3.55e-20 5.67e-26 2.18e-20 1.48e-11 ...
#>   .. ..$ metafc: num [1:7387] 1.969 -1.254 -0.936 -1.094 -1.983 ...
#>   .. ..$ idx   : num [1:7387] 27.7 -24.4 -23.6 -21.5 -21.5 ...
#>   ..@ MetaVolcano: <ggplot2::ggplot>
#>   .. ..@ data       :'data.frame':	7387 obs. of  16 variables:
#>  .. .. .. $ Symbol    : chr [1:7387] "MMP9" "ACVR1C" "ANG" "FAM13A" ...
#>  .. .. .. $ Log2FC_1  : num [1:7387] 1.97 -1.63 -2.46 -2.01 -1.85 ...
#>  .. .. .. $ pvalue_1  : num [1:7387] 1.43e-04 5.67e-09 4.99e-15 2.24e-07 5.74e-03 ...
#>  .. .. .. $ Log2FC_2  : num [1:7387] 4.303 -1.471 -0.697 -1.272 -3.523 ...
#>  .. .. .. $ pvalue_2  : num [1:7387] 8.40e-07 5.22e-05 2.69e-05 3.46e-07 1.86e-07 ...
#>  .. .. .. $ Log2FC_3  : num [1:7387] 1.176 -0.677 -0.602 -0.557 -1.044 ...
#>  .. .. .. $ pvalue_3  : num [1:7387] 3.14e-07 2.11e-09 7.49e-11 2.78e-09 5.13e-05 ...
#>  .. .. .. $ Log2FC_4  : num [1:7387] 1.503 -1.984 -0.674 -1.135 -2.524 ...
#>  .. .. .. $ pvalue_4  : num [1:7387] 0.04434 0.00541 0.11435 0.01299 0.02661 ...
#>  .. .. .. $ Log2FC_5  : num [1:7387] 0.891 -0.508 -0.253 -0.492 -0.97 ...
#>  .. .. .. $ pvalue_5  : num [1:7387] 0.0302 0.0209 0.0414 0.0149 0.1261 ...
#>  .. .. .. $ metap     : num [1:7387] 9.00e-15 3.55e-20 5.67e-26 2.18e-20 1.48e-11 ...
#>  .. .. .. $ metafc    : num [1:7387] 1.969 -1.254 -0.936 -1.094 -1.983 ...
#>  .. .. .. $ idx       : num [1:7387] 27.7 -24.4 -23.6 -21.5 -21.5 ...
#>  .. .. .. $ degcomb   : chr [1:7387] "2.Up-regulated" "0.Down-regulated" "0.Down-regulated" "0.Down-regulated" ...
#>  .. .. .. $ gene_label: chr [1:7387] "" "" "" "" ...
#>   .. ..@ layers     :List of 1
#>  .. .. .. $ geom_point:Classes 'LayerInstance', 'Layer', 'ggproto', 'gg' <ggproto object: Class LayerInstance, Layer, gg>
#>     aes_params: list
#>     compute_aesthetics: function
#>     compute_geom_1: function
#>     compute_geom_2: function
#>     compute_position: function
#>     compute_statistic: function
#>     computed_geom_params: list
#>     computed_mapping: ggplot2::mapping, uneval, gg, S7_object
#>     computed_stat_params: list
#>     constructor: call
#>     data: waiver
#>     draw_geom: function
#>     finish_statistics: function
#>     geom: <ggproto object: Class GeomPoint, Geom, gg>
#>         aesthetics: function
#>         default_aes: ggplot2::mapping, uneval, gg, S7_object
#>         draw_group: function
#>         draw_key: function
#>         draw_layer: function
#>         draw_panel: function
#>         extra_params: na.rm
#>         handle_na: function
#>         non_missing_aes: size shape colour
#>         optional_aes: 
#>         parameters: function
#>         rename_size: FALSE
#>         required_aes: x y
#>         setup_data: function
#>         setup_params: function
#>         use_defaults: function
#>         super:  <ggproto object: Class Geom, gg>
#>     geom_params: list
#>     inherit.aes: TRUE
#>     layer_data: function
#>     layout: NULL
#>     map_statistic: function
#>     mapping: ggplot2::mapping, uneval, gg, S7_object
#>     name: NULL
#>     position: <ggproto object: Class PositionIdentity, Position, gg>
#>         aesthetics: function
#>         compute_layer: function
#>         compute_panel: function
#>         default_aes: ggplot2::mapping, uneval, gg, S7_object
#>         required_aes: 
#>         setup_data: function
#>         setup_params: function
#>         use_defaults: function
#>         super:  <ggproto object: Class Position, gg>
#>     print: function
#>     setup_layer: function
#>     show.legend: NA
#>     stat: <ggproto object: Class StatIdentity, Stat, gg>
#>         aesthetics: function
#>         compute_group: function
#>         compute_layer: function
#>         compute_panel: function
#>         default_aes: ggplot2::mapping, uneval, gg, S7_object
#>         dropped_aes: x_plotlyDomain y_plotlyDomain
#>         extra_params: na.rm
#>         finish_layer: function
#>         non_missing_aes: 
#>         optional_aes: 
#>         parameters: function
#>         required_aes: 
#>         retransform: TRUE
#>         setup_data: function
#>         setup_params: function
#>         super:  <ggproto object: Class Stat, gg>
#>     stat_params: list
#>     super:  <ggproto object: Class Layer, gg> 
#>   .. ..@ scales     :Classes 'ScalesList', 'ggproto', 'gg' <ggproto object: Class ScalesList, gg>
#>     add: function
#>     add_defaults: function
#>     add_missing: function
#>     backtransform_df: function
#>     clone: function
#>     find: function
#>     get_scales: function
#>     has_scale: function
#>     input: function
#>     map_df: function
#>     n: function
#>     non_position_scales: function
#>     scales: list
#>     set_palettes: function
#>     train_df: function
#>     transform_df: function
#>     super:  <ggproto object: Class ScalesList, gg> 
#>   .. ..@ guides     :Classes 'Guides', 'ggproto', 'gg' <ggproto object: Class Guides, gg>
#>     add: function
#>     assemble: function
#>     build: function
#>     draw: function
#>     get_custom: function
#>     get_guide: function
#>     get_params: function
#>     get_position: function
#>     guides: NULL
#>     merge: function
#>     missing: <ggproto object: Class GuideNone, Guide, gg>
#>         add_title: function
#>         arrange_layout: function
#>         assemble_drawing: function
#>         available_aes: any
#>         build_decor: function
#>         build_labels: function
#>         build_ticks: function
#>         build_title: function
#>         draw: function
#>         draw_early_exit: function
#>         elements: list
#>         extract_decor: function
#>         extract_key: function
#>         extract_params: function
#>         get_layer_key: function
#>         hashables: list
#>         measure_grobs: function
#>         merge: function
#>         override_elements: function
#>         params: list
#>         process_layers: function
#>         setup_elements: function
#>         setup_params: function
#>         train: function
#>         transform: function
#>         super:  <ggproto object: Class GuideNone, Guide, gg>
#>     package_box: function
#>     print: function
#>     process_layers: function
#>     setup: function
#>     subset_guides: function
#>     train: function
#>     update_params: function
#>     super:  <ggproto object: Class Guides, gg> 
#>   .. ..@ mapping    : <ggplot2::mapping> List of 3
#>  .. .. .. $ x   : language ~metafc
#>  .. .. ..  ..- attr(*, ".Environment")=<environment: 0x000001631ebdb320> 
#>  .. .. .. $ y   : language ~-log10(metap)
#>  .. .. ..  ..- attr(*, ".Environment")=<environment: 0x000001631ebdb320> 
#>  .. .. .. $ text: language ~Symbol
#>  .. .. ..  ..- attr(*, ".Environment")=<environment: 0x000001631ebdb320> 
#>   .. ..@ theme      : <theme> List of 144
#>  .. .. .. $ line                            : <ggplot2::element_line>
#>  .. .. ..  ..@ colour       : chr "black"
#>  .. .. ..  ..@ linewidth    : num 0.5
#>  .. .. ..  ..@ linetype     : num 1
#>  .. .. ..  ..@ lineend      : chr "butt"
#>  .. .. ..  ..@ linejoin     : chr "round"
#>  .. .. ..  ..@ arrow        : logi FALSE
#>  .. .. ..  ..@ arrow.fill   : chr "black"
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ rect                            : <ggplot2::element_rect>
#>  .. .. ..  ..@ fill         : chr "white"
#>  .. .. ..  ..@ colour       : chr "black"
#>  .. .. ..  ..@ linewidth    : num 0.5
#>  .. .. ..  ..@ linetype     : num 1
#>  .. .. ..  ..@ linejoin     : chr "round"
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ text                            : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : chr ""
#>  .. .. ..  ..@ face         : chr "plain"
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : chr "black"
#>  .. .. ..  ..@ size         : num 11
#>  .. .. ..  ..@ hjust        : num 0.5
#>  .. .. ..  ..@ vjust        : num 0.5
#>  .. .. ..  ..@ angle        : num 0
#>  .. .. ..  ..@ lineheight   : num 0.9
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 0 0 0 0
#>  .. .. ..  ..@ debug        : logi FALSE
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ title                           : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : NULL
#>  .. .. ..  ..@ vjust        : NULL
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : NULL
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ point                           : <ggplot2::element_point>
#>  .. .. ..  ..@ colour       : chr "black"
#>  .. .. ..  ..@ shape        : num 19
#>  .. .. ..  ..@ size         : num 1.5
#>  .. .. ..  ..@ fill         : chr "white"
#>  .. .. ..  ..@ stroke       : num 0.5
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ polygon                         : <ggplot2::element_polygon>
#>  .. .. ..  ..@ fill         : chr "white"
#>  .. .. ..  ..@ colour       : chr "black"
#>  .. .. ..  ..@ linewidth    : num 0.5
#>  .. .. ..  ..@ linetype     : num 1
#>  .. .. ..  ..@ linejoin     : chr "round"
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ geom                            : <ggplot2::element_geom>
#>  .. .. ..  ..@ ink        : chr "black"
#>  .. .. ..  ..@ paper      : chr "white"
#>  .. .. ..  ..@ accent     : chr "#3366FF"
#>  .. .. ..  ..@ linewidth  : num 0.5
#>  .. .. ..  ..@ borderwidth: num 0.5
#>  .. .. ..  ..@ linetype   : int 1
#>  .. .. ..  ..@ bordertype : int 1
#>  .. .. ..  ..@ family     : chr ""
#>  .. .. ..  ..@ fontsize   : num 3.87
#>  .. .. ..  ..@ pointsize  : num 1.5
#>  .. .. ..  ..@ pointshape : num 19
#>  .. .. ..  ..@ colour     : NULL
#>  .. .. ..  ..@ fill       : NULL
#>  .. .. .. $ spacing                         : 'simpleUnit' num 5.5points
#>  .. .. ..  ..- attr(*, "unit")= int 8
#>  .. .. .. $ margins                         : <ggplot2::margin> num [1:4] 5.5 5.5 5.5 5.5
#>  .. .. .. $ aspect.ratio                    : NULL
#>  .. .. .. $ axis.title                      : NULL
#>  .. .. .. $ axis.title.x                    : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : NULL
#>  .. .. ..  ..@ vjust        : num 1
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 2.75 0 0 0
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.title.x.top                : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : NULL
#>  .. .. ..  ..@ vjust        : num 0
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 0 0 2.75 0
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.title.x.bottom             : NULL
#>  .. .. .. $ axis.title.y                    : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : NULL
#>  .. .. ..  ..@ vjust        : num 1
#>  .. .. ..  ..@ angle        : num 90
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 0 2.75 0 0
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.title.y.left               : NULL
#>  .. .. .. $ axis.title.y.right              : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : NULL
#>  .. .. ..  ..@ vjust        : num 1
#>  .. .. ..  ..@ angle        : num -90
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 0 0 0 2.75
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.text                       : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : 'rel' num 0.8
#>  .. .. ..  ..@ hjust        : NULL
#>  .. .. ..  ..@ vjust        : NULL
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : NULL
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.text.x                     : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : NULL
#>  .. .. ..  ..@ vjust        : num 0.5
#>  .. .. ..  ..@ angle        : num 0
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 2.2 0 0 0
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi FALSE
#>  .. .. .. $ axis.text.x.top                 : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : NULL
#>  .. .. ..  ..@ vjust        : num 0
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 0 0 2.2 0
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.text.x.bottom              : NULL
#>  .. .. .. $ axis.text.y                     : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : num 1
#>  .. .. ..  ..@ vjust        : NULL
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 0 2.2 0 0
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.text.y.left                : NULL
#>  .. .. .. $ axis.text.y.right               : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : num 0
#>  .. .. ..  ..@ vjust        : NULL
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 0 0 0 2.2
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.text.theta                 : NULL
#>  .. .. .. $ axis.text.r                     : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : num 0.5
#>  .. .. ..  ..@ vjust        : NULL
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : <ggplot2::margin> num [1:4] 0 2.2 0 2.2
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.ticks                      : <ggplot2::element_line>
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ linewidth    : NULL
#>  .. .. ..  ..@ linetype     : NULL
#>  .. .. ..  ..@ lineend      : NULL
#>  .. .. ..  ..@ linejoin     : NULL
#>  .. .. ..  ..@ arrow        : logi FALSE
#>  .. .. ..  ..@ arrow.fill   : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.ticks.x                    : NULL
#>  .. .. .. $ axis.ticks.x.top                : NULL
#>  .. .. .. $ axis.ticks.x.bottom             : NULL
#>  .. .. .. $ axis.ticks.y                    : NULL
#>  .. .. .. $ axis.ticks.y.left               : NULL
#>  .. .. .. $ axis.ticks.y.right              : NULL
#>  .. .. .. $ axis.ticks.theta                : NULL
#>  .. .. .. $ axis.ticks.r                    : NULL
#>  .. .. .. $ axis.minor.ticks.x.top          : NULL
#>  .. .. .. $ axis.minor.ticks.x.bottom       : NULL
#>  .. .. .. $ axis.minor.ticks.y.left         : NULL
#>  .. .. .. $ axis.minor.ticks.y.right        : NULL
#>  .. .. .. $ axis.minor.ticks.theta          : NULL
#>  .. .. .. $ axis.minor.ticks.r              : NULL
#>  .. .. .. $ axis.ticks.length               : 'rel' num 0.5
#>  .. .. .. $ axis.ticks.length.x             : NULL
#>  .. .. .. $ axis.ticks.length.x.top         : NULL
#>  .. .. .. $ axis.ticks.length.x.bottom      : NULL
#>  .. .. .. $ axis.ticks.length.y             : NULL
#>  .. .. .. $ axis.ticks.length.y.left        : NULL
#>  .. .. .. $ axis.ticks.length.y.right       : NULL
#>  .. .. .. $ axis.ticks.length.theta         : NULL
#>  .. .. .. $ axis.ticks.length.r             : NULL
#>  .. .. .. $ axis.minor.ticks.length         : 'rel' num 0.75
#>  .. .. .. $ axis.minor.ticks.length.x       : NULL
#>  .. .. .. $ axis.minor.ticks.length.x.top   : NULL
#>  .. .. .. $ axis.minor.ticks.length.x.bottom: NULL
#>  .. .. .. $ axis.minor.ticks.length.y       : NULL
#>  .. .. .. $ axis.minor.ticks.length.y.left  : NULL
#>  .. .. .. $ axis.minor.ticks.length.y.right : NULL
#>  .. .. .. $ axis.minor.ticks.length.theta   : NULL
#>  .. .. .. $ axis.minor.ticks.length.r       : NULL
#>  .. .. .. $ axis.line                       : <ggplot2::element_line>
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ linewidth    : NULL
#>  .. .. ..  ..@ linetype     : NULL
#>  .. .. ..  ..@ lineend      : chr "square"
#>  .. .. ..  ..@ linejoin     : NULL
#>  .. .. ..  ..@ arrow        : logi FALSE
#>  .. .. ..  ..@ arrow.fill   : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ axis.line.x                     : <ggplot2::element_line>
#>  .. .. ..  ..@ colour       : chr "black"
#>  .. .. ..  ..@ linewidth    : num 0.6
#>  .. .. ..  ..@ linetype     : NULL
#>  .. .. ..  ..@ lineend      : chr "square"
#>  .. .. ..  ..@ linejoin     : NULL
#>  .. .. ..  ..@ arrow        : logi FALSE
#>  .. .. ..  ..@ arrow.fill   : chr "black"
#>  .. .. ..  ..@ inherit.blank: logi FALSE
#>  .. .. .. $ axis.line.x.top                 : NULL
#>  .. .. .. $ axis.line.x.bottom              : NULL
#>  .. .. .. $ axis.line.y                     : <ggplot2::element_line>
#>  .. .. ..  ..@ colour       : chr "black"
#>  .. .. ..  ..@ linewidth    : num 0.6
#>  .. .. ..  ..@ linetype     : NULL
#>  .. .. ..  ..@ lineend      : chr "square"
#>  .. .. ..  ..@ linejoin     : NULL
#>  .. .. ..  ..@ arrow        : logi FALSE
#>  .. .. ..  ..@ arrow.fill   : chr "black"
#>  .. .. ..  ..@ inherit.blank: logi FALSE
#>  .. .. .. $ axis.line.y.left                : NULL
#>  .. .. .. $ axis.line.y.right               : NULL
#>  .. .. .. $ axis.line.theta                 : NULL
#>  .. .. .. $ axis.line.r                     : NULL
#>  .. .. .. $ legend.background               : <ggplot2::element_rect>
#>  .. .. ..  ..@ fill         : NULL
#>  .. .. ..  ..@ colour       : logi NA
#>  .. .. ..  ..@ linewidth    : NULL
#>  .. .. ..  ..@ linetype     : NULL
#>  .. .. ..  ..@ linejoin     : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ legend.margin                   : NULL
#>  .. .. .. $ legend.spacing                  : 'rel' num 2
#>  .. .. .. $ legend.spacing.x                : NULL
#>  .. .. .. $ legend.spacing.y                : NULL
#>  .. .. .. $ legend.key                      : NULL
#>  .. .. .. $ legend.key.size                 : 'simpleUnit' num 1.2lines
#>  .. .. ..  ..- attr(*, "unit")= int 3
#>  .. .. .. $ legend.key.height               : NULL
#>  .. .. .. $ legend.key.width                : NULL
#>  .. .. .. $ legend.key.spacing              : NULL
#>  .. .. .. $ legend.key.spacing.x            : NULL
#>  .. .. .. $ legend.key.spacing.y            : NULL
#>  .. .. .. $ legend.key.justification        : NULL
#>  .. .. .. $ legend.frame                    : NULL
#>  .. .. .. $ legend.ticks                    : NULL
#>  .. .. .. $ legend.ticks.length             : 'rel' num 0.2
#>  .. .. .. $ legend.axis.line                : NULL
#>  .. .. .. $ legend.text                     : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : 'rel' num 0.8
#>  .. .. ..  ..@ hjust        : NULL
#>  .. .. ..  ..@ vjust        : NULL
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : NULL
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ legend.text.position            : NULL
#>  .. .. .. $ legend.title                    : <ggplot2::element_text>
#>  .. .. ..  ..@ family       : NULL
#>  .. .. ..  ..@ face         : NULL
#>  .. .. ..  ..@ italic       : chr NA
#>  .. .. ..  ..@ fontweight   : num NA
#>  .. .. ..  ..@ fontwidth    : num NA
#>  .. .. ..  ..@ colour       : NULL
#>  .. .. ..  ..@ size         : NULL
#>  .. .. ..  ..@ hjust        : num 0
#>  .. .. ..  ..@ vjust        : NULL
#>  .. .. ..  ..@ angle        : NULL
#>  .. .. ..  ..@ lineheight   : NULL
#>  .. .. ..  ..@ margin       : NULL
#>  .. .. ..  ..@ debug        : NULL
#>  .. .. ..  ..@ inherit.blank: logi TRUE
#>  .. .. .. $ legend.title.position           : NULL
#>  .. .. .. $ legend.position                 : chr "none"
#>  .. .. .. $ legend.position.inside          : NULL
#>  .. .. .. $ legend.direction                : NULL
#>  .. .. .. $ legend.byrow                    : NULL
#>  .. .. .. $ legend.justification            : chr "center"
#>  .. .. .. $ legend.justification.top        : NULL
#>  .. .. .. $ legend.justification.bottom     : NULL
#>  .. .. .. $ legend.justification.left       : NULL
#>  .. .. .. $ legend.justification.right      : NULL
#>  .. .. .. $ legend.justification.inside     : NULL
#>  .. .. ..  [list output truncated]
#>  .. .. .. @ complete: logi TRUE
#>  .. .. .. @ validate: logi TRUE
#>   .. ..@ coordinates:Classes 'CoordCartesian', 'Coord', 'ggproto', 'gg' <ggproto object: Class CoordCartesian, Coord, gg>
#>     aspect: function
#>     backtransform_range: function
#>     clip: on
#>     default: TRUE
#>     distance: function
#>     draw_panel: function
#>     expand: TRUE
#>     is_free: function
#>     is_linear: function
#>     labels: function
#>     limits: list
#>     modify_scales: function
#>     range: function
#>     ratio: NULL
#>     render_axis_h: function
#>     render_axis_v: function
#>     render_bg: function
#>     render_fg: function
#>     reverse: none
#>     setup_data: function
#>     setup_layout: function
#>     setup_panel_guides: function
#>     setup_panel_params: function
#>     setup_params: function
#>     train_panel_guides: function
#>     transform: function
#>     super:  <ggproto object: Class CoordCartesian, Coord, gg> 
#>   .. ..@ facet      :Classes 'FacetNull', 'Facet', 'ggproto', 'gg' <ggproto object: Class FacetNull, Facet, gg>
#>     attach_axes: function
#>     attach_strips: function
#>     compute_layout: function
#>     draw_back: function
#>     draw_front: function
#>     draw_labels: function
#>     draw_panel_content: function
#>     draw_panels: function
#>     finish_data: function
#>     format_strip_labels: function
#>     init_gtable: function
#>     init_scales: function
#>     map_data: function
#>     params: list
#>     set_panel_size: function
#>     setup_data: function
#>     setup_panel_params: function
#>     setup_params: function
#>     shrink: TRUE
#>     train_scales: function
#>     vars: function
#>     super:  <ggproto object: Class FacetNull, Facet, gg> 
#>   .. ..@ layout     :Classes 'Layout', 'ggproto', 'gg' <ggproto object: Class Layout, gg>
#>     coord: NULL
#>     coord_params: list
#>     facet: NULL
#>     facet_params: list
#>     finish_data: function
#>     get_scales: function
#>     layout: NULL
#>     map_position: function
#>     panel_params: NULL
#>     panel_scales_x: NULL
#>     panel_scales_y: NULL
#>     render: function
#>     render_labels: function
#>     reset_scales: function
#>     resolve_label: function
#>     setup: function
#>     setup_panel_guides: function
#>     setup_panel_params: function
#>     train_position: function
#>     super:  <ggproto object: Class Layout, gg> 
#>   .. ..@ labels     : <ggplot2::labels> List of 3
#>  .. .. .. $ x    : chr "Mean Fold Change"
#>  .. .. .. $ y    : chr "-log10(Fisher's(p values))"
#>  .. .. .. $ title: NULL
#>   .. ..@ meta       : list()
#>   .. ..@ plot_env   :<environment: 0x000001631ebdb320> 
#>   ..@ degfreq    : <ggplot2::ggplot>
#>   .. ..@ data       : list()
#>  .. .. .. - attr(*, "class")= chr "waiver"
#>   .. ..@ layers     : list()
#>   .. ..@ scales     :Classes 'ScalesList', 'ggproto', 'gg' <ggproto object: Class ScalesList, gg>
#>     add: function
#>     add_defaults: function
#>     add_missing: function
#>     backtransform_df: function
#>     clone: function
#>     find: function
#>     get_scales: function
#>     has_scale: function
#>     input: function
#>     map_df: function
#>     n: function
#>     non_position_scales: function
#>     scales: NULL
#>     set_palettes: function
#>     train_df: function
#>     transform_df: function
#>     super:  <ggproto object: Class ScalesList, gg> 
#>   .. ..@ guides     :Classes 'Guides', 'ggproto', 'gg' <ggproto object: Class Guides, gg>
#>     add: function
#>     assemble: function
#>     build: function
#>     draw: function
#>     get_custom: function
#>     get_guide: function
#>     get_params: function
#>     get_position: function
#>     guides: NULL
#>     merge: function
#>     missing: <ggproto object: Class GuideNone, Guide, gg>
#>         add_title: function
#>         arrange_layout: function
#>         assemble_drawing: function
#>         available_aes: any
#>         build_decor: function
#>         build_labels: function
#>         build_ticks: function
#>         build_title: function
#>         draw: function
#>         draw_early_exit: function
#>         elements: list
#>         extract_decor: function
#>         extract_key: function
#>         extract_params: function
#>         get_layer_key: function
#>         hashables: list
#>         measure_grobs: function
#>         merge: function
#>         override_elements: function
#>         params: list
#>         process_layers: function
#>         setup_elements: function
#>         setup_params: function
#>         train: function
#>         transform: function
#>         super:  <ggproto object: Class GuideNone, Guide, gg>
#>     package_box: function
#>     print: function
#>     process_layers: function
#>     setup: function
#>     subset_guides: function
#>     train: function
#>     update_params: function
#>     super:  <ggproto object: Class Guides, gg> 
#>   .. ..@ mapping    : <ggplot2::mapping>  Named list()
#>   .. ..@ theme      : <theme>  Named list()
#>  .. .. .. @ complete: logi FALSE
#>  .. .. .. @ validate: logi TRUE
#>   .. ..@ coordinates:Classes 'CoordCartesian', 'Coord', 'ggproto', 'gg' <ggproto object: Class CoordCartesian, Coord, gg>
#>     aspect: function
#>     backtransform_range: function
#>     clip: on
#>     default: TRUE
#>     distance: function
#>     draw_panel: function
#>     expand: TRUE
#>     is_free: function
#>     is_linear: function
#>     labels: function
#>     limits: list
#>     modify_scales: function
#>     range: function
#>     ratio: NULL
#>     render_axis_h: function
#>     render_axis_v: function
#>     render_bg: function
#>     render_fg: function
#>     reverse: none
#>     setup_data: function
#>     setup_layout: function
#>     setup_panel_guides: function
#>     setup_panel_params: function
#>     setup_params: function
#>     train_panel_guides: function
#>     transform: function
#>     super:  <ggproto object: Class CoordCartesian, Coord, gg> 
#>   .. ..@ facet      :Classes 'FacetNull', 'Facet', 'ggproto', 'gg' <ggproto object: Class FacetNull, Facet, gg>
#>     attach_axes: function
#>     attach_strips: function
#>     compute_layout: function
#>     draw_back: function
#>     draw_front: function
#>     draw_labels: function
#>     draw_panel_content: function
#>     draw_panels: function
#>     finish_data: function
#>     format_strip_labels: function
#>     init_gtable: function
#>     init_scales: function
#>     map_data: function
#>     params: list
#>     set_panel_size: function
#>     setup_data: function
#>     setup_panel_params: function
#>     setup_params: function
#>     shrink: TRUE
#>     train_scales: function
#>     vars: function
#>     super:  <ggproto object: Class FacetNull, Facet, gg> 
#>   .. ..@ layout     :Classes 'Layout', 'ggproto', 'gg' <ggproto object: Class Layout, gg>
#>     coord: NULL
#>     coord_params: list
#>     facet: NULL
#>     facet_params: list
#>     finish_data: function
#>     get_scales: function
#>     layout: NULL
#>     map_position: function
#>     panel_params: NULL
#>     panel_scales_x: NULL
#>     panel_scales_y: NULL
#>     render: function
#>     render_labels: function
#>     reset_scales: function
#>     resolve_label: function
#>     setup: function
#>     setup_panel_guides: function
#>     setup_panel_params: function
#>     train_position: function
#>     super:  <ggproto object: Class Layout, gg> 
#>   .. ..@ labels     : <ggplot2::labels>  Named list()
#>   .. ..@ meta       : list()
#>   .. ..@ plot_env   :<environment: 0x000001632af1be90>