XCMS包Word文档下载推荐.docx
- 文档编号:5650362
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:7
- 大小:18.96KB
XCMS包Word文档下载推荐.docx
《XCMS包Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《XCMS包Word文档下载推荐.docx(7页珍藏版)》请在冰点文库上搜索。
xcms会自动给这些数据命名为groupA/day1,groupA/day2,等等。
(所以这里你要根据你的数据组来把它们存入不同的文件夹)。
如果这里描述的不清楚的话,我会在后面的例子里进一步说明。
下面将会以一个详细的例子来分布解说xcms是如何处理LC-MS数据的。
2.
数据分析
2.1
文件读取
cdfpath<
-system.file("
cdf"
package="
faahKO"
)
system.file作用是寻找包里面文件的路径和全名。
这里指的是在叫‘faahKO’的包中找到文件类型为‘cdf’的文件的全名。
list.files(cdfpath,recursive=TRUE)
[1]"
KO/ko15.CDF"
"
KO/ko16.CDF"
"
KO/ko18.CDF"
KO/ko19.CDF"
KO/ko21.CDF"
[6]"
KO/ko22.CDF"
WT/wt15.CDF"
WT/wt16.CDF"
WT/wt18.CDF"
WT/wt19.CDF"
[11]"
WT/wt21.CDF"
WT/wt22.CDF"
list.files是读取该路径下的文件夹或文件名,并以字符型向量存储。
当然,这两条代码对我们都不重要,它们只是单纯的为了从这个包里面读取数据。
2.2
过滤及谱峰检测(filtrationandpeakidentification)
Library(xcms)每次使用这个包之前先要加载。
cdffiles<
-list.files(cdfpath,recursive=TRUE,full.names=TRUE)
读取cdf文件,这里如果你要读取你自己的文件,你只要把cdfpath换成你的文件夹所在的位置就行,比如你的数据在文件D:
/data,那你把这里的代码换成cdffiles<
-list.files(‘D:
/data,recursive=TRUE,full.names=TRUE)就行(当然还有更方便的方法,不过这个就够用了)。
Recursive=TURE的话,它会递归读取到你文件夹里,如果是False的话就只会读取到文件夹。
Full.names=TURE的话,你会得到一个包含路径的文件名,False的话只会得到文件名。
C:
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/KO/ko15.CDF"
[2]"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/KO/ko16.CDF"
[3]"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/KO/ko18.CDF"
[4]"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/KO/ko19.CDF"
[5]"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/KO/ko21.CDF"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/KO/ko22.CDF"
[7]"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/WT/wt15.CDF"
[8]"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/WT/wt16.CDF"
[9]"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/WT/wt18.CDF"
[10]"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/WT/wt19.CDF"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/WT/wt21.CDF"
[12]"
/Softwares/R3.0.1/R-3.0.1/library/faahKO/cdf/WT/wt22.CDF"
xset<
-xcmsSet(cdffiles)
这条语句主要作用是谱峰鉴定(peakidentification),其结果存储在了一个‘xcmsset’类型的数据(不用管这个类型是啥意思)。
250:
38300:
103350:
226400:
338450:
431500:
529550:
674600:
847
43300:
128350:
275400:
394450:
500500:
637550:
835600:
1027
25300:
93350:
227400:
337450:
411500:
498550:
640600:
758
19300:
67350:
169400:
258450:
301500:
373550:
488600:
580
24300:
60350:
166400:
254450:
315500:
391550:
501600:
582
31300:
71350:
183400:
280450:
338500:
422550:
532600:
604
41300:
105350:
212400:
319450:
416500:
533550:
684600:
838
27300:
107350:
232400:
347450:
440500:
549550:
712600:
905
87350:
200400:
293450:
351500:
426550:
548600:
661
22300:
65350:
161400:
243450:
293500:
358550:
483600:
561
28300:
69350:
157400:
229450:
282500:
364550:
493600:
592
30300:
81350:
188400:
356500:
473550:
618600:
765
每一行就是一个文件,并且谱峰鉴定结果用成对的数据形式来给出。
分号前面的数字表示正在处理的质荷比(m/z),后面的数字表示到该质荷比时已经找出的峰数目(peaknumber)
这个语句看似简单,里面包含的参数却很多:
xcmsSet(files=NULL,snames=NULL,sclass=NULL,phenoData=NULL,profmethod="
bin"
profparam=list(),polarity=NULL,lockMassFreq=FALSE,mslevel=NULL,nSlaves=0,progressCallback=NULL,scanrange=NULL,...)
多数情况下,我们用这些默认值就够了。
但对于特定的分析仪器或者数据,我们也需要优化一些参数。
Findpeaks利用两种不同的算法来进行峰值检测(peakdetection)。
其中默认法是findPeaks.matchedFilter,另一种方法是findPeaks.centWave。
2.2.1
findPeaks.matchedFilter
该法有几个参数需要考虑:
峰宽(peakwidth)可用标准方差(sigma)或者半峰全宽(fwhm)来表示,默认值是FWHM=30s。
根据色谱类型,我们应当选择合适的峰宽。
步长(step)默认值是2,step=2.
存储,有四种方法,‘bin’,‘binlin’,‘binlinbase’,‘intlin’,其中bin是默认方法。
四种方法的具体意思自己看文献吧,最后一个不推荐用,第三个具体怎么设置,我也没咋看懂。
2.2.2
findPeaks.centWave
该法更适合于高分辨率的仪器下的centroidmode的数据,比如LC/{TOF,OrbiTrap,FTICR}-MS。
binning在这里是不必要的。
这里面有两个参数需要考虑:
ppm,其选择和仪器精度有关
峰宽范围(peakwidthrange):
比如HPLC里用peakwidth=c(20,50),UPLC里是peakwidth=c(5,12),单位是秒。
说了这个多了,举例子吧(英语说明里这部分一笔带过,而且help里的例子也不适合batchfiles,如何设置这些参数的确让人有些摸不着头脑):
-xcmsSet(cdffiles,method=’matchedFilter’,fwhm=60,step=3,profmethod='
binlin'
)
xset
An"
xcmsSet"
objectwith12samples
Timerange:
2507.6-4139.9seconds(41.8-69minutes)
Massrange:
200.1-597.0233m/z
Peaks:
2549(about212persample)
PeakGroups:
0
Sampleclasses:
KO,WT
Pro:
method=binlin
step=3
Memoryusage:
0.497MB
最后结果如上,我用了matchedFilter方法,fwhm是60s,步长是3,存储方法是binlin
-xcmsSet(cdffiles,method=’centWave’,ppm=5,peakwidth=c(10,20))
2502.9-4476.4seconds(41.7-74.6minutes)
200.1-600m/z
52907(about4409persample)
method=bin
step=0.1
4.68MB
最后结果如上,我用了centWave方法,ppm=5,峰宽范围是10-20s。
2.3样本间峰匹配(peakmatchacrosssamples)
xset<
-group(xset)
Group
有三种方法‘density’,‘mzClust’和‘nearest’。
每种方法下都有一系列不同的参数。
‘density’是默认方法。
nearest’需要额外安装‘RANN’的包才能实现。
Density:
Grouppeakstogetheracrosssamplesusingoverlappingm/zbinsandcalculationofsmoothedpeakdistributionsinchromatographictime。
mzClust:
RunshighresolutionalignmentonsinglespectrasamplesstoredinagivenxcmsSet.
Nearest:
Grouppeakstogetheracrosssamplesbycreatingamasterpeaklistandassigningcorrespondingpeaksfromallsamples.
具体的方法和参数自己可以用help。
比如想查density方法,就用help(‘group.density’)来查看。
举个例子:
Xset<
-group(xset,mzppm=10,mzabs=0,minsamp=1,minfrac=0)
这里我用了mzCluster,它对应的各个参数跟在后面。
2.4保留时间校正(retentiontimecorrection)
样本间峰匹配分组后,xcms便通过这些分组来确定和校正每次运行之间保留时间的漂移。
峰对其后xcms再进行一次分组,以提高分组的精确性。
并非所有的分组都适合用来做保留时间的校正,比如有很多缺失峰的组和来自于同一样品,但却有多条峰的组。
xset2<
-retcor(xset,family="
symmetric"
plottype="
mdevden"
)
这里面又是一大堆参数
Rector也有三种方法‘loess’,’obiwarp’,’peakgroups’,其中‘loess’是默认方法。
Loess
&
peakgroups:
Usesmootheddeviationstoalignretentiontimes.
这两个方法竟然完全一样,参数也一样。
Obiwarp:
Calculateretentiontimedeviationsforeachsample.Itisbasedonthecodeat
.However,thisfunctionisabletoalignmultiplesamples,byacenter-starstrategy.
每个方法后面又是跟了很多参数。
具体还是通过help来查看。
比如想看loess,就用help(’retcor.loess’)
保留时间校正后,xcms又进行了一次分组,方法同上,不再细讲。
-group(xset2,bw=10)
2.5FillinginMissingPeakData
即使再次精确分组,还会存在有些组有缺失峰。
xset3<
-fillPeaks(xset2)
这里有两种方法,‘chrom’和‘MSW’,其中‘chrom’是默认法。
‘chrom’法:
Integrateareasofmissingpeaks
它有一个参数‘nSlaves’:
numberofslaves/corestobeusedforparallelpeak
filling.MPIisusedifinstalled,otherwisethesnowpackageisemployedformulticoresupport.
‘MSW’法:
IntegrateareasofmissingpeaksinFTICR-MSdata
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XCMS