install.packages("devtools")
library(devtools)
install_github("jaspershen/MetProcesser")
help(package = "MetProcesser")
##demo directory
data(data, package = "MetProcesser")
data(sample.information, package = "MetProcesser")
data(ms2_50_300, package = "MetProcesser")
data(ms2_50_1200, package = "MetProcesser")
data(ms2_290_600, package = "MetProcesser")
data(ms2_590_900, package = "MetProcesser")
dir.create("Demo for MetProcesser")
setwd("Demo for MetProcesser")
path <- file.path(getwd(), "peak identification")
dir.create(path)
write.csv(data, "data.csv", row.names = FALSE)
write.csv(sample.information , "sample.information.csv", row.names = FALSE)
write.csv(sample.information , "new.group.csv", row.names = FALSE)
write.csv(ms2_50_300, file.path(path, "ms2_50_300.csv"), row.names = FALSE)
write.csv(ms2_50_1200, file.path(path, "ms2_50_1200.csv"), row.names = FALSE)
write.csv(ms2_290_600, file.path(path, "ms2_290_600.csv"), row.names = FALSE)
write.csv(ms2_590_900, file.path(path, "ms2_590_900.csv"), row.names = FALSE)
MetFlowData <- ImportData(data = "data.csv",
sample.information = "sample.information.csv",
polarity = "positive")
MetFlowData
MVOverview(MetFlowData = MetFlowData, path = "MV overview")
MetFlowData <- MVFilter(MetFlowData = MetFlowData,
obs.mv.per.cutoff = 0.5,
var.mv.per.cutoff = 0.5,
path = "MV filter")
MetFlowData <- MVimputation(MetFlowData = MetFlowData,
##MV imputation method
imputation.method = "knn",
#knn parameters
k = 10,
rowmax = 0.5,
colmax = 0.8,
maxp = 1500)
ZeroOverview(MetFlowData = MetFlowData, path = "Zero overview")
MetFlowData <- ZeroFilter(MetFlowData = MetFlowData,
obs.zero.per.cutoff = 0.5,
var.zero.per.cutoff = 0.5,
path = "Zero filter")
:
qc.outlier.data <- QCOutlierFinder(MetFlowData = MetFlowData,
CI = 0.95,
path = "QC outlier finder")
MetFlowData <- qc.outlier.data[["MetFlowData"]]
MetabolitePlot(MetFlowData = MetFlowData,
path = "metabolite plot before integration")
MetFlowData <- DataNormalization(MetFlowData = MetFlowData,
method = "svr",
threads = 2)
subject.outlier.data <- SubjectOutlierFinder(MetFlowData = MetFlowData,
CI = 0.95,
path = "Subject outlier finder")
MetFlowData <- subject.outlier.data[["MetFlowData"]]
MetFlowData <- PeakIdentification(MetFlowData = MetFlowData,
##parameters for matching
mz.tolerance = 25,
rt.tolerance = 180)
BatchEffectOverview(MetFlowData = MetFlowData,
path = "Batch effect before integration")
RSDoverview(MetFlowData = MetFlowData,
path = "RSD overview before integration")
MetFlowData <- DataIntegration(MetFlowData = MetFlowData)
BatchEffectOverview(MetFlowData = MetFlowData,
path = "Batch effect after integration")
MetabolitePlot(MetFlowData = MetFlowData,
path = "metabolite plot after integration")
RSDoverview(MetFlowData = MetFlowData,
path = "RSD overview after integration")
DataOverview(MetFlowData = MetFlowData,
feature.distribution = TRUE,
path = "Data overview")
OutputMetFlowData(MetFlowData = MetFlowData,
data.name = "data_after_pre",
subject.info.name = "subject.info",
qc.info.name = "qc.info",
path = NULL)
MetFlowData <- ReChangeGroup(MetFlowData = MetFlowData)
PCAanalysis(MetFlowData = MetFlowData,
QC = TRUE,
scale.method = "auto",
path = "PCA analysis")
PLSanalysis(MetFlowData = MetFlowData,
#used data
scalemethod="auto",
path = "PLS analysis")
MetFlowData <- ReChangeGroup(MetFlowData = MetFlowData)
MetFlowData <- FoldChange(MetFlowData = MetFlowData,
to = c("case", "control"),
ratio = "median")
MetFlowData <- UnivariateTest(MetFlowData = MetFlowData,
test.method = "t",
adjust.method = "fdr")
MetFlowData <- MarkerSelection(MetFlowData = MetFlowData,
foldchange = "foldchange",
p = "p",
foldchange.cutoff = c(4/3, 3/4),
p.cutoff = 0.05,
path = "marker selection")
VolcanoPlot(MetFlowData = MetFlowData,
foldchange = "foldchange",
p = "p",
col = c("black", "firebrick1"),
foldchange.cutoff = c(4/3, 3/4),
p.cutoff = 0.05,
path = "marker selection")
MarkerShow(MetFlowData = MetFlowData,
beeswarm = T,
path = "marker selection")
OutputMetFlowData(MetFlowData = MetFlowData,
data.name = "data_after_Stat",
subject.info.name = "subject.info",
qc.info.name = "qc.info",
path = NULL)
MetPre(#ImportData para
data = "data.csv",
sample.information = "sample.information.csv",
polarity = "positive",
#DataNormalization
method = "svr",
threads = 2)
MetStat(MetFlowData = MetFlowData,
new.group = TRUE,
#PCA analysis para
QC = TRUE,
scale.method = "auto",
#FoldChange para
to = c("case", "control"),
ratio = "median",
#UnivariateTest para
test.method = "t",
adjust.method = "fdr",
#MarkerSelection para
foldchange = "foldchange",
p = "p",
foldchange.cutoff = c(4/3, 3/4),
p.cutoff = 0.05,
#MarkerShow para
beeswarm = TRUE)