The pyMEAN package is designed to facilitate semi-automated enrichment analysis for metabolomic experiments.
pyMEAN requires Python 3+ and is unfortunately not compatible with Python 2. If you are still using Python 2, a clever workaround is to install Python 3 and use that instead.
The easiest way of installing pyMEAN is using pip:
pip install pymean Alternatively, you can use git and pip in unison to get the development branch:
pip install https://github.com/KeironO/pyMEAN Here's a starting template to get you started:
# Import pyMEAN module into Python. from pymean import EnrichmentAnalysis # A compound list of inchikeys. compound_list = [ "WDJHALXBUFZDSR-UHFFFAOYSA-N", # acetoacetic acid "UCMIRNVEIXFBKS-UHFFFAOYSA-N", # beta-alanine "CVSVTCORWBXHQV-UHFFFAOYSA-N", # creatine "FFDGPVCHZBVARC-UHFFFAOYSA-N", # dimethylglycine "VZCYOOQTPOCHFL-OWOJBTEDSA-N", # fumaric acid "DHMQDGOQFOQNFH-UHFFFAOYSA-N", # glycine "FFFHZYDWPBMWHY-UHFFFAOYSA-N", # l-homocysteine "XUJNEKJLAYXESH-REOHCLBHSA-N", # l-cysteine "COLNVLDHVKWLRT-QMMMGPOBSA-N", # l-phenylalanine "BTNMPGBKDVTSJY-UHFFFAOYSA-N" # phenylpyruvic acid ] # Create an EnrichmentAnalysis object for the analysis of hsa ea = EnrichmentAnalysis(compound_list, organism="hsa") # Run the analysis ea.run_analysis(pvalue_cutoff=0.05) # Obtain results (in the format of a pandas dataframe) resuklts = ea.resultsIf you'd like to plot out your results, take inspiration from the following method:
def plot_enrichment_analysis_results(results: pd.DataFrame, adj_method:str): fold_enrichment = np.abs(np.log(results["%s adj. p-value" % (adj_method)])) plt.figure() plt.title("Metabolite Sets Enrichment Overview") plt.barh(results["Pathway Name"], fold_enrichment, height=0.5) plt.xlabel("Fold Enrichment") plt.yticks(fontsize=6) plt.tight_layout() plt.show() plot_enrichment_analysis_results(results, "fdr_bh")Which will return the following chart:
Code released under the GPLv3.
