fg_plot: Creates a cell hierarchy plot.

View source: R/04_flowgraph_plots.R

fg_plotR Documentation

Creates a cell hierarchy plot.

Description

Creates a cell hierarchy plot given a flowGraph object. If a path is not provided for fg_plot to save the plot, please use plot_gr to view plot given the output of fg_plot.

Usage

fg_plot(
  fg,
  type = "node",
  index = 1,
  summary_meta = NULL,
  adjust_custom = "byLayer",
  show_nodes_edges = NULL,
  label_max = 30,
  p_thres = 0.05,
  filter_adjust0 = 1,
  filter_es = 0,
  filter_btwn_tpthres = 1,
  filter_btwn_es = 0,
  node_labels = c("prop", "expect_prop"),
  summary_fun = colMeans,
  layout_fun = NULL,
  show_bgedges = TRUE,
  main = NULL,
  interactive = FALSE,
  visNet_plot = TRUE,
  path = NULL,
  width = 9,
  height = 9
)

Arguments

fg

flowGraph object.

type

A string indicating feature type the summary was created for 'node' or 'edge'.

index

The user must provide type and additionally, one of summary_meta or index.

index is an integer indicating the row in fg_get_summary_desc(<flowGraph>) of the corresponding type and summary the user would like to retrieve.

summary_meta

The user must provide type and additionally, one of summary_meta or index.

summary_meta is a list containing feature (feature name), test_name (summary statistic name), class (class), label1, and label2 (class labels compared). See fg_get_summary_desc for details.

adjust_custom

A function or a string indicating the test adjustment method to use. If a string is provided, it should be one of c("holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none") (see p.adjust.methods). If a function is provided, it should take as input a numeric vector and output the same vector adjusted.

show_nodes_edges

A logical vector indicating which nodes/edges (type) to show in the plot; if this is not specified, only nodes/edges with significant summary statistics will be shown.

label_max

An integer specifying the maximum number of nodes to label.

p_thres

A double indicating a summary statistic threshold e.g. if we are plotting a T test summary statistic, we can set the threshold to .05; nodes with a p-value greater than .05 will not be plotted.

filter_adjust0

A numeric variable indicating what percentage of SpecEnr values compared (minimum) should be not close to 0. Set to 1 to not conduct filtering.

filter_es

A numeric variable between 0 and 1 indicating what the Cohen's D value of the nodes/edges in question must be greater or equal to, to be significant.

filter_btwn_tpthres

A numeric variable between 0 and 1 indicating the unadjusted T-test p-value threshold used to test whether the actual and expected feature values used to calculate the specified SpecEnr feature are significantly different for each sample class. Note this only needs to be specified for SpecEnr features. Combined with filter_btwn_es, we conduct three tests to understand if there is an actual large difference between actual and expected features: (1,2) T-test of significance between the actual and expected raw feature value (e.g. proportion) for samples in each of the compared classes, (3) and the T-test of significance between the differences of actual and expected feature values of the two classes. If any two of the three tests come out as insignificant, we set the p-value for the associated node/edge to 1.

filter_btwn_es

A numeric variable between 0 and 1 indicating what the Cohen's D value of the nodes/edges in question must be greater or equal to, to be significant – see filter_btwn_tpthres.

node_labels

A string vector indicating which node feature(s) should be used to label a node. We recommend keeping the length of this vector to below 2. Set to "NONE" if no p-value labels are needed.

summary_fun

A function that takes in a matrix and outputs a vector the same length as the number of columns this matrix has; see fg_summary.

layout_fun

A string representing a function from the igraph package that indicates what layout should be used if a cell hierarchy is to be ploted; all such functions have prefix layout_. Only specify if different from the default one already calculated in the fg flowGraph object given.

show_bgedges

A logical variable indicating whether or not edges not specified for plotting should be plotted as light grey in the background.

main

A string or the title of the plot; if left as NULL, a default title will be applied.

interactive

A logical variable indicating whether the plot should be an interactive plot; see package ggiraph.

visNet_plot

A logical variable indicating if an interactive plot is chosen, if function should output a visNetwork plot; if set to FALSE, ggplot's girafe will be used instead.

path

A string indicating the path to where the function should save the plot; leave as NULL to not save the plot. Static plots are saved as PNG, interactive plots are saved as HTML.

width

A numeric variable specifying, in inches, what the plot width should be.

height

A numeric variable specifying, in inches, what the plot height should be.

Details

fg_plot takes a flowGraph object as input and returns the graph slot of the given object with additional columns to serve as input into plot_gr for plotting using functions in the ggplot2 package. Users can choose to save a PNG version of the plot by filling out the path parameter with a full path to the PNG plot. In addition to specifying columns added from ggdf, fg_plot also adds label column(s) whose values serve as labels in the interactive version of the plot.

Value

A list of nodes and edges for plotting with the plot_gr function. Other elements in this list include show_bgedges, which has the same value as parameter show_bgedges, and main, the title of the plot.

See Also

flowGraph-class get_phen_meta ggdf plot_gr fg_get_feature fg_get_summary

Examples


 no_cores <- 1
 data(fg_data_pos2)
 fg <- flowGraph(fg_data_pos2$count, class=fg_data_pos2$meta$class,
                 no_cores=no_cores)

 gr <- fg_plot(fg, type="node", index=1, label_max=30,
   show_nodes_edges=NULL, p_thres=.01, node_labels=c("prop", "expect_prop"),
   path=NULL) # set path to a full path to save plot as a PNG
 # plot_gr(gr)


aya49/flowGraph documentation built on Feb. 4, 2024, 6:40 p.m.