An Automatic and Comprehensive Pipeline for Processing Untargeted Metabolomics Data

The metaX package is capable of metabolomic end-to-end data analysis through a set of interchangeable modules. Specifically, metaX functions as peak picking, quantity assessment, missing value imputation, data normalization, univariate and multivariate statistics, sample size estimation, analysis of receiver operating characteristics and pathway network, and identification of metabolite. In addition, metaX can generate an HTML-based report with visualized interface.

A demo report generated by metaX could be found here: Demo_report

Quality assessment

A web interface for data quality assessment is provieded here:

Click here for help

Assess data quality now

Normalization evaluation

A web interface for data normalization methods evaluation is provieded here:

Click here for help

Peform normalization evaluation Now


1. Instruction for using metaX package:first insall the metaX package, second prepare the input files and set the R file to run metaX. You can find the tutorial about how to using metaX here: metaX user guide

2. An instruction for your first use of graph interface is also provided here: Instruction for graph interface

Example Data

An example data set containing the peak intensity and group information is provided here: example_data.rar

Note: the example data consists of a peak table "Input_data.csv", a sample list file "sample_list.txt" and an R file "metaX_demo.R". Please put them in the sample folder before you run it.

How to install metaX package?

Firstly, please install the dependent packages using the following code:


Then install metaX package:

install.packages(file_path,repos=NULL,type="source") # please replace the file_path with the real path of metaX package; eg:install.packages("F:/metaX_1.4.16.tar.gz",repos=NULL,type="source")

An example of setting the R file using example data

library(metaX)                     #load metaX package
para <- new("metaXpara")
pfile <- "./Input_data.csv"        #The path of peak intensity file
sfile <- "./sample_list.txt"       #Sample list file
para@outdir <- "metaX_result_neg"  #Output folder
para@prefix <- "neg"               #The prefix of output files
para@sampleListFile <- sfile
para@ratioPairs <-"A:B"            #Comparison group
para <- importDataFromXCMS(para,file=pfile) #set the data origin
plsdaPara <- new("plsDAPara")
plsdaPara@scale = "pareto"         #The scaling method for PLS-DA
plsdaPara@cpu = 4
res <- doQCRLSC(para,cpu=1)
p <- metaXpipe(para,plsdaPara=plsdaPara,missValueRatioQC = 0.5, missValueRatioSample = 0.8,cvFilter=0.3,idres=NULL,qcsc=0,scale="pareto",remveOutlier=FALSE,nor.method="pqn",t=1,nor.order = 1,pclean = FALSE,doROC=FALSE)      #metaXpipe is the main function to run the analysis in metaX


If you use metaX in your research, please cite:

Wen B, Mei Z, Zeng C, et al. metaX: a flexible and comprehensive software for processing metabolomics data. BMC bioinformatics, 2017, 18(1): 183.

List of citations

metaX has been cited in the following manuscripts:

1. Shen, Y., et al. (2017). "Deep functional analysis of synII, a 770-kilobase synthetic yeast chromosome." Science 355(6329).
2. Zeng, C., et al. (2017). "Lipidomics profiling reveals the role of glycerophospholipid metabolism in psoriasis." Gigascience 6(10): 1-11.
3. Zhong, H., et al. (2017). "Lipidomic profiling reveals distinct differences in plasma lipid composition in healthy, prediabetic, and type 2 diabetic individuals." Gigascience 6(7): 1-12.
4. Thonusin, C., et al. (2017). "Evaluation of intensity drift correction strategies using MetaboDrift, a normalization tool for multi-batch metabolomics data." J Chromatogr A 1523: 265-274.

Contact Us

If you have any questions, suggestions or remarks, please join us on Gitter. You can also check for open issues or open a fresh one in metaX github page.