xcms用于LC-MS和GC-MS数据分析,用于色谱分离和单光谱质谱数据处理和可视化的框架。导入AIA / ANDI NetCDF,mzXML,mzData和mzML文件。预处理数据以实现高通量,非靶的分析物分析。
1 安装和导入
BiocManager::install("xcms")
BiocManager::install("msdata")
library(xcms)
library(magrittr)
library(ggplot2)
xcms包依赖的包很多,安装起来很费时间
2 .导入数据
使用MSnbase包的readMSData函数加载数据,dda_data对象包含指定 mzML 文件中的所有 MS1 和 MS2
dda_file <- system.file("TripleTOF-SWATH/PestMix1_DDA.mzML",package = "msdata")
dda_data <- readMSData(dda_file, mode = "onDisk")

在experimentData@instrumentModel储存仪器信息为"TripleTOF 6600"。
提取总离子流图
总离子流图是每个时间点所有离子叠加起来的信号强度
bpis <- chromatogram(dda_data, aggregationFun = "sum")
plot(bpis,col = c("blue"))

提取基峰色谱图
基峰色谱图是每个时间点信号最强峰
bpis <- chromatogram(dda_data, aggregationFun = "max")
plot(bpis,col = c("red"))

参数aggregationFun可以选择"mean","min"。
使用msLevel函数查看所有峰的质谱级数
head(msLevel(dda_data))
# F1.S0001 F1.S0002 F1.S0003 F1.S0004 F1.S0005 F1.S0006
# 1 1 1 1 1
length(msLevel(dda_data))
#[1] 7602
使用列联函数table查看MS1和MS2的个数
table(msLevel(dda_data))
# 1 2
#4627 2975
或者使用管道命令 %>%,filterMsLevel选择质谱级数
dda_data %>% filterMsLevel(1L) %>% length()
#[1] 4627
dda_data %>% filterMsLevel(2L) %>% length()
#[1] 2975
可见7602张质谱图中,有4627张一级质谱,2975张二级质谱。
查看一级谱图
data_1L <- filterMsLevel(data_prof,1L)
table(msLevel(data_1L))
# 1
# 4627
plot(data_1L[2003:2005])+xlim(200,400)

查看二级谱图
data_2L <- filterMsLevel(data_prof,2L)
table(msLevel(data_2L))
# 1
# 2975
plot(data_2L[[1]])

提取二级质谱并使用precursorMz函数求得母离子的质荷比
dda_data %>% filterMsLevel(2L) %>% precursorMz() %>% head()
# F1.S0023 F1.S0024 F1.S0028 F1.S0029 F1.S0113 F1.S0120
#212.07649 220.14811 93.03474 219.17504 666.06150 329.07436
使用precursorIntensity函数求得母离子的离子强度
dda_data %>% filterMsLevel(2L) %>% precursorIntensity() %>% head()
#F1.S0023 F1.S0024 F1.S0028 F1.S0029 F1.S0113 F1.S0120
# 0 0 0 0 0 0
dda_data %>% precursorIntensity()%>% head()
#F1.S0001 F1.S0002 F1.S0003 F1.S0004 F1.S0005 F1.S0006
# NA NA NA NA NA NA
Sciex公司产生的数据一般不会将母离子的离子强度导出(一般MS1为NA,MS2为0),需要使用xcms包的函数estimatePrecursorIntensity
参考资料:
https://bioconductor.org/packages/release/bioc/html/xcms.html
Compounding (grouping) of LC-MS features (bioconductor.org)
LCMS data preprocessing and analysis with xcms (bioconductor.org)
网友评论