注意

这部分在开发版的MetCleaning中,安装办法如下:

devtools::install_github("jaspershen/MetCleaning", ref = "development")

Introduction

MetStat是MetCleaning包中用来做统计分析的部分,这部分包括的函数包括:combinedataRSDfilter, ReChangeGroup, PCAanalysis, PLSanalysis, HeatMap, FoldChange, UnivariateTest, MarkerSelection, VolcanoPlotMarkerShow,另外,为了方便统计分析,所有功能被整合为了一个函数,MetStat。下面对所有函数及其功能进行简单的介绍。

combinedata

combinedata主要是用来将同一组样品的正负离子模式数据(经MetCleaning处理后的)合并起来。使用方式如下:

met.data <- combinedata(met.data.pos, met.data.neg)

其中,met.data.pos和met.data.neg分别是同一组样品的正负离子模式数据。

RSDfilter

RSDfilter是对数据的所有peak进行QC RSD筛选。使用方法如下:

met.data <- RSDfilter(met.data, rsd.cutoff = 30)

其中met.data是要进行筛选的数据,rsd.cutoff筛选的阈值,默认为30%。可以进行修改。

ReChangeGroup

ReChangeGroup是对数据的分组信息进行重新修改。

met.data <- ReChagneGroup(met.data, new.group = "new.group.csv")

其中new.group新的分组信息,是将sample.information中的Group信息重新修改,对于那些不想用于后续数据分析的样品,可以将其group信息改为NA。

PCAanalysis

PCAanalysis是对数据进行PCA分析,使用方法如下:

PCAanalysis(met.data, 
            QC = FALSE, 
            log.scale = FALSE,
            scale.method = "auto",
            path = "PCA analysis",
            color = c("palegreen", "royalblue", "firebrick1", "tan1"),
            shape = c(17, 19, 15, 18),
            cex.lab = 1.3,
            cex.axis = 1.3,
            cex = 1.3,
            cex.text = 1.3,
            width = 7, height = 7,
            text = FALSE,
            ellipse = TRUE,
            xlim1 = NULL,
            ylim1 = NULL)

其中参数含义如下:

  • met.data:要处理的数据
  • QC:是否需要将QC画在PCA score plot中。
  • scale.method:scale method。默认为“auto”。
  • path:路径。默认为NULL,就是现在的路径。
  • color:不同分组样品在PCA score上的颜色。
  • shape:不同分组样品在PCA score上的形状。
  • cex.lab:坐标轴标签的大小。
  • cex.axis:坐标轴数字的大小。
  • cex:PCA score plot上点的大小。
  • cex:PCA score plot上文字的大小。
  • width:输出图片的宽度,默认为7。
  • heigth:输出图片的高度,默认为7。
  • text:是否标出每个样品的名字。
  • ellipse:是否画出95%置信区间。
  • xlim1:PCA score plot的X轴边界。
  • ylim1:PCA score plot的Y轴边界。

PLSanalysis

PLSanalysis是对数据进行PCA分析,使用方法如下:

PLSanalysis(met.data, 
            QC = FALSE, 
            log.scale = FALSE,
            scale.method = "auto",
            path = "PLS analysis",
            color = c("palegreen", "royalblue", "firebrick1", "tan1"),
            shape = c(17, 19, 15, 18),
            cex.lab = 1.3,
            cex.axis = 1.3,
            cex.text = 1.3,
            width = 7, height = 7,
            text = FALSE,
            ellipse = TRUE,
            xlim1 = NULL,
            ylim1 = NULL)

其中参数含义如下:

  • met.data:要处理的数据
  • QC:是否需要将QC画在PCA score plot中。
  • scale.method:scale method。默认为“auto”。
  • path:路径。默认为NULL,就是现在的路径。
  • color:不同分组样品在PCA score上的颜色。
  • shape:不同分组样品在PCA score上的形状。
  • cex.lab:坐标轴标签的大小。
  • cex.axis:坐标轴数字的大小。
  • cex:PCA score plot上文字的大小。
  • width:输出图片的宽度,默认为7。
  • heigth:输出图片的高度,默认为7。
  • text:是否标出每个样品的名字。
  • ellipse:是否画出95%置信区间。
  • xlim1:PCA score plot的X轴边界。
  • ylim1:PCA score plot的Y轴边界。

HeatMap

HeatMap是用来做热图的函数,使用的是R中的pheatmap函数。使用方法如下:

HeatMap(met.data,
        log.scale = FALSE,
        color = c("palegreen", "firebrick1", "royalblue"),
        Group = c("control", "case"),
        scale.method = "auto",
        show_rownames = FALSE,
        show_colnames = FALSE,
        path = NULL,
        width = 7, height = 7,
        border_color = NA,
        fontsize_row = 10, 
        cluster_rows = TRUE,
        cluster_cols = TRUE,
        clustering_method = "ward.D",
        ...)

其中参数含义如下:

FoldChange

FoldChange用来计算两组数据的倍数变化。用法如下:

met.data <- FoldChange(met.data,
                      to = c("case", "control"),
                      ratio = "median")

其中参数含义如下:

  • met.data:要处理的数据。
  • to:如何计算fold change?默认为c(“case”,“control”),也就是case组比control组。
  • ratio:使用每组的平均值还是中位值来计算fold change。

UnivariateTest

UnivariateTest是用来做单变量统计分析的。方法有t.test和wilcox.test两种。

met.data <- UnivariateTest(met.data,
                           test.method = "t",
                           alternative = "two.sided",
                           paired = FALSE,
                           adjust.method = "fdr",
                           log.scale = FALSE,
                           class = c("control", "case"))

其中参数含义如下:

  • met.data:要处理的数据。
  • test.method:使用哪种方法,默认为t.test。
  • alternative:默认为“two.sided”。看?t.test。
  • paired:默认为FALSE。看?t.test。
  • adjust.method:校正的方法,默认为“fdr”,看?p.adjust。
  • log.sclae:log transformation的方法,默认为FALSE,既不做。
  • class:分组的名称,默认为c(“control”, “case”)。

VolcanoPlot

VolcanoPlot用来画火山图。使用方法如下:

VolcanoPlot(met.data, 
            x = "foldchange", 
            y = "p",
            z = "vip",
            col = c("grey", "tomato"),
            foldchange.cutoff = c(4/3, 3/4),
            p.cutoff = 0.05,
            vip.cutoff = 1,
            path = NULL)

其中参数含义如下:

  • met.data:要处理的数据。
  • x:x轴变量,默认为“foldchange”。
  • y:y轴变量,默认为“p”。
  • z:z轴变量(用point大小来表示),默认为“vip”。
  • col:非marker和marker的颜色标示。默认为c(“grey”, “tomato”)。。
  • foldchange.cutoff:fold change的阈值,默认为c(4/3, 3/4),也就是>4/3或者<3/4。
  • p.cutoff:p值的阈值,默认为0.05。
  • vip.cutoff:vip的阈值,默认为1。
  • path:数据存放路径。

MarkerShow

MarkerShow用来展示选择到的marker:

MarkerShow(met.data, 
           beeswarm = TRUE,
           path = NULL)

其中参数含义如下:

  • met.data:要处理的数据。
  • beeswarm:是否要把样品点画在boxplot上。
  • path:数据存放路径