scFEA以代谢重构图作为因子图,基于网络优化求解来捕获转录组到代谢组之间的复杂信息关联,使用多层神经网络来降低酶基因表达和反应速率,从而实现细胞代谢通量的计算。其基本计算框架由预先定义的人类代谢图谱,结合网络拓扑因子图、显著非零基因表达及用户自定义输入的次级网络作为输入,利用通量平衡分析重构为不同代谢模块的因子图后,通过计算通量平衡损失项、非负通量、预测通量与基因表达间的一致性和通量尺度约束来定义一个损失函数L,用来推断来自scRNA-seq数据的细胞代谢通量。scFEA的相关论文发表于《A graph neural network model to estimate cell-wise metabolic flux using single-cell RNA-seq data》。
scFEA 的核心假设是:
1)代谢模块的通量变化可以被建模为催化酶的转录组水平变化的非线性函数;
2)所有中间底物的总通量不平衡应该在所有单细胞中达到最小。
scFEA 包括三个主要的计算部分,即:
1)网络还原和重建;
2)估计细胞的代谢通量;
3)下游分析,包括代谢压力的估计,代谢基因的扰动,以及不同代谢状态的细胞聚类。
scFEA 的必要输入是 scRNA-seq 数据集,而可选的输入,包括细胞组标签或感兴趣的代谢反应子集,可以指定用于额外的分析。
python src/scFEA.py --help
usage: scFEA.py [-h] [--data_dir <data_directory>]
[--input_dir <input_directory>] [--res_dir <data_directory>]
[--test_file TEST_FILE] [--moduleGene_file MODULEGENE_FILE]
[--stoichiometry_matrix STOICHIOMETRY_MATRIX]
[--sc_imputation {True,False}]
参数选项:
-h, --help:显示帮助信息并退出
--data_dir data_directory:scFEA模型文件的数据地址。
--input_dir input_directory:单细胞输入数据地址。
--res_dir data_directory:输出结果数据的地址,scFEA 的输出包括两个矩阵,分别是预测的单细胞分辨率的代谢通量矩阵和代谢物应激矩阵。
--test_file TEST_FILE:输入的SC文件,即单细胞表达矩阵,行为基因,列为细胞,可以是raw counts 或normalised counts,放在--input_dir目录下。
--moduleGene_file MODULEGENE_FILE:这个表格包含每个模块的基因。在 scFEA 中提供了人类和小鼠两个模型。对于人类模型,默认使用 module_gene_m168.csv 文件。所有候选的 moduleGene 文件都在软件安装目录下/data/ 文件夹中提供。
--stoichiometry_matrix STOICHIOMETRY_MATRIX:这个表格描述了化合物和模块之间的关系。每行是一个中间代谢物,每列是一个代谢模块。对于人类模型,默认使用cmMat_171.csv 文件。所有候选的计量矩阵都在软件安装目录下/data/ 文件夹中提供。
--cName_file CNAME_FILE:这个表格包含化合物的名称和对应的标识符。其中,第一行是化合物的名称,第二行是对应的标识符。
--sc_imputation True/False:是否对单细胞数据集进行数据插补,对于 10x 数据推荐设置为 True。
运行人类完整的代谢模型
在 scFEA (https://github.com/changwn/scFEA)中提供了人类和小鼠两个物种模型。对于人类模型,moduleGene文件选择完整的代谢模型module_gene_m168.csv 文件,stoichiometry文件默认使用cmMat_171.csv 文件。需要注意的是,当--sc_imputation设置为True时,scFEA调用了magic包来对单细胞数据进行插补,以解决单细胞数据大量drop-out问题,这对于来自10X平台的数据非常重要。
python src/scFEA.py --data_dir data --input_dir input \
--test_file Melissa_full.csv \
--moduleGene_file module_gene_m168.csv \
--stoichiometry_matrix cmMat_c70_m168.csv \
--res_dir outdir_path \
--sc_imputation True
运行小鼠完整的代谢模型
对于小鼠模型,moduleGene文件选择完整的代谢模型module_gene_complete_mouse_m168.csv 文件,stoichiometry文件默认使用cmMat_complete_mouse_c70_m168.csv 文件:
运行部分代谢模型
除了运行完整的代谢模型外,也可以选择运行部分模型,scFEA也提供了很多特定的子模型,例如运行谷氨酰胺分解(glutaminolysis)模型,只需要将moduleGene替换为module_gene_glutaminolysis1_m23.csv,将stoichiometry替换成参数文件cmMat_glutaminolysis1_c17_m23.csv。
loss*文件:损失函数计算结果
*balance.csv文件:代谢物预测通量矩阵(行名为cell,列名为代谢物)
*flux.csv文件:代谢模块预测通量矩阵(行名为cell,列名为代谢模块)
time*文件:记录了模型训练的时间
balance.csv文件内容
*flux.csv文件内容
每个代谢模块详细可以查看Human_M168_information.symbols.csv文件,例如M_1模块表示这个代谢模块输入的化合物为Glucose,输出为G6P:
单细胞转录组和单细胞ATAC-seq联合分析案例解析
单细胞+时空原位分析探索早期人类胎儿肺上皮细胞可塑性的时间动态∣时空原位研究范式
【科研新利器】CellChat:一键解锁单细胞互作之谜,让复杂数据变得触手可及
本文系联川生物公众号原创文章,未经授权禁止转载,侵权必究! 扫描下方二维码 点分享
点点赞
点在看