岳昂枭
commited on
Commit
·
8d11573
1
Parent(s):
2911e12
upload ckpts
Browse files- .DS_Store +0 -0
- .gitattributes +1 -0
- README.md +24 -0
- assets/log_speed_10_v2.png +3 -0
- assets/prot_vis.png +3 -0
- assets/scheme_reqflow.png +3 -0
- qflow_pdb/config.yaml +149 -0
- qflow_pdb/qflow_pdb.ckpt +3 -0
- qflow_scope/config.yaml +156 -0
- qflow_scope/qflow_scope.ckpt +3 -0
- reqflow_pdb_rectify/config.yaml +159 -0
- reqflow_pdb_rectify/reqflow_pdb_rectify.ckpt +3 -0
- reqflow_scope_rectify/config.yaml +160 -0
- reqflow_scope_rectify/reqflow_scope_rectify.ckpt +3 -0
.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
.gitattributes
CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
assets/*.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
@@ -1,3 +1,27 @@
|
|
1 |
---
|
2 |
license: apache-2.0
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
license: apache-2.0
|
3 |
---
|
4 |
+
|
5 |
+
<div align=center>
|
6 |
+
|
7 |
+
## ⚡️ReQFlow: Rectified Quaternion Flow for Efficient and High-Quality Protein Backbone Generation
|
8 |
+
[](https://arxiv.org/abs/2502.14637)
|
9 |
+
[](https://github.com/AngxiaoYue/ReQFlow)
|
10 |
+
[](https://huggingface.co/AngxiaoYue/ReQFlow/tree/main)
|
11 |
+
|
12 |
+
</div>
|
13 |
+
|
14 |
+
Our **ReQFlow** achieves **state-of-the-art (SOTA)** performance 🎯 in protein backbone generation while requiring significantly fewer sampling steps and substantially reducing inference time. For example, it is **37×** faster than RFDiffusion and **62×** faster than Genie2 when generating a backbone of length 300, demonstrating both its effectiveness and efficiency 🚀🚀🔥.
|
15 |
+
<p align="center" style="margin-bottom: -2.8px;">
|
16 |
+
<img src="assets/scheme_reqflow.png" width="64.4%">
|
17 |
+
<img src="assets/log_speed_10_v2.png" width="30%">
|
18 |
+
</p>
|
19 |
+
<p align="center" style="margin-top: 0px;">
|
20 |
+
<img src="assets/prot_vis.png" width="95%">
|
21 |
+
</p>
|
22 |
+
Ready to dive in? We’ve got checkpoints and step-by-step guides to get you inferencing in no time—playtime starts now! ✨
|
23 |
+
|
24 |
+
## 🚀🚀🔥
|
25 |
+
🔗arxiv link: [https://arxiv.org/abs/2502.14637](https://arxiv.org/abs/2502.14637)
|
26 |
+
|
27 |
+
🌳github link: [https://github.com/AngxiaoYue/ReQFlow](https://github.com/AngxiaoYue/ReQFlow)
|
assets/log_speed_10_v2.png
ADDED
![]() |
Git LFS Details
|
assets/prot_vis.png
ADDED
![]() |
Git LFS Details
|
assets/scheme_reqflow.png
ADDED
![]() |
Git LFS Details
|
qflow_pdb/config.yaml
ADDED
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
data:
|
2 |
+
task: hallucination
|
3 |
+
dataset: pdb
|
4 |
+
loader:
|
5 |
+
num_workers: 4
|
6 |
+
prefetch_factor: 10
|
7 |
+
sampler:
|
8 |
+
max_batch_size: 128
|
9 |
+
max_num_res_squared: 1000000
|
10 |
+
interpolant:
|
11 |
+
min_t: 0.01
|
12 |
+
twisting:
|
13 |
+
use: false
|
14 |
+
rots:
|
15 |
+
corrupt: true
|
16 |
+
sample_schedule: exp
|
17 |
+
exp_rate: 10
|
18 |
+
trans:
|
19 |
+
corrupt: true
|
20 |
+
batch_ot: true
|
21 |
+
sample_schedule: linear
|
22 |
+
sample_temp: 1.0
|
23 |
+
vpsde_bmin: 0.1
|
24 |
+
vpsde_bmax: 20.0
|
25 |
+
potential: null
|
26 |
+
potential_t_scaling: false
|
27 |
+
rog:
|
28 |
+
weight: 10.0
|
29 |
+
cutoff: 5.0
|
30 |
+
sampling:
|
31 |
+
num_timesteps: 100
|
32 |
+
do_sde: false
|
33 |
+
self_condition: ${model.edge_features.self_condition}
|
34 |
+
experiment:
|
35 |
+
debug: false
|
36 |
+
seed: 123
|
37 |
+
num_devices: 4
|
38 |
+
warm_start: null
|
39 |
+
warm_start_cfg_override: true
|
40 |
+
resume_cfg_path: null
|
41 |
+
resume_ckpt_path: null
|
42 |
+
resume: true
|
43 |
+
training:
|
44 |
+
mask_plddt: true
|
45 |
+
bb_atom_scale: 0.1
|
46 |
+
trans_scale: 0.1
|
47 |
+
translation_loss_weight: 2.0
|
48 |
+
t_normalize_clip: 0.9
|
49 |
+
rotation_loss_weights: 1.0
|
50 |
+
aux_loss_weight: 1.0
|
51 |
+
aux_loss_use_bb_loss: true
|
52 |
+
aux_loss_use_pair_loss: true
|
53 |
+
aux_loss_t_pass: 0.5
|
54 |
+
wandb:
|
55 |
+
name: null
|
56 |
+
project: null
|
57 |
+
optimizer:
|
58 |
+
lr: 0.0001
|
59 |
+
trainer:
|
60 |
+
overfit_batches: 0
|
61 |
+
min_epochs: 1
|
62 |
+
max_epochs: 1000
|
63 |
+
accelerator: gpu
|
64 |
+
log_every_n_steps: 1
|
65 |
+
deterministic: false
|
66 |
+
strategy: ddp
|
67 |
+
check_val_every_n_epoch: 2
|
68 |
+
accumulate_grad_batches: 2
|
69 |
+
checkpointer:
|
70 |
+
save_last: false
|
71 |
+
save_top_k: -1
|
72 |
+
dirpath: null
|
73 |
+
inference_dir: null
|
74 |
+
shared:
|
75 |
+
seed: 123
|
76 |
+
max_cache_size: 100000
|
77 |
+
samples_per_eval_length: 5
|
78 |
+
num_eval_lengths: 8
|
79 |
+
max_eval_length: 256
|
80 |
+
min_motif_percent: 0.05
|
81 |
+
max_motif_percent: 0.5
|
82 |
+
scope_dataset:
|
83 |
+
seed: ${shared.seed}
|
84 |
+
csv_path: ./metadata/scope_metadata.csv
|
85 |
+
max_cache_size: ${shared.max_cache_size}
|
86 |
+
cache_num_res: 0
|
87 |
+
add_plddt_mask: false
|
88 |
+
max_eval_length: ${shared.max_eval_length}
|
89 |
+
inpainting_percent: 1.0
|
90 |
+
samples_per_eval_length: ${shared.samples_per_eval_length}
|
91 |
+
num_eval_lengths: ${shared.num_eval_lengths}
|
92 |
+
filter:
|
93 |
+
max_num_res: 128
|
94 |
+
min_num_res: 60
|
95 |
+
min_motif_percent: ${shared.min_motif_percent}
|
96 |
+
max_motif_percent: ${shared.max_motif_percent}
|
97 |
+
pdb_dataset:
|
98 |
+
seed: ${shared.seed}
|
99 |
+
csv_path: null
|
100 |
+
cluster_path: ./metadata/pdb.clusters
|
101 |
+
max_cache_size: ${shared.max_cache_size}
|
102 |
+
cache_num_res: 0
|
103 |
+
inpainting_percent: 1.0
|
104 |
+
add_plddt_mask: false
|
105 |
+
max_eval_length: ${shared.max_eval_length}
|
106 |
+
samples_per_eval_length: ${shared.samples_per_eval_length}
|
107 |
+
num_eval_lengths: ${shared.num_eval_lengths}
|
108 |
+
filter:
|
109 |
+
max_num_res: 512
|
110 |
+
min_num_res: 60
|
111 |
+
max_coil_percent: 0.5
|
112 |
+
rog_quantile: 0.96
|
113 |
+
oligomeric:
|
114 |
+
- monomeric
|
115 |
+
num_chains:
|
116 |
+
- 1
|
117 |
+
min_motif_percent: ${shared.min_motif_percent}
|
118 |
+
max_motif_percent: ${shared.max_motif_percent}
|
119 |
+
model:
|
120 |
+
node_embed_size: 256
|
121 |
+
edge_embed_size: 128
|
122 |
+
symmetric: false
|
123 |
+
node_features:
|
124 |
+
c_s: ${model.node_embed_size}
|
125 |
+
c_pos_emb: 128
|
126 |
+
c_timestep_emb: 128
|
127 |
+
max_num_res: 2000
|
128 |
+
timestep_int: 1000
|
129 |
+
embed_chain: false
|
130 |
+
edge_features:
|
131 |
+
single_bias_transition_n: 2
|
132 |
+
c_s: ${model.node_embed_size}
|
133 |
+
c_p: ${model.edge_embed_size}
|
134 |
+
relpos_k: 64
|
135 |
+
feat_dim: 64
|
136 |
+
num_bins: 22
|
137 |
+
self_condition: true
|
138 |
+
embed_chain: false
|
139 |
+
embed_diffuse_mask: true
|
140 |
+
ipa:
|
141 |
+
c_s: ${model.node_embed_size}
|
142 |
+
c_z: ${model.edge_embed_size}
|
143 |
+
c_hidden: 128
|
144 |
+
no_heads: 8
|
145 |
+
no_qk_points: 8
|
146 |
+
no_v_points: 12
|
147 |
+
seq_tfmr_num_heads: 4
|
148 |
+
seq_tfmr_num_layers: 2
|
149 |
+
num_blocks: 6
|
qflow_pdb/qflow_pdb.ckpt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:db617f19a92e929a06b46a9194f04110cdb5f86e6ca09d28141833fb18fb380b
|
3 |
+
size 201852896
|
qflow_scope/config.yaml
ADDED
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
data:
|
2 |
+
task: hallucination
|
3 |
+
dataset: scope
|
4 |
+
loader:
|
5 |
+
num_workers: 4
|
6 |
+
prefetch_factor: 10
|
7 |
+
sampler:
|
8 |
+
max_batch_size: 128
|
9 |
+
max_num_res_squared: 500000
|
10 |
+
interpolant:
|
11 |
+
min_t: 0.01
|
12 |
+
twisting:
|
13 |
+
use: false
|
14 |
+
rots:
|
15 |
+
corrupt: true
|
16 |
+
sample_schedule: exp
|
17 |
+
exp_rate: 10
|
18 |
+
trans:
|
19 |
+
corrupt: true
|
20 |
+
batch_ot: true
|
21 |
+
sample_schedule: linear
|
22 |
+
sample_temp: 1.0
|
23 |
+
vpsde_bmin: 0.1
|
24 |
+
vpsde_bmax: 20.0
|
25 |
+
potential: null
|
26 |
+
potential_t_scaling: false
|
27 |
+
rog:
|
28 |
+
weight: 10.0
|
29 |
+
cutoff: 5.0
|
30 |
+
sampling:
|
31 |
+
num_timesteps: 100
|
32 |
+
do_sde: false
|
33 |
+
self_condition: ${model.edge_features.self_condition}
|
34 |
+
experiment:
|
35 |
+
debug: false
|
36 |
+
seed: 123
|
37 |
+
num_devices: 4
|
38 |
+
warm_start: null
|
39 |
+
warm_start_cfg_override: true
|
40 |
+
resume_cfg_path: null
|
41 |
+
resume_ckpt_path: null
|
42 |
+
resume: true
|
43 |
+
training:
|
44 |
+
mask_plddt: true
|
45 |
+
bb_atom_scale: 0.1
|
46 |
+
trans_scale: 0.1
|
47 |
+
translation_loss_weight: 2.0
|
48 |
+
t_normalize_clip: 0.9
|
49 |
+
rotation_loss_weights: 1.0
|
50 |
+
aux_loss_weight: 1.0
|
51 |
+
aux_loss_use_bb_loss: true
|
52 |
+
aux_loss_use_pair_loss: true
|
53 |
+
aux_loss_t_pass: 0.25
|
54 |
+
wandb:
|
55 |
+
name: null
|
56 |
+
project: null
|
57 |
+
optimizer:
|
58 |
+
lr: 0.0001
|
59 |
+
trainer:
|
60 |
+
overfit_batches: 0
|
61 |
+
min_epochs: 1
|
62 |
+
max_epochs: 1000
|
63 |
+
accelerator: gpu
|
64 |
+
log_every_n_steps: 1
|
65 |
+
deterministic: false
|
66 |
+
strategy: ddp
|
67 |
+
check_val_every_n_epoch: 2
|
68 |
+
accumulate_grad_batches: 2
|
69 |
+
checkpointer:
|
70 |
+
save_last: false
|
71 |
+
save_top_k: -1
|
72 |
+
dirpath: null
|
73 |
+
inference_dir: null
|
74 |
+
batch_ot:
|
75 |
+
enabled: true
|
76 |
+
cost: kabsch
|
77 |
+
noise_per_sample: 1
|
78 |
+
permute: false
|
79 |
+
shared:
|
80 |
+
seed: 123
|
81 |
+
max_cache_size: 100000
|
82 |
+
samples_per_eval_length: 5
|
83 |
+
num_eval_lengths: 8
|
84 |
+
max_eval_length: 256
|
85 |
+
min_motif_percent: 0.05
|
86 |
+
max_motif_percent: 0.5
|
87 |
+
scope_dataset:
|
88 |
+
seed: ${shared.seed}
|
89 |
+
csv_path: ./metadata/scope_metadata.csv
|
90 |
+
max_cache_size: ${shared.max_cache_size}
|
91 |
+
cache_num_res: 0
|
92 |
+
add_plddt_mask: false
|
93 |
+
max_eval_length: ${shared.max_eval_length}
|
94 |
+
inpainting_percent: 1.0
|
95 |
+
samples_per_eval_length: ${shared.samples_per_eval_length}
|
96 |
+
num_eval_lengths: ${shared.num_eval_lengths}
|
97 |
+
filter:
|
98 |
+
max_num_res: 128
|
99 |
+
min_num_res: 60
|
100 |
+
min_motif_percent: ${shared.min_motif_percent}
|
101 |
+
max_motif_percent: ${shared.max_motif_percent}
|
102 |
+
pdb_dataset:
|
103 |
+
seed: ${shared.seed}
|
104 |
+
csv_path: null
|
105 |
+
cluster_path: ./metadata/pdb.clusters
|
106 |
+
max_cache_size: ${shared.max_cache_size}
|
107 |
+
cache_num_res: 0
|
108 |
+
inpainting_percent: 1.0
|
109 |
+
add_plddt_mask: false
|
110 |
+
max_eval_length: ${shared.max_eval_length}
|
111 |
+
samples_per_eval_length: ${shared.samples_per_eval_length}
|
112 |
+
num_eval_lengths: ${shared.num_eval_lengths}
|
113 |
+
filter:
|
114 |
+
max_num_res: 512
|
115 |
+
min_num_res: 60
|
116 |
+
max_coil_percent: 0.5
|
117 |
+
rog_quantile: 0.96
|
118 |
+
oligomeric:
|
119 |
+
- monomeric
|
120 |
+
num_chains:
|
121 |
+
- 1
|
122 |
+
min_motif_percent: ${shared.min_motif_percent}
|
123 |
+
max_motif_percent: ${shared.max_motif_percent}
|
124 |
+
model:
|
125 |
+
node_embed_size: 256
|
126 |
+
edge_embed_size: 128
|
127 |
+
symmetric: false
|
128 |
+
node_features:
|
129 |
+
c_s: ${model.node_embed_size}
|
130 |
+
c_pos_emb: 128
|
131 |
+
c_timestep_emb: 128
|
132 |
+
max_num_res: 2000
|
133 |
+
timestep_int: 1000
|
134 |
+
embed_chain: false
|
135 |
+
edge_features:
|
136 |
+
single_bias_transition_n: 2
|
137 |
+
c_s: ${model.node_embed_size}
|
138 |
+
c_p: ${model.edge_embed_size}
|
139 |
+
relpos_k: 64
|
140 |
+
feat_dim: 64
|
141 |
+
num_bins: 22
|
142 |
+
self_condition: true
|
143 |
+
embed_chain: false
|
144 |
+
embed_diffuse_mask: true
|
145 |
+
use_rbf: true
|
146 |
+
num_rbf: 32
|
147 |
+
ipa:
|
148 |
+
c_s: ${model.node_embed_size}
|
149 |
+
c_z: ${model.edge_embed_size}
|
150 |
+
c_hidden: 128
|
151 |
+
no_heads: 8
|
152 |
+
no_qk_points: 8
|
153 |
+
no_v_points: 12
|
154 |
+
seq_tfmr_num_heads: 4
|
155 |
+
seq_tfmr_num_layers: 2
|
156 |
+
num_blocks: 6
|
qflow_scope/qflow_scope.ckpt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:54f117c7c08fc060948b0f72b65dcc2d4859f38d143177e7c9b5f37be1fd0372
|
3 |
+
size 201846688
|
reqflow_pdb_rectify/config.yaml
ADDED
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
data:
|
2 |
+
task: hallucination
|
3 |
+
dataset: pdb
|
4 |
+
rectify: true
|
5 |
+
distill: false
|
6 |
+
loader:
|
7 |
+
num_workers: 32
|
8 |
+
prefetch_factor: 10
|
9 |
+
sampler:
|
10 |
+
max_batch_size: 128
|
11 |
+
max_num_res_squared: 1000000
|
12 |
+
interpolant:
|
13 |
+
min_t: 0.01
|
14 |
+
twisting:
|
15 |
+
use: false
|
16 |
+
rots:
|
17 |
+
corrupt: true
|
18 |
+
sample_schedule: exp
|
19 |
+
exp_rate: 10
|
20 |
+
trans:
|
21 |
+
corrupt: true
|
22 |
+
batch_ot: true
|
23 |
+
sample_schedule: linear
|
24 |
+
sample_temp: 1.0
|
25 |
+
vpsde_bmin: 0.1
|
26 |
+
vpsde_bmax: 20.0
|
27 |
+
potential: null
|
28 |
+
potential_t_scaling: false
|
29 |
+
rog:
|
30 |
+
weight: 10.0
|
31 |
+
cutoff: 5.0
|
32 |
+
sampling:
|
33 |
+
num_timesteps: 100
|
34 |
+
do_sde: false
|
35 |
+
self_condition: ${model.edge_features.self_condition}
|
36 |
+
experiment:
|
37 |
+
is_training: true
|
38 |
+
debug: false
|
39 |
+
seed: 123
|
40 |
+
num_devices: 4
|
41 |
+
warm_start: null
|
42 |
+
warm_start_cfg_override: true
|
43 |
+
resume_cfg_path: null
|
44 |
+
resume_ckpt_path: null
|
45 |
+
resume: false
|
46 |
+
training:
|
47 |
+
mask_plddt: true
|
48 |
+
bb_atom_scale: 0.1
|
49 |
+
trans_scale: 0.1
|
50 |
+
translation_loss_weight: 2.0
|
51 |
+
t_normalize_clip: 0.9
|
52 |
+
rotation_loss_weights: 1.0
|
53 |
+
aux_loss_weight: 1.0
|
54 |
+
aux_loss_use_bb_loss: true
|
55 |
+
aux_loss_use_pair_loss: true
|
56 |
+
aux_loss_t_pass: 0.5
|
57 |
+
wandb:
|
58 |
+
name: null
|
59 |
+
project: null
|
60 |
+
optimizer:
|
61 |
+
lr: 0.0001
|
62 |
+
trainer:
|
63 |
+
overfit_batches: 0
|
64 |
+
min_epochs: 1
|
65 |
+
max_epochs: 2000
|
66 |
+
accelerator: gpu
|
67 |
+
log_every_n_steps: 1
|
68 |
+
deterministic: false
|
69 |
+
strategy: ddp
|
70 |
+
check_val_every_n_epoch: 1
|
71 |
+
accumulate_grad_batches: 2
|
72 |
+
checkpointer:
|
73 |
+
dirpath: null
|
74 |
+
save_last: true
|
75 |
+
save_top_k: -1
|
76 |
+
inference_dir: null
|
77 |
+
shared:
|
78 |
+
seed: 123
|
79 |
+
max_cache_size: 100000
|
80 |
+
min_motif_percent: 0.05
|
81 |
+
max_motif_percent: 0.5
|
82 |
+
scope_dataset:
|
83 |
+
seed: ${shared.seed}
|
84 |
+
csv_path: null
|
85 |
+
rectify_csv_path: null
|
86 |
+
max_cache_size: ${shared.max_cache_size}
|
87 |
+
cache_num_res: 0
|
88 |
+
add_plddt_mask: false
|
89 |
+
min_eval_length: 60
|
90 |
+
max_eval_length: 128
|
91 |
+
inpainting_percent: 1.0
|
92 |
+
samples_per_eval_length: 10
|
93 |
+
num_eval_lengths: 10
|
94 |
+
filter:
|
95 |
+
max_num_res: 128
|
96 |
+
min_num_res: 60
|
97 |
+
max_coil_percent: 0.5
|
98 |
+
rog_quantile: 0.96
|
99 |
+
oligomeric:
|
100 |
+
- monomeric
|
101 |
+
num_chains:
|
102 |
+
- 1
|
103 |
+
min_motif_percent: ${shared.min_motif_percent}
|
104 |
+
max_motif_percent: ${shared.max_motif_percent}
|
105 |
+
pdb_dataset:
|
106 |
+
seed: ${shared.seed}
|
107 |
+
csv_path: null
|
108 |
+
rectify_csv_path: null
|
109 |
+
cluster_path: ./metadata/pdb.clusters
|
110 |
+
max_cache_size: ${shared.max_cache_size}
|
111 |
+
cache_num_res: 0
|
112 |
+
inpainting_percent: 1.0
|
113 |
+
add_plddt_mask: false
|
114 |
+
min_eval_length: 100
|
115 |
+
max_eval_length: 300
|
116 |
+
samples_per_eval_length: 10
|
117 |
+
num_eval_lengths: 10
|
118 |
+
filter:
|
119 |
+
max_num_res: 512
|
120 |
+
min_num_res: 60
|
121 |
+
max_coil_percent: 0.5
|
122 |
+
rog_quantile: 0.96
|
123 |
+
oligomeric:
|
124 |
+
- monomeric
|
125 |
+
num_chains:
|
126 |
+
- 1
|
127 |
+
min_motif_percent: ${shared.min_motif_percent}
|
128 |
+
max_motif_percent: ${shared.max_motif_percent}
|
129 |
+
model:
|
130 |
+
node_embed_size: 256
|
131 |
+
edge_embed_size: 128
|
132 |
+
symmetric: false
|
133 |
+
node_features:
|
134 |
+
c_s: ${model.node_embed_size}
|
135 |
+
c_pos_emb: 128
|
136 |
+
c_timestep_emb: 128
|
137 |
+
max_num_res: 2000
|
138 |
+
timestep_int: 1000
|
139 |
+
embed_chain: false
|
140 |
+
edge_features:
|
141 |
+
single_bias_transition_n: 2
|
142 |
+
c_s: ${model.node_embed_size}
|
143 |
+
c_p: ${model.edge_embed_size}
|
144 |
+
relpos_k: 64
|
145 |
+
feat_dim: 64
|
146 |
+
num_bins: 22
|
147 |
+
self_condition: true
|
148 |
+
embed_chain: false
|
149 |
+
embed_diffuse_mask: true
|
150 |
+
ipa:
|
151 |
+
c_s: ${model.node_embed_size}
|
152 |
+
c_z: ${model.edge_embed_size}
|
153 |
+
c_hidden: 128
|
154 |
+
no_heads: 8
|
155 |
+
no_qk_points: 8
|
156 |
+
no_v_points: 12
|
157 |
+
seq_tfmr_num_heads: 4
|
158 |
+
seq_tfmr_num_layers: 2
|
159 |
+
num_blocks: 6
|
reqflow_pdb_rectify/reqflow_pdb_rectify.ckpt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4044dd79283228cde045ee903659430289e14b78cbe031865b5f94949ff30a0e
|
3 |
+
size 201851744
|
reqflow_scope_rectify/config.yaml
ADDED
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
data:
|
2 |
+
task: hallucination
|
3 |
+
dataset: scope
|
4 |
+
rectify: true
|
5 |
+
distill: false
|
6 |
+
loader:
|
7 |
+
num_workers: 32
|
8 |
+
prefetch_factor: 10
|
9 |
+
sampler:
|
10 |
+
max_batch_size: 128
|
11 |
+
max_num_res_squared: 500000
|
12 |
+
interpolant:
|
13 |
+
min_t: 0.01
|
14 |
+
twisting:
|
15 |
+
use: false
|
16 |
+
rots:
|
17 |
+
corrupt: true
|
18 |
+
sample_schedule: exp
|
19 |
+
exp_rate: 10
|
20 |
+
trans:
|
21 |
+
corrupt: true
|
22 |
+
batch_ot: true
|
23 |
+
sample_schedule: linear
|
24 |
+
sample_temp: 1.0
|
25 |
+
vpsde_bmin: 0.1
|
26 |
+
vpsde_bmax: 20.0
|
27 |
+
potential: null
|
28 |
+
potential_t_scaling: false
|
29 |
+
rog:
|
30 |
+
weight: 10.0
|
31 |
+
cutoff: 5.0
|
32 |
+
sampling:
|
33 |
+
num_timesteps: 100
|
34 |
+
do_sde: false
|
35 |
+
self_condition: ${model.edge_features.self_condition}
|
36 |
+
experiment:
|
37 |
+
is_training: true
|
38 |
+
debug: false
|
39 |
+
seed: 123
|
40 |
+
num_devices: 4
|
41 |
+
warm_start: null
|
42 |
+
warm_start_cfg_override: true
|
43 |
+
resume_cfg_path: null
|
44 |
+
resume_ckpt_path: null
|
45 |
+
resume: false
|
46 |
+
training:
|
47 |
+
mask_plddt: true
|
48 |
+
bb_atom_scale: 0.1
|
49 |
+
trans_scale: 0.1
|
50 |
+
translation_loss_weight: 2.0
|
51 |
+
t_normalize_clip: 0.9
|
52 |
+
rotation_loss_weights: 1.0
|
53 |
+
aux_loss_weight: 1.0
|
54 |
+
aux_loss_use_bb_loss: true
|
55 |
+
aux_loss_use_pair_loss: true
|
56 |
+
aux_loss_t_pass: 0.25
|
57 |
+
wandb:
|
58 |
+
name: null
|
59 |
+
project: null
|
60 |
+
optimizer:
|
61 |
+
lr: 0.0001
|
62 |
+
trainer:
|
63 |
+
overfit_batches: 0
|
64 |
+
min_epochs: 1
|
65 |
+
max_epochs: 1000
|
66 |
+
accelerator: gpu
|
67 |
+
log_every_n_steps: 1
|
68 |
+
deterministic: false
|
69 |
+
strategy: ddp
|
70 |
+
check_val_every_n_epoch: 1
|
71 |
+
accumulate_grad_batches: 2
|
72 |
+
checkpointer:
|
73 |
+
dirpath: null
|
74 |
+
save_last: true
|
75 |
+
save_top_k: -1
|
76 |
+
inference_dir: null
|
77 |
+
shared:
|
78 |
+
seed: 123
|
79 |
+
max_cache_size: 100000
|
80 |
+
min_motif_percent: 0.05
|
81 |
+
max_motif_percent: 0.5
|
82 |
+
scope_dataset:
|
83 |
+
seed: ${shared.seed}
|
84 |
+
csv_path: null
|
85 |
+
rectify_csv_path: null
|
86 |
+
max_cache_size: ${shared.max_cache_size}
|
87 |
+
cache_num_res: 0
|
88 |
+
add_plddt_mask: false
|
89 |
+
min_eval_length: 60
|
90 |
+
max_eval_length: 128
|
91 |
+
inpainting_percent: 1.0
|
92 |
+
samples_per_eval_length: 10
|
93 |
+
num_eval_lengths: 10
|
94 |
+
filter:
|
95 |
+
max_num_res: 128
|
96 |
+
min_num_res: 60
|
97 |
+
max_coil_percent: 0.5
|
98 |
+
rog_quantile: 0.96
|
99 |
+
oligomeric:
|
100 |
+
- monomeric
|
101 |
+
num_chains:
|
102 |
+
- 1
|
103 |
+
min_motif_percent: ${shared.min_motif_percent}
|
104 |
+
max_motif_percent: ${shared.max_motif_percent}
|
105 |
+
pdb_dataset:
|
106 |
+
seed: ${shared.seed}
|
107 |
+
csv_path: null
|
108 |
+
cluster_path: ./metadata/pdb.clusters
|
109 |
+
max_cache_size: ${shared.max_cache_size}
|
110 |
+
cache_num_res: 0
|
111 |
+
inpainting_percent: 1.0
|
112 |
+
add_plddt_mask: false
|
113 |
+
min_eval_length: 100
|
114 |
+
max_eval_length: 300
|
115 |
+
samples_per_eval_length: 10
|
116 |
+
num_eval_lengths: 10
|
117 |
+
filter:
|
118 |
+
max_num_res: 512
|
119 |
+
min_num_res: 60
|
120 |
+
max_coil_percent: 0.5
|
121 |
+
rog_quantile: 0.96
|
122 |
+
oligomeric:
|
123 |
+
- monomeric
|
124 |
+
num_chains:
|
125 |
+
- 1
|
126 |
+
min_motif_percent: ${shared.min_motif_percent}
|
127 |
+
max_motif_percent: ${shared.max_motif_percent}
|
128 |
+
model:
|
129 |
+
node_embed_size: 256
|
130 |
+
edge_embed_size: 128
|
131 |
+
symmetric: false
|
132 |
+
node_features:
|
133 |
+
c_s: ${model.node_embed_size}
|
134 |
+
c_pos_emb: 128
|
135 |
+
c_timestep_emb: 128
|
136 |
+
max_num_res: 2000
|
137 |
+
timestep_int: 1000
|
138 |
+
embed_chain: false
|
139 |
+
edge_features:
|
140 |
+
single_bias_transition_n: 2
|
141 |
+
c_s: ${model.node_embed_size}
|
142 |
+
c_p: ${model.edge_embed_size}
|
143 |
+
relpos_k: 64
|
144 |
+
feat_dim: 64
|
145 |
+
num_bins: 22
|
146 |
+
self_condition: true
|
147 |
+
embed_chain: false
|
148 |
+
embed_diffuse_mask: true
|
149 |
+
use_rbf: true
|
150 |
+
num_rbf: 32
|
151 |
+
ipa:
|
152 |
+
c_s: ${model.node_embed_size}
|
153 |
+
c_z: ${model.edge_embed_size}
|
154 |
+
c_hidden: 128
|
155 |
+
no_heads: 8
|
156 |
+
no_qk_points: 8
|
157 |
+
no_v_points: 12
|
158 |
+
seq_tfmr_num_heads: 4
|
159 |
+
seq_tfmr_num_layers: 2
|
160 |
+
num_blocks: 6
|
reqflow_scope_rectify/reqflow_scope_rectify.ckpt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e4e22235e074d9f039cfc2853b2307b61d46a19489ea1656ee33bc970108d298
|
3 |
+
size 201851872
|