R/pathway_errorbar.R
pathway_errorbar.Rd
The function pathway_errorbar() is used to visualize the results of functional pathway differential abundance analysis as error bar plots.
A data frame with row names representing pathways and column names representing samples. Each element represents the relative abundance of the corresponding pathway in the corresponding sample.
A data frame containing the results of the differential abundance analysis of the pathways, generated by the pathway_daa function. x_lab should be a column name of daa_results_df.
A data frame or a vector that assigns each sample to a group. The groups are used to color the samples in the figure.
A logical parameter indicating whether there was a convertion that convert ko abundance to kegg abundance.
A numeric parameter specifying the threshold for statistical significance of differential abundance. Pathways with p-values below this threshold will be considered significant.
A parameter controlling the ordering of the rows in the figure. The options are: "p_values" (order by p-values), "name" (order by pathway name), "group" (order by the group with the highest mean relative abundance), or "pathway_class" (order by the pathway category).
A vector of pathway names to be included in the figure. This can be used to limit the number of pathways displayed. If NULL, all pathways will be displayed.
A logical parameter indicating whether to display a bar showing the p-value threshold for significance. If TRUE, the bar will be displayed.
A vector of colors to be used to represent the groups in the figure. Each color corresponds to a group.
A character string to be used as the x-axis label in the figure. The default value is "description" for KOs'descriptions and "pathway_name" for KEGG pathway names.
A figure showing the error bar plot of the differential abundance analysis results for the functional pathways.
if (FALSE) {
# Example 1: Analyzing KEGG pathway abundance
metadata <- read_delim(
"path/to/your/metadata.txt",
delim = "\t",
escape_double = FALSE,
trim_ws = TRUE
)
# data(metadata)
kegg_abundance <- ko2kegg_abundance(
"path/to/your/pred_metagenome_unstrat.tsv"
)
# data(kegg_abundance)
# Please change group to "your_group_column" if you are not using example dataset
group <- "Environment"
daa_results_df <- pathway_daa(
abundance = kegg_abundance,
metadata = metadata,
group = group,
daa_method = "ALDEx2",
select = NULL,
reference = NULL
)
# Please check the unique(daa_results_df$method) and choose one
daa_sub_method_results_df <- daa_results_df[daa_results_df$method
== "ALDEx2_Welch's t test", ]
daa_annotated_sub_method_results_df <- pathway_annotation(
pathway = "KO",
daa_results_df = daa_sub_method_results_df,
ko_to_kegg = TRUE
)
# Please change Group to metadata$your_group_column if you are not using example dataset
Group <- metadata$Environment
p <- pathway_errorbar(
abundance = kegg_abundance,
daa_results_df = daa_annotated_sub_method_results_df,
Group = Group,
p_values_threshold = 0.05,
order = "pathway_class",
select = daa_annotated_sub_method_results_df %>%
arrange(p_adjust) %>%
slice(1:20) %>%
select("feature") %>% pull(),
ko_to_kegg = TRUE,
p_value_bar = TRUE,
colors = NULL,
x_lab = "pathway_name"
)
# Example 2: Analyzing EC, MetaCyc, KO without conversions
metadata <- read_delim(
"path/to/your/metadata.txt",
delim = "\t",
escape_double = FALSE,
trim_ws = TRUE
)
# data(metadata)
ko_abundance <- read.delim("path/to/your/metacyc_abundance.tsv")
# data(metacyc_abundance)
group <- "Environment"
daa_results_df <- pathway_daa(
abundance = metacyc_abundance %>% column_to_rownames("pathway"),
metadata = metadata,
group = group,
daa_method = "LinDA",
select = NULL,
reference = NULL
)
daa_annotated_results_df <- pathway_annotation(
pathway = "MetaCyc",
daa_results_df = daa_results_df,
ko_to_kegg = FALSE
)
Group <- metadata$Environment
p <- pathway_errorbar(
abundance = metacyc_abundance %>% column_to_rownames("pathway"),
daa_results_df = daa_annotated_results_df,
Group = Group,
p_values_threshold = 0.05,
order = "group",
select = NULL,
ko_to_kegg = FALSE,
p_value_bar = TRUE,
colors = NULL,
x_lab = "description"
)
}