Amanida
package contains a collection of functions for computing a meta-analysis in R only using significance and effect size. It covers the lack of data provided on metabolomic studies, where is rare to have error or variance disclosed. With this adaptation, only using p-value and fold-change, global significance and effect size for compounds or metabolites are obtained.
Furthermore, Amanida
also computes qualitative meta-analysis performing a vote-counting for compounds, including the option of only using identifier and trend labels.
The following computations are included:
The following plots are included to visualize the results:
Installation using R package devtools:
You can use Amanida
package in RStudio or R. After installation (explained before) follow this steps:
1. Load package in your script:
2. Read your data: amanida_read
Supported files are csv, xls/xlsx and txt.
For quantitative meta-analysis include the following parameters:
coln = c("Compound Name", "P-value", "Fold-change", "N total", "References")
input_file <- system.file("extdata", "dataset2.csv", package = "amanida")
datafile <- amanida_read(input_file, mode = "quan", coln, separator=";")
For qualitative meta-analysis include the following parameters:
coln = c("Compound Name", "Behaviour", "References")
input_file <- system.file("extdata", "dataset2.csv", package = "amanida")
datafile <- amanida_read(input_file, mode = "qual", coln, separator=";")
Before the meta-analysis the IDs can be checked using public databases information. The IDs in format chemical name, InChI, InChIKey, and SMILES are searched in PubChem to transform all into a common nomenclature using webchem
package. Harmonization names process is based in Villalba H, Llambrich M, Gumà J, Brezmes J, Cumeras R. A Metabolites Merging Strategy (MMS): Harmonization to Enable Studies’ Intercomparison. Metabolites. 2023; 13(12):1167. https://doi.org/10.3390/metabo13121167
datafile <- check_names(datafile)
3. Perform adapted meta-analysis: compute_amanida
In this step you will obtain an S4 object with two tables:
amanida_result@stat
amanida_results@vote
Selecting the option comp.inf = T
the package need the previous use of check_names
. Then using PubChem ID duplicates are checked. Results are returned including the following information: PubChem ID, Molecular Formula, Molecular Weight, SMILES, InChIKey, KEGG, ChEBI, HMDB, Drugbank.
4. Perform qualitative meta-analysis: amanida_vote
coln = c("Compound Name", "Behaviour", "References")
input_file <- system.file("extdata", "dataset2.csv", package = "amanida")
data_votes <- amanida_read(input_file, mode = "qual", coln, separator = ";")
vote_result <- amanida_vote(data_votes)
For qualitative analysis the check_names
can be also used, following the same procedure explained in Section 2.
In this step you will obtain an S4 object with one table:
vote_results@vote
Graphical visualization for adapted meta-analysis results: volcano_plot
Graphical visualization of compounds vote-counting: vote_plot
Data can be subset for better visualization using counts parameter to indicate the vote-counting cut-off.
Graphical visualization of compounds vote-counting and reports divided trend: explore_plot
Data can be shown in three types: * type = “all”: show all data * type = “sub”: subset the data by a cut-off value indicated by the counts parameter * type = “mix”: subset the data by a cut-off value indicated by the counts parameter and show compounds with discrepancies (reports up-regulated and down-regulated)
All results using Amanida can be obtained in a single step using amanida_report
function. It only requires the following parameters for qualitative analysis report: * file: path to the dataset * separator: separator used in the dataset * analysis_type: specify “quan” * column_id: nomes of columns to be used, see amanida_read
documentation for more information * pvalue_cutoff: numeric value where the p-value will be considered as significant, usually 0.05 * fc_cutoff: numeric value where the fold-change will be considered as significant, usually 2 * votecount_lim: numeric value set as minimum to show vote-counting results * comp_inf: to include name checking and IDs retrieval.
And for quantitative analysis report: * file: path to the dataset * separator: separator used in the dataset * analysis_type: specify “qual” * column_id: nomes of columns to be used, see amanida_read
documentation for more information * votecount_lim: numeric value set as minimum to show vote-counting results * comp_inf: to include name checking and IDs retrieval.
column_id = c("Compound Name", "P-value", "Fold-change", "N total", "References")
input_file <- system.file("extdata", "dataset2.csv", package = "amanida")
amanida_report(input_file,
separator = ";",
column_id,
analysis_type = "quan",
pvalue_cutoff = 0.05,
fc_cutoff = 4,
votecount_lim = 2,
comp_inf = F)
There is an example dataset installed, to run examples please load:
The dataset consist in a short list of compounds extracted from Comprehensive Volatilome and Metabolome Signatures of Colorectal Cancer in Urine: A Systematic Review and Meta-Analysis Mallafré et al. Cancers 2021, 13(11), 2534; https://doi.org/10.3390/cancers13112534
Please fill an issue if you have any question or problem :)