脂质组学分析¶
一句话概述:脂质组学是代谢组学的重要分支,专注于脂类分子的全面分析,LC-MS/MS是主流检测平台,LipidSearch用于非靶向鉴定,LipidCreator+Skyline用于靶向定量,ADViSELipidomics提供下游统计分析。
核心知识点速览¶
| 概念 | 白话解释 |
|---|---|
| 脂质组学 | 全面分析生物样本中所有脂类分子的学科 |
| 脂质 | 疏水性小分子,包括甘油脂、磷脂、鞘脂、胆固醇等 |
| LIPID MAPS | 脂质分类和命名的国际标准体系 |
| 脂质种类层级 | 按鉴定精度分级:脂质类→脂质种→分子脂质种 |
| Shotgun脂质组学 | 直接注射质谱法,不经色谱分离 |
| LC-MS脂质组学 | 液相色谱分离后质谱检测,分辨率更高 |
| LipidSearch | Thermo Fisher的非靶向脂质鉴定商业软件 |
| LipidCreator | 靶向脂质组学的开源assay开发工具 |
| MS-DIAL | 开源的脂质组学数据处理软件 |
| ADViSELipidomics | 脂质组学下游分析的Shiny App |
一、脂质组学基础¶
1.1 脂质分类(LIPID MAPS)¶
LIPID MAPS将脂质分为8大类:
1. 脂肪酰类(FA)— 脂肪酸及其衍生物
2. 甘油脂类(GL)— 甘油三酯(TG)、甘油二酯(DG)、甘油一酯(MG)
3. 甘油磷脂类(GP)— PC、PE、PS、PI、PG、PA等
4. 鞘脂类(SP)— 神经酰胺(Cer)、鞘磷脂(SM)
5. 固醇脂类(ST)— 胆固醇(Chol)、胆固醇酯(CE)
6. 异戊烯醇脂类(PR)— 辅酶Q、维生素E等
7. 糖脂类(SL)— 糖基化脂质
8. 多酮类(PK)— 真菌和植物来源
脂质命名规则:
脂质类别(碳链1碳数:双键数/碳链2碳数:双键数)
例如:PC(16:0/18:1) = 磷脂酰胆碱,sn-1棕榈酸,sn-2油酸
鉴定层级:
脂质类级(Lipid class): PC — 只知道是磷脂酰胆碱
脂质种级(Species level): PC 34:1 — 知道总碳数和双键数
分子种级(Molecular species): PC 16:0/18:1 — 知道每条链的组成
完全结构: PC 16:0/18:1(9Z) — 知道双键位置和构型
1.2 实验方法选择¶
靶向 vs 非靶向脂质组学:
| 特性 | 靶向 | 非靶向 |
|------|------|--------|
| 目标 | 预定义的脂质列表 | 所有可检测脂质 |
| 方法 | MRM/SRM(三重四极杆) | Full scan/DDA/DIA(高分辨质谱) |
| 定量 | 绝对定量(标准品校准) | 相对定量 |
| 覆盖 | 50-500种脂质 | 500-5000种脂质 |
| 工具 | LipidCreator+Skyline | LipidSearch/MS-DIAL |
| 适用 | 验证性研究 | 发现性研究 |
检测平台:
LC-MS/MS: 最主流,正/负离子模式分别检测
Shotgun MS: 直接注射,快速但分辨率低
MALDI-TOF: 空间脂质组学(脂质成像)
二、非靶向脂质组学数据处理¶
2.1 LipidSearch处理¶
LipidSearch 5.0(Thermo Fisher商业软件):
- 支持LC-MS和直接注射数据
- 内置>1,500,000个脂质碎裂谱参考
- 自动峰提取、鉴定和定量
- 支持正/负离子模式
LipidSearch工作流程:
1. 导入原始数据(.raw文件)
2. 设置搜索参数:
- 质量容差:前体5ppm,碎片10ppm
- 加合离子:[M+H]+, [M+Na]+, [M-H]-, [M+HCOO]-
- 脂质类别:选择要搜索的脂质类
3. 搜索和打分
4. 对齐(多个样本间)
5. 导出结果表
注意:LipidSearch是商业软件,替代方案见MS-DIAL
2.2 MS-DIAL处理(开源替代)¶
# MS-DIAL是最流行的开源脂质组学处理工具
# 支持LC-MS, GC-MS, IM-MS等多种数据
# 下载:http://prime.psc.riken.jp/compms/msdial/main.html
# MS-DIAL输出可以导入R进行下游分析
# 读取MS-DIAL导出的结果
library(tidyverse)
lipid_data <- read.csv("MSDIAL_output.csv",
check.names = FALSE) # 读取MS-DIAL结果
# 基本信息
cat("检测到脂质数:", nrow(lipid_data), "\n")
cat("样本数:", ncol(lipid_data) - 4, "\n") # 减去注释列
# 脂质类别统计
lipid_class <- str_extract(lipid_data$Name, "^[A-Z]+") # 提取脂质类
table(lipid_class) # 各类脂质数量
2.3 XCMS处理脂质组学数据¶
# XCMS也可以处理脂质组学的LC-MS数据
library(xcms)
# 脂质组学特化的XCMS参数
cwp_lipid <- CentWaveParam(
peakwidth = c(10, 60), # 脂质色谱峰通常较宽
ppm = 10, # m/z容差
snthresh = 5, # 信噪比
noise = 5000 # 噪声水平
)
# 读取mzML数据
raw_data <- readMSData(
files = list.files("lipid_mzml/", full.names = TRUE),
mode = "onDisk"
)
# 峰提取
xdata <- findChromPeaks(raw_data, param = cwp_lipid)
# 保留时间校正
xdata <- adjustRtime(xdata, param = ObiwarpParam())
# 峰对齐
pdp <- PeakDensityParam(
sampleGroups = sample_groups,
bw = 10, # 脂质色谱峰宽度较大
minFraction = 0.5
)
xdata <- groupChromPeaks(xdata, param = pdp)
# 填补缺失值
xdata <- fillChromPeaks(xdata)
# 导出特征表
lipid_features <- featureValues(xdata, value = "into") # 峰面积
三、靶向脂质组学:LipidCreator + Skyline¶
LipidCreator工作流程:
1. 选择目标脂质类别
→ 支持6大类:鞘脂、甘油脂、甘油磷脂、胆固醇、脂肪酰介导物
2. 设置脂肪酸链参数
→ 碳链长度范围(如C14-C24)
→ 双键数范围(如0-6)
→ 加合离子类型
3. 自动计算质量和MRM转换
→ 生成前体→碎片的转换列表
→ 支持标记和非标记脂质
4. 导入Skyline
→ 自动生成采集方法
→ 数据采集后回到Skyline做峰积分和定量
5. 定量分析
→ 标准品校准曲线
→ 内标归一化
→ 绝对浓度计算
LipidCreator覆盖:
>60个脂质类别
~10^12个脂质分子的质量计算能力
支持同位素标记脂质
四、R语言下游统计分析¶
4.1 数据预处理¶
# 脂质组学数据的预处理
library(tidyverse)
# 读取脂质定量数据(行=脂质,列=样本)
lipid_matrix <- read.csv("lipid_quantification.csv",
row.names = 1) # 第1列为脂质名
# 1. 内标归一化(如果有内标数据)
# 每个脂质类别除以对应类别的内标
# is_values <- lipid_matrix["IS_PC_15:0/18:1-d7", ] # 内标值
# pc_lipids <- lipid_matrix[grep("^PC", rownames(lipid_matrix)), ]
# pc_normalized <- sweep(pc_lipids, 2, as.numeric(is_values), "/")
# 2. 总量归一化
col_sums <- colSums(lipid_matrix, na.rm = TRUE) # 每个样本的总信号
lipid_norm <- sweep(lipid_matrix, 2, col_sums, "/") * 1e6 # ppm归一化
# 3. log2转换
lipid_log2 <- log2(lipid_norm + 1) # 加1避免log(0)
# 4. 缺失值处理
missing_pct <- rowMeans(is.na(lipid_log2)) # 各脂质缺失比例
lipid_filtered <- lipid_log2[missing_pct < 0.3, ] # 去除>30%缺失的脂质
cat("过滤后脂质数:", nrow(lipid_filtered), "\n")
# KNN填补剩余缺失值
library(impute)
lipid_imputed <- impute.knn(as.matrix(lipid_filtered))$data # KNN填补
4.2 统计分析和可视化¶
# 1. PCA分析
library(FactoMineR)
library(factoextra)
pca_res <- PCA(t(lipid_imputed), graph = FALSE) # PCA
fviz_pca_ind(pca_res,
col.ind = group, # 按组着色
addEllipses = TRUE, # 置信椭圆
palette = c("red", "blue")) # 颜色
# 2. 脂质类别汇总
# 提取脂质类别
lipid_classes <- str_extract(rownames(lipid_imputed), "^[A-Z]+") # 提取类
# 按类别汇总
class_summary <- data.frame(
lipid = rownames(lipid_imputed),
class = lipid_classes,
mean_abundance = rowMeans(lipid_imputed) # 平均丰度
)
# 脂质类别组成饼图
class_total <- class_summary %>%
group_by(class) %>%
summarise(total = sum(mean_abundance)) # 按类汇总
ggplot(class_total, aes(x = "", y = total, fill = class)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y") + # 饼图
labs(title = "Lipid Class Composition") +
theme_void()
# 3. 差异脂质分析(limma)
library(limma)
design <- model.matrix(~ 0 + group) # 设计矩阵
colnames(design) <- levels(group)
fit <- lmFit(lipid_imputed, design) # 拟合
contrast <- makeContrasts(Disease - Control, levels = design)
fit2 <- contrasts.fit(fit, contrast) # 对比
fit3 <- eBayes(fit2) # 经验贝叶斯
results <- topTable(fit3, number = Inf) # 全部结果
sig_lipids <- results %>%
filter(adj.P.Val < 0.05 & abs(logFC) > 1) # 显著差异脂质
cat("显著差异脂质数:", nrow(sig_lipids), "\n")
# 4. 火山图
library(EnhancedVolcano)
EnhancedVolcano(results,
lab = rownames(results),
x = "logFC", y = "adj.P.Val",
title = "Differential Lipids",
pCutoff = 0.05, FCcutoff = 1)
# 5. 脂质碳链分析(脂肪酸模式)
# 提取碳链信息
chain_info <- str_extract_all(rownames(sig_lipids), "\\d+:\\d+")
chain_df <- do.call(rbind, lapply(chain_info, function(x) {
data.frame(carbon = as.numeric(str_extract(x, "^\\d+")),
double_bond = as.numeric(str_extract(x, "\\d+$")))
}))
# 碳链长度 vs 双键数分布
ggplot(chain_df, aes(x = carbon, y = double_bond)) +
geom_point(alpha = 0.5, size = 3) + # 散点图
labs(x = "Carbon Chain Length", y = "Double Bonds",
title = "Fatty Acid Chain Distribution") +
theme_minimal()
4.3 ADViSELipidomics分析¶
# ADViSELipidomics是专为脂质组学设计的Shiny App
# 安装和运行
# devtools::install_github("xxx/ADViSELipidomics")
# library(ADViSELipidomics)
# run_app() # 启动Shiny界面
# ADViSELipidomics特色功能:
# 1. 支持LipidSearch和LIQUID的输出格式
# 2. 自动解析LIPID MAPS分类
# 3. 内标校准曲线(绝对定量)
# 4. 批次效应校正
# 5. 交互式图形界面
# 6. 差异分析(简单和复杂实验设计)
五、通路分析¶
# 脂质通路分析
# 使用LIPEA(Lipid Pathway Enrichment Analysis)
# 或MetaboAnalyst的通路模块
# 方法1:将差异脂质映射到KEGG脂质代谢通路
# 常见脂质代谢通路:
# - 甘油磷脂代谢(Glycerophospholipid metabolism)
# - 鞘脂代谢(Sphingolipid metabolism)
# - 花生四烯酸代谢(Arachidonic acid metabolism)
# - 脂肪酸生物合成(Fatty acid biosynthesis)
# - 甘油脂代谢(Glycerolipid metabolism)
# 方法2:脂质通路网络分析
# 基于脂质间的生化关系构建网络
# 例如:PC → LPC + FA(磷脂酶A2水解)
# Cer → SM(鞘磷脂合酶)
# DG → TG(DGAT酶)
常见报错与解决¶
| 报错信息 | 原因 | 解决方案 |
|---|---|---|
LipidSearch: no lipids found | 质量容差太严或脂质类别未选 | 放宽ppm,选择更多脂质类别 |
MS-DIAL: conversion error | 原始文件格式不支持 | 先用MSConvert转为mzML |
Adduct mismatch | 加合离子设置不正确 | 正模式加[M+H]+/[M+Na]+,负模式加[M-H]- |
Too many isomers | 脂质异构体无法区分 | 降低鉴定精度到species level |
IS normalization: NA | 内标在某些样本中未检测到 | 检查内标信号,更换内标 |
Negative values after norm | 归一化方法不当 | 使用总量归一化或中位数归一化 |
速查表¶
# 脂质组学分析流程
原始数据(.raw/.mzML) → MS-DIAL/LipidSearch/XCMS处理
→ 峰提取+鉴定 → 内标归一化 → 总量归一化+log转换
→ PCA/PLS-DA → 差异分析(limma) → 脂质类别分析
→ 碳链模式分析 → 通路分析
# 工具选择
非靶向鉴定: LipidSearch(商业)/ MS-DIAL(开源)
靶向方法开发: LipidCreator + Skyline
原始数据处理: XCMS(R包)/ MZmine
下游分析: ADViSELipidomics / R脚本
通路分析: MetaboAnalyst / LIPEA
# LIPID MAPS 8大类
FA: 脂肪酰类 GL: 甘油脂类
GP: 甘油磷脂类 SP: 鞘脂类
ST: 固醇脂类 PR: 异戊烯醇脂类
SL: 糖脂类 PK: 多酮类
# 常见脂质加合离子
正离子模式: [M+H]+, [M+Na]+, [M+NH4]+
负离子模式: [M-H]-, [M+HCOO]-, [M+CH3COO]-
# 脂质命名
PC 34:1 → 磷脂酰胆碱,总碳34,1个双键(种级)
PC 16:0/18:1 → sn-1棕榈酸,sn-2油酸(分子种级)
面试高频问题¶
Q1:脂质组学和代谢组学的区别是什么?¶
答:脂质组学是代谢组学的一个重要分支,专注于脂类分子。主要区别:①样本提取方法不同——脂质需要有机溶剂提取(如Bligh-Dyer法或MTBE法),代谢组学通常用甲醇/水混合提取;②色谱条件不同——脂质通常用反相C18柱(按疏水性分离),代谢组学用HILIC亲水柱;③鉴定方法专用——脂质有独特的碎裂规律(头基碎裂、脂肪酸链碎裂),需要专用的脂质鉴定软件如LipidSearch/MS-DIAL。
Q2:脂质鉴定的不同层级是什么意思?¶
答:按照LIPID MAPS和MSI标准,脂质鉴定分多个层级:①脂质类级——只知道属于哪类(如PC),基于头基碎片离子;②脂质种级——知道总碳数和双键数(如PC 34:1),基于精确分子量;③分子种级——知道每条脂肪酸链的组成(如PC 16:0/18:1),需要MS2碎裂信息;④完全结构——知道双键位置和sn位置(如PC 16:0/18:1(9Z)),需要特殊技术(如臭氧诱导解离OzID)。高分辨MS通常可达到分子种级,完全结构需要特殊方法。
Q3:为什么脂质组学需要正/负离子两种模式?¶
答:不同脂质类别在正/负离子模式下的电离效率差异很大。正离子模式下:含胆碱头基的脂质(PC、SM、LPC)信号强,主要形成[M+H]+加合;负离子模式下:含负电头基的脂质(PE、PS、PI、PA)信号强,主要形成[M-H]-加合。甘油三酯(TG)在正模式下[M+NH4]+信号最好,而游离脂肪酸(FA)在负模式下[M-H]-信号好。因此全面的脂质组学需要分别采集两种模式的数据。
Q4:内标归一化为什么对脂质定量很重要?¶
答:脂质样本的基质效应(离子抑制/增强)很强,不同样本间变异大。内标是已知浓度的非天然脂质(通常含稳定同位素标记,如d7-PC 15:0/18:1),加入样本后随样本一起经历提取、分离和电离过程。通过将每种脂质的信号除以同类内标的信号,可以校正样本间的技术变异。每个主要脂质类别至少需要一个内标(如PC类用PC内标,PE类用PE内标),因为不同类别的电离效率不同。
Q5:脂质组学在疾病研究中有什么应用?¶
答:①心血管疾病——氧化磷脂(oxPC)和神经酰胺(Cer)是动脉粥样硬化的标志物和驱动因素;②糖尿病——TG/HDL-C比值异常,特定PC/LPC变化反映胰岛素抵抗;③神经退行性疾病——鞘脂代谢紊乱(如阿尔茨海默病中的硫苷脂减少);④癌症——磷脂重塑(如LPC↓、LPA↑)反映肿瘤细胞膜代谢变化;⑤肥胖——脂肪组织的甘油脂和脂肪酸谱发生系统性变化。脂质标志物在精准医学和早期诊断中越来越受重视。