trans_venn {microeco} | R Documentation |
Create trans_venn
object for the Venn diagram, petal plot and UpSet plot.
Description
This class is a wrapper for a series of intersection analysis related methods, including 2- to 5-way venn diagram, more than 5-way petal or UpSet plot and intersection transformations based on David et al. (2012) <doi:10.1128/AEM.01459-12>.
Methods
Public methods
Method new()
Usage
trans_venn$new(dataset, ratio = NULL, name_joint = "&")
Arguments
dataset
the object of
microtable
class or a matrix-like table (data.frame or matrix object). If dataset is a matrix-like table, features must be rows.ratio
default NULL; NULL, "numratio" or "seqratio"; "numratio": calculate the percentage of feature number; "seqratio": calculate the percentage of feature abundance; NULL: no additional percentage.
name_joint
default "&"; the joint mark for generating multi-sample names.
Returns
data_details
and data_summary
stored in the object.
Examples
\donttest{ data(dataset) t1 <- dataset$merge_samples(use_group = "Group") t1 <- trans_venn$new(dataset = t1, ratio = "numratio") }
Method plot_venn()
Plot venn diagram.
Usage
trans_venn$plot_venn( color_circle = RColorBrewer::brewer.pal(8, "Dark2"), fill_color = TRUE, text_size = 4.5, text_name_size = 6, text_name_position = NULL, alpha = 0.3, linesize = 1.1, petal_plot = FALSE, petal_color = "#BEAED4", petal_color_center = "#BEBADA", petal_a = 4, petal_r = 1, petal_use_lim = c(-12, 12), petal_center_size = 40, petal_move_xy = 4, petal_move_k = 2.3, petal_move_k_count = 1.3, petal_text_move = 40, other_text_show = NULL, other_text_position = c(2, 2), other_text_size = 5 )
Arguments
color_circle
default
RColorBrewer::brewer.pal(8, "Dark2")
; color pallete.fill_color
default TRUE; whether fill the area color.
text_size
default 4.5; text size in plot.
text_name_size
default 6; name size in plot.
text_name_position
default NULL; name position in plot.
alpha
default .3; alpha for transparency.
linesize
default 1.1; cycle line size.
petal_plot
default FALSE; whether use petal plot.
petal_color
default "#BEAED4"; color of the petals; If petal_color only has one color value, all the petals will be assigned with this color value. If petal_color has multiple colors, and the number of color values is smaller than the petal number, the function can append more colors automatically with the color interpolation.
petal_color_center
default "#BEBADA"; color of the center in the petal plot.
petal_a
default 4; the length of the ellipse.
petal_r
default 1; scaling up the size of the ellipse.
petal_use_lim
default c(-12, 12); the width of the plot.
petal_center_size
default 40; petal center circle size.
petal_move_xy
default 4; the distance of text to circle.
petal_move_k
default 2.3; the distance of title to circle.
petal_move_k_count
default 1.3; the distance of data text to circle.
petal_text_move
default 40; the distance between two data text.
other_text_show
default NULL; other characters used to show in the plot.
other_text_position
default c(1, 1); the text position for text in
other_text_show
.other_text_size
default 5; the text size for text in
other_text_show
.
Returns
ggplot.
Examples
\donttest{ t1$plot_venn() }
Method plot_bar()
Plot the intersections using histogram, i.e. UpSet plot. Especially useful when samples > 5.
Usage
trans_venn$plot_bar( left_plot = TRUE, sort_samples = FALSE, up_y_title = "Intersection size", up_y_title_size = 15, up_y_text_size = 8, up_bar_fill = "grey70", bottom_y_text_size = 12, bottom_height = 1, bottom_point_size = 3, bottom_point_color = "black", bottom_background_fill = "grey95", left_width = 0.3, left_bar_fill = "grey70", left_x_text_size = 10, left_background_fill = "grey95" )
Arguments
left_plot
default TRUE; whether add the left bar plot to show the feature number of each sample.
sort_samples
default FALSE;
TRUE
is used to sort samples according to the number of features in each sample.FALSE
means the sample order is same with that in sample_table of the raw dataset.up_y_title
default "Intersection set"; y axis title of upper plot.
up_y_title_size
default 15; y axis title size of upper plot.
up_y_text_size
default 4; y axis text size of upper plot.
up_bar_fill
default "grey70"; bar fill color of upper plot.
bottom_y_text_size
default 12; y axis text size, i.e. sample name size, of bottom sample plot.
bottom_height
default 1; bottom plot height relative to the upper bar plot. 1 represents the height of bottom plot is same with the upper bar plot.
bottom_point_size
default 3; point size of bottom plot.
bottom_point_color
default "black"; point color of bottom plot.
bottom_background_fill
default "grey95"; fill color for the striped background in the bottom sample plot.
left_width
default 0.3; left bar plot width relative to the right bottom plot.
left_bar_fill
default "grey70"; fill color for the left bar plot presenting feature number.
left_x_text_size
default 10; x axis text size of the left bar plot.
left_background_fill
default "grey95"; fill color for the striped background in the left plot.
Returns
a ggplot2 object.
Examples
\donttest{ t2 <- t1$plot_bar() }
Method trans_comm()
Transform intersection result to community-like microtable object for further composition analysis.
Usage
trans_venn$trans_comm(use_frequency = TRUE)
Arguments
use_frequency
default TRUE; whether only use OTUs occurrence frequency, i.e. presence/absence data; if FALSE, use abundance data.
Returns
a new microtable
class.
Examples
\donttest{ t2 <- t1$trans_comm(use_frequency = TRUE) }
Method print()
Print the trans_venn object.
Usage
trans_venn$print()
Method clone()
The objects of this class are cloneable with this method.
Usage
trans_venn$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Examples
## ------------------------------------------------
## Method `trans_venn$new`
## ------------------------------------------------
data(dataset)
t1 <- dataset$merge_samples(use_group = "Group")
t1 <- trans_venn$new(dataset = t1, ratio = "numratio")
## ------------------------------------------------
## Method `trans_venn$plot_venn`
## ------------------------------------------------
t1$plot_venn()
## ------------------------------------------------
## Method `trans_venn$plot_bar`
## ------------------------------------------------
t2 <- t1$plot_bar()
## ------------------------------------------------
## Method `trans_venn$trans_comm`
## ------------------------------------------------
t2 <- t1$trans_comm(use_frequency = TRUE)