岳昂枭
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
|