MAPE-PPI
MAPE-PPI:通过微环境感知蛋白质嵌入实现高效有效的蛋白质-蛋白质相互作用预测(Spotlight)
Lirong Wu, Yijun Tian, Yufei Huang, Siyuan Li, Haitao Lin, Nitesh V Chawla, Stan Z. Li. 发表于 ICLR, 2024年。
依赖项
conda env create -f environment.yml
conda activate MAPE-PPI
默认PyTorch版本为2.0.0,cudatoolkit版本为11.7。可以在environment.yml
中进行修改。
数据集
三个数据集(SHS27k、SHS148k和STRING)的原始数据可从Google Drive下载:
protein.STRING.sequences.dictionary.tsv
STRING的蛋白质序列protein.actions.STRING.txt
STRING的PPI网络STRING_AF2DB
AlphaFold2预测的蛋白质结构PDB文件
处理原始数据以生成特征和邻接矩阵(也适用于任何新数据集):
python ./raw_data/data_process.py --dataset data_name
其中data_name
为三个数据集之一(SHS27k、SHS148k和STRING)。
为了便于使用,我们已预处理了这三个数据集,并将处理后的数据放在Google Drive中。
要使用处理后的数据,请将它们放在./data/processed_data/
中。
使用方法
在SHS27k/SHS148k/STRING上进行预训练和推理
python -B train.py --dataset STRING --split_mode bfs
针对每个数据集和数据分区的自定义超参数可在./configs/param_config.json
中找到。
在额外数据上进行预训练,在SHS27k/SHS148k/STRING上进行推理
要使用自定义数据(如CATH或AlphaFoldDB数据集)进行预训练,请参考以下步骤:
(1) 从官方网站下载额外的预训练数据(包括其PDB文件)。
(2) 预处理预训练PDB文件(如./raw_data/data_process.py
中所做),并转换为三个文件:
protein.nodes.pretrain_data.pt
protein.rball.edges.pretrain_data.npy
protein.knn.edges.pretrain_data.npy
其中pretrain_data
是额外预训练数据集的名称。
(3) 加载预处理数据并在其上进行预训练,运行:
python -B train.py --dataset STRING --split_mode bfs --pre_train pretrain_data
加载预训练模型并在SHS27k/SHS148k/STRING上进行推理
我们在./trained_model/
中提供了用于STRING上PPI预测的预训练模型。要使用它,请运行:
python -B train.py --dataset STRING --split_mode bfs --ckpt_path ../trained_model/vae_model.ckpt
引用
如果您对我们的代码库和论文感兴趣,请引用以下论文:
@article{wu2024mape,
title={MAPE-PPI: Towards Effective and Efficient Protein-Protein Interaction Prediction via Microenvironment-Aware Protein Embedding},
author={Wu, Lirong and Tian, Yijun and Huang, Yufei and Li, Siyuan and Lin, Haitao and Chawla, Nitesh V and Li, Stan Z},
journal={arXiv preprint arXiv:2402.14391},
year={2024}
}
反馈
如果您对本工作有任何问题,请随时通过电子邮件与我联系:
- Lirong Wu: wulirong@westlake.edu.cn