单细胞多组学论文阅读笔记
目录
[toc]
研究方向
目前学习路径
- 植物的单细胞多组学:大部分是不基于深度学习的,先掌握了解,
- Application of single-cell multi-omics approaches in horticulture research
- 基于深度学习的单细胞多组学,特别是代谢组学这块,主要是人类的研究,先模仿
- Machine Learning Using Neural Networks for Metabolomic Pathway
Analyses
- https://github.com/jp-um/machine_learning_for_metabolomic_pathway_analyses
- Machine Learning Using Neural Networks for Metabolomic Pathway
Analyses
单细胞多组学
模型类别 | 方法 | 年份 | 文献 | 数据集 | 技术特点 | 创新点 | 备注 |
---|---|---|---|---|---|---|---|
VAE | SCIM | 2020 | SCIM: universal single-cell matching with unpaired feature sets | 技术:CyTOF(测量蛋白质表达)
scRNA-seq 数据集:Melanoma Tumor Sample(黑色素瘤)、Human Bone Marrow Sample(人类骨髓) 数据类型:unpaired |
1. Multimodal autoencoders with an adversarial
objective 2. 基于低维潜在表示的二分匹配方案 |
解决了不同单细胞技术因细胞消耗而导致的配对对应关系丢失问题 通过可扩展的算法在大规模单细胞数据中匹配不同技术下的细胞测量 |
利用模拟数据,通过细胞分化的进展顺序来评估
pseudotime 来证明匹配效果。 然后在使用真实数据集 |
VAE | scMM | 2021 | A mixture-of-experts deep generative model for integrated analysis of single-cell multiomics data | 技术:CITE-seq(同时测量 surface protein 和
RNA-seq)、SHARE-seq(同时测量
ATAC-seq、RNA-seq) 数据集:Human PBMC(外周血单核细胞)、BMNC(人类骨髓、单核细胞)、Mouse skin 数据类型:paired |
1. Mixture-of-experts deep generative
model(混合专家) 2. Multimodal VAE 3. Pseudocell generation(伪细胞生成策略) |
能预测缺失的模态 | |
VAE | Cobolt | 2021 | Cobolt: integrative analysis of multimodal single-cell sequencing data | 技术:SHARE-seq、10X Multiome(PBMCs mRNA-seq +
ATAC-seq) 数据集:Adult mouse cerebral cortices (成年小鼠大脑皮层)、Human PBMC 数据类型:paired |
1. 多编码器和多解码器 | 处理单模态和联合模态数据 扩大了适用范围 |
1. 多模态数据之间:paired
数据之间整合,不同模态在同一共享的 latent space
表示细胞,提升细胞类型识别精度 2. 多模态和单模态数据之间整合:Human PBMC 中,将 10X Multiome 的 multi data 与单独的 scRNA-seq 和 scATAC-seq 数据结合 |
VAE | scMAVE | 2021 | Deep-joint-learning analysis model of single cell transcriptome and open chromatin accessibility data | 技术:SHARE-seq、scCAT-seq (ATAC +
RNA) 数据集:Human cell lines mixture、AdBrainCortex (Adult mouse cerebral cortices) 数据类型:paired |
1. MVAE + GMM 2. 3 strategies (product of experts, neural network, direct concatenation) |
多种联合学习策略,针对数据的稀疏性和异质性问题改进了 joint embedding 的 quality | 1. 数据预处理 - RNA:使用 scVI 或 Seurat 进行初步处理和降维 - ATAC:采用 ZINB(零膨胀负二项分布) 建模,处理数据的稀疏性和异质性 |
VAE | scMVP | 2022 | A deep generative model for multi-view profiling of single-cell RNA-seq and ATAC-seq data. | 技术:SHARE-seq、sci-CAR、Paired-seq、SHARE-seq、10X
Genomics Multiome 数据集:Mouse cerebral cortex (GSE126074)、Human and mouse (GSM3271040, GSM3271040)、Mouse (GSE130399)、Mouse skin (GSE140203)、Human PBMC and lymph nod 数据类型:paired |
Multimodal VAE with Gaussian mixture prior and attention modules | 引入了注意力机制 | 1.
生物学解释方面:转录调控,可以识别已知的转录因子-目标基因
pair。法语轨迹推断,推断细胞的发育轨迹 2. 注意力机制方面:RNA 子网络,mask attention,专注于 scRNA-seq 数据中的局部语义区域。ATAC 子网络的 multi-head self-attention,数据稀疏且高维,可以捕捉长距离的相关性 3. 模型:GMM 作为 prior distribution + VAE |
一篇综述
https://academic.oup.com/bib/article/24/5/bbad313/7256792
introduction
- 第一段
- Recently,多模式深度学习(MDL)方法的发展激增
- 第二段
- 点评一下当前使用多模态进行单细胞数据integration的challenges
- overfitting
- Sparsity of data
- 第三段
- 点评一些该领域别人写的review
- 目前有一些单细胞多组学整合算法的综述,However都 focused on MDL之外的方法
- 而且不包含最新的方法
- 最后说对the published work进行了分类
- based on MDL model architecture, fusion strategy, key integration tasks and downstream biological analysis
- 讲文章结构
- Overview of Single-Cell Multi-omics Data Modalities section
- the different modalities of single-cell omics data.
- 单细胞组学数据的不同模态
- Overview of MDL Techniques
- 多模态分析的深度学习技术
- MDL Models for Single-Cell Data Integration
- the current state-of-the-art MDL models for single-cell data integration
- 目前最SOTA的在单细胞数据集成的MDL模型
- Discussion and Conclusion
- the limitations of the current approaches
- future research directions
- conclusions.
数据概述
- scDNA-seq
scRNA-seq
- 表观组学
- DNA甲基化
- 组蛋白修饰
- 染色质可及性
- 蛋白质组学
深度学习概述
介绍一下深度学习的几种算法
单细胞数据整合模型概述
- 第一段,介绍本节内容
- 先说总共identify了多少studies
- 给出了一个图(workflow),workflow中包含了第四点中不同的分类
- 给出了两个表,一个是这些技术整合的的单细胞多组学数据,另一个是这些技术背后使用的深度学习算法类型
- Then,本节按照 fusion strategy, data type, key task and downstream analysis对这些技术进行分类
data description
- data
- paired
- 不同组学的相同细胞/相同类型细胞
- 测序的时候可以同时对一个细胞测出来他的RNA-seq or ATAC这样?
- unpaired
- 细胞不匹配
- paired
- integration method
- horizontal
- 水平,就是不同基因技术/批次之间的配对,主要是消除批次效应
- (自己的理解,感觉不一定对)
- vertical
- 相同细胞的不同组学的集成
- 主要是paired data
- diagonal
- paired unpaired都能做
- horizontal
这篇论文排除了horizontal的方法,因为只有单一模态,而且来自多个source
model architecture
7 types:VAE, AE, encoders, GAN, FCNN, GNN and heterogenous models
重点是讲了VAE,VAE中采用递进的方式,一个模型比一个模型改进。递进结束之后也可以每一段讲了一个难点,然后讲一个/几个模型是使用什么方法解决的
- scIM(unpaired data):整合了scRNA-seq 和 CyTOF (蛋白)不同技术,整合到相同的潜在空间中,,并通过模拟数据与真实数据验证了细胞匹配的伪时序一致性。但是无法实现一种模态到另一种的预测
- scMM:也是将多种模式集成到一个共享空间,但是使用了‘mixture of experts model’ (MOE),实现跨模态预测
- Cobolt:目前单模态数据在质量和数量上都优于联合模态数据(同时在一个细胞里测多组学,容易有噪声),使用三个encoder,:一种用于 scRNA-seq,一种用于联合模态数据 (scRNA-seq + scATAC-seq),另一种用于 scATAC-seq
- 问题1:之前的MDL模型都是使用joint
embedding(preserves modality-specific
information)。(提出问题)问题就是noise or
sparsity容易出现在联合模态数据中
- scMVAE:两个单模态encoder,分别用于scRNA-seq、scATAC-seq data,进行进行标准化、去噪和插补(imputation)。一个多模态encoder,整合不同模态的数据。
- scMVP:使用一些联合学习技术在scMVAE基础上改进,比如特征拼接、a cell-type-guided attention module
- 问题2:不同的组学数据distribution不同,比如
scATAC-seq相比scRNA-Seq数据量更小、稀疏且变化大,数据不平衡,容易overfit
- SAILERX
- 问题3:蛋白数据的技术偏差和噪声
- totalVI
- GLUE
别的模型结构就不细看了
key tasks
modality prediction:从一种模态数据预测到另一种
matching
joint embedding:联合嵌入,将不同模态投影到同一潜在空间中
很多算法执行不止一项任务
Fusion methods
早期融合(Early Fusion)
- 将不同模态的特征进行拼接,预处理后再输入模型
中期融合(Intermediate Fusion)
同质中期融合(Homogeneous Intermediate Fusion)
异质中期融合(Heterogeneous Intermediate Fusion)
晚期融合(Late Fusion)
- 单独模态训练,最后整合两个潜在表示的组合
downstream analysis
整合了单细胞多组学之后的下游分析
- cell type discovery。大部分的工具都会做这块来验证结果。通过比较检测到的细胞类型和注释中的细胞标签的一致性。或者说是进行一些细胞类型发现,不同的亚群
- differential expression analysis (DE):利用现有的文献支持他们DE分析的结果
- cell trajectory inference:细胞轨迹推断
- cell matching :联合潜在嵌入有效性的评估
- cis-regulatory analysis:顺势调控分析
scMDC
【论文复现】基于多模态深度学习方法的单细胞多组学数据聚类(【生物信息学】实验二:多组学数据融合:scMDC)
论文:Clustering of single-cell multi-omics data with a multimodal deep learning method
- 多模态数据之间是互补的
- CITE-seq ADT protein
- dropout率较低。
- 能够可靠地量化细胞活动,适合表征细胞功能和类型
- 由于蛋白质是基因功能的最终产物,ADT数据在功能性描述上更为理想
- 缺点
- 只能检测几百种蛋白质
- 通常优先包含已知的细胞类型标志物,因此在识别常见细胞类型(如CD4+和CD8+ T细胞)方面表现良好。检测稀有或少数细胞类型时效果较差。
- dropout率较低。
- mRNA数据
- 全转录组数据能够捕捉更全面的细胞类型
- 高dropout率和稀疏信号
- 数据维度高
- scATAC-seq数据
- CITE-seq ADT protein
- 不同类型数据之间各自有局限性。通过结合不同类型的数据(如ADT、mRNA、染色质可及性等),提供了更加全面和细致的细胞特征信息
项目代码结构
1 | scMDC |
数据
X1和Genes
- X1: mRNA计数矩阵 (基因表达,行是不同细胞,列是不同基因)
- Genes:每个基因的名字 和X1数据配合
X2和ADTs
- X2: ADT计数矩阵(抗体衍生标签数据,CITE-seq,行是不同细胞,列是不同抗体)
- ADTs:抗体的名字 和X2数据配合
Y和celltypes
- Y:细胞分组标签 True labels (if exist)
- celltypes不同的细胞类别
- Y和celltypes是等长的,可能一种是celltypes是具体的名字,Y是数字表示
还有一些别的还没看
- Batch: batch indicator (for multi-batch analysis)
- GenesFromPeaks: feature names in the gene-to-cell matrix mapped from scATAC-seq (only in SMAGE-seq data)
- Barcodes: cell barcodes (if exits)
src 存档代码
- layers.py:
- 定义了损失函数和辅助层
- LRP.py:
- 与聚类相关,用来评价聚类之间的效果,聚类边界敏感性分析和解释性分析
- preprocess.py:
- 数据预处理的Python脚本,包含数据清洗、归一化等步骤
- run_LRP.py:
- 用于执行 LRP 分析的Python脚本。
- run_scMDC.py:
- 用于执行 ScMDC 分析的Python脚本。
- run_scMDC_batch.py:
- 用于批量执行 ScMDC 分析的Python脚本,适用于处理多个数据集或批次。
- scMDC.py:
- 定义了模型网络的结构和核心算法
- encoder:输入数据X1和X2融合,通过多个全连接层和batch归一化层,提取latent representation
- decoder:重构回原始数据空间,用来重构损失计算
- 损失函数
- ZINB损失:针对RNA-seq过度零值问题
- KL散度:度量潜在空间分布和目标分布之间差异
- 聚类损失
- 聚类机制:结合自编码器和聚类算法,实现端到端聚类
- 批次效应校正
- 定义了模型网络的结构和核心算法
- scMDC_batch.py:
- ScMDC 批处理版本的实现文件,支持多批次数据的整合分析。
- Simulation.R:用于模拟数据或进行统计分析的R脚本,可能用于验证算法的性能。
- utils.py:包含项目中通用的辅助函数和工具类的Python脚本,支持其他模块的功能实现
- layers.py:
有一个bug,需要修改一下
x1和x2的数据有一个是float 有一个是Double 得在哪里调整一下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Traceback (most recent call last):
File "run_scMDC.py", line 145, in <module>
latent = model.encodeBatch(torch.tensor(adata1.X).to(args.device), torch.tensor(adata2.X).to(args.device))
File "/home/wzx/scMDC/src/scMDC.py", line 146, in encodeBatch
z,_,_,_,_,_,_,_,_ = self.forwardAE(inputs1, inputs2)
File "/home/wzx/scMDC/src/scMDC.py", line 116, in forwardAE
h = self.encoder(x)
File "/home/wzx/miniconda3/envs/scMDC/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/wzx/miniconda3/envs/scMDC/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
return forward_call(*args, **kwargs)
File "/home/wzx/miniconda3/envs/scMDC/lib/python3.8/site-packages/torch/nn/modules/container.py", line 219, in forward
input = module(input)
File "/home/wzx/miniconda3/envs/scMDC/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/wzx/miniconda3/envs/scMDC/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
return forward_call(*args, **kwargs)
File "/home/wzx/miniconda3/envs/scMDC/lib/python3.8/site-packages/torch/nn/modules/linear.py", line 117, in forward
return F.linear(input, self.weight, self.bias)
RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Float
scMVP
另外几篇综述
第一篇:
- Multimodal deep learning approaches for single-cell multi-omics data integration
- https://academic.oup.com/bib/article/24/5/bbad313/7256792#418487919
第二篇:
The performance of deep generative models for learning joint embeddings of single-cell multi-omics data
https://pmc.ncbi.nlm.nih.gov/articles/PMC9643784/#s1
第三篇:
- Application of Deep Learning on Single-Cell RNA Sequencing Data Analysis: A Review
- https://academic.oup.com/gpb/article/20/5/814/7230453
第四篇
- Deep learning applications in single-cell genomics and transcriptomics data analysis
- https://www.sciencedirect.com/science/article/pii/S0753332223008685
Cobolt: integrative analysis of multimodal single-cell sequencing data
Deep learning applications in single-cell genomics and transcriptomics data analysis
introduction
- 打开google
- 下载对应的文章到zetero中,然后把文章名字放到括号里
- 论文引用要重新检查一些,有些不知道是否区分了a和b
- 模版和引用顺序问题