代码语言:javascript复制
BiocManager::install("CAMERA")###R3.6以后版本
BiocManager::install("multtest")
BiocManager::install("faahKO")
接下来我们直接通过实例看下包中的各个功能:
1. annotate 用于同位素峰、加合物和片段的自动注释。
代码语言:javascript复制library(CAMERA)
file <-system.file('mzdata/MM14.mzdata', package = "CAMERA")
xs <- xcmsSet(file,method="centWave", ppm=30, peakwidth=c(5,10))#参数列表,此处的参数参见annotate中的参数
xsa <- annotate(xs)
代码语言:javascript复制#可视化结果
plotPsSpectrum(xsa,maxlabel=12, pspec=1:5)#maxlabel展示离子的标签数量,pspec展示峰的数量。
2. annotateDiffreport 多样本注释离子峰。此部分利用了xcms中的获取峰面积的函数。最后获得和xcms一样的一个差异分析报告,但是多了对离子的分组。
代码语言:javascript复制library(CAMERA)
library(faahKO)
xs.grp <- group(faahko)
xs.fill <- fillPeaks(xs.grp)
diffreport <-annotateDiffreport(xs.fill)
write.csv(diffreport, file="diffreport.csv")
3. findAdducts 在上面获得离子峰后,由于不同的电离模式样本所带的标准离子H, Na, K, NH4和CL都可能的结合。根据四个预先计算的规则表: primary_adducts_pos, primary_adducts_neg, extended_adducts_pos,extended_adducts_neg。
代码语言:javascript复制file <-system.file('mzdata/MM14.mzdata', package = "CAMERA")
xs <- xcmsSet(file,method="centWave", ppm=30, peakwidth=c(5,10))
an <- xsAnnotate(xs)
an <- groupFWHM(an)
an <- findIsotopes(an) # optional butrecommended. 获取同位素标记
an <- findAdducts(an,polarity="positive")
peaklist <- getPeaklist(an)
write.csv(peaklist, file='xsannotated.csv')
代码语言:javascript复制#增加自己设计好的规则
file <-system.file('rules/primary_adducts_pos.csv', package = "CAMERA")
rules <- read.csv(file)
代码语言:javascript复制an <- findAdducts(an,polarity="positive", rules=rules)
peaklist <- getPeaklist(an)
write.csv(peaklist, file='xsannotated_rules.csv')
其中的主要的参数:
4. findNeutralLoss 扫描丢失的中性离子。例如水的丢失。在经过groupCorr or groupFWHM处理后才可以此过程。
代码语言:javascript复制library(CAMERA)
file <-system.file('mzdata/MM14.mzdata', package = "CAMERA")
xs <- xcmsSet(file,method="centWave", ppm=30, peakwidth=c(5,10))
an <- xsAnnotate(xs)
an <- groupFWHM(an)
xs.pseudo <-findNeutralLoss(an,mzdiff=18.01,mzabs=0.01)
xs.pseudo@peaks###输出得到的丢失中性离子峰数据。
5. getIsotopeCluster获取同位素为基础的聚类结果
代码语言:javascript复制library(CAMERA)
file <-system.file('mzdata/MM14.mzdata', package = "CAMERA")
xs <- xcmsSet(file,method="centWave", ppm=30, peakwidth=c(5,10))
an <- xsAnnotate(xs)
an <- groupFWHM(an)
an <- findIsotopes(an)##必须步骤
isolist <- getIsotopeCluster(an)
isolist[[10]] #get IsotopeCluster 10
6. getpspectra 获取以同位素分类的各类离子峰数据
代码语言:javascript复制library(CAMERA)
file <-system.file('mzdata/MM14.mzdata', package = "CAMERA")
xs <- xcmsSet(file,method="centWave", ppm=30, peakwidth=c(5,10))
xsa <- xsAnnotate(xs)
xsa <- groupFWHM(xsa)
psp.peaks <- getpspectra(xsa, 1)##获取几类同位素的离子峰数据
psp.peaks
7. groupFWHM 获取样本的伪谱信息,将数据基于保留时间进行分组。然后基于groupCorr对各离子之间行进基于离子峰面积的离子归类。至此获得校正后的各离子数据。
代码语言:javascript复制library(CAMERA)
file <-system.file('mzdata/MM14.mzdata', package = "CAMERA")
xs <- xcmsSet(file,method="centWave", ppm=30, peakwidth=c(5,10))
xsa <- xsAnnotate(xs)
xsa <- groupFWHM(xsa)
xsa <- groupCorr(xsa)
plotEICs(xsa,1)
最后就是构建规则表,这一部分需要实现对自己的仪器以及数据相当的熟悉才会有的操作。