library(Spectra)
library(stringr)
library(data.table)
library(xcms)
library(openxlsx)
library(dplyr)
library(MsCoreUtils)
library(MSnbase)
dda_data <- MSnbase::readMSData(files = "D:/spectraData/20230406AmideSerum/正A正BullNeg80ACN2.mzXML", mode = "onDisk")
cwp <- CentWaveParam(snthresh = 3,
noise = 1000,
ppm = 30,
peakwidth = c(5, 30),
mzCenterFun = "wMean",
integrate = 1,
mzdiff = -0.001)
dda_data <- findChromPeaks(dda_data, param = cwp) #
##
mass <- read.csv("C:/Users/Virus33/Desktop/parameter.csv")
ions <- data.frame(compound = mass$Metabolites,low = mass$Exact.Mass*(1-0.000010),high = mass$Exact.Mass*(1+0.000010))
mzs=ions[,c(2,3)]
par(mfrow = c(1,1))
chrs <- chromatogram(dda_data,mz = mzs)
plot(chrs[[1]])
pdf(file= "./ACN2.pdf")
for(i in 1:length(chrs)){
plot(chrs[[i]],main = ions$compound[i])
}
dev.off()
getwd()
#但是在run到这一步的时候,出现了错误!昨晚上run这个代码的时候都还可以把几百个代谢物的色谱峰全部提取出来,然后今天就不行了
chrs <- chromatogram(dda_data,mz = mzs)
#然后报错的结果是这样的
Error in .loca1(object,.. .'list' object cannot be coerced to type 'double'