SSCLMD项目详细分析
SSCLMD项目详细分析
1. 项目概述
SSCLMD(Self-supervised Contrastive Learning on Attribute and Topology Graphs for Predicting Relationships Among lncRNAs, miRNAs and Diseases)是一个发表在IEEE Journal of Biomedical and Health Informatics上的项目,主要目的是预测长非编码RNA(lncRNA)、微RNA(miRNA)和疾病之间的关系。
该项目采用自监督对比学习方法,结合属性图和拓扑图的特点,为生物分子(lncRNA和miRNA)及疾病之间的关系预测提供了一种新颖的计算方法。
2. 数据集
项目使用了两个数据集(dataset1和dataset2),每个数据集包含以下数据:
- lncRNA-疾病关联(LDA)
- miRNA-疾病关联(MDA)
- lncRNA-miRNA相互作用(LMI)
- lncRNA序列数据
- miRNA序列数据
- 疾病语义相似性数据
数据集被保存在压缩文件中(dataset1.rar和dataset2.rar)。
3. 模型架构
SSCLMD模型的核心架构如下:
3.1 网络结构
SSCLMD模型主要由以下几个部分组成:
-
双图编码器:
- 结构(拓扑)图编码器
- 特征(属性)图编码器
-
自监督对比学习模块:
- 正样本对与负样本对的对比
- 判别器用于区分真实样本和生成样本
-
注意力机制:
- 用于聚合来自不同图的节点表示
-
预测解码器:
- 多关系建模解码器,用于预测分子之间的关系
3.2 关键模型组件
模型中的核心组件包括:
- GCN层:用于图卷积神经网络的消息传递
- Attention层:用于加权聚合不同视图的特征
- Discriminator:用于自监督学习的判别器
- 多层解码器:用于关系预测
4. 训练过程
模型采用了5折交叉验证进行训练,主要包括以下步骤:
- 数据加载和预处理
- 构建结构图和特征图
- 使用自监督对比学习进行节点表示学习
- 基于学习到的表示预测分子-疾病关系
训练过程中使用的损失函数包括:
- BCEWithLogitsLoss(用于自监督对比学习)
- BCELoss(用于关系预测任务)
5. 主要参数设置
根据不同的任务类型(LDA、MDA、LMI),模型参数有所不同:
-
公共参数:
- 批次大小:25
- 学习率:5e-4
- dropout率:0.5
- 权重衰减:5e-4
- 训练轮数:80
-
任务特定参数:
- LDA任务:维度512,自监督损失比率1.0
- MDA和LMI任务:维度1024,自监督损失比率0.1
6. 模型评估
模型使用以下指标进行评估:
- ROC曲线下面积(AUROC)
- PR曲线下面积(AUPRC)
- F1分数
7. 代码结构
项目代码结构清晰:
main.py
:主程序入口parms_setting.py
:参数设置data_preprocess.py
:数据预处理calculating_similarity.py
:计算相似性data_preparation.py
:数据准备layer.py
:模型层定义train.py
:训练和测试代码utils.py
:工具函数
8. 环境依赖
项目依赖以下Python库:
- numpy == 1.21.1
- torch == 2.0.0+cu118
- sklearn == 0.24.1
- torch-geometric == 2.3.0
9. 项目复现步骤
- 下载并解压数据和代码文件
- 运行
data_preparation.py
和calculating_similarity.py
获取lncRNA/miRNA/disease属性图和拓扑图的内边 - 运行
main.py
以启动模型训练和测试- 对于LDA任务:设置in_file为dataset1/LDA.edgelist,neg_sample为dataset1/non_LDA.edgelist,task_type为LDA
- 对于其他任务可以相应修改参数
10. 模型原理与创新点
SSCLMD模型的主要创新点在于:
- 双图架构:同时利用分子的拓扑结构和属性特征
- 自监督对比学习:无需大量标记数据,通过对比学习捕获节点表示
- 注意力机制:动态聚合不同图中的节点表示
- 多关系建模:通过多种关系操作(加法、乘法、拼接)捕获复杂的生物分子关系
11. 建议与改进
- 数据扩充:可以考虑引入更多的生物信息,如蛋白质相互作用数据
- 模型优化:可以尝试更先进的图神经网络架构,如GAT、GraphSAGE等
- 可解释性增强:增加模型的可解释性,以便更好地理解预测结果
- 超参数优化:使用贝叶斯优化等方法自动调整超参数
12. 总结
SSCLMD项目提供了一种新颖的计算方法,用于预测lncRNA、miRNA和疾病之间的关系。通过结合图神经网络和自监督对比学习,该方法能够有效地学习生物分子的表示,并实现高精度的关系预测。该方法在生物信息学领域具有重要的实际应用价值,可以帮助研究人员发现新的生物标志物和潜在的治疗靶点。