Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
FastFold_pytorch
Commits
60c25a11
Commit
60c25a11
authored
Sep 07, 2023
by
zhuwenwen
Browse files
update readme std
parent
d7153a4e
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
71 additions
and
1 deletion
+71
-1
README.md
README.md
+56
-1
docs/alphafold2.png
docs/alphafold2.png
+0
-0
docs/result_pdb.png
docs/result_pdb.png
+0
-0
pkl2plddt.py
pkl2plddt.py
+15
-0
No files found.
README.md
View file @
60c25a11
...
@@ -11,6 +11,8 @@
...
@@ -11,6 +11,8 @@
## 模型结构
## 模型结构
模型基于Transformer架构,主要结构包括Evofomer(48 blocks)和Struture module(8 blocks)两个模块。
模型基于Transformer架构,主要结构包括Evofomer(48 blocks)和Struture module(8 blocks)两个模块。

## 算法原理
## 算法原理
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
)

## 精度
## 精度
测试数据:
[
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 |
| :------: | :------: | :------: | :------: |:------: |:------: | :------: | :------: | :------: |:------: |
| :------: | :------: | :------: | :------: |:------: |:------: | :------: | :------: | :------: |:------: |
...
...
docs/alphafold2.png
0 → 100644
View file @
60c25a11
130 KB
docs/result_pdb.png
0 → 100644
View file @
60c25a11
383 KB
pkl2plddt.py
0 → 100644
View file @
60c25a11
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
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment