上一篇博客的内容比较适合LC-MS数据前处理,基于GC-MS的图谱前处理也可以通用,但是效果不好,在接触了2016年开发的erah包,毅然决然的选择了这种方法进行GC-MS 数据的前处理。R版本依然是3.6以上
同样的也是先将.raw文件转换为.mzXML文件
- 安装包和载入,此包安装需要很多依赖包,它会自行安装
install.packages("erah")
library(erah)
- 创建CSV文件在数据文件夹,具体的自行替换
createdt("D:/XSHPCOS1/")
ex <- newExp(instrumental = "D:/XSHPCOS1/XSHPCOS1_inst.csv", phenotype = "D:/XSHPCOS1/XSHPCOS1_pheno.csv",info = "XSHPCOS1 Experiment")
- 查看数据情况
metaData(ex)
phenoData(ex)
expClasses(ex)
- 去卷积参数设置并执行去卷积,此步骤需要的时间较多,电脑性能好就要快一些,依靠数据量而定
ex.dec.par <- setDecPar(min.peak.width = 5, avoid.processing.mz = c(40:45,73:75,147:149,248:249))
ex <- deconvolveComp(ex, ex.dec.par )
- 保存原始数据,后续可能会需要重新修改参数
save(ex, file = "D:/XSHPCOS1/testPCOS.rda")
- 如果参数设置不对,需要重新载入数据进行分析
load("D:/XSHPCOS1/testPCOS.rda")
- 对齐参数设置并执行对齐
ex.al.par <- setAlPar(min.spectra.cor = 0.4, max.time.dist = 3, mz.range = 35:250)
ex <- alignComp(ex, alParameters = ex.al.par)
- 对齐数目过多时的一种解决办法,设定一个合适的数字
ex<- alignComp(ex, alParameters= ex.al.par, blocks.size=15)
- 化合物缺少复苏,至少出现多少次作为新的化合物被列出
ex <- recMissComp(ex, min.samples = 58)
ex <- identifyComp(ex)
- 定性TRUE输出定量结果,FALSE输出峰强度
data.list<-dataList(ex, id.database=mslib, by.area=FALSE)
data.list<-dataList(ex, id.database=mslib, by.area=TRUE)
- 查看结果及保存结果
head(data.list[,],n=400)
write.csv(head(data.list[,], n =400),file= "D:/XSHPCOS1/PCOS6RESULT.csv")
参考文献:
Domingo-Almenara X , Brezmes J , Vinaixa M , et al. eRah: A Computational Tool Integrating Spectral Deconvolution and Alignment with Quantification and Identification of Metabolites in GC/MS-Based Metabolomics[J]. Analytical Chemistry, 2016:acs.analchem.6b02927.