Commit 60c25a11 authored by zhuwenwen's avatar zhuwenwen
Browse files

update readme std

parent d7153a4e
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
## 模型结构 ## 模型结构
模型基于Transformer架构,主要结构包括Evofomer(48 blocks)和Struture module(8 blocks)两个模块。 模型基于Transformer架构,主要结构包括Evofomer(48 blocks)和Struture module(8 blocks)两个模块。
![img](./docs/alphafold2.png)
## 算法原理 ## 算法原理
FastFold通过搜索同源序列和模板进行特征构造,基于蛋白质结构预测模型,进行推理的性能优化,预测蛋白质的结构。 FastFold通过搜索同源序列和模板进行特征构造,基于蛋白质结构预测模型,进行推理的性能优化,预测蛋白质的结构。
...@@ -35,7 +37,48 @@ docker run -it --name fastfold --shm-size=32G --device=/dev/kfd --device=/dev/d ...@@ -35,7 +37,48 @@ docker run -it --name fastfold --shm-size=32G --device=/dev/kfd --device=/dev/d
`/opt/docker/test` `/opt/docker/test`
## 数据集 ## 数据集
推荐使用AlphaFold2中的开源数据集,包括BFD、MGnify、PDB70、Uniclust、Uniref90等,数据集大小约3TB。 推荐使用AlphaFold2中的开源数据集,包括BFD、MGnify、PDB70、Uniclust、Uniref90等,数据集大小约3TB。数据集格式如下:
```
$DOWNLOAD_DIR/
bfd/
bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt_hhm.ffindex
bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt_hhm.ffdata
bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt_cs219.ffindex
...
mgnify/
mgy_clusters_2018_12.fa
params/
params_model_1.npz
params_model_2.npz
params_model_3.npz
...
pdb70/
pdb_filter.dat
pdb70_hhm.ffindex
pdb70_hhm.ffdata
...
pdb_mmcif/
mmcif_files/
100d.cif
101d.cif
101m.cif
...
obsolete.dat
pdb_seqres/
pdb_seqres.txt
small_bfd/
bfd-first_non_consensus_sequences.fasta
uniclust30/
uniclust30_2018_08/
uniclust30_2018_08_md5sum
uniclust30_2018_08_hhm_db.index
uniclust30_2018_08_hhm_db
...
uniprot/
uniprot.fasta
uniref90/
uniref90.fasta
```
我们提供了一个脚本download_all_data.sh用于下载使用的数据集和模型文件: 我们提供了一个脚本download_all_data.sh用于下载使用的数据集和模型文件:
...@@ -43,6 +86,7 @@ docker run -it --name fastfold --shm-size=32G --device=/dev/kfd --device=/dev/d ...@@ -43,6 +86,7 @@ docker run -it --name fastfold --shm-size=32G --device=/dev/kfd --device=/dev/d
## 推理 ## 推理
我们分别提供了基于Pytorch的单体和多体的推理脚本。 我们分别提供了基于Pytorch的单体和多体的推理脚本。
### 单体 ### 单体
python inference.py T1024.fasta data/pdb_mmcif/mmcif_files/ \ python inference.py T1024.fasta data/pdb_mmcif/mmcif_files/ \
...@@ -115,9 +159,20 @@ alignments/ ...@@ -115,9 +159,20 @@ alignments/
{target_name}_{model_name}_relaxed.pdb {target_name}_{model_name}_relaxed.pdb
``` ```
查看蛋白质3D结构:[https://www.pdbus.org/3d-view](https://www.pdbus.org/3d-view)
![img](./docs/result_pdb.png)
## 精度 ## 精度
测试数据:[casp14](https://www.predictioncenter.org/casp14/targetlist.cgi)[uniprot](https://www.uniprot.org/),使用的加速卡:4张 DCU 1代-16G 测试数据:[casp14](https://www.predictioncenter.org/casp14/targetlist.cgi)[uniprot](https://www.uniprot.org/),使用的加速卡:4张 DCU 1代-16G
1、计算lddt的值
python3 pkl2plddt.py
其中,data_path为推理生成的pkl文件路径。
2、其它精度值计算:[https://zhanggroup.org/TM-score/](https://zhanggroup.org/TM-score/)
准确性数据: 准确性数据:
| 数据类型 | 序列类型 | 序列标签 | 序列长度 | GDT-TS | GDT-HA | LDDT | TM score | MaxSub | RMSD | | 数据类型 | 序列类型 | 序列标签 | 序列长度 | GDT-TS | GDT-HA | LDDT | TM score | MaxSub | RMSD |
| :------: | :------: | :------: | :------: |:------: |:------: | :------: | :------: | :------: |:------: | | :------: | :------: | :------: | :------: |:------: |:------: | :------: | :------: | :------: |:------: |
......
import pickle
import numpy as np
import sys
np.set_printoptions(threshold=1000000000000000000)
data_path = r'output/monomer/result_model_1.pkl'
with open(data_path, 'rb') as f:
datas = pickle.load(f)
log = open('output/T1024.txt', mode = "a+", encoding = "utf-8")
# np.set_printoptions(threshold=5000)
print(np.mean(datas['plddt']),file=log)
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