Commit 140585f3 authored by zhuwenwen's avatar zhuwenwen
Browse files

update modelzoo std

parent 3a96f487
...@@ -2,21 +2,31 @@ ...@@ -2,21 +2,31 @@
* @Author: zhuww * @Author: zhuww
* @email: zhuww@sugon.com * @email: zhuww@sugon.com
* @Date: 2023-04-15 14:34:07 * @Date: 2023-04-15 14:34:07
* @LastEditTime: 2023-06-15 10:20:01 * @LastEditTime: 2023-08-24 10:06:01
--> -->
# ProteinMPNN # ProteinMPNN
## 模型介绍 ## 论文
ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋白质序列和结构信息,输出蛋白质的三维结构 - [https://www.biorxiv.org/content/10.1101/2022.06.03.494563v1](https://www.biorxiv.org/content/10.1101/2022.06.03.494563v1)
## 模型结构 ## 模型结构
模型包括3个Encoder,3个Decoder和128个隐藏层的MPNN,使用蛋白质骨干网络特征(Cα-Cα原子之间的距离,相对Cα-Cα-Cα框架的方向和旋转,以及主干二面角)作为输入,以自回归方式从N到C端预测蛋白质序列。 模型包括3个Encoder,3个Decoder和128个隐藏层的MPNN,使用蛋白质骨干网络特征(Cα-Cα原子之间的距离,相对Cα-Cα-Cα框架的方向和旋转,以及主干二面角)作为输入,以自回归方式从N到C端预测蛋白质序列。
## 数据集
模型数据集[PDB biunits 2021/08/02](https://files.ipd.uw.edu/pub/training_sets/pdb_2021aug02.tar.gz),数据集大小为16.5GB。
用于测试此数据集的小样本[PDB biunits sample 2021/08/02](https://files.ipd.uw.edu/pub/training_sets/pdb_2021aug02_sample.tar.gz),数据集大小为47MB。
## 推理 ## 算法原理
### 环境配置 ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋白质序列和结构信息,输出蛋白质的三维结构
## 环境配置
提供[光源](https://www.sourcefind.cn/#/service-details)拉取推理的docker镜像: 提供[光源](https://www.sourcefind.cn/#/service-details)拉取推理的docker镜像:
* 训练和推理镜像:docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:proteinmpnn-dtk-22.10-patch4-py37 ```
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:proteinmpnn-dtk-22.10-patch4-py37
docker run -it --name proteinmpnn --shm-size=32G --device=/dev/kfd --device=/dev/dri/ --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --ulimit memlock=-1:-1 --ipc=host --network host --group-add video image.sourcefind.cn:5000/dcu/admin/base/custom:proteinmpnn-dtk-22.10-patch4-py37 /bin/bash
```
镜像版本依赖:
* DTK驱动:dtk22.10
* Pytorch: 1.10
* Torchvision >= 1.10.0
* Torchaudio >= 1.10.0
* python: python3.7
激活镜像环境: 激活镜像环境:
`source /opt/dtk-22.10/env.sh` `source /opt/dtk-22.10/env.sh`
...@@ -24,8 +34,12 @@ ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋 ...@@ -24,8 +34,12 @@ ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋
测试目录: 测试目录:
`/opt/ProteinMPNN-main` `/opt/ProteinMPNN-main`
### 训练 ## 数据集
训练命令: 模型数据集[PDB biunits 2021/08/02](https://files.ipd.uw.edu/pub/training_sets/pdb_2021aug02.tar.gz),数据集大小为16.5GB。
用于测试此数据集的小样本[PDB biunits sample 2021/08/02](https://files.ipd.uw.edu/pub/training_sets/pdb_2021aug02_sample.tar.gz),数据集大小为47MB。
## 训练
### 单机单卡
cd /opt/ProteinMPNN-main/training cd /opt/ProteinMPNN-main/training
python ./training.py \ python ./training.py \
...@@ -34,22 +48,38 @@ ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋 ...@@ -34,22 +48,38 @@ ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋
--num_examples_per_epoch 1个epoch加载的训练example数量 \ --num_examples_per_epoch 1个epoch加载的训练example数量 \
--save_model_every_n_epochs 每几个epochs保存模型权重 --save_model_every_n_epochs 每几个epochs保存模型权重
### 推理 ## 推理
我们分别提供了基于Pytorch的单体和多体的推理脚本,版本依赖: 分别提供了基于Pytorch的单体和多体的推理脚本。
* Pytorch(DCU版本) >= 1.10.0a0 ### 单体
* Torchvision(DCU版本) >= 1.10.0a0
* Torchaudio(DCU版本) >= 1.10.0
#### 单体
cd examples cd examples
./submit_example_1.sh ./submit_example_1.sh
#### 多体 ### 多体
cd examples cd examples
./submit_example_2.sh ./submit_example_2.sh
## 准确率数据 ## result
training/
exp_020/
model_weights/
epoch_last.pt
log.txt
outputs/
example_1_outputs/
seqs/
5L33.fa
6MRR.fa
parsed_pdbs.jsonl
example_2_outputs/
seqs/
3HTN.fa
4YOW.fa
assigned_pdbs.jsonl
parsed_pdbs.jsonl
## 精度
测试数据:`/opt/ProteinMPNN-main/inputs`,使用的加速卡:1张 DCU Z100L-32G 测试数据:`/opt/ProteinMPNN-main/inputs`,使用的加速卡:1张 DCU Z100L-32G
准确率数据: 准确率数据:
...@@ -60,6 +90,14 @@ ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋 ...@@ -60,6 +90,14 @@ ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋
| 1 | fp32 | 多体 | 3HTN | 429 | 55.7 | | 1 | fp32 | 多体 | 3HTN | 429 | 55.7 |
| 1 | fp32 | 多体 | 4YOW | 693 | 57.7 | | 1 | fp32 | 多体 | 4YOW | 693 | 57.7 |
## 应用场景
### 算法类别
MPNN
### 热点应用行业
医疗,科研,教育
## 源码仓库及问题反馈 ## 源码仓库及问题反馈
* https://developer.hpccube.com/codes/modelzoo/ProteinMPNN_Pytorch * https://developer.hpccube.com/codes/modelzoo/ProteinMPNN_Pytorch
......
# 模型唯一标识
modelCode = 132
# 模型名称 # 模型名称
modelName=ProteinMPNN_Pytorch modelName=proteinmpnn_pytorch
# 模型描述 # 模型描述
modelDescription=ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋白质序列和结构信息,输出蛋白质的三维结构 modelDescription=ProteinMPNN是一种使用MPNN进行蛋白质预测的模型,该模型输入蛋白质序列和结构信息,输出蛋白质的三维结构
# 应用场景(多个标签以英文逗号分割) # 应用场景(多个标签以英文逗号分割)
appScenario=推理,训练,MPNN,蛋白质结构预测 appScenario=推理,训练,MPNN,蛋白质结构预测
# 框架类型(多个标签以英文逗号分割) # 框架类型(多个标签以英文逗号分割)
frameType=PyTorch frameType=pytorch
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment