anzhi2710gmailcom commited on
Commit
4d20b62
·
verified ·
1 Parent(s): d766458

Upload folder using huggingface_hub (part 2)

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. model/Protenix-pxd/configs/__init__.py +0 -0
  3. model/Protenix-pxd/configs/configs_base.py +398 -0
  4. model/Protenix-pxd/configs/configs_data.py +251 -0
  5. model/Protenix-pxd/configs/configs_inference.py +35 -0
  6. model/Protenix-pxd/configs/configs_model_type.py +267 -0
  7. model/Protenix-pxd/docs/colabfold_compatible_msa.md +33 -0
  8. model/Protenix-pxd/docs/docker_installation.md +30 -0
  9. model/Protenix-pxd/docs/infer_json_format.md +329 -0
  10. model/Protenix-pxd/docs/kernels.md +24 -0
  11. model/Protenix-pxd/docs/model_train_inference_cost.md +51 -0
  12. model/Protenix-pxd/docs/msa_pipeline.md +101 -0
  13. model/Protenix-pxd/docs/prepare_training_data.md +119 -0
  14. model/Protenix-pxd/docs/training.md +88 -0
  15. model/Protenix-pxd/examples/5sak/1/non_pairing.a3m +0 -0
  16. model/Protenix-pxd/examples/5sak/1/pairing.a3m +0 -0
  17. model/Protenix-pxd/examples/7pzb.pdb +0 -0
  18. model/Protenix-pxd/examples/7pzb/msa/1/non_pairing.a3m +0 -0
  19. model/Protenix-pxd/examples/7pzb/msa/1/pairing.a3m +0 -0
  20. model/Protenix-pxd/examples/7r6r/msa/1/non_pairing.a3m +0 -0
  21. model/Protenix-pxd/examples/7r6r/msa/1/pairing.a3m +0 -0
  22. model/Protenix-pxd/examples/7st3/msa/1/non_pairing.a3m +0 -0
  23. model/Protenix-pxd/examples/7st3/msa/1/pairing.a3m +0 -0
  24. model/Protenix-pxd/examples/7st3/msa/2/non_pairing.a3m +0 -0
  25. model/Protenix-pxd/examples/7st3/msa/2/pairing.a3m +0 -0
  26. model/Protenix-pxd/examples/7wux/msa/1/non_pairing.a3m +0 -0
  27. model/Protenix-pxd/examples/7wux/msa/1/pairing.a3m +544 -0
  28. model/Protenix-pxd/examples/7wux/msa/2/non_pairing.a3m +436 -0
  29. model/Protenix-pxd/examples/7wux/msa/2/pairing.a3m +0 -0
  30. model/Protenix-pxd/examples/dimer.fasta +2 -0
  31. model/Protenix-pxd/examples/example.json +104 -0
  32. model/Protenix-pxd/examples/example_constraint_msa.json +162 -0
  33. model/Protenix-pxd/examples/example_without_msa.json +30 -0
  34. model/Protenix-pxd/examples/finetune_subset.txt +5 -0
  35. model/Protenix-pxd/examples/ligands/7wux_smiles.smi +1 -0
  36. model/Protenix-pxd/examples/ligands/compounds-3d-R.sdf +123 -0
  37. model/Protenix-pxd/examples/ligands/compounds-3d-RS.sdf +246 -0
  38. model/Protenix-pxd/examples/prot.fasta +4 -0
  39. model/Protenix-pxd/finetune_demo.sh +42 -0
  40. model/Protenix-pxd/inference_demo.sh +49 -0
  41. model/Protenix-pxd/protenix/__init__.py +0 -0
  42. model/Protenix-pxd/protenix/config/__init__.py +14 -0
  43. model/Protenix-pxd/protenix/config/config.py +290 -0
  44. model/Protenix-pxd/protenix/config/extend_types.py +55 -0
  45. model/Protenix-pxd/protenix/data/__init__.py +0 -0
  46. model/Protenix-pxd/protenix/data/ccd.py +450 -0
  47. model/Protenix-pxd/protenix/data/compute_esm.py +230 -0
  48. model/Protenix-pxd/protenix/data/constants.py +977 -0
  49. model/Protenix-pxd/protenix/data/constraint_featurizer.py +0 -0
  50. model/Protenix-pxd/protenix/data/data_pipeline.py +373 -0
.gitattributes CHANGED
@@ -52,3 +52,4 @@ model/Protenix-pxd/assets/constraint_metrics.png filter=lfs diff=lfs merge=lfs -
52
  model/Protenix-pxd/assets/mini_performance.png filter=lfs diff=lfs merge=lfs -text
53
  model/Protenix-pxd/assets/protenix_predictions.gif filter=lfs diff=lfs merge=lfs -text
54
  model/Protenix-pxd/assets/v0.5.0_metrics.png filter=lfs diff=lfs merge=lfs -text
 
 
52
  model/Protenix-pxd/assets/mini_performance.png filter=lfs diff=lfs merge=lfs -text
53
  model/Protenix-pxd/assets/protenix_predictions.gif filter=lfs diff=lfs merge=lfs -text
54
  model/Protenix-pxd/assets/v0.5.0_metrics.png filter=lfs diff=lfs merge=lfs -text
55
+ model/pxdesign/pxd_server/TimesNewRoman.ttf filter=lfs diff=lfs merge=lfs -text
model/Protenix-pxd/configs/__init__.py ADDED
File without changes
model/Protenix-pxd/configs/configs_base.py ADDED
@@ -0,0 +1,398 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # pylint: disable=C0114,C0301
16
+ from protenix.config.extend_types import (
17
+ GlobalConfigValue,
18
+ ListValue,
19
+ RequiredValue,
20
+ ValueMaybeNone,
21
+ )
22
+
23
+ basic_configs = {
24
+ "project": RequiredValue(str),
25
+ "run_name": RequiredValue(str),
26
+ "base_dir": RequiredValue(str),
27
+ # training
28
+ "eval_interval": RequiredValue(int),
29
+ "log_interval": RequiredValue(int),
30
+ "checkpoint_interval": -1,
31
+ "eval_first": False, # run evaluate() before training steps
32
+ "iters_to_accumulate": 1,
33
+ "finetune_params_with_substring": [
34
+ ""
35
+ ], # params with substring will be finetuned with different learning rate: finetune_optim_configs["lr"]
36
+ "eval_only": False,
37
+ "load_checkpoint_path": "",
38
+ "load_ema_checkpoint_path": "",
39
+ "load_strict": True,
40
+ "load_params_only": True,
41
+ "skip_load_step": False,
42
+ "skip_load_optimizer": False,
43
+ "skip_load_scheduler": False,
44
+ "load_step_for_scheduler": False,
45
+ "train_confidence_only": False,
46
+ "use_wandb": True,
47
+ "wandb_id": "",
48
+ "seed": 42,
49
+ "deterministic": False,
50
+ "deterministic_seed": False,
51
+ "ema_decay": -1.0,
52
+ "eval_ema_only": False, # whether wandb only tracking ema checkpoint metrics
53
+ "ema_mutable_param_keywords": [""],
54
+ "model_name": "protenix_base_default_v0.5.0", # train model name
55
+ }
56
+ data_configs = {
57
+ # Data
58
+ "train_crop_size": 256,
59
+ "test_max_n_token": -1,
60
+ "train_lig_atom_rename": False,
61
+ "train_shuffle_mols": False,
62
+ "train_shuffle_sym_ids": False,
63
+ "test_lig_atom_rename": False,
64
+ "test_shuffle_mols": False,
65
+ "test_shuffle_sym_ids": False,
66
+ "esm": {
67
+ "enable": False,
68
+ "model_name": "esm2-3b",
69
+ "embedding_dim": 2560,
70
+ },
71
+ }
72
+ optim_configs = {
73
+ # Optim
74
+ "lr": 0.0018,
75
+ "lr_scheduler": "af3",
76
+ "warmup_steps": 10,
77
+ "max_steps": RequiredValue(int),
78
+ "min_lr_ratio": 0.1,
79
+ "decay_every_n_steps": 50000,
80
+ "grad_clip_norm": 10,
81
+ # Optim - Adam
82
+ "adam": {
83
+ "beta1": 0.9,
84
+ "beta2": 0.95,
85
+ "weight_decay": 1e-8,
86
+ "lr": GlobalConfigValue("lr"),
87
+ "use_adamw": False,
88
+ },
89
+ # Optim - LRScheduler
90
+ "af3_lr_scheduler": {
91
+ "warmup_steps": GlobalConfigValue("warmup_steps"),
92
+ "decay_every_n_steps": GlobalConfigValue("decay_every_n_steps"),
93
+ "decay_factor": 0.95,
94
+ "lr": GlobalConfigValue("lr"),
95
+ },
96
+ }
97
+ # Fine-tuned optimizer settings.
98
+ # For models supporting structural constraints and ESM embeddings.
99
+ finetune_optim_configs = {
100
+ # Optim
101
+ "lr": 0.0018,
102
+ "lr_scheduler": "cosine_annealing",
103
+ "warmup_steps": 1000,
104
+ "max_steps": 20000,
105
+ "min_lr_ratio": 0.1,
106
+ "decay_every_n_steps": 50000,
107
+ }
108
+ model_configs = {
109
+ # Model
110
+ "c_s": 384,
111
+ "c_z": 128,
112
+ "c_s_inputs": 449, # c_s_inputs == c_token + 32 + 32 + 1
113
+ "c_atom": 128,
114
+ "c_atompair": 16,
115
+ "c_token": 384,
116
+ "n_blocks": 48,
117
+ "max_atoms_per_token": 24, # DNA G max_atoms = 23
118
+ "no_bins": 64,
119
+ "sigma_data": 16.0,
120
+ "diffusion_batch_size": 48,
121
+ "diffusion_chunk_size": ValueMaybeNone(4), # chunksize of diffusion_batch_size
122
+ "blocks_per_ckpt": ValueMaybeNone(
123
+ 1
124
+ ), # NOTE: Number of blocks in each activation checkpoint, if None, no checkpointing is performed.
125
+ # switch of kernels
126
+ "use_memory_efficient_kernel": False, # whether to use the torch.nn.functional.scaled_dot_product_attention, Defaults to False.
127
+ "use_deepspeed_evo_attention": True,
128
+ "use_flash": False,
129
+ "use_lma": False,
130
+ "use_xformer": False,
131
+ "find_unused_parameters": False,
132
+ "dtype": "bf16", # default training dtype: bf16
133
+ "loss_metrics_sparse_enable": True, # the swicth for both sparse lddt metrics and sparse bond/smooth lddt loss
134
+ "skip_amp": {
135
+ "sample_diffusion": True,
136
+ "confidence_head": True,
137
+ "sample_diffusion_training": True,
138
+ "loss": True,
139
+ },
140
+ "infer_setting": {
141
+ "chunk_size": ValueMaybeNone(
142
+ 64
143
+ ), # should set to null for normal training and small dataset eval [for efficiency]
144
+ "sample_diffusion_chunk_size": ValueMaybeNone(
145
+ 1
146
+ ), # should set to null for normal training and small dataset eval [for efficiency]
147
+ "lddt_metrics_sparse_enable": GlobalConfigValue("loss_metrics_sparse_enable"),
148
+ "lddt_metrics_chunk_size": ValueMaybeNone(
149
+ 1
150
+ ), # only works if loss_metrics_sparse_enable, can set as default 1
151
+ },
152
+ "train_noise_sampler": {
153
+ "p_mean": -1.2,
154
+ "p_std": 1.5,
155
+ "sigma_data": 16.0, # NOTE: in EDM, this is 1.0
156
+ },
157
+ "inference_noise_scheduler": {
158
+ "s_max": 160.0,
159
+ "s_min": 4e-4,
160
+ "rho": 7,
161
+ "sigma_data": 16.0, # NOTE: in EDM, this is 1.0
162
+ },
163
+ "sample_diffusion": {
164
+ "gamma0": 0.8,
165
+ "gamma_min": 1.0,
166
+ "noise_scale_lambda": 1.003,
167
+ "step_scale_eta": 1.5,
168
+ "N_step": 200,
169
+ "N_sample": 5,
170
+ "N_step_mini_rollout": 20,
171
+ "N_sample_mini_rollout": 1,
172
+ },
173
+ "model": {
174
+ "N_model_seed": 1, # for inference
175
+ "N_cycle": 4,
176
+ "condition_embedding_drop_rate": 0.0,
177
+ "confidence_embedding_drop_rate": 0.0,
178
+ "input_embedder": {
179
+ "c_atom": GlobalConfigValue("c_atom"),
180
+ "c_atompair": GlobalConfigValue("c_atompair"),
181
+ "c_token": GlobalConfigValue("c_token"),
182
+ },
183
+ "relative_position_encoding": {
184
+ "r_max": 32,
185
+ "s_max": 2,
186
+ "c_z": GlobalConfigValue("c_z"),
187
+ },
188
+ "template_embedder": {
189
+ "c": 64,
190
+ "c_z": GlobalConfigValue("c_z"),
191
+ "n_blocks": 0,
192
+ "dropout": 0.25,
193
+ "blocks_per_ckpt": GlobalConfigValue("blocks_per_ckpt"),
194
+ },
195
+ "msa_module": {
196
+ "c_m": 64,
197
+ "c_z": GlobalConfigValue("c_z"),
198
+ "c_s_inputs": GlobalConfigValue("c_s_inputs"),
199
+ "n_blocks": 4,
200
+ "msa_dropout": 0.15,
201
+ "pair_dropout": 0.25,
202
+ "blocks_per_ckpt": GlobalConfigValue("blocks_per_ckpt"),
203
+ "msa_chunk_size": ValueMaybeNone(2048),
204
+ },
205
+ # Optional constraint embedder, only used when constraint is enabled.
206
+ "constraint_embedder": {
207
+ "pocket_embedder": {
208
+ "enable": False,
209
+ "c_s_input": 3,
210
+ "c_z_input": 1,
211
+ },
212
+ "contact_embedder": {
213
+ "enable": False,
214
+ "c_z_input": 2,
215
+ },
216
+ "substructure_embedder": {
217
+ "enable": False,
218
+ "n_classes": 4,
219
+ "architecture": "transformer",
220
+ "hidden_dim": 128,
221
+ "n_layers": 1,
222
+ },
223
+ "contact_atom_embedder": {
224
+ "enable": False,
225
+ "c_z_input": 2,
226
+ },
227
+ "c_constraint_z": GlobalConfigValue("c_z"),
228
+ "c_constraint_s": GlobalConfigValue("c_s_inputs"),
229
+ "c_constraint_atom_pair": GlobalConfigValue("c_atompair"),
230
+ "initialize_method": "zero", # zero, kaiming
231
+ },
232
+ "pairformer": {
233
+ "n_blocks": GlobalConfigValue("n_blocks"),
234
+ "c_z": GlobalConfigValue("c_z"),
235
+ "c_s": GlobalConfigValue("c_s"),
236
+ "n_heads": 16,
237
+ "dropout": 0.25,
238
+ "blocks_per_ckpt": GlobalConfigValue("blocks_per_ckpt"),
239
+ },
240
+ "diffusion_module": {
241
+ "use_fine_grained_checkpoint": True,
242
+ "use_efficient_implementation": GlobalConfigValue(
243
+ "use_memory_efficient_kernel"
244
+ ),
245
+ "sigma_data": GlobalConfigValue("sigma_data"),
246
+ "c_token": 768,
247
+ "c_atom": GlobalConfigValue("c_atom"),
248
+ "c_atompair": GlobalConfigValue("c_atompair"),
249
+ "c_z": GlobalConfigValue("c_z"),
250
+ "c_s": GlobalConfigValue("c_s"),
251
+ "c_s_inputs": GlobalConfigValue("c_s_inputs"),
252
+ "atom_encoder": {
253
+ "n_blocks": 3,
254
+ "n_heads": 4,
255
+ },
256
+ "transformer": {
257
+ "n_blocks": 24,
258
+ "n_heads": 16,
259
+ },
260
+ "atom_decoder": {
261
+ "n_blocks": 3,
262
+ "n_heads": 4,
263
+ },
264
+ "blocks_per_ckpt": GlobalConfigValue("blocks_per_ckpt"),
265
+ },
266
+ "confidence_head": {
267
+ "c_z": GlobalConfigValue("c_z"),
268
+ "c_s": GlobalConfigValue("c_s"),
269
+ "c_s_inputs": GlobalConfigValue("c_s_inputs"),
270
+ "n_blocks": 4,
271
+ "max_atoms_per_token": GlobalConfigValue("max_atoms_per_token"),
272
+ "pairformer_dropout": 0.0,
273
+ "blocks_per_ckpt": GlobalConfigValue("blocks_per_ckpt"),
274
+ "distance_bin_start": 3.25,
275
+ "distance_bin_end": 52.0,
276
+ "distance_bin_step": 1.25,
277
+ "stop_gradient": True,
278
+ },
279
+ "distogram_head": {
280
+ "c_z": GlobalConfigValue("c_z"),
281
+ "no_bins": GlobalConfigValue("no_bins"),
282
+ },
283
+ },
284
+ }
285
+ perm_configs = {
286
+ # Chain and Atom Permutation
287
+ "chain_permutation": {
288
+ "train": {
289
+ "mini_rollout": True,
290
+ "diffusion_sample": False,
291
+ },
292
+ "test": {
293
+ "diffusion_sample": True,
294
+ },
295
+ "permute_by_pocket": True,
296
+ "configs": {
297
+ "use_center_rmsd": False,
298
+ "find_gt_anchor_first": False,
299
+ "accept_it_as_it_is": False,
300
+ "enumerate_all_anchor_pairs": False,
301
+ "selection_metric": "aligned_rmsd",
302
+ },
303
+ },
304
+ "atom_permutation": {
305
+ "train": {
306
+ "mini_rollout": True,
307
+ "diffusion_sample": False,
308
+ },
309
+ "test": {
310
+ "diffusion_sample": True,
311
+ },
312
+ "permute_by_pocket": True,
313
+ "global_align_wo_symmetric_atom": False,
314
+ },
315
+ }
316
+ loss_configs = {
317
+ "loss": {
318
+ "diffusion_lddt_chunk_size": ValueMaybeNone(1),
319
+ "diffusion_bond_chunk_size": ValueMaybeNone(1),
320
+ "diffusion_chunk_size_outer": ValueMaybeNone(-1),
321
+ "diffusion_sparse_loss_enable": GlobalConfigValue("loss_metrics_sparse_enable"),
322
+ "diffusion_lddt_loss_dense": True, # only set true in initial training for training speed
323
+ "resolution": {"min": 0.1, "max": 4.0},
324
+ "weight": {
325
+ "alpha_confidence": 1e-4,
326
+ "alpha_pae": 0.0, # or 1 in finetuning stage 3
327
+ "alpha_except_pae": 1.0,
328
+ "alpha_diffusion": 4.0,
329
+ "alpha_distogram": 3e-2,
330
+ "alpha_bond": 0.0, # or 1 in finetuning stages
331
+ "smooth_lddt": 1.0, # or 0 in finetuning stages
332
+ },
333
+ "plddt": {
334
+ "min_bin": 0,
335
+ "max_bin": 1.0,
336
+ "no_bins": 50,
337
+ "normalize": True,
338
+ "eps": 1e-6,
339
+ },
340
+ "pde": {
341
+ "min_bin": 0,
342
+ "max_bin": 32,
343
+ "no_bins": 64,
344
+ "eps": 1e-6,
345
+ },
346
+ "resolved": {
347
+ "eps": 1e-6,
348
+ },
349
+ "pae": {
350
+ "min_bin": 0,
351
+ "max_bin": 32,
352
+ "no_bins": 64,
353
+ "eps": 1e-6,
354
+ },
355
+ "diffusion": {
356
+ "mse": {
357
+ "weight_mse": 1 / 3,
358
+ "weight_dna": 5.0,
359
+ "weight_rna": 5.0,
360
+ "weight_ligand": 10.0,
361
+ "eps": 1e-6,
362
+ },
363
+ "bond": {
364
+ "eps": 1e-6,
365
+ },
366
+ "smooth_lddt": {
367
+ "eps": 1e-6,
368
+ },
369
+ },
370
+ "distogram": {
371
+ "min_bin": 2.3125,
372
+ "max_bin": 21.6875,
373
+ "no_bins": 64,
374
+ "eps": 1e-6,
375
+ },
376
+ },
377
+ "metrics": {
378
+ "lddt": {
379
+ "eps": 1e-6,
380
+ },
381
+ "complex_ranker_keys": ListValue(["plddt", "gpde", "ranking_score"]),
382
+ "chain_ranker_keys": ListValue(["chain_ptm", "chain_plddt"]),
383
+ "interface_ranker_keys": ListValue(
384
+ ["chain_pair_iptm", "chain_pair_iptm_global", "chain_pair_plddt"]
385
+ ),
386
+ "clash": {"af3_clash_threshold": 1.1, "vdw_clash_threshold": 0.75},
387
+ },
388
+ }
389
+
390
+ configs = {
391
+ **basic_configs,
392
+ **data_configs,
393
+ **optim_configs,
394
+ **model_configs,
395
+ **perm_configs,
396
+ **loss_configs,
397
+ }
398
+ configs["finetune"] = finetune_optim_configs
model/Protenix-pxd/configs/configs_data.py ADDED
@@ -0,0 +1,251 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # pylint: disable=C0114,C0301
16
+ import os
17
+ from copy import deepcopy
18
+
19
+ from protenix.config.extend_types import GlobalConfigValue, ListValue
20
+
21
+ default_test_configs = {
22
+ "sampler_configs": {
23
+ "sampler_type": "uniform",
24
+ },
25
+ "cropping_configs": {
26
+ "method_weights": [
27
+ 0.0, # ContiguousCropping
28
+ 0.0, # SpatialCropping
29
+ 1.0, # SpatialInterfaceCropping
30
+ ],
31
+ "crop_size": -1,
32
+ },
33
+ "lig_atom_rename": GlobalConfigValue("test_lig_atom_rename"),
34
+ "shuffle_mols": GlobalConfigValue("test_shuffle_mols"),
35
+ "shuffle_sym_ids": GlobalConfigValue("test_shuffle_sym_ids"),
36
+ "constraint": {
37
+ "enable": False,
38
+ "fix_seed": False, # True means use use the same contact in each evaluation.
39
+ },
40
+ }
41
+
42
+ default_weighted_pdb_configs = {
43
+ "sampler_configs": {
44
+ "sampler_type": "weighted",
45
+ "beta_dict": {
46
+ "chain": 0.5,
47
+ "interface": 1,
48
+ },
49
+ "alpha_dict": {
50
+ "prot": 3,
51
+ "nuc": 3,
52
+ "ligand": 1,
53
+ },
54
+ "force_recompute_weight": True,
55
+ },
56
+ "cropping_configs": {
57
+ "method_weights": ListValue([0.2, 0.4, 0.4]),
58
+ "crop_size": GlobalConfigValue("train_crop_size"),
59
+ },
60
+ "sample_weight": 0.5,
61
+ "limits": -1,
62
+ "lig_atom_rename": GlobalConfigValue("train_lig_atom_rename"),
63
+ "shuffle_mols": GlobalConfigValue("train_shuffle_mols"),
64
+ "shuffle_sym_ids": GlobalConfigValue("train_shuffle_sym_ids"),
65
+ # If enabled, the training settings for different constraint types,
66
+ # providing the model a certain proportion of constraints
67
+ # that meet specific conditions.
68
+ "constraint": {
69
+ "enable": False,
70
+ "fix_seed": False,
71
+ "pocket": {
72
+ "prob": 0.0,
73
+ "size": 1 / 3,
74
+ "spec_binder_chain": False,
75
+ "max_distance_range": {"PP": ListValue([6, 20]), "LP": ListValue([6, 20])},
76
+ "group": "complex",
77
+ "distance_type": "center_atom",
78
+ },
79
+ "contact": {
80
+ "prob": 0.0,
81
+ "size": 1 / 3,
82
+ "max_distance_range": {
83
+ "PP": ListValue([6, 30]),
84
+ "PL": ListValue([4, 10]),
85
+ },
86
+ "group": "complex",
87
+ "distance_type": "center_atom",
88
+ },
89
+ "substructure": {
90
+ "prob": 0.0,
91
+ "size": 0.8,
92
+ "mol_type_pairs": {
93
+ "PP": 15,
94
+ "PL": 10,
95
+ "LP": 10,
96
+ },
97
+ "feature_type": "one_hot",
98
+ "ratios": {
99
+ "full": [
100
+ 0.0,
101
+ 0.5,
102
+ 1.0,
103
+ ], # ratio options of full chain substructure constraint
104
+ "partial": 0.3, # ratio of partial chain substructure constraint
105
+ },
106
+ "coord_noise_scale": 0.05,
107
+ "spec_asym_id": False,
108
+ },
109
+ "contact_atom": {
110
+ "prob": 0.0,
111
+ "size": 1 / 3,
112
+ "max_distance_range": {
113
+ "PP": ListValue([2, 12]),
114
+ "PL": ListValue([2, 8]),
115
+ },
116
+ "min_distance": -1,
117
+ "group": "complex",
118
+ "distance_type": "atom",
119
+ "feature_type": "continuous",
120
+ },
121
+ },
122
+ }
123
+
124
+ if "PROTENIX_DATA_ROOT_DIR" not in os.environ:
125
+ print(f"PROTENIX_DATA_ROOT_DIR not set, will use ../release_data/ccd_cache")
126
+ current_file_path = os.path.abspath(__file__)
127
+ current_directory = os.path.dirname(current_file_path)
128
+ code_directory = os.path.dirname(current_directory)
129
+ DATA_ROOT_DIR = os.path.join(code_directory, "release_data/ccd_cache")
130
+ else:
131
+ DATA_ROOT_DIR = os.environ["PROTENIX_DATA_ROOT_DIR"]
132
+
133
+ # Use CCD cache created by scripts/gen_ccd_cache.py priority. (without date in filename)
134
+ # See: docs/prepare_data.md
135
+ CCD_COMPONENTS_FILE_PATH = os.path.join(DATA_ROOT_DIR, "components.cif")
136
+ CCD_COMPONENTS_RDKIT_MOL_FILE_PATH = os.path.join(
137
+ DATA_ROOT_DIR, "components.cif.rdkit_mol.pkl"
138
+ )
139
+ PDB_CLUSTER_FILE_PATH = os.path.join(DATA_ROOT_DIR, "clusters-by-entity-40.txt")
140
+
141
+ if (not os.path.exists(CCD_COMPONENTS_FILE_PATH)) or (
142
+ not os.path.exists(CCD_COMPONENTS_RDKIT_MOL_FILE_PATH)
143
+ ):
144
+ CCD_COMPONENTS_FILE_PATH = os.path.join(DATA_ROOT_DIR, "components.v20240608.cif")
145
+ CCD_COMPONENTS_RDKIT_MOL_FILE_PATH = os.path.join(
146
+ DATA_ROOT_DIR, "components.v20240608.cif.rdkit_mol.pkl"
147
+ )
148
+
149
+ data_configs = {
150
+ "num_dl_workers": 16,
151
+ "epoch_size": 10000,
152
+ "train_ref_pos_augment": True,
153
+ "test_ref_pos_augment": True,
154
+ "train_sets": ListValue(["weightedPDB_before2109_wopb_nometalc_0925"]),
155
+ "train_sampler": {
156
+ "train_sample_weights": ListValue([1.0]),
157
+ "sampler_type": "weighted",
158
+ },
159
+ "test_sets": ListValue(["recentPDB_1536_sample384_0925"]),
160
+ "weightedPDB_before2109_wopb_nometalc_0925": {
161
+ "base_info": {
162
+ "mmcif_dir": os.path.join(DATA_ROOT_DIR, "mmcif"),
163
+ "bioassembly_dict_dir": os.path.join(DATA_ROOT_DIR, "mmcif_bioassembly"),
164
+ "indices_fpath": os.path.join(
165
+ DATA_ROOT_DIR,
166
+ "indices/weightedPDB_indices_before_2021-09-30_wo_posebusters_resolution_below_9.csv.gz",
167
+ ),
168
+ "pdb_list": "",
169
+ "random_sample_if_failed": True,
170
+ "max_n_token": -1, # can be used for removing data with too many tokens.
171
+ "use_reference_chains_only": False,
172
+ "exclusion": { # do not sample the data based on ions.
173
+ "mol_1_type": ListValue(["ions"]),
174
+ "mol_2_type": ListValue(["ions"]),
175
+ },
176
+ },
177
+ **deepcopy(default_weighted_pdb_configs),
178
+ },
179
+ "recentPDB_1536_sample384_0925": {
180
+ "base_info": {
181
+ "mmcif_dir": os.path.join(DATA_ROOT_DIR, "mmcif"),
182
+ "bioassembly_dict_dir": os.path.join(
183
+ DATA_ROOT_DIR, "recentPDB_bioassembly"
184
+ ),
185
+ "indices_fpath": os.path.join(
186
+ DATA_ROOT_DIR, "indices/recentPDB_low_homology_maxtoken1536.csv"
187
+ ),
188
+ "pdb_list": os.path.join(
189
+ DATA_ROOT_DIR,
190
+ "indices/recentPDB_low_homology_maxtoken1024_sample384_pdb_id.txt",
191
+ ),
192
+ "max_n_token": GlobalConfigValue("test_max_n_token"), # filter data
193
+ "sort_by_n_token": False,
194
+ "group_by_pdb_id": True,
195
+ "find_eval_chain_interface": True,
196
+ },
197
+ **deepcopy(default_test_configs),
198
+ },
199
+ "posebusters_0925": {
200
+ "base_info": {
201
+ "mmcif_dir": os.path.join(DATA_ROOT_DIR, "posebusters_mmcif"),
202
+ "bioassembly_dict_dir": os.path.join(
203
+ DATA_ROOT_DIR, "posebusters_bioassembly"
204
+ ),
205
+ "indices_fpath": os.path.join(
206
+ DATA_ROOT_DIR, "indices/posebusters_indices_mainchain_interface.csv"
207
+ ),
208
+ "pdb_list": "",
209
+ "find_pocket": True,
210
+ "find_all_pockets": False,
211
+ "max_n_token": GlobalConfigValue("test_max_n_token"), # filter data
212
+ },
213
+ **deepcopy(default_test_configs),
214
+ },
215
+ "msa": {
216
+ "enable": True,
217
+ "enable_rna_msa": False,
218
+ "prot": {
219
+ "pairing_db": "uniref100",
220
+ "non_pairing_db": "mmseqs_other",
221
+ "pdb_mmseqs_dir": os.path.join(DATA_ROOT_DIR, "mmcif_msa"),
222
+ "seq_to_pdb_idx_path": os.path.join(DATA_ROOT_DIR, "seq_to_pdb_index.json"),
223
+ "indexing_method": "sequence",
224
+ },
225
+ "rna": {
226
+ "seq_to_pdb_idx_path": "",
227
+ "rna_msa_dir": "",
228
+ "indexing_method": "sequence",
229
+ },
230
+ "strategy": "random",
231
+ "merge_method": "dense_max",
232
+ "min_size": {
233
+ "train": 1,
234
+ "test": 1,
235
+ },
236
+ "max_size": {
237
+ "train": 16384,
238
+ "test": 16384,
239
+ },
240
+ "sample_cutoff": {
241
+ "train": 16384,
242
+ "test": 16384,
243
+ },
244
+ },
245
+ "template": {
246
+ "enable": False,
247
+ },
248
+ "ccd_components_file": CCD_COMPONENTS_FILE_PATH,
249
+ "ccd_components_rdkit_mol_file": CCD_COMPONENTS_RDKIT_MOL_FILE_PATH,
250
+ "pdb_cluster_file": PDB_CLUSTER_FILE_PATH,
251
+ }
model/Protenix-pxd/configs/configs_inference.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # pylint: disable=C0114
16
+ import os
17
+
18
+ from protenix.config.extend_types import ListValue, RequiredValue
19
+
20
+ current_file_path = os.path.abspath(__file__)
21
+ current_directory = os.path.dirname(current_file_path)
22
+ code_directory = os.path.dirname(current_directory)
23
+ # The model will be download to the following dir if not exists:
24
+ # "./release_data/checkpoint/model_v0.5.0.pt"
25
+ inference_configs = {
26
+ "model_name": "protenix_base_default_v0.5.0", # inference model selection
27
+ "seeds": ListValue([101]),
28
+ "dump_dir": "./output",
29
+ "need_atom_confidence": False,
30
+ "sorted_by_ranking_score": True,
31
+ "input_json_path": RequiredValue(str),
32
+ "load_checkpoint_dir": os.path.join(code_directory, "./release_data/checkpoint/"),
33
+ "num_workers": 16,
34
+ "use_msa": True,
35
+ }
model/Protenix-pxd/configs/configs_model_type.py ADDED
@@ -0,0 +1,267 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # model configs for inference and training,
16
+ # such as: protenix-base, protenix-mini, protenix-tiny, protenix-constraint.
17
+ # protenix_{model_size}_{features}_{version}
18
+ # model_size: base, mini, tiny
19
+ # features: default, constraint, esm, etc, if multiple split by "-"
20
+ # version: v{x}.{y}.{z}
21
+
22
+ """
23
+ Currently, the model_name support the following models.
24
+
25
+ | Model Name | ESM/MSA/Constraint | Model Parameters(M ) |
26
+ |-------------------------------------|--------------------------|----------------------|
27
+ | `protenix_base_default_v0.5.0` | ❌ / ✅ / ❌ | 368.09 |
28
+ | `protenix_base_constraint_v0.5.0` | ❌ / ✅ / ✅ | 368.30 |
29
+ | `protenix_mini_esm_v0.5.0` | ✅ / ✅ / ❌ | 135.22 |
30
+ | `protenix_mini_ism_v0.5.0` | ✅ / ✅ / ❌ | 135.22 |
31
+ | `protenix_mini_default_v0.5.0` | ❌ / ✅ / ❌ | 134.06 |
32
+ | `protenix_tiny_detault_v0.5.0` | ❌ / ✅ / ❌ | 109.50 |
33
+ """
34
+ model_configs = {
35
+ "protenix_base_default_v0.5.0": {
36
+ "model": {"N_cycle": 10},
37
+ "sample_diffusion": {
38
+ "N_step": 200,
39
+ }, # the default setting for base model
40
+ },
41
+ "protenix_base_constraint_v0.5.0": {
42
+ "model": {
43
+ "sample_diffusion": {
44
+ "N_step": 200,
45
+ }, # the default setting for constraint model
46
+ "N_cycle": 10,
47
+ "constraint_embedder": {
48
+ "pocket_embedder": {
49
+ "enable": True,
50
+ },
51
+ "contact_embedder": {
52
+ "enable": True,
53
+ },
54
+ "substructure_embedder": {
55
+ "enable": True,
56
+ },
57
+ "contact_atom_embedder": {
58
+ "enable": True,
59
+ },
60
+ },
61
+ },
62
+ "data": {
63
+ "weightedPDB_before2109_wopb_nometalc_0925": {
64
+ "constraint": {
65
+ "enable": True,
66
+ "pocket": {
67
+ "prob": 0.2,
68
+ "max_distance_range": {
69
+ "PP": [4, 15],
70
+ "LP": [3, 10],
71
+ },
72
+ },
73
+ "contact": {
74
+ "prob": 0.1,
75
+ },
76
+ "substructure": {
77
+ "prob": 0.5,
78
+ "size": 1,
79
+ "coord_noise_scale": 1,
80
+ },
81
+ "contact_atom": {
82
+ "prob": 0.1,
83
+ "max_distance_range": {
84
+ "PP": [2, 12],
85
+ "PL": [2, 15],
86
+ },
87
+ "min_distance": -1,
88
+ "group": "complex",
89
+ "distance_type": "atom",
90
+ "feature_type": "continuous",
91
+ },
92
+ },
93
+ },
94
+ "recentPDB_1536_sample384_0925": {
95
+ "constraint": {
96
+ "enable": True,
97
+ },
98
+ },
99
+ "posebusters_0925": {
100
+ "constraint": {
101
+ "enable": True,
102
+ },
103
+ },
104
+ },
105
+ "load_strict": False, # If finetuning from base model, model arch has been changed,
106
+ # it should be False, for inference, it should be True.
107
+ "finetune_params_with_substring": [
108
+ "constraint_embedder.substructure_z_embedder",
109
+ "constraint_embedder.pocket_z_embedder",
110
+ "constraint_embedder.contact_z_embedder",
111
+ "constraint_embedder.contact_atom_z_embedder",
112
+ ],
113
+ },
114
+ "protenix_mini_default_v0.5.0": {
115
+ "sample_diffusion": {
116
+ "gamma0": 0,
117
+ "step_scale_eta": 1.0,
118
+ "N_step": 5,
119
+ }, # the default setting for mini model
120
+ "model": {
121
+ "N_cycle": 4,
122
+ "msa_module": {
123
+ "n_blocks": 1,
124
+ },
125
+ "pairformer": {
126
+ "n_blocks": 16,
127
+ },
128
+ "diffusion_module": {
129
+ "atom_encoder": {
130
+ "n_blocks": 1,
131
+ },
132
+ "transformer": {
133
+ "n_blocks": 8,
134
+ },
135
+ "atom_decoder": {
136
+ "n_blocks": 1,
137
+ },
138
+ },
139
+ },
140
+ "load_strict": False, # For inference, it should be True.
141
+ },
142
+ "protenix_mini_tmpl_v0.5.0": {
143
+ "sample_diffusion": {
144
+ "gamma0": 0,
145
+ "step_scale_eta": 1.0,
146
+ "N_step": 5,
147
+ }, # the default setting for mini model
148
+ "model": {
149
+ "N_cycle": 4,
150
+ "noisy_structure_embedder": {
151
+ "c_z": 128,
152
+ },
153
+ "msa_module": {
154
+ "n_blocks": 1,
155
+ },
156
+ "pairformer": {
157
+ "n_blocks": 16,
158
+ },
159
+ "diffusion_module": {
160
+ "atom_encoder": {
161
+ "n_blocks": 1,
162
+ },
163
+ "transformer": {
164
+ "n_blocks": 8,
165
+ },
166
+ "atom_decoder": {
167
+ "n_blocks": 1,
168
+ },
169
+ },
170
+ },
171
+ "load_strict": False, # For inference, it should be True.
172
+ },
173
+ "protenix_tiny_default_v0.5.0": {
174
+ "sample_diffusion": {
175
+ "gamma0": 0,
176
+ "step_scale_eta": 1.0,
177
+ "N_step": 5,
178
+ }, # the default setting for tiny model
179
+ "model": {
180
+ "N_cycle": 4,
181
+ "msa_module": {
182
+ "n_blocks": 1,
183
+ },
184
+ "pairformer": {
185
+ "n_blocks": 8,
186
+ },
187
+ "diffusion_module": {
188
+ "atom_encoder": {
189
+ "n_blocks": 1,
190
+ },
191
+ "transformer": {
192
+ "n_blocks": 8,
193
+ },
194
+ "atom_decoder": {
195
+ "n_blocks": 1,
196
+ },
197
+ },
198
+ },
199
+ "load_strict": False, # For inference, it should be True.
200
+ },
201
+ "protenix_mini_esm_v0.5.0": {
202
+ "sample_diffusion": {
203
+ "gamma0": 0,
204
+ "step_scale_eta": 1.0,
205
+ "N_step": 5,
206
+ }, # the default setting for mini model
207
+ "model": {
208
+ "N_cycle": 4,
209
+ "msa_module": {
210
+ "n_blocks": 1,
211
+ },
212
+ "pairformer": {
213
+ "n_blocks": 16,
214
+ },
215
+ "diffusion_module": {
216
+ "atom_encoder": {
217
+ "n_blocks": 1,
218
+ },
219
+ "transformer": {
220
+ "n_blocks": 8,
221
+ },
222
+ "atom_decoder": {
223
+ "n_blocks": 1,
224
+ },
225
+ },
226
+ },
227
+ "esm": {
228
+ "enable": True,
229
+ "model_name": "esm2-3b",
230
+ },
231
+ "load_strict": False, # For inference, it should be True.
232
+ "use_msa": False, # For efficiency, this model does not use MSA by default.
233
+ },
234
+ "protenix_mini_ism_v0.5.0": {
235
+ "sample_diffusion": {
236
+ "gamma0": 0,
237
+ "step_scale_eta": 1.0,
238
+ "N_step": 5,
239
+ }, # the default setting for mini model
240
+ "model": {
241
+ "N_cycle": 4,
242
+ "msa_module": {
243
+ "n_blocks": 1,
244
+ },
245
+ "pairformer": {
246
+ "n_blocks": 16,
247
+ },
248
+ "diffusion_module": {
249
+ "atom_encoder": {
250
+ "n_blocks": 1,
251
+ },
252
+ "transformer": {
253
+ "n_blocks": 8,
254
+ },
255
+ "atom_decoder": {
256
+ "n_blocks": 1,
257
+ },
258
+ },
259
+ },
260
+ "esm": {
261
+ "enable": True,
262
+ "model_name": "esm2-3b-ism",
263
+ },
264
+ "load_strict": False, # For inference, it should be True.
265
+ "use_msa": False, # For efficiency, this model does not use MSA by default.
266
+ },
267
+ }
model/Protenix-pxd/docs/colabfold_compatible_msa.md ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Using Local Colabfold_search to Generate Protenix-Compatible MSA
2
+
3
+ Colabfold provides an easy-to-use and efficient MSA search pipeline that's ideal for generating MSAs during inference. Unfortunately, this pipeline cannot fully match Protenix's MSA search process designed for training, as the current `colabfold_search` omits species information in the MSA, preventing correct pairing by Protenix's data pipeline. To address this issue, we provide the `scripts/colabfold_msa.py` script, which post-processes `colabfold_search` results by adding pseudo taxonomy IDs to paired MSAs to match Protenix's data pipeline.
4
+
5
+ Here's an example:
6
+ ```bash
7
+ python3 scripts/colabfold_msa.py examples/dimer.fasta <path/to/colabfold_db> dimer_colabfold_msa --db1 uniref30_2103_db --db3 colabfold_envdb_202108_db --mmseqs_path <path/to/mmseqs>
8
+ ```
9
+
10
+ #### Configuring Colabfold_search
11
+ Installation of colabfold and mmseqs2 is required.
12
+
13
+ colabfold can be installed with: `pip install colabfold[alphafold]`.
14
+
15
+ Build MMseqs2 from source:
16
+
17
+ ```bash
18
+ wget https://github.com/soedinglab/MMseqs2/archive/refs/tags/16-747c6.tar.gz
19
+ tar xzf 16-747c6.tar.gz
20
+ cd MMseqs2-16-747c6/
21
+ mkdir build && cd build
22
+ cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=. ..
23
+ make -j8
24
+ make install
25
+ ```
26
+
27
+ Download ColabFold database:
28
+ ```bash
29
+ git clone https://github.com/sokrypton/ColabFold.git
30
+ cd ColabFold
31
+ # Configure database:
32
+ MMSEQS_NO_INDEX=1 ./setup_databases.sh <path/to/colabfold_db>
33
+ ```
model/Protenix-pxd/docs/docker_installation.md ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Run with Docker
2
+
3
+ 1. Install Docker (with GPU Support)
4
+
5
+ Ensure that Docker is installed and configured with GPU support. Follow these steps:
6
+ * Install [Docker](https://www.docker.com/) if not already installed.
7
+ * Install the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html) to enable GPU support.
8
+ * Verify the setup with:
9
+ ```bash
10
+ docker run --rm --gpus all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi
11
+ ```
12
+
13
+ 2. Pull the Docker image, which was built based on this [Dockerfile](../Dockerfile)
14
+ ```bash
15
+ docker pull ai4s-cn-beijing.cr.volces.com/infra/protenix:v0.0.3
16
+ ```
17
+
18
+ 3. Clone this repository and `cd` into it
19
+ ```bash
20
+ git clone https://github.com/bytedance/protenix.git
21
+ cd ./protenix
22
+ pip install -e .
23
+ ```
24
+
25
+ 4. Run Docker with an interactive shell
26
+ ```bash
27
+ docker run --gpus all -it -v $(pwd):/workspace -v /dev/shm:/dev/shm ai4s-cn-beijing.cr.volces.com/infra/protenix:v0.0.3 /bin/bash
28
+ ```
29
+
30
+ After running above commands, you’ll be inside the container’s environment and can execute commands as you would on a normal Linux terminal.
model/Protenix-pxd/docs/infer_json_format.md ADDED
@@ -0,0 +1,329 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Format of the input JSON file
2
+ The JSON file format closely resembles that used by the AlphaFold Server, with a few key differences:
3
+
4
+ 1. There are no restrictions on the types of ligands, ions, and modifications, whereas the AlphaFold Server currently supports only a limited set of specific CCD codes.
5
+ 2. Users can specify bonds between entities, such as covalent bonds between ligands and polymers.
6
+ 3. It supports inputting ligands in the form of SMILES strings or molecular structure files.
7
+ 4. Ligands composed of multiple CCD codes can be treated as a single entity. This feature is useful for representing glycans, for example, "NAG-NAG".
8
+ 5. The "glycans" field is no longer supported. Glycans can be fully represented by inputting multiple ligands with defined bonding or by providing their SMILES strings.
9
+
10
+ Here is an overview of the JSON file format:
11
+ ```json
12
+ [
13
+ {
14
+ "name": "Test Fold Job Number One",
15
+ "sequences": [...],
16
+ "covalent_bonds": [...]
17
+ }
18
+ ]
19
+ ```
20
+ The JSON file consists of a list of dictionaries, where each dictionary represents a set of sequences you want to model.
21
+ Even if you are modeling only one set of sequences, the top-level structure should still be a list.
22
+
23
+ Each dictionary contains the following three keys:
24
+ * `name`: A string representing the name of the inference job.
25
+ * `sequences`: A list of dictionaries that describe the entities (e.g., proteins, DNA, RNA, small molecules, and ions) involved in the inference.
26
+ * `covalent_bonds`: An optional list of dictionaries that define the covalent bonds between atoms from different entities.
27
+
28
+ Details of `sequences` and `covalent_bonds` are provided below.
29
+
30
+ #### sequences
31
+ There are 5 kinds of supported sequences:
32
+ * `proteinChain` – used for proteins
33
+ * `dnaSequence` – used for DNA (single strand)
34
+ * `rnaSequence` – used for RNA (single strand)
35
+ * `ligand` – used for ligands
36
+ * `ion` – used for ions
37
+
38
+ ##### proteinChain
39
+ ```json
40
+ {
41
+ "proteinChain": {
42
+ "sequence": "PREACHINGS",
43
+ "count": 1,
44
+ "modifications": [
45
+ {
46
+ "ptmType": "CCD_HY3",
47
+ "ptmPosition": 1,
48
+ },
49
+ {
50
+ "ptmType": "CCD_P1L",
51
+ "ptmPosition": 5
52
+ }
53
+ ],
54
+ "msa":{
55
+ "precomputed_msa_dir": "./precomputed_msa",
56
+ "pairing_db": "uniref100",
57
+ },
58
+ },
59
+ }
60
+ ```
61
+ * `sequence`: A string representating a protein sequence, which can only contain the 20 standard amino acid type and X (UNK) for unknown residues.
62
+ * `count`: The number of copies of this protein chain (integer).
63
+ * `modifications`: An optional list of dictionaries that describe post-translational modifications.
64
+
65
+ * `ptmType`: A string containing CCD code of the modification.
66
+ * `ptmPosition`: The position of the modified amino acid (integer).
67
+ * `msa`: A dictionary containing options for Multiple Sequence Alignment (MSA). **If you want to search MSAs using our inference pipeline, you should not set this field or set it to an empty dictionary**:
68
+ * `precomputed_msa_dir`: The path to a directory containing precomputed MSAs. This directory should contain two specific files: "pairing.a3m" for MSAs used for pairing, and "non_pairing.a3m" for non-pairing MSAs.
69
+ * `pairing_db`: The name of the genomic database used for pairing MSAs. The default is "uniref100" and you should not change it. In fact, The MSA search against the UniRef30, a clustered version of the UniRef100.
70
+
71
+ ##### dnaSequence
72
+ ```json
73
+ {
74
+ "dnaSequence": {
75
+ "sequence": "GATTACA",
76
+ "modifications": [
77
+ {
78
+ "modificationType": "CCD_6OG",
79
+ "basePosition": 1
80
+ },
81
+ {
82
+ "modificationType": "CCD_6MA",
83
+ "basePosition": 2
84
+ }
85
+ ],
86
+ "count": 1
87
+ }
88
+ },
89
+ {
90
+ "dnaSequence": {
91
+ "sequence": "TGTAATC",
92
+ "count": 1
93
+ }
94
+ }
95
+ ```
96
+ Please note that the `dnaSequence` type refers to a single stranded DNA sequence. If you
97
+ wish to model double-stranded DNA, please add a second `dnaSequence` entry representing
98
+ the sequence of the reverse complement strand.
99
+
100
+ * `sequence`: A string containing a DNA sequence; only letters A, T, G, C and N (unknown ribonucleotide) are allowed.
101
+ * `count`: The number of copies of this DNA chain (integer).
102
+ * `modifications`: An optional list of dictionaries describing of
103
+ the DNA chemical modifications:
104
+ * `modificationType`: A string containing CCD code of modification.
105
+ * `basePosition`: A position of the modified nucleotide (integer).
106
+
107
+ ##### rnaSequence
108
+ ```json
109
+ {
110
+ "rnaSequence": {
111
+ "sequence": "GUAC",
112
+ "modifications": [
113
+ {
114
+ "modificationType": "CCD_2MG",
115
+ "basePosition": 1
116
+ },
117
+ {
118
+ "modificationType": "CCD_5MC",
119
+ "basePosition": 4
120
+ }
121
+ ],
122
+ "count": 1
123
+ }
124
+ }
125
+ ```
126
+ * `sequence`: A string representing the RNA sequence (single-stranded); only letters A, U, G, C and N (unknown nucleotides) are allowed.
127
+ * `count`: The number of copies of this RNA chain (integer).
128
+ * `modifications`: An optional list of dictionaries describing RNA chemical modifications:
129
+ * `modificationType`: A string containing
130
+ CCD code of modification.
131
+ * `basePosition`: The position of the modified nucleotide (integer).
132
+
133
+ ##### ligand
134
+ ```json
135
+ {
136
+ "ligand": {
137
+ "ligand": "CCD_ATP",
138
+ "count": 1
139
+ }
140
+ },
141
+ {
142
+ "ligand": {
143
+ "ligand": "FILE_your_file_path/atp.sdf",
144
+ "count": 1
145
+ }
146
+ },
147
+ {
148
+ "ligand": {
149
+ "ligand": "Nc1ncnc2c1ncn2[C@@H]1O[C@H](CO[P@@](=O)(O)O[P@](=O)(O)OP(=O)(O)O)[C@@H](O)[C@H]1O",
150
+ "count": 1
151
+ }
152
+ }
153
+ ```
154
+ * `ligand`: A string representing the ligand. `ligand` can be one of the following three:
155
+ * A string containing the CCD code of the ligand, prefixed with "CCD_". For glycans or similar structures, this can be a concatenation of multiple CCD codes, for example, "CCD_NAG_BMA_BGC".
156
+ * A molecular SMILES string representing the ligand.
157
+ * A path to a molecular structure file, prefixed with "FILE_", where the supported file formats are PDB, SDF, MOL, and MOL2. The file must include the 3D conformation of the molecule.
158
+
159
+ * `count` is the number of copies of this ligand (integer).
160
+
161
+ ##### ion
162
+ ```json
163
+ {
164
+ "ion": {
165
+ "ion": "MG",
166
+ "count": 2
167
+ }
168
+ },
169
+ {
170
+ "ion": {
171
+ "ion": "NA",
172
+ "count": 3
173
+ }
174
+ }
175
+ ```
176
+ * `ion`: A string containing the CCD code for the ion. Note that, unlike ligands, the ion code **does not** start with "CCD_".
177
+ * `count`: The number of copies of this ion (integer).
178
+
179
+ #### covalent_bonds
180
+ ```json
181
+ "covalent_bonds": [
182
+ {
183
+ "entity1": "2",
184
+ "copy1": 1,
185
+ "position1": "2",
186
+ "atom1": "N6",
187
+ "entity2": "3",
188
+ "copy2": 1,
189
+ "position2": "1",
190
+ "atom2": "C1"
191
+ }
192
+ ]
193
+ ```
194
+
195
+ The `covalent_bonds` section specifies covalent bonds between a polymer and a ligand, or between two ligands.
196
+ To define a covalent bond, two atoms involved in the bond must be identified. The following fields are used:
197
+
198
+ * `entity1`, `entity2`: The entity numbers for the two atoms involved in the bond.
199
+ The entity number corresponds to the order in which the entity appears in the `sequences` list, starting from 1.
200
+ * `copy1`, `copy2`: The copy index (starting from 1) of the `left_entity` and `right_entity`, respectively. These fields are optional, but if specified, both `left_copy` and `right_copy` must be filled simultaneously or left empty at the same time. If neither field is provided, a bond will be created between all pairs of copies of the two entities. For example, if both entity1 and entity2 have two copies, a bond will be formed between entity1.copy1 and entity2.copy1, as well as between entity1.copy2 and entity2.copy2. In this case, the number of copies for both entities must be equal.
201
+ * `position1`, `position2` - The position of the residue (or ligand part) within the entity.
202
+ The position value starts at 1 and can vary based on the type of entity:
203
+ * For **polymers** (e.g., proteins, DNA, RNA), the position corresponds to the location of the residue in the sequence.
204
+ * For **ligands** composed of multiple CCD codes, the position refers to the serial number of the CCD code.
205
+ * For **single CCD code ligands**, or ligands defined by **SMILES** or **FILE**, the position is always set to 1.
206
+
207
+ * `atom1`, `atom2` - The atom names (or atom indices) of the atoms to be bonded.
208
+ * If the entity is a polymer or described by a CCD code, the atom names are consistent with those defined in the CCD.
209
+ * If the entity is a ligand defined by SMILES or a FILE, atoms can be specified by their atom index. The atom index corresponds to the position of the atom in the file or in the SMILES string, starting from 0.
210
+
211
+ Deprecation Notice: The previous fields such as old `left_entity`, `right_entity`, and other fields starting with `left`/`right` have been updated to use `1` and `2` to denote the two atoms forming a bond. The current code still supports the old field names, but they may be deprecated in the future, leaving only the new field names. An alternative approach is to write the element name of the specified atom in the SMILES/file, along with its sequential number for that element, e.g., "C2" indicates it is the second carbon.
212
+
213
+ Here is a revised user guide compatible with **Version 2** of the `constraint` format for the Complex Structure Predictor:
214
+
215
+ ---
216
+
217
+ ### constraint
218
+ The `constraint` section specifies additional structural information to enable inter-chain guidance for Protenix. Currently, Protenix support two kind of constraint: `contact` and `pocket` constraint.
219
+ The `contact` constraint allows you to specify residue/atom-residue/atom level priors. The `pocket` constraint is used to guide the binding interface between a chain of interest (e.g. a ligand or an antibody) and specific residues in another chain (e.g. epitopes).
220
+
221
+ > 💡 *This is a **soft constraint**: the model is encouraged, but not strictly required, to satisfy it.*
222
+
223
+ #### contact constraint
224
+
225
+ The `contact` field consists of a list of dictionaries, each describing one contact. The residues and atoms involved in the contact are now represented as compact lists, making the format more concise and flexible.
226
+
227
+ ##### Example:
228
+
229
+ ```json
230
+ "contact": [
231
+ {
232
+ "residue1": ["1", 1, 169],
233
+ "atom2": ["2", 1, 1, "C5"],
234
+ "max_distance": 6,
235
+ "min_distance": 0
236
+ }, // token-contact
237
+ {
238
+ "atom1": ["1", 1, 169, "CA"],
239
+ "residue2": ["2", 1, 1],
240
+ "max_distance": 6,
241
+ "min_distance": 0
242
+ }, // token-contact
243
+ {
244
+ "residue1": ["1", 1, 169],
245
+ "residue2": ["2", 1, 1 ],
246
+ "max_distance": 6,
247
+ "min_distance": 0
248
+ }, // token-contact
249
+ {
250
+ "atom1": ["1", 1, 169, "CA"],
251
+ "atom2": ["2", 1, 1, "C5"],
252
+ "max_distance": 6,
253
+ "min_distance": 3
254
+ }, // atom-contact
255
+ ...
256
+ ]
257
+ ```
258
+
259
+ Each contact dictionary includes the following keys:
260
+ * `residue1` or `residue2` (list):
261
+ Specifies a **residue** in the format:`[entity_number, copy_index, position]`
262
+
263
+ * `atom1` or `atom2` (list):
264
+ Specifies an **atom** (commonly from a ligand or another residue) in the format:`[entity_number, copy_index, position, atom_name]`
265
+
266
+ * `max_distance` (float):
267
+ The **expected maximum distance** (in Ångströms) between the specified residues or atoms.
268
+ * `min_distance` (float):
269
+ The **expected minimum distance** (in Ångströms) between the specified residues or atoms. For token-contact, you do not need to specify this field. It is 0 by default.
270
+
271
+ #### pocket constraint
272
+
273
+ The `pocket` constraint is defined as a dictionary with three keys: `"binder_chain"`, `"contact_residues"`, and `"max_distance"` to allow chain-residue binding specification.
274
+
275
+ ##### Example
276
+
277
+ ```json
278
+ "pocket": {
279
+ "binder_chain": ["2", 1],
280
+ "contact_residues": [
281
+ ["1", 1, 126],
282
+ ...
283
+ ],
284
+ "max_distance": 6
285
+ }
286
+ ```
287
+
288
+ * `binder_chain` (list):
289
+ Specifies the **binder chain** in the format: `[entity_number, copy_index]`
290
+
291
+ * `contact_residues` (list of lists):
292
+ A list of residue that are expected to be in spatial proximity (i.e., in or near the binding pocket). Each residue is specified as:
293
+ `[entity_number, copy_index, position]`
294
+
295
+ * `max_distance` (float):
296
+ The **maximum allowed distance** (in Ångströms) between the binder and the specified contact residues.
297
+
298
+
299
+ ### Format of the model output
300
+ The outputs will be saved in the directory provided via the `--dump_dir` flag in the inference script. The outputs include the predicted structures in CIF format and the confidence in JSON files. The `--dump_dir` will have the following structure:
301
+
302
+ ```bash
303
+ ├── <name>/ # specified in the input JSON file
304
+ │ ├── <seed>/ # specified via the `--seeds` flag in the inference script
305
+ │ │ ├── <name>_<seed>_sample_0.cif
306
+ │ │ ├── <name>_<seed>_summary_confidence_sample_0.json
307
+ │ │ └──... # the number of samples in each seed is specified via `--sample_diffusion.N_sample ` flag in the inference script
308
+ │ └──...
309
+ └── ...
310
+ ```
311
+
312
+ The contents of each output file are as follows:
313
+ - `<name>_<seed>_sample_*.cif` - A CIF format text file containing the predicted structure
314
+ - `<name>_<seed>_summary_confidence_sample_*.json` - A JSON format text file containing various confidence scores for assessing the reliability of predictions. Here’s a description of each score:
315
+
316
+ - `plddt` - Predicted Local Distance Difference Test (pLDDT) score. Higher values indicate greater confidence.
317
+ - `gpde` - Globl Predicted Distance Error (PDE) score. Lower values indicate greater confidence.
318
+ - `ptm` - Predicted TM-score (pTM). Values closer to 1 indicate greater confidence.
319
+ - `iptm` - Interface Predicted TM-score, used to estimate the accuracy of interfaces between chains. Values closer to 1 indicate greater confidence.
320
+ - `chain_ptm` - pTM score calculated for individual chains with the shape of [N_chains], indicating the reliability of specific chain structure.
321
+ - `chain_pair_iptm`: Pairwise interface pTM scores between chain pairs with the shape of [N_chains, N_chains], indicating the reliability of specific chain-chain interactions.
322
+ - `chain_iptm` - Average ipTM scores for each chain with the shape of [N_chains].
323
+ - `chain_pair_iptm_global` - Averge `chain_iptm` between chain pairs with the shape of [N_chains, N_chains]. For interface containing a small molecule, ion, or bonded ligand chain (named `C*`), this value is equal to the `chain_iptm` value of `C*`.
324
+ - `chain_plddt` - pLDDT scores calculated for individual chains with the shape of [N_chains].
325
+ - `chain_pair_plddt` - Pairwise pLDDT scores for chain pairs with the shape of [N_chains, N_chains].
326
+ - `has_clash` - Boolean flag indicating if there are steric clashes in the predicted structure.
327
+ - `disorder` - Predicted regions of intrinsic disorder within the protein, highlighting residues that may be flexible or unstructured.
328
+ - `ranking_score` - Predicted confidence score for ranking complexes. Higher values indicate greater confidence.
329
+ - `num_recycles`: Number of recycling steps used during inference.
model/Protenix-pxd/docs/kernels.md ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Setting up kernels
2
+
3
+ - **Custom CUDA layernorm kernels** modified from [FastFold](https://github.com/hpcaitech/FastFold) and [Oneflow](https://github.com/Oneflow-Inc/oneflow) accelerate about 30%-50% during different training stages. To use this feature, run the following command:
4
+ ```bash
5
+ export LAYERNORM_TYPE=fast_layernorm
6
+ ```
7
+ If the environment variable `LAYERNORM_TYPE` is set to `fast_layernorm`, the model will employ the layernorm we have developed; otherwise, the naive PyTorch layernorm will be adopted. The kernels will be compiled when `fast_layernorm` is called for the first time.
8
+ - **[DeepSpeed DS4Sci_EvoformerAttention kernel](https://www.deepspeed.ai/tutorials/ds4sci_evoformerattention/)** is a memory-efficient attention kernel developed as part of a collaboration between OpenFold and the DeepSpeed4Science initiative. To use this feature, run the following command:
9
+ ```bash
10
+ export USE_DEEPSPEED_EVO_ATTENTION=true
11
+ ```
12
+ DS4Sci_EvoformerAttention is implemented based on [CUTLASS](https://github.com/NVIDIA/cutlass). If you use this feature, You need to clone the CUTLASS repository and specify the path to it in the environment variable CUTLASS_PATH. The [Dockerfile](Dockerfile) has already include this setting:
13
+ ```bash
14
+ RUN git clone -b v3.5.1 https://github.com/NVIDIA/cutlass.git /opt/cutlass
15
+ ENV CUTLASS_PATH=/opt/cutlass
16
+ ```
17
+ If you set up `Protenix` by `pip`, you can set environment variable `CUTLASS_PATH` as follows:
18
+
19
+ ```bash
20
+ git clone -b v3.5.1 https://github.com/NVIDIA/cutlass.git /path/to/cutlass
21
+ export CUTLASS_PATH=/path/to/cutlass
22
+ ```
23
+
24
+ The kernels will be compiled when DS4Sci_EvoformerAttention is called for the first time.
model/Protenix-pxd/docs/model_train_inference_cost.md ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Training
2
+ Some settings follow those in the [AlphaFold 3](https://www.nature.com/articles/s41586-024-07487-w) paper, The table below shows the training settings for different fine-tuning stages:
3
+
4
+ | Arguments | Initial training | Fine tuning 1 | Fine tuning 2 | Fine tuning 3 |
5
+ |-----------------------------------------|--------|---------|-------|-----|
6
+ | `train_crop_size` | 384 | 640 | 768 | 768 |
7
+ | `diffusion_batch_size` | 48 | 32 | 32 | 32 |
8
+ | `loss.weight.alpha_pae` | 0 | 0 | 0 | 1.0 |
9
+ | `loss.weight.alpha_bond` | 0 | 1.0 | 1.0 | 0 |
10
+ | `loss.weight.smooth_lddt` | 1.0 | 0 | 0 | 0 |
11
+ | `loss.weight.alpha_confidence` | 1e-4 | 1e-4 | 1e-4 | 1e-4|
12
+ | `loss.weight.alpha_diffusion` | 4.0 | 4.0 | 4.0 | 0 |
13
+ | `loss.weight.alpha_distogram` | 0.03 | 0.03 | 0.03 | 0 |
14
+ | `train_confidence_only` | False | False | False | True|
15
+ | full BF16-mixed speed(A100, s/step) | ~12 | ~30 | ~44 | ~13 |
16
+ | full BF16-mixed peak memory (G) | ~34 | ~35 | ~48 | ~24 |
17
+
18
+ We recommend carrying out the training on A100-80G or H20/H100 GPUs. If utilizing full BF16-Mixed precision training, the initial training stage can also be performed on A800-40G GPUs. GPUs with smaller memory, such as A30, you'll need to reduce the model size, such as decreasing `model.pairformer.nblocks` and `diffusion_batch_size`.
19
+
20
+ ### Inference
21
+
22
+ The model will be infered in BF16 Mixed precision, by **default**, the `SampleDiffusion`,`ConfidenceHead` part will still be infered in FP32 precision.
23
+
24
+ Below are reference examples of cuda memory usage (G).
25
+
26
+ | Ntoken | Natom | Memory(G) | Inference time(s) |
27
+ |--------|-------|-------|------------------|
28
+ | 500 | 5000 | 5.2 | 72 |
29
+ | 1000 | 10000 | 11.5 | 229 |
30
+ | 2000 | 20000 | 42.8 | 933 |
31
+ | 3000 | 30000 | 73.9 | 2295 |
32
+ | 3500 | 35000 | 69.5 | 3329 |
33
+ | 4000 | 40000 | 67.5 | 4483 |
34
+
35
+ The script in [runner/inference.py](../runner/inference.py) will automatically change the default precision to compute `SampleDiffusion`,`ConfidenceHead` to avoid OOM as follows:
36
+ ```python
37
+ def update_inference_configs(configs: Any, N_token: int):
38
+ # Setting the default inference configs for different N_token and N_atom
39
+ # when N_token is larger than 3000, the default config might OOM even on a
40
+ # A100 80G GPUS,
41
+ if N_token > 3840:
42
+ configs.skip_amp.confidence_head = False
43
+ configs.skip_amp.sample_diffusion = False
44
+ elif N_token > 2560:
45
+ configs.skip_amp.confidence_head = False
46
+ configs.skip_amp.sample_diffusion = True
47
+ else:
48
+ configs.skip_amp.confidence_head = True
49
+ configs.skip_amp.sample_diffusion = True
50
+ return configs
51
+ ```
model/Protenix-pxd/docs/msa_pipeline.md ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## MSA data pipeline
2
+ If you download our released wwPDB dataset as in [training.md](./training.md), the mmcif_msa [450G] dir has the following directory structure.
3
+ ```bash
4
+ ├── seq_to_pdb_index.json [45M] # sequence to integers mapping file
5
+ ├── mmcif_msa [450G] # msa files
6
+ ├── 0
7
+ ├── uniref100_hits.a3m
8
+ ├── mmseqs_other_hits.a3m
9
+ ├── 1
10
+ ├── uniref100_hits.a3m
11
+ ├── mmseqs_other_hits.a3m
12
+ ├── 2
13
+ ├── uniref100_hits.a3m
14
+ ├── mmseqs_other_hits.a3m
15
+ ...
16
+ ├── 157201
17
+ ├── uniref100_hits.a3m
18
+ ├── mmseqs_other_hits.a3m
19
+
20
+ ```
21
+
22
+ Each integer in the first-level directory under mmcif_msa (for example, 0, 1, 2, and 157201) represents a unique protein sequence. The key of `seq_to_pdb_index.json` is the unique protein sequence, and the value is the integer corresponding to the first-level subdirectory of mmcif_msa mentioned above.
23
+
24
+ This document is used to provide the steps to convert the MSA obtained from colabfold into the Protenix training format.
25
+
26
+ ### Steps to get your own MSA data for training
27
+
28
+ #### Step1: get input protein sequence
29
+ Run the following command:
30
+
31
+ ```python
32
+ python3 scripts/msa/step1-get_prot_seq.py
33
+ ```
34
+ you will get outputs in `scripts/msa/data/pdb_seqs` dir. The result dir is as follows,
35
+
36
+ ```bash
37
+ ├── pdb_index_to_seq.json # mapping integers to sequences
38
+ ├── seq_to_pdb_index.json # mapping sequences to integers identifiers when saving MSA, This file is required in training for finding local MSA path from sequence
39
+ ├── pdb_seq.fasta # Input of MSA
40
+ ├── pdb_seq.csv # Intermediate Files
41
+ ├── seq_to_pdb_id_entity_id.json # Intermediate Files
42
+ ```
43
+
44
+ #### Step2: run msa search
45
+ We give detailed environment configuration and search commands in
46
+
47
+ ```python
48
+ scripts/msa/step2-get_msa.ipynb
49
+ ```
50
+
51
+ The searched MSA is in `scripts/msa/data/mmcif_msa_initial`, The result dir is as follows,
52
+ ```bash
53
+ ├── 0.a3m
54
+ ├── 1.a3m
55
+ ├── 2.a3m
56
+ ├── 3.a3m
57
+ ├── pdb70_220313_db.m8
58
+ ├── uniref_tax.m8 # record Taxonomy ID which is used by MSA Pairing
59
+ ```
60
+ #### Steps3: MSA Post-Processing
61
+
62
+ The overall solution is to search the MSA containing taxonomy information only once for the unique sequence, and pair it according to the species information of each MSA.
63
+
64
+ For MSA Post-Processing, Taxonomy ID from UniRef30 DB is added to MSAs and MSAs is split into `uniref100_hits.a3m` and `mmseqs_other_hits.a3m`, which correspond to `pairing.a3m` and `non_pairing.a3m` in inference stage respectively.
65
+
66
+ You can run:
67
+ ```python
68
+ python3 scripts/msa/step3-uniref_add_taxid.py
69
+
70
+ python3 scripts/msa/step4-split_msa_to_uniref_and_others.py
71
+ ```
72
+
73
+ The final pairing and non_pairing MSAs in `scripts/msa/data/mmcif_msa` is as follows:
74
+
75
+
76
+ ```
77
+ >query
78
+ GPTHRFVQKVEEMVQNHMTYSLQDVGGDANWQLVVEEGEMKVYRREVEENGIVLDPLKATHAVKGVTGHEVCNYFWNVDVRNDWETTIENFHVVETLADNAIIIYQTHKRVWPASQRDVLYLSVIRKIPALTENDPETWIVCNFSVDHDSAPLNNRCVRAKINVAMICQTLVSPPEGNQEISRDNILCKITYVANVNPGGWAPASVLRAVAKREYPKFLKRFTSYVQEKTAGKPILF
79
+ >UniRef100_A0A0S7JZT1_188132/ 246 0.897 6.614E-70 2 236 237 97 331 332
80
+ --THRFADKVEEMVQNHMTYSLQDVGGDANWQLVIEEGEMKVYRREVEENGIVLDPLKATHAVKGVTGHEVCHYFWDTDVRNDWETTIDNFNVVETLSDNAIIVYQTHKRVWPASQRDILFLSAIRKILAKNENDPDTWLVCNFSVDHDKAPPTNRCVRAKINVAMICQTLVSPPEGDKEISRDNILCKITYVANVNPGGWAPASVLRAVAKREYPKFLKRFTSYVQEKTAGNPILF
81
+ >UniRef100_A0A4W6GBN4_8187/ 246 0.893 9.059E-70 2 236 237 373 607 608
82
+ --THRFANKVEEMVQNHMTYSLQDVGGDANWQLVIEEGEMKVYRREVEENGIVLDPLKATHSVKGVTGHEVCHYFWDTDVRMDWETTIENFNVVEKLSENAIIVYQTHKRVWPASQRDVLYLSAIRKIMATNENDPDTWLVCNFSVDHNNAPPTNRCVRAKINVAMICQTLVSPPEGDKEISRDNILCKITYVANVNPGGWAPASVLRAVAKREYPKFLKRFTSYVQEKTAGKPILF
83
+ ```
84
+
85
+ ```
86
+ >query
87
+ MAEVIRSSAFWRSFPIFEEFDSETLCELSGIASYRKWSAGTVIFQRGDQGDYMIVVVSGRIKLSLFTPQGRELMLRQHEAGALFGEMALLDGQPRSADATAVTAAEGYVIGKKDFLALITQRPKTAEAVIRFLCAQLRDTTDRLETIALYDLNARVARFFLATLRQIHGSEMPQSANLRLTLSQTDIASILGASRPKVNRAILSLEESGAIKRADGIICCNVGRLLSIADPEEDLEHHHHHHHH
88
+ >MGYP001165762451 218 0.325 1.019E-59 5 230 244 3 228 230
89
+ -----DKVEFLKGVPLFSELPEAHLQSLGELLIERSYRRGATIFFEGDPGDALYIVRSGIVKISRVAEDGREKTLAFLGKGEPFGEMALIDGGPRSAIAQALEATSLYALHRADFLAALTENPALSLGVIKVLSARLQQANAQLMDLVFRDVRGRVAQALLDLARR-HGVPLTNGRMISVKLTHQEIANLVGTARETVSRTFAELQDSGIIRIeGRNIVLLDAAQLEGYAAG-------------
90
+ >A0A160T8V6 218 0.285 1.019E-59 0 227 244 0 229 237
91
+ MPTTRDsnAVQALQVVPFFANLPEDHVAALAKALVPRRFSPGQVIFHLGDPGGLLYLISRGKIKISHTTSDGQEVVLAILGPGDFFGEMALIDDAPRSATAITLEPSETWTLHREEFIQYLTDNPEFALHVLKTLARHIRRLNTQLADIFFLDLPGRLARTLLNLADQ-YGRRAADGTIIDLSLTQTDLAEMTGATRVSINKALGRFRRAGWIQvTGRQVTVLDRAALEAL----------------
92
+ >AP58_3_1055460.scaffolds.fasta_scaffold1119545_2 216 0.304 3.581E-59 10 225 244 5 221 226
93
+ ----------LSRVPLFAELPPERIHELAQSVRRRTYHRGETIFHKGDPGNGLYIIAAGQVKIVLPSEMGEEAMLAVLEGGEFFGELALFDGLPRSATVVAVQNAEVLVLHRDDFMSFVGRNPEVVSALFAALSRRLRDADEMIEDAIFLDVPGRLAKRLLDLAEKHGRAEEKGGVAIDLKLTQQDLAAMVGATRESVNKHLGWMRDHGLIQLDRqRIVILKPDDLR------------------
94
+ ```
95
+ ### Format of MSA
96
+ In `uniref100_hits.a3m`(training stage) or `pairing.a3m`(inference stage), the header must starts with the following format, which we use for pairing:
97
+ ```
98
+ >UniRef100_{hitname}_{taxonomyid}/
99
+ ```
100
+
101
+ we also provide a pipeline of local Colabfold_search to Generate Protenix-Compatible MSAs in [colabfold_compatible_msa.md](./colabfold_compatible_msa.md).
model/Protenix-pxd/docs/prepare_training_data.md ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Start with CIF files and prepare your own training data.
2
+
3
+ ## Data Preparation
4
+
5
+ 1. **Prepare CIF Files**: Place the CIF files you want to convert into training data in a folder. Alternatively, you can use a `txt` file to record the paths to these CIF files, with each line corresponding to the path of a specific CIF file.
6
+
7
+ 2. **Prepare Protein Clustering File (Optional)**: The protein clustering file contains category information for each `[PDB ID]_[Entity ID]`. In the Protenix training data, we cluster protein sequences using a 40% sequence identity threshold.
8
+
9
+ You can download the official clustering results file provided by RCSB PDB using the following command, and use it directly:
10
+ ```bash
11
+ wget https://cdn.rcsb.org/resources/sequence/clusters/clusters-by-entity-40.txt
12
+ ```
13
+
14
+ If you prefer to perform your own clustering of protein sequences, ensure the final results are formatted as a text file like this:
15
+ Each line represents a cluster, containing `[PDB ID]_[Entity ID]` entries separated by spaces.
16
+
17
+ 3. **Update the CCD (Chemical Component Dictionary) Cache File (If needed)**: We provide a pre-processed file, with a cutoff date of 2024-06-08, that records the reference conformers for each CCD Code. If the training data you're preparing is more recent than this date, there may be issues with some CCD Codes might be missing. For example, the CCD Code "WTB," appearing in the PDB ID: 8P3K released on 2024-11-20, is not defined in the previously provided CCD file. In such cases, you need to run the following script to download and update the CCD CIF files:
18
+
19
+ ```bash
20
+ python3 scripts/gen_ccd_cache.py -c [ccd_cache_dir] -n [num_cpu]
21
+ ```
22
+
23
+ After running the script, three files will be generated in the specified "ccd_cache_dir":
24
+
25
+ - `components.cif` (CCD CIF file downloaded from RCSB)
26
+ - `components.cif.rdkit_mol.pkl` (pre-processed dictionary, where the key is the CCD Code and the value is an RDKit Mol object with 3D structure)
27
+ - `components.txt` (a list containing all the CCD Codes)
28
+
29
+ When running Protenix, it first uses
30
+ ```bash
31
+ `release_data/ccd_cache/components.cif`
32
+ `release_data/ccd_cache/components.cif.rdkit_mol.pkl`
33
+ ```
34
+ if unavailable, it switches to
35
+ ```bash
36
+ `release_data/ccd_cache/components.v20240608.cif`
37
+ `release_data/ccd_cache/components.v20240608.cif.rdkit_mol.pkl`
38
+ ```
39
+ Notes:
40
+ - The `-c` parameter is optional. If not specified, files will be saved in the "release_data/ccd_cache" folder within the Protenix code directory by default.
41
+ - You can add the `-d` parameter when running the script to skip the CIF file download step, in which case the script will directly process the "components.cif" file located in the "ccd_cache_dir".
42
+
43
+ ## Data Preprocessing
44
+ Execute the script to preprocess the data:
45
+ ```bash
46
+ python3 scripts/prepare_training_data.py -i [input_path] -o [output_csv] -b [output_dir] -c [cluster_txt] -n [num_cpu]
47
+ ```
48
+
49
+ The preprocessed structures will be saved as `.pkl.gz` files. Additionally, a `CSV` file will be generated to catalog the chains and interfaces within these structures, which will facilitate sampling during the training process.
50
+
51
+ You can view the explanation of the parameters by using the `--help` command.
52
+ ```
53
+ python3 scripts/prepare_training_data.py --help
54
+ ```
55
+
56
+ Note that there is an optional parameter `-d` in the script. When this parameter is not used, the script processes CIF files downloaded from RCSB PDB by applying the full set of WeightedPDB training data filters. These filters include:
57
+
58
+ - Removing water molecules
59
+ - Removing hydrogen atoms
60
+ - Deleting polymer chains composed entirely of unknown residues
61
+ - Eliminating chains where the Cα distance between adjacent numbered residues exceeds 10 angstroms
62
+ - Removing elements labeled as "X"
63
+ - Deleting chains where no residues have been resolved
64
+ - When the number of chains exceeds 20, selecting one central atom from those capable of forming interfaces and retaining the 20 nearest chains to it. If a ligand is covalently bonded to a polymer, it is considered as one chain together. Additionally, if the number of chains is greater than 20 but the total number of tokens in these chains is less than 5120, more chains will be retained until the 5120 token limit is reached.
65
+ - Removing chains with one-third of their heavy atoms colliding
66
+
67
+ For CIF files generated through model inference where these filtering steps aren't desired, you can run the script with the `-d` parameter, which disables all these filters. The CIF structure will not be expanded to Assembly 1 in this case.
68
+
69
+
70
+ ## Output Format
71
+ ### Bioassembly Dict
72
+ In the folder specified by the `-b` parameter of the data preprocessing script, a corresponding `[pdb_id].pkl.gz` file is generated for each successfully processed CIF file. This file contains a dictionary saved with `pickle.dump`, with the following contents:
73
+ ```
74
+ | Key | Value Type | Description |
75
+ |----------------------------|---------------|-------------------------------------------------------------------------------|
76
+ | pdb_id | str | PDB Code |
77
+ | assembly_id | str | Assembly ID |
78
+ | sequences | dict[str, str]| Key is polymer's label_entity_id, value is canonical_sequence |
79
+ | release_date | str | PDB's Release Date |
80
+ | num_assembly_polymer_chains| int | Number of assembly polymer chains (pdbx_struct_assembly.oligomeric_count) |
81
+ | num_prot_chains | int | Number of protein chains in AtomArray |
82
+ | entity_poly_type | dict[str, str]| Key is polymer's label_entity_id, value is corresponding to entity_poly.type |
83
+ | resolution | float | Resolution; if no resolution, value is -1 |
84
+ | num_tokens | int | Number of tokens |
85
+ | atom_array | AtomArray | AtomArray from structure processing |
86
+ | token_array | TokenArray | TokenArray generated based on AtomArray |
87
+ | msa_features | None | (Placeholder) |
88
+ | template_features | None | (Placeholder) |
89
+ ```
90
+
91
+ ### Indices CSV
92
+ After the script successfully completes, a CSV file will be generated in the directory specified by `-o`.
93
+ Each row contains information about a pre-processed chain or interface, and the content of each column is described as follows:
94
+ ```
95
+ | Column Name | Value Type | Meaning | Required |
96
+ |----------------|------------|------------------------------------------------------------------------|----------|
97
+ | type | str | "chain" or "interface" | Y |
98
+ | pdb_id | str | PDB Code (entry.id) | Y |
99
+ | cluster_id | str | Cluster_id of the chain/interface | Y |
100
+ | assembly_id | str | Assembly id | N |
101
+ | release_date | str | Release date | N |
102
+ | resolution | float | Resolution; if no resolution, value is -1 | N |
103
+ | num_tokens | int | Number of tokens in AtomArray of Bioassembly Dict | N |
104
+ | num_prot_chains| int | Number of protein chains in AtomArray of Bioassembly Dict | N |
105
+ | eval_type | str | Classification used for evaluation | N |
106
+ | entity_1_id | str | Chain 1's label_entity_id | Y |
107
+ | chain_1_id | str | Chain 1's chain ID | Y |
108
+ | mol_1_type | str | Chain 1's corresponding mol_type ("protein", "nuc", "ligand", "ions") | Y |
109
+ | sub_mol_1_type | str | Sub-classification of Chain 1's entity corresponding to mol_type | N |
110
+ | cluster_1_id | str | Chain 1's cluster ID | Y |
111
+ | entity_2_id | str | Chain 2's label_entity_id | Y |
112
+ | chain_2_id | str | Chain 2's chain ID | Y |
113
+ | mol_2_type | str | Chain 2's corresponding mol_type ("protein", "nuc", "ligand", "ions") | Y |
114
+ | sub_mol_2_type | str | Sub-classification of Chain 2's entity corresponding to mol_type | N |
115
+ | cluster_2_id | str | Chain 2's cluster_id | Y |
116
+ ```
117
+ Notes:
118
+ - In the table, columns marked with 'Y' under 'Required' indicate that these columns are essential for training. If you are creating your own CSV for training purposes, these columns must be included. Columns marked with 'N' are optional and can be excluded.
119
+ - For rows where the "type" is "chain", the values in columns related to Chain 2 should all be filled with empty strings.
model/Protenix-pxd/docs/training.md ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Preparing the datasets
2
+ To download the [wwPDB dataset](https://www.wwpdb.org/) and preprocessed training data, you need at least 1T disk space.
3
+
4
+ Use the following command to download the preprocessed wwpdb training databases:
5
+
6
+ ```bash
7
+ wget -P /af3-dev/release_data/ https://af3-dev.tos-cn-beijing.volces.com/release_data.tar.gz
8
+ tar -xzvf /af3-dev/release_data/release_data.tar.gz -C /af3-dev/release_data/
9
+ rm /af3-dev/release_data/release_data.tar.gz
10
+ ```
11
+
12
+
13
+ The data should be placed in the `/af3-dev/release_data/` directory. You can also download it to a different directory, but remember to modify the `DATA_ROOT_DIR` in [configs/configs_data.py](../configs/configs_data.py) correspondingly. Alternatively, you can set an environment variable "PROTENIX_DATA_ROOT_DIR" to specify the path. Data hierarchy after extraction is as follows:
14
+
15
+ ```bash
16
+ ├── components.v20240608.cif [408M] # ccd source file
17
+ ├── components.v20240608.cif.rdkit_mol.pkl [121M] # rdkit Mol object generated by ccd source file
18
+ ├── indices [33M] # chain or interface entries
19
+ ├── mmcif [283G] # raw mmcif data
20
+ ├── mmcif_bioassembly [36G] # preprocessed wwPDB structural data
21
+ ├── mmcif_msa [450G] # msa files
22
+ ├── posebusters_bioassembly [42M] # preprocessed posebusters structural data
23
+ ├── posebusters_mmcif [361M] # raw mmcif data
24
+ ├── recentPDB_bioassembly [1.5G] # preprocessed recentPDB structural data
25
+ └── seq_to_pdb_index.json [45M] # sequence to pdb id mapping file
26
+ ```
27
+
28
+ Data processing scripts have also been released. you can refer to [prepare_training_data.md](./prepare_training_data.md) for generating `{dataset}_bioassembly` and `indices`. And you can refer to [msa_pipeline.md](./msa_pipeline.md) for pipelines to get `mmcif_msa` and `seq_to_pdb_index.json`.
29
+
30
+ ### Training demo
31
+ After the installation and data preparations, you can run the following command to train the model from scratch:
32
+
33
+ ```bash
34
+ bash train_demo.sh
35
+ ```
36
+ Key arguments in this scripts are explained as follows:
37
+ * `dtype`: data type used in training. Valid options include `"bf16"` and `"fp32"`.
38
+ * `--dtype fp32`: the model will be trained in full FP32 precision.
39
+ * `--dtype bf16`: the model will be trained in BF16 Mixed precision, by default, the `SampleDiffusion`,`ConfidenceHead`, `Mini-rollout` and `Loss` part will still be training in FP32 precision. if you want to train and infer the model in full BF16 Mixed precision, pass the following arguments to the [train_demo.sh](../train_demo.sh):
40
+ ```bash
41
+ --skip_amp.sample_diffusion_training false \
42
+ --skip_amp.confidence_head false \
43
+ --skip_amp.sample_diffusion false \
44
+ --skip_amp.loss false \
45
+ ```
46
+ * `ema_decay`: the decay rate of the EMA, default is 0.999.
47
+ * `sample_diffusion.N_step`: during evalutaion, the number of steps for the diffusion process is reduced to 20 to improve efficiency.
48
+
49
+ * `data.train_sets/data.test_sets`: the datasets used for training and evaluation. If there are multiple datasets, separate them with commas.
50
+ * Some settings follow those in the [AlphaFold 3](https://www.nature.com/articles/s41586-024-07487-w) paper, The table in [model_performance.md](../docs/model_performance.md) shows the training settings and memory usages for different training stages.
51
+ * In this version, we do not use the template and RNA MSA feature for training. As the default settings in [configs/configs_base.py](../configs/configs_base.py) and [configs/configs_data.py](../configs/configs_data.py):
52
+ ```bash
53
+ --model.template_embedder.n_blocks 0 \
54
+ --data.msa.enable_rna_msa false \
55
+ ```
56
+ This will be considered in our future work.
57
+
58
+ * The model also supports distributed training with PyTorch’s [`torchrun`](https://pytorch.org/docs/stable/elastic/run.html). For example, if you’re running distributed training on a single node with 4 GPUs, you can use:
59
+ ```bash
60
+ torchrun --nproc_per_node=4 runner/train.py
61
+ ```
62
+ You can also pass other arguments with `--<ARGS_KEY> <ARGS_VALUE>` as you want.
63
+
64
+
65
+ If you want to speed up training, see [<u> setting up kernels documentation </u>](./kernels.md).
66
+
67
+ ### Finetune demo
68
+
69
+ If you want to fine-tune the model on a specific subset, such as an antibody dataset, you only need to provide a PDB list file and load the pretrained weights as [finetune_demo.sh](../finetune_demo.sh) shows:
70
+
71
+ ```bash
72
+ # wget -P /af3-dev/release_model/ https://af3-dev.tos-cn-beijing.volces.com/release_model/model_v0.5.0.pt
73
+ checkpoint_path="/af3-dev/release_model/model_v0.5.0.pt"
74
+ ...
75
+
76
+ --load_checkpoint_path ${checkpoint_path} \
77
+ --load_checkpoint_ema_path ${checkpoint_path} \
78
+ --data.weightedPDB_before2109_wopb_nometalc_0925.base_info.pdb_list examples/subset.txt \
79
+ ```
80
+
81
+ , where the `subset.txt` is a file containing the PDB IDs like:
82
+ ```bash
83
+ 6hvq
84
+ 5mqc
85
+ 5zin
86
+ 3ew0
87
+ 5akv
88
+ ```
model/Protenix-pxd/examples/5sak/1/non_pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/5sak/1/pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7pzb.pdb ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7pzb/msa/1/non_pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7pzb/msa/1/pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7r6r/msa/1/non_pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7r6r/msa/1/pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7st3/msa/1/non_pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7st3/msa/1/pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7st3/msa/2/non_pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7st3/msa/2/pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7wux/msa/1/non_pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/7wux/msa/1/pairing.a3m ADDED
@@ -0,0 +1,544 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ >query
2
+ MASWSHPQFEKGGTHVAETSAPTRSEPDTRVLTLPGTASAPEFRLIDIDGLLNNRATTDVRDLGSGRLNAWGNSFPAAELPAPGSLITVAGIPFTWANAHARGDNIRCEGQVVDIPPGQYDWIYLLAASERRSEDTIWAHYDDGHADPLRVGISDFLDGTPAFGELSAFRTSRMHYPHHVQEGLPTTMWLTRVGMPRHGVARSLRLPRSVAMHVFALTLRTAAAVRLAEGATT
3
+ >UniRef100_UPI000B1A43EC_1463901/ 204 0.926 4.008E-55 15 232 233 0 217 218
4
+ ---------------MAETSVRTEGRPDTRVLRLPGAASAPEFRLIDIDGLLNNRATTDVRDLGSGRLNAWGNSFPAAELPAPGSLIEVAGIPFTWANAHATGDNVRCEGQVVDIPPGRYDWIYLLAASERRSEDTIWAHYDDGHADPLRVGISDFLDGTPAFGELSAFRTSRMHYPHHVQEGLPTTMWLTRVGMPRHGVAHSLRLPRSVAMHVFALTLRTTADVRLAQGATT
5
+ >UniRef100_UPI001BE85A7B_2819193/ 186 0.830 5.494E-49 19 230 233 4 215 218
6
+ -------------------SVLTAAKPGPRVHRLPGTASAPEFCLIGIDDLLNNRATTSVSDLDSGRLNAWGNSFPAEELPTPGALIEVAGIPFTWANAHAKGDNVRCEGQVIDIPPGQYDWIYLLAASERRSEDTIWAHYEDGHADPLRVGVSDFLDGTPAFGELTAFRTSRMHYPHHVQERLPTTMWLTRVGMPRRGIAQSLRLPRLVAMHVFALTLVTGIDVRRAQGA--
7
+ >UniRef100_UPI0006899DE6_66377/ 178 0.726 2.919E-46 15 230 233 3 218 221
8
+ ---------------ISSNTIRTHTPSDRLLDRLHGKASAPEFCLISIDDLLNNRATTSTEDLDSGRLNAWGNSFPAEELPAPGARIEIAGIPFAWARSHAEGDNVRCEGQVIEIPPGQYDWIYLLAASERRSENTLWAHYADGTADPLRLGVSDFLDGTPAFGELPAFSTERMHYPHHVQQGLPTTMWLSRVGMPRRGRATALRLPRCVALHVFALTLLTGIDVRLADGA--
9
+ >UniRef100_UPI0012DD7F77_35754/ 178 0.705 2.919E-46 15 231 233 3 219 237
10
+ ---------------VSDRPVLVPGAYDRLVQRLPGTTAQPDFCLIGIDDLLNNRATTGTGDLDAGRLNAWGNSFPSRELPEPGAVIEIAGIPFVWPDANPDGDNVRSEGQVIDIPPGRYDWIYLLAASERRSEDTLWVHYDDGHADPLRVGVSDFLDGTPAFGELPAFRTARMHYPHHVQERLPTTMWLARVGMPRRGRAQALRLPRLVALHVFAITLVTGIDVRLADGAD-
11
+ >UniRef100_A0A510HIW1_49319/ 171 0.295 8.250E-44 29 219 233 889 1080 1084
12
+ -----------------------------RVVEARCAAEDRGFCAADLRHSLNSDGVSTDANPGDGDFDGLGFSYPAEELPVPG-PFESGGVLYWFTETsDGAPNNIEARGQTVPLVPERYAAAHILGAAHHGAVETaATVTYADGSTERLQLSLSDWAQETPQFGEEVAVRTTHRHQEGAGDVGPPVAIFAFSLELDPSREVRFLTLPAEVRLHLFAITLR-------------
13
+ >UniRef100_A0A5N0E9G2_2545717/ 168 0.765 1.013E-42 27 222 233 11 206 217
14
+ ---------------------------DRLVRRLPAGPARPEFCLIDLDDLLNNRATTGTADLDQGRLNAWGNSFPAEELPQPGTQIDVAGIPFVWANAHAHGDNVRCEGQLIDLPPGQYDWIYLLAASERRSEDTLWAYYDDGHADPLPVGISDFLDGTPAFGELSAFRTTRMHYPHHVQHGLPTTVWLTRVGLPRRGNAHAIRFPRLVAMHIFALTLLTGS----------
15
+ >UniRef100_Q1ASW4_266117/ 167 0.295 2.592E-42 29 219 233 69 260 264
16
+ -----------------------------RVVEARCAAEDRGFCAAGLGHSLNSDGVSTDANPNDGDFDGLGFSYPAEELPAPG-PFESGGVLYWYPETsDGAPNNIEARGQTVPLVPGRYAAAHILGAAHHGAVETaATVTYADGSTGRLQLRLSDWAREAPQFGEEVAVRTTHRHQEGAGDVGPPVAIFAVRLELDPSREARFLTLPEEARLHLFAITLR-------------
17
+ >UniRef100_A0A4R7V1K6_502181/ 167 0.406 2.592E-42 28 217 233 100 290 300
18
+ ----------------------------TLVPW-PSDDTSGNAVPVDLSAHLNCVGIEPKERPGRGAFNIWHNTFPIEELPRPGSITVVGGVSFRFPAADGtRPDNLRCRGQRIELPSSRVDWLHLLAAAERRTEDVVTVHYADGTTRPQWLRVSDFWPETPSrFGELPAFRTSAMLYPNHVDSRMPPVIWHQRVPVAVRDGVVAVTLPDNPAVHVFAMT---------------
19
+ >UniRef100_UPI000B27D092_285514/ 166 0.425 3.546E-42 31 224 233 1 195 204
20
+ -------------------------------TAIPGpPTEESPYDPVDLTPCFNNTGISPASDTGRGSFNVWGNSFPAESLPSGRAPVTVDGVPFRFPPVGRGNDNVRCAGQFVPVETGRFDWLHLLAAAERRTEDTMAMHFEDGTVDPEWIRVSDFWAAPARFGETKAFETPVMHYPHHVQQGVSALLWAQRVPVTRRADLKGFRLPRNVALHIFAATLQQTAVV--------
21
+ >UniRef100_A0A920BQ67_571911/ 166 0.423 6.637E-42 42 223 233 3 185 190
22
+ ------------------------------------------PLAVDLDPYADNTGITTADRKDAGGFNIWGNTYPADQLPAAG-PVRVDDIPFRFPPaAPGRPDNVRCAGQLIEVPAGRYDWIQLLAAAERRTEDPLWLHYADGGVDPEWLRVSDfWPETAAHFGETAAYRCTHLHYPRHVDRKFGPSIWRQRVPVPRDAALRAVRLPDNPAIHIFAMTLVPAAG---------
23
+ >UniRef100_UPI000AF72EB5_718014/ 165 0.748 1.242E-41 29 231 233 17 219 221
24
+ -----------------------------PVRSVRATTSSPEFLLVGIDDLLNNRAITGAADLGDGRLNAWGNSFPAEELPAPGMLVEVAGIPFQWANAHTEGDNVRCEGQIIDIPPARYDWIYLLAASERRSEDTLWAYYDDGYADPLRVGVSDFLDGTPVFGELPGFRTTRMHYPHHVQHGLPTTMWLSRVGMPRHGRALALRLPRSVALHVFAVTLLTGIDVRRADGTT-
25
+ >UniRef100_A0A939I1U9_2815937/ 164 0.273 1.699E-41 6 220 233 502 723 724
26
+ ------PQGAPGTTVTAVTATASYRAQSTAVDTVSGEQTITQVVPYPsLEAAFNNVGATSESDTTPGNFDGGGDSYSTQALaragATPGAAISANGLGFTWPSADaGRADNVSAAGQEITF-GGQGQTLGFLGAEAGSVSGTVTVTYTDGTTSTGQLGFPNWcCTPTDAFGAKTAFTMDHRNTPTGPANfGISYGVFTNTVPLTPGKTIRSVRLPDAPAIHVFALTVQP------------
27
+ >UniRef100_UPI001F407CE4_1463833/ 163 0.462 4.348E-41 28 227 233 5 205 217
28
+ ----------------------------TPPGTATPPASAPRYRVVELAAHRNNRAATRVHTTGAGGFNVWRNSFPVEHLPPGGSEVEVGGVPFRFPPVGEGDDNVRCDGQFVEVPAGRYDWIHLLAAAERRTEDTVELHYADGSVDSEWLRVSDFWSAPAWFGELPALRTPVMHYPYHVQPGLSAHLWAQRVPVPRRTALAGLRLPRNIAVHLFAATVqEPPGAAGLP-----
29
+ >UniRef100_UPI000E241227_68246/ 163 0.451 5.947E-41 45 228 233 12 196 197
30
+ ---------------------------------------------LDLTAFANNTGITTEDRLSDGAFNIWGNTFPAEELPA-GGEITVDGIPFRFPaPAAGAPDNVRCAGQLLELPAGRYDWIHVLAAAERRTEDFVQLHYTDGSVDPEWLRISDfWPQTGARFGESAAFSCTRLHYPRHVQRSMGPTIWRQRVPVTRQRELTALTLPDNPAIHVFAMTLAPTTPPEAAE----
31
+ >UniRef100_A0A944KLD5_2819145/ 163 0.258 5.947E-41 46 222 233 506 691 697
32
+ ----------------------------------------------DLAPYFDNTGISDDANQATANLDGYGFSYSAEALAAsgltPGATVTSDGVQYGWSGAAGQADNVVAAGQVLAVPAitGATELGVMGSATNGPSSGTMTITYTDGTTQQATLGFTDWTAGSPSLGNGVAASTQYRNSTGGSSQGLGTHLYTTTIALQAGKTVASVTLPtraDQGLLHVFALGTDKGA----------
33
+ >UniRef100_A0A1C6VGZ9_683228/ 161 0.443 2.082E-40 35 229 233 7 200 206
34
+ -----------------------------------GAGAGTRQRHVDLTDHVDNLGIVVPRWPHGGGFNIWGNAFPADELPPAGGVCTVDGVSFSFP-LAGNRDNIRCRGQVVALPPGHYDWLYVLAAAERRTEDTVRLHYTDGSTAEQWLRISDfWPDTAPRFGDVLAFRCSRMLYPRHPQPSMAPAIWQQRIPVSRPGEVHAVRLPDNPAMHVFALTAVT-DAELPAEG---
35
+ >UniRef100_UPI0021D8E261_2853165/ 161 0.440 2.082E-40 28 227 233 5 206 218
36
+ ----------------------------TPPGTATPPAGAPRYRVVELAAHRNNRAASRMHTTGAGGFNVWRNSFPVEHLPPGGSEVEVGGVPFSFPPVGEGYDNVRCDGQFVEVPAGRYDWIHLLAAAERRAEDTVELHYADGSVDTEWLRVSDFWSAPAWFGELPAYRTPVMHYPYHVQPGIGAHLWAQRVPVPRRTALAGLRLPRNIAVHVFAATVQepPPGTAGLP-----
37
+ >UniRef100_A0A246RSA7_1185415/ 161 0.500 2.847E-40 44 223 233 12 191 196
38
+ --------------------------------------------PVDISRHRNNIAISSATATKAGHFNVWGNSFAAEHLPAGGSLVHVAGVPFRFPPVCAGPDNVRCEGQFVPVTESRYDWIHVLAAAERRCEDTVELHFGDGSVDAEPLRISDFWAAPAWFGELLAFRSPVMHYPHHVQQGVPAVMWAQRVPVTRRADLVGIRLPRNVAMHIFAVTLEHAEA---------
39
+ >UniRef100_UPI0018912F4F_2705253/ 160 0.262 3.894E-40 47 219 233 1054 1238 1525
40
+ -----------------------------------------------LPAAFNNDAITNDSNRGGADLDGAGASYSAQALAAvgvtPGAPLVHDGLTFTWPDRQvGQSDNVVAAGQTIDV-SGSGSTLGLLGTSTWGPStGSGTITYTDGSTQPYTIGFGDWANGTPPTGADVAIRAPYGNQP-GNQTGWAATVDYYPITLDPAKTVQSITLPSGsaqphggiPALHIFAMSIK-------------
41
+ >UniRef100_A0A2A3HR12_1938860/ 160 0.480 7.284E-40 37 217 233 8 188 212
42
+ -------------------------------------ASAPRYRVVELADHRNNRAATRVHTTAAGGFNVWRNSFPAEHLPPGGSQVEVGGVPFSFPPVGEGDDNVRCDGQFIAVPAGRYDWVHLLAAAERRTEDTVELHYADGSVDTEWLRVSDFWAAPAWFGELPAYRTPVMHYPYHVQPGVSAHLWAQRVPVPRRTELAGLRLPRNIAVHVFAAT---------------
43
+ >UniRef100_A0A838IYH6_2026798/ 159 0.292 9.962E-40 29 221 233 647 843 845
44
+ -----------------------------PRLALPEAFASDGFVALDLERAFNNDAFSSPSQPLKGNFDsrsgVLGATYPAERAPASLERIELGGVPFLFPPTDADANNVAFHGQRLEVPPGHYDELHLLGVSEQGNyQDTVRLVYEDGSVDEIPLGLSDWCQ-TPRYGEAIAFAFEQRRGAGGAIERITCRILVQLLPVRADSSLLRVDLPDRETMHLFALTLRHA-----------
45
+ >UniRef100_UPI001C21EFA6_2849653/ 159 0.434 1.362E-39 41 220 233 11 191 199
46
+ -----------------------------------------EPVPVPLTEHFDNVGFTQPDQLSSGAFNIWGNTFPADELP-PGPEVRLDGVPFLIPAAPvGSPDNLRCAGQLVAVPPGRYDWVRLLCAAERRTEDRVWLHYTDGTIDPEWLRVSDfWPETAPRFGESLAFRFSRMHYPRHVDRRMKPAIWSQRLPITRAAELAAVRLPDNPAIHLFAMTLVP------------
47
+ >UniRef100_A0A3M9MI77_2294115/ 158 0.270 1.863E-39 44 217 233 562 741 744
48
+ --------------------------------------------YANLAAAYNNVGVTAGADPTPGNFDGSGNSFNAELLAgqglTPGANVTANGFSFTWPNvAPGVADNAEAAGQLIKLT-GTGSTLAFLGSGVGDQSDTVTVHYTDGSTSTGTVGFPNWSFSDPtEFGAKLAFSTMGRNTPTGLADTAYAYrIFTNTIPLDTGKTVQSVQLPNNSALHLFAWT---------------
49
+ >UniRef100_A0A5N8W5X6_1803180/ 158 0.272 2.548E-39 44 219 233 760 936 940
50
+ --------------------------------------------PVDLTAHFDSDGISTHENTQDGDFDGTGRTYPAEELPAAG-PLTFEGVRYTFPSyADGALDNVTAKGQTIPVPPGRYAKVRVLGACSYGAlKTTLTATYTDGSTQEVELAMSDWAGTAPASGSEV-VRCTHRHGRSG-PDTLQVALFQTAVTVDQARELRSLTLPDTtkPALHLFALSVE-------------
51
+ >UniRef100_UPI0018923E89_280293/ 158 0.283 2.548E-39 47 219 233 1056 1240 1527
52
+ -----------------------------------------------LPAAFNNDAITNDSNRGGADLDGAGASFSAQALtsvgVTPGAPLVHDGLTFTWPNRQvGQSDNVVAAGQTIDVT-GSGSTLGLLGTSTWGAStGSGTITYTDGSTQPYTIGFGDWANGTPPTGGDVAIRAPYGNQP-GNQTGWAATIDYFPVTLDPSKTVQSITLPSGsaqphggiPAMHVFAMSIK-------------
53
+ >UniRef100_A0A9E3EXL3_2740538/ 158 0.256 3.485E-39 48 216 233 351 533 733
54
+ ------------------------------------------------STAYNNVGISDDSNSSTANFDGGGYSYSAEALQAagltPGQQITANGITFTWPGVPaGVNDNYQANGQTIPITPvsGATTLAFLGSATNGPSSGTVTITYTDNSTQSFSLGFSDWTlnagNSPPSFGNSVIATTSYRNHSGAGPDNVDTNILYAGVTLQTGKTLQSVTLPSTTNqgkIHVFAI----------------
55
+ >UniRef100_UPI000AB2585B_688067/ 156 0.466 8.913E-39 44 223 233 6 185 188
56
+ --------------------------------------------PVDIAGHRNNTGISAATETKAGAFNVWGNSFAAEYLPEGDSLVHVAGVPFRFPPVCEGPDNIRCAGQFVRVPEGRYDWVHVLAAAERRCEDLVEMNYGDGSVDQEPLRVSDFWAAPAWFGEVKAFETPVMHYPHHVQQRVPAVMWAQRVPVTRRADLAGLRLPRNVAVHVFAMTLQRTEA---------
57
+ >UniRef100_A0A542DYC5_402171/ 156 0.261 8.913E-39 46 228 233 869 1066 1093
58
+ ----------------------------------------------DIWPYYTNAGITDDAHTGAASFDGGGWSYSAQALAAagvtPGSTVTADGVHYTWPDVPvATPDNIEESGQTIPLKvPAGASTIGLLGSASNagssGAGGTVTVHYTDGTSSTFDAFFSDWTlgggGGTPVPGDTTAVTTAYRN-SSGGRDPVKTYVFSVSAPLDAGKTVASITLPqaQGGDAHVFAIGFDTTGASSQAP----
59
+ >UniRef100_UPI001AEB6A42_1365924/ 156 0.290 1.219E-38 7 220 233 695 914 917
60
+ -------DLERGGevlVHGPSPDLGIGPVPIsTPAPRwgLPALPDGGQTVIVDLAAALNNDAITSEFHMGDGDFDGAGNTYPAAQLPQTGQT-TDDGIPFEFVNgSEGTPNNVIPAAQTITLPPGNYMTLHLLAASDNGNtNRSMTITYADGTSQ-VPLQITDW-RTSPAFGETEALRTSQMHARTG-PQPVRLSIFHQKIPLDPAKQLVSITLPgaATPRPHLFAITLEK------------
61
+ >UniRef100_UPI0023608C19_1392640/ 156 0.216 1.219E-38 47 219 233 883 1071 1072
62
+ -----------------------------------------------LLALFNNTGISSDDDPSSANYDGVGYSYSEQALAtagvKPGGTVSAGGMEFVWPNVPaGEPDNIAADGQTINLSdvPAGASELAFLGSAtNGPSQGEVKITYTDGSTQTATLGFSDWTlnagSSSPSFGNVVAAKMPYRNSTSGNRDQVTTYVFASRpIPLEQGKQPKSVTLPssvDQGTLHVFAVSVK-------------
63
+ >UniRef100_C7PY52_479433/ 156 0.272 1.219E-38 47 219 233 1074 1258 1548
64
+ -----------------------------------------------LPAAFNNDAITNDSNRGGADLDGAGASFSAQALAsvgvTPGAPLVHDGLTFTWPDRQvGQSDNVVAAGQTIDI-SGSGSTLGLLGTSTWGaSSGSGTIAYTDGSTQPYTIAFGDWANGTPPTGGDVAIRAPYGNQP-GNQTGWAATIDYFPITLDATKTVQSITLPPgsaqphggTPAMHIFAMSIK-------------
65
+ >UniRef100_UPI0021F5AFBA_1550616/ 156 0.480 1.667E-38 36 218 233 7 189 195
66
+ ------------------------------------PAGIGLYDTVDISGHRNNTAISAATETGAGAFNVWRNSFAAEYLPAGGSLVHVDGVPFEFPPVCEGPDNIRCAGQFIRVPEGRYDWIHVLAASERRSEDTVELNFADGSVDAEALRVSDFWAAPPWFGEVRAFESLVMHYPHHVQRGIPAVMWAQRVPVTRRAGLTGILLPRNVAVHVFALTL--------------
67
+ >UniRef100_UPI0004C58EA0_1883/ 156 0.436 1.667E-38 36 221 233 2 188 196
68
+ ------------------------------------TSTTTTPVPLDLTALADNVGVTRPDRLSEGAFNIWGNTFPAEELP-PAGTVEVHGIPFRWPaTGDGSPDNVRCRGQLVTVPEGRYDWIHVLAAAERRTEDPLLLHFADGSVDPEWLRVSDFWPETASrFGERPAFSCTRLHYPRHIQHAMGPTVWRQRVPVTREERLRAFRLPDNPAMHLFAITLAPA-----------
69
+ >UniRef100_UPI001BCF2EC7_1581705/ 156 0.483 1.667E-38 44 223 233 15 194 199
70
+ --------------------------------------------PVDISGHRNNTAISAATQTGAGAFNVWGNSFAAEYLPAGESLVHVAGVPFRFPPVCDGPDNVRCAGQFVTVPAGRYDWLHVLAAAERRCEDTVELNFGDGSVDAEPLRVSDFWAAPAWFGEIKAFESPVMHYPHHVQRGVPAVMWAQRVPVTRRAGLAGLRLPRNVAVHVFAVTLQRAEA---------
71
+ >UniRef100_A0A2S9PQ64_2100817/ 156 0.422 1.667E-38 33 232 233 0 197 206
72
+ ---------------------------------MPSTASTT-TRILDLSAVFDNIGASRAAATSTGAFNVWRNSFSAEHLPEPGTTVTVDEVPFLVPPfGTGGPDNVRCAGQLLEVQPDRYDWLYLLAAAERRVEDEVALHFADGTVDFEALRLSDFWAAPAVFGESEAFRTPAMHYPQHVQFGVPAGLFCQRVPVTRRAPLAGVRLPRNTAVHVFAATLLRAAAA--AGGPRT
73
+ >UniRef100_A0A367FP16_509200/ 155 0.478 2.279E-38 44 224 233 5 186 192
74
+ --------------------------------------------PVDLTGHWNNRGISAAAGTGSGGFNVWRNSFPAEYLPPPGAQVEVEGVPFRFGGPDPAGDNIRCAGQYVELPEGRYDWIHLLTAAERRTEDTVALHFAGGEVDFEPLRVSDfWARAHAAFGEAKAFETPVMHYPHHVQPRVEALMWSQRVPVTRRAPLRGLRLPRNVAIHLFAMTLQTAGEP--------
75
+ >UniRef100_A0A1W5T2H2_1977088/ 155 0.458 2.279E-38 44 224 233 15 195 197
76
+ --------------------------------------------PVDISGHRNNTAVSAATETKAAAFNVWGNSFAAEYLPAGGTLVHIAGVPFRFPPVCDGPDNIRCAGQFLDLPEGRYDWIHVLAAAERRCEDTAELHFDDGSVDPEPLRVSDFWSAPAWFGEVKAYESPVMHYPHHVQRNVSAVMWAQRVPVTRRAGLTGVRLPRNDALHLFAVTLQRAEAA--------
77
+ >UniRef100_A0A372M322_2293568/ 155 0.392 2.279E-38 22 220 233 12 215 222
78
+ ----------------------TSELTHTPADFAPPGSPPADFTPVGLQQHFNGKGVSAPrRWPTTGGFNVWGNTFPAEGLPTGGGDAEVACIPFRFPvddSAAGAPDNLRCRGQSVDVPPGEYQWIHVLAAAERRTEDEAVLHYADGSTRREWLRISDFWPETDqRFGELLAFRTRYLMYPRHSQHNMVPSIWLQRVPVTAPGTVTAVELPDNPAIHIFAITLET------------
79
+ >UniRef100_UPI00131A6ADB_1840409/ 155 0.241 2.279E-38 49 218 233 893 1078 1080
80
+ -------------------------------------------------SVVNNTGISPDAKPAAANFDGVGWSYSADALAAagakPGGTVTVDGLSYTWPNFPvGEPDNVVAQGQTVALPgaAAGAGKLALLGAAANGkASGTLTITYTDGSTTRADIGFSDWTlgggSDQPSFGNRIAVSTPYRNSTGGQPQQIRTNVFAtVPIALDPGKRVRGITLPaqvQGGSLHVFAVAL--------------
81
+ >UniRef100_UPI001C84E3F6_763782/ 155 0.494 3.117E-38 44 218 233 2 177 189
82
+ --------------------------------------------PVDLAAHWNNRAISAADDRGSGGFNVWRNSFPAEYLPPPGARVEVAGVPFRFGGPSAAGDNVRCAGQYVELPEGRYDWIHLLTAAERRTEDTVALHFSDGEVDFESLRVSDfWAQAHAAFGETKAFETPVMHYPHHTQPRVEALMWSQRVPVTRRAPLTGLRLPRNIAVHVFALTL--------------
83
+ >UniRef100_UPI000B2085DA_46164/ 155 0.422 3.117E-38 43 227 233 5 190 191
84
+ -------------------------------------------VPVDLAPFFDNVGITPAGDLSSGAFNIWGNTFPAEELP-ERSPTTLGGVPFRFPDrGPGGADNLRCGGGLIPLPEGRYDWLYLLAAAERRTEDPVHLHYADGTVDPEWLRVSDfWPETQAWFGEREAIRCRSLHYPRHVQRPMGPALWRERIPVPREMPLAALRLPDNPAVHVFAVTLLPAGEVAPA-----
85
+ >UniRef100_A0A7K0CJB4_2585196/ 155 0.419 3.117E-38 43 221 233 7 186 196
86
+ -------------------------------------------VPVDLAPYADNTGITSARATAAGAFNLWGNTFPAGELPPPGTAV-VDGLPFRFPLAPaGEPDNVRCAGQLLPLPPGRYDWIQLLAAAERRTEDQALLHYADGAVDPEWLRVSDfWPQTRSRFGAAPAYECRVLHYPRHVDDKFGPVVWRHRVPVPRESDLAAVRLPDNPAIHVFAMTLVPA-----------
87
+ >UniRef100_UPI0018922BF9_280293/ 154 0.446 5.828E-38 44 218 233 2 178 189
88
+ --------------------------------------------PVDISPHFDNRGITGRGELSQGGFNIWDNTYPAEELPTPGGVVEVGSAPFLFPAlSPDGGDNLRCVGQFIQLPVGRYDWLYLLAASERRSEDTVYLHYADGSVDPEWLRVSDfWAETPPHFGEEAGLRCTVLHYPRHVQPFMGPAIWRTRVPVPRETPLSAVRLPDNPAIHIFALSL--------------
89
+ >UniRef100_A0A6H9Z8I5_359158/ 154 0.263 5.828E-38 20 220 233 743 944 947
90
+ --------------------APVRVTTKAPPWGLPPLPPAGQAVPVELAGHFDNDGITSEFFMGDGDFDGTGATYPAAALPQTG-RVTADGVEFLFVNGiEGSANNVTAAGQTIPVPAGRYARLHVLGASDNGNAGtTVTAVYADGGTAAVPLRLTDW-KSNPAYGESAAVRAPQFHTRTGAKD-IAVTIFHQKADLDPARELTALRLPNltRPRPHLFSLTLEK------------
91
+ >UniRef100_UPI00104757B6_1213861/ 153 0.475 1.090E-37 37 221 233 4 188 190
92
+ -------------------------------------TTANTFRPVEITEHWNNRSMSTVDDKGDGRFNVWRNSFPAEHLPRPGERVTVGGVPFDFPPATSAGDNARCAGQFVTLPPGHFDWIRLLASAERRVEDTVALHFADGQVDFEAIRVSDFWAAPACFGETLAYRTPVMHYPHHVQPRVEAMLWSQRVPVTRDATLTGLRLPNNRALHIFALTLQES-----------
93
+ >UniRef100_UPI001C690D85_2749435/ 153 0.444 1.490E-37 45 222 233 0 178 185
94
+ ---------------------------------------------MDLTALADNVGVTRPDRLSEGAFNIWGNTFPADELP-PAGPVEVHGIPFRWPaTGDGSPDNVRCRGQLVTVPEGHYDWIHVLGAAERRTEDPLLLHFTDGSVDPEWLRVSDFWPETASrFGERPAFSCTRLHYPRHIQQAMGPTIWRQRVPVTREEPLRAFRLPDNPAIHLFAITLAPAA----------
95
+ >UniRef100_UPI0021556BFD_2675858/ 153 0.471 1.490E-37 45 218 233 16 189 195
96
+ ---------------------------------------------VDISGHRNNTAISASTETKAGAFNVWGNSFAAEYLPAGESIVHVDGVPFEFPPVCDGPDNVRCAGQFIRVPEGRYDWIHVLAASERRSEETVELTFADGSVDPEPLRVSDFWAAPAWFGEVKAFESLVMHYPHHVQRGVPAVMWAQRVPVTRRAGLTGILLPRNVAVHVFAVTL--------------
97
+ >UniRef100_UPI002254C514_2975865/ 153 0.436 2.037E-37 42 227 233 2 189 191
98
+ ------------------------------------------STVIDISEACNNLGIGKSGAGEDYGFNIWRNTFPAEDLPAPGSTVAVDGVDFEFPPrETGKGDNIRCRGQLVALPGGHYEWIYLLGAAERRTEDEVELHYADGAARTEWLRMSDFWPETDSwFGEPEAFRATGLRYPRHTQAGHRPVIWQQRIPVTVPGALTALRLPDNPAMHVFALTAVTDPGVRHA-----
99
+ >UniRef100_UPI0020A32361_334858/ 153 0.456 2.037E-37 41 220 233 1 182 191
100
+ -----------------------------------------KNTVVDISALCDNRGIQPPGTEGDYGFNIWSNTFPAEELPEPGSLVPVAGVPFEFPaRPAPGGDNIRCRGQLVPVPPGDYDWLYLLGAAERRTEDQVLLHYRDGTVRAEWLRMSDfWPQTEARFGEPLAFRTSAMRYPRHTHPAHAPSIWQQRVPVTVPGEITAVRLPDNPAMHVFALTLGT------------
101
+ >UniRef100_A0A8F5GM97_2750812/ 153 0.412 2.037E-37 45 224 233 8 188 192
102
+ ---------------------------------------------VDLAPFFDNVGITPSGDPSAGAFNIWGNTFPAGELP-EGPRAMLGGVPFRFPDrGPGGADNLRCAGGLIPLPEGRYDWLYLLAAAERRTEDPVHLHYADGTVDPEWLRVSDfWPETEPWFGEREGIRCESLHYPRHVQRPMGPALWRERIPVPRETPLAALRLPDNPAVHVFAITLLPAEEV--------
103
+ >UniRef100_A0A4R2JNF3_1213861/ 153 0.455 2.037E-37 43 218 233 11 188 194
104
+ -------------------------------------------TPVDLGGHFDNRGITRGGELDQGGFNIWDNTFPAEDLPEPGGTVRIGDVPFLFPAPDPAGrDNLRCSGQVIELPTGRYDWLYLLAASERRSEDVITLHHADGSVDPQWLRVSDFWAETPAhFGEQASVRCRSLHYPRHIQRNMAPVIWRTRVPVPRETDLAAIGLPDNVAIHIFALTL--------------
105
+ >UniRef100_UPI001E5DF7EA_2714955/ 153 0.267 2.037E-37 2 221 233 797 1034 1035
106
+ --SWLPESlFLNGGTVTVEVGATANTAWGsgaadlpvdrvpsapTPVPNLPAAcVVQGDYCLQSLAGQYDVDGVTTDDDMSQGVFGTNGWSWPAELLPAPG-VGTAAGRPYLFPDTTGtAGNFLSARGQTVYLTPGRYSALHAVTASHNGSfRGDVTVTYSDGTTSKASLLSTDWAAASPAYGEETALDVPTRHRNTGIHDGLRVRMWHVPLAVDSTRTAVSITLPSLPNLKVYALSARTA-----------
107
+ >UniRef100_A0A1I3MHH7_115433/ 153 0.280 2.037E-37 52 216 233 897 1073 1077
108
+ ----------------------------------------------------NNAGISPDSKPAAANFDGVGFSYSADALAAagakAGSTVTVGGLSYTWPNYPaGSPDNVQAQGQTI-IASGSGRLAFLGAASNGSASGTLTISYTDGSSSTAQLGFSDWTLGaggqQPAFGNQVAFTTPYRNSTGGTPQQINTYVFAsAPITLPAGKTVRSVTLPSNvsgGQLHVFAI----------------
109
+ >UniRef100_A0A7K2PPX2_2690297/ 152 0.474 2.786E-37 44 218 233 15 189 195
110
+ --------------------------------------------PVDISGHRNNVAVSAAAETKAGAFNVWGNSFSAEHLPAGESLVNVDGVPFEFPPLCEGPDNIRCAGQFIRVPEGRYDWIHVLAASERRCEDTVELIFADGSVDAEALRVSDFWAAPAWFGEVKAFESLVMHYPHHVQRGIPAVMWAQRVPVTRRAGLTGIVLPRNVAIHVFAVTL--------------
111
+ >UniRef100_A0A248YPR0_2024580/ 152 0.491 2.786E-37 44 222 233 12 190 195
112
+ --------------------------------------------PVDISGHRNNTAISSATATKAGHFNVWGNSFAAEHLPAGGSLVHVAGVPFRFPPVCAGPDNIRCEGQFIAVTQGRYDWVHVLAAAERRCEDTVELSFSDGPVDAESLRVSDFWAAPAWFGELLAFRSPVMHYPHHVQRGVPALMWAQRVPVTRRADLVGIRLPRNVAMHIFAVTLQHGA----------
113
+ >UniRef100_UPI0010FB6E0B_1905/ 152 0.434 2.786E-37 43 222 233 7 187 203
114
+ -------------------------------------------VPVDLTAHADNTGITPADALDAGAFNLWGNTFPAEELP-PGGPVEVDGIPFLFPrHAPGAPDNIRCAGQLIELPAGRYDWIQVLAAAERRTEDQVLLHYGDGSVDPEWLRVSDFWPETASrLGGTAAYTCGRLHYPRHVERKFGPTLWRHRVPVPREAELTAVRLPDNPAVHLFALTLVPAP----------
115
+ >UniRef100_UPI0022EA6403_1229659/ 152 0.444 3.809E-37 41 218 233 1 180 191
116
+ -----------------------------------------KNTVVDISALCDNRGIQPPGTEGEYGFNVWSNTFPAEELPEPGGLVPVAGVPFEFPaRPAPGGDNIRCRGQLVEVPPGEYDWLHLLGAAERRTEDQVLLHYRDGTVREEWLRMSDfWPQTDARFGEPLAFRTSAMRYPRHTHRSHAPSIWQQRVPVTVPGEITAVRLPDNPAMHVFALTL--------------
117
+ >UniRef100_A0A1B4ZDD3_1213862/ 152 0.413 3.809E-37 45 228 233 26 210 211
118
+ ---------------------------------------------LDLTAFADNVGVTSPDRLSEGAFNIWGNTFPADELPK-GGPVDIHGIPFRFPAvGTGQPDNVRCAGQFIDVPVGRYDWIHVLAAAERRTEDFVRLHYTDGAVDPEWLRVSDFWPETASrFGESAAVSCTRLHYPRHIQRSMGPTLWRQRVAVPREQDLSAIRLPDNPAIHIFAMTLAPATQPETTQ----
119
+ >UniRef100_A0A5N8VJT9_1609272/ 151 0.468 5.207E-37 42 218 233 7 183 189
120
+ ------------------------------------------YEPVDISGHRNNTAISAATETGAGAFNVWRNSFAAEYLPAGGSLVHVEGVPFEFPPVCDGPDNVRCGGQFIRVPEGRYDWIHVLAASERRCEDTVELSFADGSVDTEPLRVSDFWAAPAWFGEVKAFESLVMHYPHHVQRGVPAVMWAQRVPVTRRAGLTGILLPRNVAVHVFAVTL--------------
121
+ >UniRef100_A0A229REX4_76020/ 151 0.406 5.207E-37 45 224 233 8 189 192
122
+ ---------------------------------------------LSLLEHVNNTGLSTVGDLAAAGFNIWGNSFPAADLPSPGATSVVGGVPFRFPeRAPDGRDNVRCRGQRIDVPEGRWDWVHVLGAAERRTEDPLLLRYADGTVRPQWLRMSDfWPETEPRFGELLAYRCATMHYPRHVQRTTAPAIWAQRVPLSVPDGVVALELPDNPALHLFAITLQAGERV--------
123
+ >UniRef100_A0A7K2T631_2690338/ 151 0.423 5.207E-37 36 222 233 1 188 195
124
+ ------------------------------------TTSTTAPVPLDLTALADNVGVTRPDRLSDGAFNIWGNTFPADELP-PAGPVEVHGVPFRWPaTGGGAPDNVRCRGQLVPVPEGRYDWIHVLAAAERRTEDPLLLHFADGGVDPEWLRVSDfWPETSSRFGERPAFSCTRLHYPRHVQHAMGPTVWHQRVPVTREERLRAFRLPDNPAIHLFAITLAPSA----------
125
+ >UniRef100_UPI0020D28210_193462/ 151 0.423 5.207E-37 42 221 233 6 189 195
126
+ ------------------------------------------STVVDISEVCDNRGITKSGAEESDGFNIWRNTFPAEDLPAPGSSVEVTGVAFEFPaRATGRGDNIRCRGQLLPLPGVRADWLYLLGAAERRTEDEVELHYADGAVRTAWLRMSDfWPETAAWFGEPEAFRGSGLRYPRHTQDGHRPAIWQQRVPVTVPGELTALRLPENPAMHVFALTavLEPG-----------
127
+ >UniRef100_A0A2N8NVN7_66423/ 151 0.424 5.207E-37 33 221 233 3 194 202
128
+ ---------------------------------LPARADrrQTEAVPVNLAGLADNTGITRADALSEGAFNIWGNTFPADELPT-GGPVVVDGVPFLFPEaAPGRPDNVRCAGQLIEVPTGRYDWIQLLAAAERRTEDQVLLHYADGSVDPEWLRVPDFWPETGSrVGGSPAFTCTRMHYPRHVERKMGPVIWRHRVPVPRESDLGAVRLPDNPAVHLFAMTLLPA-----------
129
+ >UniRef100_A0A9E3EXL3_2740538/ 151 0.250 5.207E-37 51 216 233 551 729 733
130
+ ---------------------------------------------------YNNAGISDDSNTTSANFDGGGYSYSAQSLQAagitPGGSVTTKGVTFTWPNvASGVADNYQTNGQTIPVTPvsGATTLAFLGSATNGPSSGTATITYTNGSTQSFSLGFSDWTlnanTASASFGNAIAATLSYRNGANG-RDNVNTYVFYADITLQAGKTLKSVTLPsttNQGRLHVFAI----------------
131
+ >UniRef100_A0A840IWR6_1181879/ 151 0.287 5.207E-37 52 218 233 903 1081 1083
132
+ ----------------------------------------------------DNAGISPDSDPSAGNFDGGGWSYSADALaeagAKPGGTVTSDGIDFTWPSYPaGDPDNVVAAGQTVNVTGSG--KLALLGSSSNGnAEGTLTVTYTDGSTSTATVGLSDWTlgggDAEPAYGNKSVLSTSYRNSSGGDPQEISTVVFATTpITLDAGKTVASVTLPDDvdgGAMHVFALGL--------------
133
+ >UniRef100_A0A941IQY1_1508375/ 151 0.262 5.207E-37 47 219 233 1034 1218 1510
134
+ -----------------------------------------------LTAAFNNSAITSDGNRGCANLDGAGASYSQQALAsvgvTPGTALVHDGLTFTWPSGGAcDADNVVAAGQTIDV-SGSGSTLGFLGTSAWGAiSGTGTVTYTDGTTQPFTIGFGDWANGTPPTGDDIAIRAPYGNQP-GNQTSWQTTIEYAPVQLDPSKTVQSITLPPGnpqpsggiPSMHIFAMSIK-------------
135
+ >UniRef100_C7QK71_479433/ 151 0.480 7.120E-37 44 218 233 15 189 195
136
+ --------------------------------------------PVDISGHHNNKAISAATETKAGAFNVWGNSFAAEYLPAGGSIVEVDGVPFRFPQAGDGPDNIRTAGQFITVPEGRYDWIHLLAASERRTEDCMDLSFADGSVDAEKVRVSDFWGAPAWFGEVKAFESLTMHYPHHVQRGVPAMMWAQRVPVTRRAVLSGILLPRNVALHIFAVTL--------------
137
+ >UniRef100_C7PW55_479433/ 151 0.248 7.120E-37 47 220 233 547 726 727
138
+ -----------------------------------------------LAGAFNNTAITDETNTAPGNFDGDGDSYSAQSLatagATPGATISAGGTTFTWPSaAAGTNDNVAGSGVMVNL-AGQGSKLGFLGSEAGFSTDTVTVAYTDGTSSTGSLGFPNWCCSSPtGYGATPAIVTDHRNTPSGPANFGTAYdVFYNSIAIDATKTVKTVTVPSDPAIHVFAMTVQP------------
139
+ >UniRef100_A0A1V2PT88_1933779/ 151 0.315 7.120E-37 33 231 233 723 921 924
140
+ ---------------------------------LPPLPNQGTTVTVDLAAVLNNDAFTNEFHMGDGDFDGAGNTYPAAQLPQTGQA-NDDGIPFEFVNGNeGAPNNIVPQAQTIQLPPGKYTTVHLLAASDNGNTDrTVTINYADG-AANAPLRITDW-RTAPAFGETEALRTNQMHTRTGPSPTR-LAIFHQKITLDPVRDLVSITLPaaATPRPHIFAITLQKKSSAAPAEGGD-
141
+ >UniRef100_UPI00207D370E_2944808/ 151 0.279 7.120E-37 15 221 233 764 967 972
142
+ ---------------IAPVTVTTPAAPWGLPPLPPG----GDMVTVDLEPFYTNDGITNEFYLGDGDFDGTGRTYPSGALPQNG-SLSNDGVPFRFTNGhEGTRNNVTAAGQTLELPEGNYRKLHLLGASDNGNTDaTATLHYTDGGTAPVRLALTDWLSP-AAFGESEPLRTNQIHTRTGPVDRRAT-VFHQVLAADPTRRLRAITLPASakPRSHVFAVTLEKA-----------
143
+ >UniRef100_A0A1C5JFJ4_47864/ 151 0.457 9.734E-37 44 218 233 15 189 195
144
+ --------------------------------------------PVDISGHRNNTAVSAATETKAGEFNVWGNSFAAEYLPKGRSTVHVDGVPFLFPPVCEGPDNIRCAGQFIEVPEGRYDWVHVLAASERRCEDTVDLNFADGSVDAEALRVSDFWAAPAWFGEVKAFQSLVMHYPHHVQRGVPAVMWAQRVPVTRRADLTGILLPRNVAVHVFAVTL--------------
145
+ >UniRef100_UPI00143C2064_1431344/ 151 0.465 9.734E-37 45 218 233 16 189 195
146
+ ---------------------------------------------VDISGHRNNVAISAATRTRDGAFNVWRNSYAAEYLPTGGSTVRVGGVPFTFPPVCDGPDNVRCEGQFIPVRRARYDWIHLLAASERRCEDTVGLDFADGTADAEPLRVSDFWAAPAWFGEIKAFESPAMHYPHHVQRGVPAVMWAQRVAVTRRADLTGILLPRNVAVHVFAVTL--------------
147
+ >UniRef100_A0A660RIY0_28240/ 151 0.242 9.734E-37 41 221 233 380 568 581
148
+ -----------------------------------------DFTILDISSFFNNDGIASFKHPRYGNFDnhsgIYGATYPLEELQnymNENGRLEVDDIPFVLKGLEGhMKNNTALQGEKIYLPEGRYSYIYFLGSSEHGSfRAPVTFEYSDGSRQTDDSGFSDWCQG-PQLGEKIACKMPYRYDSNGSRQSITCYLFMQTLKLAPKKELITILLPRKNTMHIFAITLRKS-----------
149
+ >UniRef100_UPI001CB7FD65_1930280/ 150 0.457 1.331E-36 44 218 233 15 189 195
150
+ --------------------------------------------PVDISGHRNNTAISAATETRAGKFNVWGNSFAAEYLPEGKSLVHVDGVPFEFPPVCEGPDNVRCAGQFIRVPEGRYDWVHVLAASERRCEDTVELNFADGSVDAEPLRISDFWAAPAWFGEVKAFESLVMHYPHHVQRGVAAVMWAQRVPVTRRAGLTGILLPRNVAVHVFAVTL--------------
151
+ >UniRef100_UPI0006902850_348818/ 150 0.243 1.331E-36 47 220 233 552 731 732
152
+ -----------------------------------------------LAHAFDDVGVSDESDTAPGNFDGDGDSYSAQALAAagvtPGATLSANGYTFTWPSaAAGAPDNVAGGSPTIEL-SGSGSRLAFLGAEAGFTSDTVTVHYTDGSSSTGTLGFPNWCCGaTDSYGAKTAFTTDHRNTPTGpANYGVSYRLYTNAIPLTAGKQVASVTLPSSSAIHVFAMAVQP------------
153
+ >UniRef100_A0A832K4Y2_2282144/ 150 0.279 1.331E-36 41 218 233 25 200 1038
154
+ -----------------------------------------DFLLLDLTSYFNNNGAATEENPSEGNFDYGGFSYAFELLPKPG-KVSVKEIPFIFPQTSQEGNNIACHSQVIKIQPDRYRAILLLGSSTNGDYEaCLWVQFSDGSRSCLKTGLTDWCRDS-VFGEIPAFSFPYRIGPEG-RQEIQNYIWLQVLRIKEEKFLSAIILPENKNIHIFAITL--------------
155
+ >UniRef100_UPI000B17B6CC_28444/ 150 0.474 1.819E-36 44 218 233 6 180 193
156
+ --------------------------------------------PVDISGHLNNTGISAATDTKSGAFNVWGNSFAAEYLPGGGDLVHVAGVPFRFPPVGDGPDNIRCAGQFLTVPEGRYDWVHVLAAAERRCEDVVETHYADGSVDAEPLRVSDFWAAPAWFGEVKAFESLVMHYPHHVQRGVSAVMWAQRVPVTRRADLTGLRLPRNAAVHLFAVTL--------------
157
+ >UniRef100_A0A7W3TA43_1472722/ 150 0.477 1.819E-36 45 218 233 15 188 194
158
+ ---------------------------------------------VDISGHRNNTAVSAATETKAGEFNVWRNSFAAEYLPAGGSLVHVDGVPFRFPPLCEGPDNVRCAGQFIRVPEGHYDWIHVLAASERRSEDTVQLNFADGSVDAEALRVSDFWAAPAWFGEIKAFESLVMHYPHHVQRGIPAVMWAQRIPVTRRTGLTGILLPRNVAVHVFALTL--------------
159
+ >UniRef100_UPI0006C193CE_1415555/ 149 0.390 2.487E-36 43 227 233 5 191 193
160
+ -------------------------------------------TVVNLSAHFNNRGIQPPDTPGDYGFNIWRNTFPAEELPEPGSLVDLVGAVFEFPaRASAAGDNVRCRGQLVELPGGRWDWIGLVGAAERRTEDEVELHYADGTVRREWLRMSDfWPQTAAYFGEPRAFVTGGMRYPRHTHPHHAPSIWQQRVPVRVPAPLAAVRLPDNPAMHVFAMTVTADEESRLA-----
161
+ >UniRef100_A0A977Y500_2809700/ 149 0.418 2.487E-36 42 218 233 11 187 200
162
+ ------------------------------------------YHAVDLAPYSNNVGISAAGHTSRGAFNVWGNSFPAEHLPESGAPVSVGGVPFRFPRVGVGDDNVRCDGQFIAVEAGRFDWLHLLTASERRAEDVVEMHFANGSVDPEWLRVSDFWAAPAWFGEATAFATPVMHYPHHVQRGVSAMLWSQRVPVTRRADLSGFRLPRNAAVHVFAATL--------------
163
+ >UniRef100_UPI00189254C3_280293/ 149 0.243 2.487E-36 47 220 233 554 733 734
164
+ -----------------------------------------------LASAFNNIAISDETNPGPGNFDGDNDSYSAQALAAagatPGASIKAGGTTFTWPsSATGTNDNVAGSGVLVNVT-GQGSKLGFLGAEAGFATDTVTVTYTDGSSGSGSLGFPNWCCSSPtAYGATPTIVTTHRNTPSGPANfGIDYDVFYNSIAIDATKTVKTVSVPNDPAIHIFAMTVQP------------
165
+ >UniRef100_UPI001E52087D_2714956/ 149 0.259 2.487E-36 2 217 233 772 1005 1010
166
+ --SWLPESlFLNGGTVTVEVgskantgwgtkaaDLPVDRMPTapAPVPNLPtACVVQGSNCLQSLAGQYDIDGVTTDDNMGQGVFGTNGWSWPAELLPAPG-VGTAAGRPYLFPDTTGtAGNFLSARGQTIHLTPGRYSALDAVTASHNGNyRGDVTVTYSDGTTSKASLMSTDWAAAAPAYGEETAIDVPTRHRNTGIHDGLRVRMWHVALAVDSTRTAVSITLPNLPNMKVYALT---------------
167
+ >UniRef100_A0A557ZXY0_715473/ 149 0.264 2.487E-36 52 216 233 868 1044 1048
168
+ ----------------------------------------------------NNAGISPDAKPAAANFDGVGFSYSSDALAAagakAGSTVTVNGLSYSWPNYPaGSPDNVIAQGQTVNV-SGSGQLAFLGAAANGNASGTVTVTYTDGTTSTANLGFSDWTLGagaaQPAFGNQVAFRTPYRNSVGGDSQQINTYVFAsAPIALAAGKTVKSVTLPSSvsgGQLHVFAI----------------
169
+ >UniRef100_A0A0N0T605_1519492/ 149 0.437 3.401E-36 44 218 233 2 175 180
170
+ --------------------------------------------PIPLAPHLNNTGLTGADGLDGGGFNIWGNTFPAGELPPSGSTTVVHDVPFLFPAA--GADNVRCRGQRVEVPPGRWDWVHVLGAAERRTEDLLEVHYSDGSVRGQWLRMSDfWPQTEPRFGELLAFRCRHMHYPRHVQRTMSPSIWAQRVPVTVPSDVVALVLPDNPALHVFALTL--------------
171
+ >UniRef100_A0A918SWL6_67368/ 149 0.385 3.401E-36 43 227 233 5 191 193
172
+ -------------------------------------------TVVNLSAHFNNRGIQPPDTSGEYGFNIWRNTFPAEELPEPGSLVELEGTVFAFPaRDTGAGDNVRCRGQLVELPAGRWDWIGLVGAAERRTEDEVELHHADGTVRREWLRMSDfWPQTAPYFGEPLAFSTSGMRYPRHTHRHHAPSLWQQRVPVRVPAPLAAVRLPDNPAMHVFAMTVTADEESRLA-----
173
+ >UniRef100_UPI0012EAE0B8_2654677/ 149 0.413 3.401E-36 42 225 233 6 191 195
174
+ ------------------------------------------STVVDISEACDNRGIAKSGADESYGFNIWRNTFPAESLPAPGSSVAVAGVTFEFPaRESGRGDNIRCRGQLLPLPAVRPDWLYLLGAAERRTEDEVELHYADGAVRTAWLRMSDfWPETAAWFGEPEAFRTSGLRYPRHTHDGHRPAIWQQRIPVTVAGELTALRLPDNPAMHVFALTAVREPGVR-------
175
+ >UniRef100_A0A428Z1R9_2030/ 149 0.327 3.401E-36 45 220 233 733 908 910
176
+ ---------------------------------------------VDLAAALNNDGFTNEFQMNDGDFDGAGNTYPAAQLPQTG-HAEDDGIPFEFVNGNeGAPNNIIPAGQTIQLPPGKYPTMHLLAASDNGNTNTkLTVTYADGTAQ-VPLQITDW-RASPAFGETEALRTRQMHTRTGPAETR-LSIFHQKVPLDPARELLSITLPaaAKPRPHIFAITLQK------------
177
+ >UniRef100_UPI0019405FD2_566021/ 149 0.472 4.649E-36 41 221 233 2 182 190
178
+ -----------------------------------------EQVPIELAAHLNNAGITPASDTGRGRFNVWRNSLPGEELPL-GRPFTAGGVRFAFPAAgPGRPDNVRCEGQLVTVPPGRYDWCCLLAAGERRVEDEVALHFADGSVDFEPVRVSDFWAASAVFGEEEAVATSVMHYPQHVQPGVTAHIWCQRVPVTRRAELRRLRLPHNVALHVFAATLCPS-----------
179
+ >UniRef100_UPI001AEB6BB5_882444/ 149 0.457 4.649E-36 44 218 233 12 187 194
180
+ --------------------------------------------PVDLSAYFNNTGATAKSDLARGRLNVWQNSFPAEELPDAG-IFVATSVPFEFPAiGPGRHDNIRCAGQRVELPAGRWDWIYLLACSERRSEDVLQLHYTDGTVDAEWLRVSDfWPASPPHFGEVEAIRCEQMHFPRHIQPRVGPRIWQQRVPVPRQHDLAALRLPDNIAIHVFAMTL--------------
181
+ >UniRef100_UPI001C40B55E_200378/ 148 0.497 6.356E-36 43 217 233 6 182 190
182
+ -------------------------------------------VPIDLGPLFNNIGATVETDLGRGGLNVWKNSLPAADLPAAGSLFRYTDVPFRFPEvGSGLPDNVRCEGQRVDLPPGRYDWIYLLACSERRSEDVVHLHYASGEADDEWLRVSDFWAAAPShFGEVEAVPCSRIHFPRHVQRGIAPRIWQQRLPVPRQQPLAYLRLPDNIAIHVFAMT---------------
183
+ >UniRef100_A0A7K2ZJK9_2690253/ 148 0.464 6.356E-36 44 224 233 15 195 197
184
+ --------------------------------------------PVDISGHRNNTAISAATETKAGAFNVWGNSFAAEYLPAGESLVHVDGIPFRFPPVCEGPDNVRCAGQFFGVPEGRYDWLHLLAASERRCEDTVELHFADGTLDAEPLRISDFWSAPAWFGEVKAFESLVMHYPHHVQRSVSAVMWAQRVPVTRRAVLTGVRLPRNVAVHVFAATVQRTEGA--------
185
+ >UniRef100_UPI001BA8A0F4_2802641/ 148 0.274 6.356E-36 36 220 233 30 212 765
186
+ ------------------------------------ASDAPNPVPVPLDGLFDNDGI-DTATTHDGNFDGSGYTFPAEGLPS--GQVTVDGVPFTFPSATGK-NNIVAMGQQIPLPQGRYvTALFLTACSYGATGGTATIHYADGSTSEAQLGGADWYSG---SGQLVA---PFRYTPGGRTDQSPVSISTSQVWIDPNRDAVAITLPTTspavegkSSLHIFALSLQP------------
187
+ >UniRef100_UPI001F2867CD_211113/ 148 0.322 6.356E-36 45 220 233 733 908 910
188
+ ---------------------------------------------VDLAAVLNNDGLTNEFQMNDGDFDGAGNTYPAAQLPQTG-YVEDDGIPFEFVNGNeGAANNIVPIGQTIPLPPGKYPTMHLLAASDNGNtTTTLTVTYTDGAAQ-VPLQITDWRTP-PAYGETEALRTRQMHTRNGTAETRLT-IFHQKLQLDPARDLVSITLPaaTKPRPHIFAITLQK------------
189
+ >UniRef100_A0A563EK61_2591470/ 148 0.295 6.356E-36 5 223 233 739 949 950
190
+ -----HPDFTIAPVKITE-PARAWGLPALP----PGGVAA----PVDITGLFDNDGLSNEFTSRDGDFDGAGNTYPAAQVPQTGG-VTDDGIPFEFTNGDEaSKNNVIAAGQTIAMPAGRYAKLHLLAAADTGNVDaPGVATYVDGTTAPIRFAVTAWRSG-PQFGESEPITTTLMHTPSGPQQA-KVAIFHQVIGLDPARDLASITLPKlaGPRLHVFGITLEKAKA---------
191
+ >UniRef100_A0A7V2UGE7_2026780/ 148 0.264 6.356E-36 41 219 233 33 223 1084
192
+ -----------------------------------------GQVPLNLEGLFDNDAIADAQRRADGNFdcpdhaaDIPGSVFPAENLPATGSKFSFDGIHFLFPSKErGDLNNVACEGQRIDVPPARYKALHIIGTSENGSfRDSLQLAYKEG-PAEAELTLRDWCQ-KPAAGDRVAFEAPCRYTwspqkRGMIREEIQPRIWRQTIPLDPAKTLEALTLPYNRRMHVFAATLE-------------
193
+ >UniRef100_A0A919S905_113560/ 148 0.440 8.688E-36 45 227 233 5 188 190
194
+ ---------------------------------------------IDLSGFFTNRGLQPPGTTGDYGFNIWSNTFPAEELPPAGTVADVAGVPFSFPPDAATGDNIRCRGQVIPLPEGDWDWIYLIGAAERRTEDRVELRYRDGSVRPAWLRMSDFWPETPmRFGEPLAFRTRSMRYPRHTHRNHAPALWQQRIGVAQPEDLAAVRLPDNPAMHVFALTLVADEEARCA-----
195
+ >UniRef100_UPI0019447DF0_113566/ 148 0.445 8.688E-36 45 227 233 5 188 190
196
+ ---------------------------------------------IDLSGFFTNRGLQPPGTTGDYGFNIWSNTFPAEELPPAGTVADVAGVPFSFPPDAATGDNIRCRGQVIALPAGDWDWIYLIGAAERRTEDQVELRYRDGSVRPAWLRMSDFWPETPvRFGEPLAFRTRSMRYPRHTHQNHAPALWQQRIGIAEPGNLSAVRLPDNPAMHVFALTLVADEEARCA-----
197
+ >UniRef100_UPI001FEC609C_2508722/ 148 0.477 8.688E-36 44 223 233 15 194 197
198
+ --------------------------------------------PVDISGHRNNTAVSAATDTKAGRFNVWGNSFAAEYLPAGGSLVHVAGVPFRFPPVCDGPDNVRCEGQFLEVPEGRYDWVHVLAASERRCEDTVGMHFADGAVDAEPLRVSDFWAAPAWFGEVRAFESLVMHYPHHVQRNVSALMWAQRVPVTRRAGLTGVRLPRNIAVHVFAVTLQRTEA---------
199
+ >UniRef100_A0A6G7PB94_2714844/ 148 0.482 8.688E-36 45 218 233 19 192 198
200
+ ---------------------------------------------IDISDLRNNAAISSAVETGAGAFNVWRNSFAAEYLPAGGSLVHVDGVPFEFPPVCEGPDNIRCAGQFIKVPRDRYDWIHVLAASERRSEDTVELTFADGSVDAEPLRVSDFWAAPAWFGEVKAFESLAMHYPHHVQRGVPAVMWAQRVAVTRRADLTGILLPRNVAVHIFAVTL--------------
201
+ >UniRef100_A0A4R0HF04_1124743/ 148 0.394 8.688E-36 25 218 233 35 228 237
202
+ -------------------------MPDQMPDQMPATSVQARCRAVNLAPHRNNVGSTPATDTRGGAFNIWGNSFPAEELPAPGQ-FVVDQVAYDFPPTGrGTADNVRAAGQFIEVPSGRYDWLYVLGAAERRVEDELAFHFADGSVDFEQLRLSDFWAAPGWFGETQVRATRSMHYPFHVQAGVPAMLWSQRVPVTRRAALAAVRLPRNPAVHLFAATL--------------
203
+ >UniRef100_A0A3E0IAZ0_1045776/ 148 0.284 8.688E-36 36 220 233 31 213 766
204
+ ------------------------------------ASDAPNPVPVPLDGLFDNDGI-DTATTHDGNFDGSGYTFPAEGLPS--GPITVDGVPFTFPAATGK-NNIVAMGQQIPLPKGRYvTALFLTACSYGATGGTATVHYADGTTSQAQLGGADWYSG---SGQLVA---PFRYTPGGGTDQSPVSISTSQVWLDPARDAVAITLPTTnpavegkSSLHVFALSLQP------------
205
+ >UniRef100_UPI000DE266A4_2249762/ 148 0.264 8.688E-36 33 221 233 747 936 938
206
+ ---------------------------------LPPIQPPGETTPVDLSAHFDNDGVSTHENMADGDFDGTGRTYPAEELPPAGPYL-HQGVSFLIPSfADGAHNNLTARGQVIAVPPGRYARLRLVGACAYGSLDTkLIATYADGSTAELPFVMSDW-AGQPAAGGSEVTRCTHRHGKAG-PDALKVALFEVPIALDPARELRSITMPVRvkPQLHVFALSVEKS-----------
207
+ >UniRef100_A0A7L6B3W5_2749844/ 147 0.422 1.188E-35 45 217 233 14 188 196
208
+ ---------------------------------------------VDLSACFNNTAATTPETTGAGGLNVWRNSFPIEELPDATEVFRPGAVPFRFPRTgPGRLDNVVCAGQRIDLRPARYDWIYLLACAERRIEDVVHLHYRDGSVDEEWLRVSDfWPASPPRFGELEAVRCDRIHFPRHVQPGIGPRIWQQRLPVPRQEELVYLRLPDNIAVHIFAMT---------------
209
+ >UniRef100_A0A2M7SAS6_1974543/ 147 0.279 1.188E-35 35 220 233 24 215 216
210
+ -----------------------------------GAGGGAGCVPVDISKLCNNDGIAPDDDATGGDFDAGGASYTAKAWPKVGKTgVTVNGVPFLVAGADKKVNNIACEGEAVQVPAGSYKAILMLASATNVPEGSmedaLTLVYKDGTKSAVNFKLTDWC-VEPKEGEKKAYSFTYRmsTGTEGGHHEIPCYLFLQTVKIDGKKELASIRLPEQKDIHIFAITLQK------------
211
+ >UniRef100_A0A938MG41_2026780/ 147 0.286 1.188E-35 43 218 233 67 249 254
212
+ -------------------------------------------TLLDLAAAFNSDGISTEENAKDGNMDApgkpNGASYPKDELPAAHSLLTLKGkpvMTFLFPDGqDGKLNNIACSGQTVHVPAASYVELWVLGAATYGAQtSDLELRYEDGS-ETEPLELSDWC-ETPGFGERQAVVAKHRHGWKGEEEDIPCGLWAQRVPLDAKRKLVALVLPQNAKMHIFALSL--------------
213
+ >UniRef100_A0A938S8T3_2026780/ 147 0.286 1.188E-35 43 218 233 743 925 930
214
+ -------------------------------------------TLLDLAAAFNSDGISTEENAKDGNMDApgkpNGASYPKDELPAAHSLLTLKGkpvMTFLFPDGqDGKLNNIACSGQTVHVPAASYVELWVLGAATYGAQtSDLELRYEDGS-ETEPLELSDWC-ETPGFGERQAVVAKHRHGWKGEEEDIPCGLWAQRVPLDAKRKLVALVLPQNAKMHIFALSL--------------
215
+ >UniRef100_A0A5N0UUJ1_2596893/ 147 0.258 1.188E-35 52 216 233 884 1060 1065
216
+ ----------------------------------------------------NNAGISPDAQPGVANFDGVGFSYSSDALAAagatPGGTVTVDGLSYTWPNYPaGDPDNVLAQGQTVNV-SGSGRLAFLGAAANGNASGTVTITYTDGSTSTAQLGFSDWTLGAGaqqlAYGNVKAVTTSYRNSTGGDTQQIGTYVFAsAPITLDSGKQVASVTLPSSvsgGQLHVFAI----------------
217
+ >UniRef100_A0A2H5B2X5_2018025/ 147 0.488 1.624E-35 45 218 233 15 188 194
218
+ ---------------------------------------------IDISGHRNNTAVSAATDTGAGAFNVWRNSFAAEYLPAGGSLVEVDGVPFDFPPVCQGPDNVRCAGQYLEVPRDRYDWIHLLAASERRCEDTVELTFADGSVDAEPLRVSDFWAAPAWFGEVKAFESLTMHYPQHVQRGVPAVMWSQRVAVTRRVDLTGLLLPRNVAVHVFAVTL--------------
219
+ >UniRef100_A0A5C4LYC7_2547244/ 147 0.269 1.624E-35 52 216 233 867 1043 1050
220
+ ----------------------------------------------------NNAGISPDAKPAAANFDGVGYSYSADALAAagakAGSTVTVNGFSYTWPAYPaGSPDNVIAQGQTVNV-SGSGQLAFLGAGSNGNASGTVTITYTDGSTTAASLGFSDWTLGgggaQPAFGNQKAFTTSYRNSVGGDPQQINTYVFASTpITLSAGKTVQSVTLPSSvsgGQLHVFAI----------------
221
+ >UniRef100_A0A0K3B8B7_703222/ 147 0.259 1.624E-35 47 216 233 898 1082 1086
222
+ -----------------------------------------------LRSAYNNVGISPDNAMASANFDNVGFSYSANALAngglKPGGTVTVDGLAHTWPITDiGEPDNVVAGGQTVNVQaQSGASKLALLGSAANGtASGQLTITYTDGSTQQAQVGFSDWTLGgggqQPSFGNRIAATSSYRNSVNGSSQGLNTYVFATEpVGLDPSKQVKSVTLPPTvsgGTLHVFAL----------------
223
+ >UniRef100_A0A8J3I4R3_2778364/ 147 0.284 1.624E-35 51 216 233 1027 1201 1205
224
+ ---------------------------------------------------YNNVGTSDDSAPSFGNFDAQGNSYSAQALQQvgliPSQNVTVNGVTFIWPNmAPGYFNNYQAAGQTIGVTPidGATTLAFLGSASNKGSSGTATITYTDGSTQTFTLGFTDWVTSTLSYGNSIAATMSYHNASTGKQTG-NTYIFYTSVTLQAGKTIQSVTLPatfTGGQPHVFAI----------------
225
+ >UniRef100_UPI00143BFCD2_2720606/ 147 0.482 2.219E-35 45 218 233 4 177 183
226
+ ---------------------------------------------IDISGHRNNTAVSAATETTAGEFNVWRNSFAAEYLPAGGSLVHVDDVPFRFPPVCEGPDNIRCSGQFIRVPEGRYDWIHVLAASERRTEDTVELSFADGSVDAEALRVSDFWAAPAWFGETKAFESLVMHYPHHVQRGIPAVMWAQRVPVTRRTGLTGILLPRNVAVHVFALTL--------------
227
+ >UniRef100_UPI00058392A0_703222/ 147 0.312 2.219E-35 33 220 233 726 913 917
228
+ ---------------------------------LPKLPDQGSTVPVDLVAALNNDAFTNEFHMGDGDFDGAGNTYPAAQLPQTGQA-SDDGIPFEFVNGNeGAPNNIVPAGQQIALPPGQYTTLHLLAASDNGNtNAKLTVTYTDGTAQ-VPLQVTDW-RAAPAYGETEALRTSQMHTRTG-PQPVRLSIFHQKIPLEEARHLVSIALPaaATPRPHIFAVTLQK------------
229
+ >UniRef100_A0A9E9FHN1_2979468/ 146 0.434 3.034E-35 39 221 233 1 183 192
230
+ ---------------------------------------AADFQCIDLSAWYNNVGLTRPDNTSAGAFNVWRNSLPAPELPC-GQRVTVEGVPFLLPPADGnRYDNVRCDGQVAPVPRGAYDWVYLLTTAERRVEDEMSLHFADGAVDFEPLRVSDFWVAPAVFGETAAFTTTVMHYPRHIQRNVPATVWSQRVPVTRRGRLRAVRFPDNLAVHILAMTLCEA-----------
231
+ >UniRef100_UPI001E6135CD_1617086/ 146 0.480 3.034E-35 44 218 233 18 192 200
232
+ --------------------------------------------PVDISGHRNNTAISAATETKAGAFNVWGNSFAAEYLPAGGSLVHVDGVPFEFPPVCDGPDNIRAAGQFIGVTPGRYDWIHVLAASERRCEDTIELSFADGSVDAEPLRISDFWAAPAWFGEVKAFESLVMHYPHHVQRGVPAMMWAQRVPVTRRAELTGILMPRNVALHVFAVTL--------------
233
+ >UniRef100_A0A9E3BI44_2740538/ 146 0.268 3.034E-35 31 217 233 734 926 930
234
+ -------------------------------PSFPPAATGGNS--------FNNEGTSNDSNTAVGNFDGGGNSYSNNALSaagfASGSTVMVNGISFQWPTvAAGSDDNWQVAGQGIPVNgrSGATTLAFLGAATSGPSSGTIMVTYTDGSTQTFTLAFSDWTlnggRSTILSGDSIAVQMSYRNTPTGQQTNHPTYVFLTSVTLAAGKTVKSINLPssvSQGTMHVFAIS---------------
235
+ >UniRef100_A0A941IQY1_1508375/ 146 0.278 3.034E-35 33 215 233 1314 1504 1510
236
+ ---------------------------------LSGAATQVPYS--SLAAGFNNVSITDDSDHSptgfDGGLDGGGNSFSAEALAAagltPGTDFTFDGVVFTWPNsAAGTPDNIEADGRAFDVTGTGSTLGFLGAAANGASSGTVTVTYTDGTTQQFTIGFGDWASTTPYAGGQVAVTSAYGNTSSGTS-PWKASVFYDSVTLPAGKTVQSVSLPTAGSapLHVFA-----------------
237
+ >UniRef100_UPI0018E54A72_714197/ 146 0.443 4.147E-35 45 218 233 1 176 190
238
+ ---------------------------------------------VDLSRYCNNRGIQPPGSSGEYGFNIWGNTFPAEELPEPGTRVGVCGVPFEFPvGAAPSGDNVRCRGQLVEVPPGDYDWVYLLGAAERRTEDHLGLVYADGTELAEHLRMSDFWPETGSrFGEPLAFRTTALRYPRHTHTPHEPSIWQQRSPVSVRGRLRALRLPDNPAMHVFAVTL--------------
239
+ >UniRef100_A0A1R0KG38_76021/ 146 0.390 4.147E-35 40 224 233 3 189 192
240
+ ----------------------------------------AGMRSLSLLEHVNNTGLSAVDDLAAAGFNIWGNSFPAADLPAPGATSVVGGVSFRFPeRAPDGRDNVRCRGQRIAVPEGRWDWVHVLGAAERRTEDPLLLRYADGAVRAQWLRMSDfWPETEPRFGELLAYRCAAMHYPRHVQRTTAPAIWAHRVPLTVPDGVVALELPDNPALHLFAITLQAGERV--------
241
+ >UniRef100_A0A1K1S937_546364/ 146 0.289 4.147E-35 40 227 233 46 234 781
242
+ ----------------------------------------PPPVPVALDTWFTNDGIDSASATG-GDFDGSGYTFPAEQLPV-GRTATVGGVPFRLGSaAAGAKNNIAATGQTIDLPKGRYFVAYFLVAASYGtAGGTATVHYADGSTSTGSLSGPDWYTGTG------ALVSPFRYAPGGVVDGNPVSLATGQVWIDPAREAVALTLPTTANpapnvasLHVFALTLQPVAVGRAA-----
243
+ >UniRef100_UPI001AE5AA53_130796/ 146 0.301 4.147E-35 39 220 233 768 950 953
244
+ ---------------------------------------GGDTVRVDLEPHHTNDAITNEFYLGDGDFDGTGRTYPSGQLPQNGA-LTNDGIPFTFTNGhEGTRNNVLAAGQTIPLPEGAYTRLHVLGASDNGNTDaQATLHYTDGTAATVRLALTDWL-TSAAFGESEAVRTNQIHDRTGPR-PRRASVFHQVLPVDPARRLRALTLPttTRPRAHVFALTLEK------------
245
+ >UniRef100_A0A7I8EN04_2717365/ 146 0.263 4.147E-35 43 227 233 43 230 968
246
+ -------------------------------------------TPVSLSSLFNNKGVG--GAPGQANFDGSGYAYPANQLPGAGQQ-TLNGIPYLFPNYsAGANDNVVALGQTVSLSPGeqqQYQQISLLaAASYGPSGGTLTIHYTDGSSSSVSLTVSDWYTPTAG-----LVSTTYRYTPTGTEQ-HAVHIYALSALVDATRTVASLILPNtaqpaagQASLHIFALTLLPSTQVPVP-----
247
+ >UniRef100_UPI002020D29A_211113/ 146 0.240 4.147E-35 19 214 233 835 1059 1065
248
+ -------------------SVAVRVEPGTPeatyqvVVQFTGPQGVLQSAPLqilvaqpgSLRSVYNNVGISPDNAMASANFDNVGFSYSANALfnagLKPGGTVTVDGLTHTWPvTAVGEPDNVIAGGQTVNVPaAAGATKLAFLGSAANGtASGTLTITYTDGSTQQAQVGFSDWTLGgggqQPSFGNRKAVTSSYRNSVNGSSQGLNTYVFATEpVALDPSKQVKGVTLPSSvsgGTLHVF------------------
249
+ >UniRef100_A0A495L449_2183912/ 145 0.437 5.669E-35 42 217 233 17 192 209
250
+ ------------------------------------------WAPVDLRAHVDNRGISPADESAAGAFNIWGNSFPSEHLPRAGSRVEVEGVPFEFPVSSDNGDNVQCAGQLVSVPVERYDWIYVLAAAERRAEDEAALHFTDGWVDFEPLRVSDFWAAPSVFGEVSAYRTPVMHYPHHVQPGVQAALWCQRLPVVRRAALTSIRLPRNNAVHVFAMT---------------
251
+ >UniRef100_UPI001C636FC7_1291556/ 145 0.410 7.748E-35 55 220 233 1 167 172
252
+ -------------------------------------------------------GIEFTRRPGDGAFNIWRNTFPAEDLPR-GEIVDVGGVPFCFPAADGRhPDNLRCRGQRIELPVGRVDWLCFLAAAERRTEDTLSVHYADGATRAQWLRVSDfWPETPPRFGDVLAFRTPYLLYQRHAQSGMAPAIWRQRVPVTIPGDVAAVTLPENPAMHIFALTLLT------------
253
+ >UniRef100_UPI00099B8A4C_89050/ 145 0.275 7.748E-35 32 224 233 836 1038 1167
254
+ --------------------------------WASGASAAPPSYA--GSPTYTDVGVSDDASPAAADFDGVGNSYSAQALAAagasPGAKITAGGTTFTWPtPAAGQPDNYEANGQSVAVSGSG--SIAFLGAANHGPStGTATVHFTDGTTQSVQLTFSDWTLGggkaTPAAGDTTALTTSYRNKTGASSEQVATYVFAtAPVALPSGKTADSVRLPSDtsaGGLHVFAIGFGGAAAA--------
255
+ >UniRef100_A0A6H9XE76_1873/ 145 0.427 1.059E-34 33 218 233 0 185 195
256
+ ---------------------------------MPTSATIAAHV-LDLASHFNNVGASRAEDTSAGRFNVWGNSFAAEHLPSAGSQVVVDGVPFQLPPlGTGTPDNVRCDGQFVRVAPGRYDWLYLLASAERRVEDEMALHFAHGAVDFEPLRVSDFWAAPATFGETRAFESPLMHYPHHVQFGVPAAMWCQRVPVVRRADLTAVRLPHNIAVHVFAATL--------------
257
+ >UniRef100_K0JYB8_1179773/ 145 0.428 1.059E-34 37 224 233 6 193 196
258
+ -------------------------------------TGHDVFCSVDIAGHRNNVGITSVGGTGVGGLNVWRNSLPAEQMPC-GEVVVLDGVPFEFPTAgSGEPDNVRGDGQLLELPAGYYDWVHLLACGERRVEDELALYFTDGSIDFEHVRVSDFWAAEPVFGETSALRSTVMHYPQHVQPRVPGIIWAQRVPVPRRAELKAVRLPRNVALHVFALTAQRATGA--------
259
+ >UniRef100_A0A8J3IWF3_2778369/ 145 0.229 1.059E-34 47 217 233 916 1098 1101
260
+ -----------------------------------------------LLSYYNNIGISNDSSANTADFDGDGYSYSAQQLTsagfTPGATVTVSGIAYTWPNVqPGVYDNIEVNGQTIQTPnaPANAAHLSFLGSATNGDtQGTVTITYTDGSTQTAQLGFSDWTLGagaePVAYNNVVAAKTSYRN----PNDKVTTYVFASeSIALSSGKTVASITLPNPMNMgalHIFTFT---------------
261
+ >UniRef100_A0A1V2RDC8_1857892/ 144 0.434 1.448E-34 39 221 233 1 183 192
262
+ ---------------------------------------AAGFTCVDLSAWYNNVGLTRPDNTSAGAFNVWRNSLPAHELPC-GQRVTVEGVPFVLPQADGdRCDNVRCDGQVAPVPCGAYDWVYLLTTAERRVEDEMALHFADGAVDFEPLRVSDFWVAPAVFGETAAFTTTVMHYPHHIQRNVPATVWSQRVPVTRRGRLRAVRFPDNLAVHILAMTLCGA-----------
263
+ >UniRef100_A0A918GZH9_1951/ 144 0.457 1.448E-34 44 218 233 15 189 195
264
+ --------------------------------------------PVDISDHRNNTAISAATETRAGAFNVWRNSFAAEYLPAGQSLVHVDGVPFEFPPVCDGPDNVRCAGQFIRVPVGRYDWIHVLAASERRCEDTVELNFADSSVDAESLRISDFWAAPAWFGEVRAFESLVMHYPHHVQRGIPAVMWAQRVPVTRRADLTGILLPRNVAVHVFAVTL--------------
265
+ >UniRef100_A0A918U5A5_68238/ 144 0.295 1.448E-34 44 219 233 48 225 603
266
+ --------------------------------------------PVPLDRLFDNRAVSDDARPGAADFDGSGASLSAQDLAAagwtPGRSLTVQGARLTWPrPAAGRPDNVRADGQTVRV-RGRGDALAFLAAGTGGEdlTGTGTVRYADGSRSAYRLDVGDWRTGPLA---TKAVALPHVNTP-GGRLAERARLYVVTVPLARGREVASVHLPREPDLHVFALSVR-------------
267
+ >UniRef100_A0A4R2IR67_1213861/ 144 0.266 1.448E-34 36 225 233 31 220 766
268
+ ------------------------------------TAAAPTPVTVSLTQYFDNNGIDSASAR-DGNFDGSGYTYPAEALPTGG--ITVDGVPFTFPSaAKGVKNNIVAMGQTLDIPRGKYHAGHFLVAgSYGMASGTATVHYADGGTTTASLAGPDWYNSSGP------ISASYRYAPNNGTDQHPVAIAAAQIWLDAGREAVSVTLPVtqpaqagQTSLHVFAMTVQAAAKGR-------
269
+ >UniRef100_UPI001FE67354_2698649/ 144 0.245 1.448E-34 47 214 233 887 1069 1075
270
+ -----------------------------------------------LRAAYNNVGISPDNAMSVANFDNVGFSYSANALSnaglKPGGTVTVDGLPHTWPLTEvGEPDNVIASGQTVNVQaAAGATKLAFLGSAANGtASGTLTITYTDGSTQQAQIGFSDWTLGgggqQPSFGNRIAVTSSYRNSVNGSSQGLNTYVFATEpIALDPSKQVRSVTLPSSvsgGTLHVF------------------
271
+ >UniRef100_UPI002092D67B_79912/ 144 0.259 1.979E-34 47 215 233 906 1090 1096
272
+ -----------------------------------------------IEWYQNNAGISDDGKAGTANFDGGGWSYSAQALAAaglkPGQPVAWKGFTFTWPNrTPGQLDNVQANGQVVDLPaaPKGASQLAFLGAAGNGDaSSTVKITYTDGSTATAKLELSDWALGadayPPKFGNEIVAKTPYRNTSDGGTQKLNIYVFAATpIALDASKQVQSVTLntPSSgGSLHVFA-----------------
273
+ >UniRef100_A0A9E9MNL7_2944128/ 144 0.265 1.979E-34 47 222 233 934 1125 1423
274
+ -----------------------------------------------LLAAFDNRGISDDTAVAAGNFDGGGRSYSAQALAAagltAGQPVTAGGISYGWPlPAPGYPDNAIAAGQAITLdaPSGTAQVGVLGAASNGPSQGIATLTYADGSTDRYWLGLSDWTlnggSAHPSYGNLVAARTTYRNCAgcSGGRDSVDTDIFATSLPADPAKTLTSLTLPsgtTRGQLHVFAIGTSTSA----------
275
+ >UniRef100_A0A6B2VD27_2706027/ 143 0.471 2.704E-34 42 219 233 6 183 195
276
+ ------------------------------------------FLPVRLDKHWNNRAVSAVGETGTGRFNVWRNSFPAEHLPAPGGELVVGDVPYRFPQTTADGDNIRCAGQYLPLPEGRYDWIHLLASGERRVESELALHFADGEVDFEAVRVSDFWAAPARFGEREAARTPVMHYPHHVQQGVAAVLWSQRVPVTRIATLHGVRLPRHIALHVLALTLE-------------
277
+ >UniRef100_A0A3R9DPL9_2267691/ 143 0.289 2.704E-34 40 227 233 48 236 783
278
+ ----------------------------------------PPPVPVTLDAWFTNDGIDSASATG-GDFDGSGYTFPAEHLPA-GQTTTVGGVPFKLGSaAAGAKNNIAATGQRVDLPKGRYFVAYFLVAGSYGtAGGTATVHYADGTTSTGSLSGPDWYTGTG------ALVSPFRYAPGGVVDNNPVSLATGQVWVDPAREAVAVTLPTTANpapnvasLHVFALTLQPVAVGRSA-----
279
+ >UniRef100_UPI0021528536_2945988/ 143 0.284 2.704E-34 26 227 233 40 236 783
280
+ --------------------------PDTPIVPPP------PPVPVALDTWFSNDGIDSASATG-GDFDGSGYTFPAEHLPA-GRTTNVSGVPFTLGSaAAGAKNNIAATGQTIDLPKGRYFVAYFLVAASYGtTGGTATVHYADGSTSTGSLSGPDWYTGTG------ALVSPFRYAPGGVVDNNPVSLATGQVWVDPARDAVALTLPTTANpapnvasLHVFALTLQPVAVGRSA-----
281
+ >UniRef100_UPI00210A4B97_68230/ 143 0.387 3.696E-34 43 223 233 17 198 199
282
+ -------------------------------------------HPVAIEDFLDSVGVEPNSRSGLGAFNIWGNAFPAEALPC-GTLTELDRVPFRFPPADGvRPDHLRCRGQRIPLPAGRADWIHVLGAAERRTEDDVLLEYADGSARRQWLRLSDfWPQTGPRFGERLAFRTGSMLYPRHEQLTMSPSIWHQRIPVAVSDGLRAIVLPHNPAMHLFALTLVEAAA---------
283
+ >UniRef100_UPI001FB83ACA_1213861/ 143 0.250 3.696E-34 23 217 233 831 1054 1057
284
+ -----------------------RAEPDTPeatyqvAVTFSGPGGSLGSATLqilvappgSLRASFNNIGISPDNAMSVANFDNVGFSYSANALAnvgvKPGAAITVDGLAHTWPiTGLGEPDNVVAAGQTIVVTaPAGATKLALLGSAANGSaSGTLTVTYTDGTTQQAAVGFSDWTLGgggqTPSFGNRIAAASQYRNSVNGNTQGITTYVFAtAPIGLDATKQIRSVTLPgsvSGGSLHVFALT---------------
285
+ >UniRef100_A0A399GYA9_2259644/ 143 0.377 5.051E-34 38 223 233 12 198 199
286
+ --------------------------------------TVGAAHPVAIEDYLDSVGVEPNSRSGRGAFNIWGNAFPAEELPC-GNLTELDRVPFRFPAADGkRPDHLRCRGQRIPLPAVRADWIHVLGAAERRTEDSVLVEYADGTVRRQWLRLSDfWPQTGPRFGERLAFRTTAMLYPRHEQNTMSPSIWHQRVPLAVADGLSALVLPHNPAMHLFALTLVTEAA---------
287
+ >UniRef100_UPI0015643D0C_2698649/ 143 0.455 5.051E-34 39 217 233 18 196 206
288
+ ---------------------------------------GSRFHLVDLDLHRDNVGVTSSSATGYGAFNVWGNSLPAEELP-SGRAIQVEDVPFTFPaTGGGRPDNVRCAGQHITVEPGQYDWLYLLTAAERRVEDEIAFHYADGAVDFEPLRVSDFWAAPAVFGETSAFTTLTMHYPYHVQANVSAMVWCQRVPLVRGAALAAMRLPRNPAVHIFAAT---------------
289
+ >UniRef100_UPI00234B0C2D_2944250/ 142 0.465 6.903E-34 45 218 233 0 173 179
290
+ ---------------------------------------------MDISGHRNNAAVSAATETKAGEFNVWGNSFSADYLPAGKSLVHVDGVPFEFPPVCEGPDNVRCAGQFIRVPEGRYDWIHVLAASERRCEDTVELSFADGFVDAEALRVSDFWAAPAWFGEVKAFESLVMHYPHHVQRGIPAVMWAQRVPVTRRAGLTGILLPRNVAIHLFAVTL--------------
291
+ >UniRef100_UPI000A54E855_1710355/ 142 0.464 6.903E-34 45 222 233 3 182 196
292
+ ---------------------------------------------IDLSPLLDNVGTSTTADTSAGRFNVWGNSFAAEDLPAPGSVVMVDAVPFTIPPvGTGAPDNVRCAGQYLALPGGPatADWIHVLAAGERRVEDEIALHFADGSVDFEPVRVSDFWAAPPAFGETRAFAT-LMNYPIHTQFGVPASVWSQRVPVTRRAPVVGLGLPRNLALHIFAVTLQPVA----------
293
+ >UniRef100_UPI001CFA9BF6_146923/ 142 0.387 6.903E-34 43 223 233 17 198 199
294
+ -------------------------------------------HPVAIEDFLDSVGVEPHSRTGRGAFNIWGNAFPAEELPC-GTLIEHDRVPFRFPPADGEwPDHLRCRGQRIPLPAARADWIHVLGAAERRTEDSVLLEYADGSVRRQWLRLSDfWPQTGPRFGERLAFRTSAMLYPRHEQRTMSPSVWHQRVPVAVPDGLRALVLPHNPAMHLFALTLVEEQA---------
295
+ >UniRef100_UPI0022AC71CD_47760/ 142 0.284 6.903E-34 31 219 233 18 209 585
296
+ -------------------------------VTVPAAAApGAEDRPLPLERLFDNTAVSDDTRPGEADFDGSGGSLSAQDLTAagwtPGRSLTVQGARLTWPrRVPGRPDNVRADGQSVRV-RGHGDALAFLVAGTGGGdeSGTGTVRYRDGSRSSYRLTASDWRGGPLA---TKAVALPHVNTP-GGQLTEKARLYVVTVPLVRGRSVDSVELPHNSDLHVFALSVR-------------
297
+ >UniRef100_UPI0007C6D0A7_105422/ 142 0.283 6.903E-34 47 216 233 1003 1180 1184
298
+ -----------------------------------------------LAAAFDNVGVTDDSATAAGNLDGSGSSYSAQALAAagvtPGTALSHGGVSFSWPGaASGRPDNVVAQGQPIDLT-GSGTTLGFLAAGTSGAGaGTGEIVYTDGSTQSYTVTVPDWYATPPA-GSDVAIATAYRNRAGNVQQVHATNVYYTGVPLTAGKTVAMVVLpaptPASGALHVFAL----------------
299
+ >UniRef100_A0A5J4L056_2607529/ 142 0.254 9.435E-34 31 217 233 145 346 349
300
+ -------------------------------VKLPISAlTVVVAKPGNLLGLFNNAGISND-GQGNADFDGDGYSYSAQQLAAsgykPGATVTVNGTQYLWPNvAPATFDNVQVAGQTIQTPdakAGATHLTFLGSATNGPSSGNVTITYTDGSTQTAQLGFSDWTlgagNSQPSYGNVVAVKTSYRNAGSG-QDQVGTYVFAsAPIALNASKQVASITFPssvDQGALHIFALT---------------
301
+ >UniRef100_A0A5P9PZG3_2653857/ 142 0.291 9.435E-34 34 221 233 769 953 954
302
+ ----------------------------------PGGAS----VPVDLTAFLTNDAITSEFYLGDGDFDGAGNTYPAAQLPQTG-KVVDDGIEFVFVNGhEGTPNNVVPGGGPIALPEGAYGVLHLLGASDNGNtNSTMTITYTDGSTAELPLKLTDW-RASAAFGESEAITTSQLHAKDGPK-PVKLAIFHQAIELDPARSPKSLTLPATakPRPHLFAITLEKG-----------
303
+ >UniRef100_A0A7K2QB93_2690325/ 141 0.385 1.289E-33 43 227 233 5 191 193
304
+ -------------------------------------------TVVNLSAHFNNRGIQPPETSGDYGFNIWRNTFPAEELPEPGSLVDLVGAVFEFPaRESAAGDNVRCRGQLVELPVGSWDWIGLVGAAERRTEDEVELHYADGTVGREWLRMSDfWPQTGAYFGEPRAFATGSMRYPRHTHLHHAPSIWQQRVPVRVPAPLAAVRLPDNPAMHVFAMTVTADEESRLA-----
305
+ >UniRef100_UPI001E589C24_1915/ 141 0.271 1.289E-33 36 225 233 45 234 785
306
+ ------------------------------------WVSVPDPVPVPLDALFDNDGIDTATARG-GDFDGSGYTFPGEELPA--GRIDVDGISFLFPsSAAGAGNNVVALGQRVDLPKGRYmSALFLTAGSYGDASGTATVHYADGSSTTAALGGADWYAAGGP------LSAAYRYGPDGTKDEHSVGIGVSEVWTDPRREAVALTLPKTnpvevgkTSLHVFALSLQPAAQGR-------
307
+ >UniRef100_UPI00167AA00B_33897/ 141 0.259 1.289E-33 33 220 233 770 960 961
308
+ ---------------------------------LPEPAQSGTVTRIDLTGFFDNDGITTEMYYGDGDFDGSGRTYPMAQLPQTGET-TDNGIAFLFTNgSEGTTNNVVVAGQEITVPRGAYAKLHVLGAGDTAAvTVPAVVRYADGTSETARLTLTNWLASGPENGETEAVTTSQIHTPTGPV-ATKAAVFHQVIELDASRQLTTITLtaPDgTARAHVFALSLEQ------------
309
+ >UniRef100_A0A1H5IBI8_1855349/ 141 0.259 1.289E-33 47 216 233 906 1086 1090
310
+ -----------------------------------------------LLAAYSNTGISDDSgDHDEADFDGGGWSYSRQALAAagltPGTEATVDGLAYTWPNAPaGRPDNATATAQTIELPTPAATLSFLGSATNGNQSAPATVTYTDGTTGTLDLSFTDWTigggGGTVQYGNTIVARTAYRNVSGADKDPVATYVFATRpFTAPAGKTVRSVRLPENSDLHVFAL----------------
311
+ >UniRef100_UPI001FFEE4A7_2620835/ 141 0.276 1.762E-33 15 220 233 754 956 962
312
+ ---------------IAPVKVTTPAPPWGLPPLPPG----GDMVTVDLEPFYTNDGITNEFYLGDGDFDGTGRTYPSGALPQNG-SLTNDGVPFRFTNGhEGTRNNIIAAGQTVELPEGNYRRLHILGASDNGNTDsTVTLHYTDGTATPVKFALTDWL-ASAAFGESEALRTNQIHTRTG-PAPLRAAVFHQVLAADSTRRLRAITLSANakPRSHVFAVTVEK------------
313
+ >UniRef100_A0A919K8V0_1050105/ 140 0.292 3.291E-33 33 224 233 4 198 752
314
+ ---------------------------------VPGGARAAiftDPVPVPLDDLFDNNGIGVAA--GDANLDGSGHGFPAAGMPT--GSVTVDGVPYRIAatSAAGQNDNVVALGQSVAVPAGQYVAGFLLAASAYGSaGGTVTVHYADGTTSSAEVSAPDWFS-----GDAGAVTAPYRYGPGGT-DQHAVALYAVQVWMDPARTAQSITLPSTaapaegvSSLHVFAFSLQPAVAV--------
315
+ >UniRef100_UPI001A8F7A74_2814588/ 140 0.287 3.291E-33 34 220 233 762 945 946
316
+ ----------------------------------PGGAS----VPVDLTAFLGNDAITSEFYLGDGDFDGAGNTYPAAQLPQTG-KVVDDGIEFTFVNGhEGTPNNVVPGGGPIALPSGAFRALHLLGASDNGNTNTkMTITYTDGSTAELPLRLTDWRN-SAAFGESEAITTSQLHAKDGPK-PVKLAIFHQTIELDPARSPKALTLPaaTRPRPHLFAITLEK------------
317
+ >UniRef100_A0A7C3IRJ5_2026780/ 140 0.248 3.291E-33 41 219 233 54 244 1084
318
+ -----------------------------------------GQVPLKLEALFDNDAIADAQRRSDGNFdcpdhaaDIPGSVFPAENLPATGSKFSFDNVSFLFPSKErGDFNNVSCNGQRIEVPPGRYKALHVVGTSENGSfRDRLSLAYKEG-PAEADLALKDWCQ-KPTEGDRVAFEAPCRYTWSSekrtmVREEVQPRLWLQRIALDPQKTLEAIALPYNRRMHVFAATLE-------------
319
+ >UniRef100_UPI0019308D5B_2282478/ 140 0.250 4.497E-33 52 217 233 916 1093 1096
320
+ ----------------------------------------------------NNVAVTDDANTNLGDFDGGRASLSAQALAsvgvRPGGAVDFSGLRFAWPDaAPGTPDNVVASGQVLKLAGSGGRLGFLVSSTWGPASGTGIVRYTDGTRQPFALSSPDWY-GAPKPGGVAAVVVPYQNRPNNQRQNTPATIYFAEVALQAGKQVRSVELpnvsaaarPNTPALHVFAVT---------------
321
+ >UniRef100_A0A401ZWU8_2014871/ 140 0.252 4.497E-33 31 217 233 752 959 1369
322
+ -------------------------------VTLPATAGPGtmhifavSTKYVPQAAVYNNIGTSDDSAPATGIFDGT-NSYSAQALAAvnitPGATVSYNGVNFIWPNvMVGTPNNYAAKGQMIPVnPVPNATTLAVLGSStDGNSTGTAVITYTDGTTQSFPLGLSDWTLGggysTPAYGNKVVATTAYRNTPSGQQSTDKPTILYADVTLNyPGKTVQSLTLPatmTGGQLHVFAVS---------------
323
+ >UniRef100_A0A5S5C606_582686/ 140 0.276 4.497E-33 42 228 233 2516 2703 2715
324
+ ------------------------------------------YAVVPLEAYMNDQGFGSLA-SGRANLTGMGtYFLPDDAITVEG--FRVDDRPFGIADlIDGQNDNISCHGQIIRLPQGRYDEIALLGCSEWGNYiEPCTAVYKDGTKEVFRLRFTDWT-GTPRFGEQIAWEGRiaERNEIRTFVIDQPGRIFMQTYALDGRKEAATLQLPYSPGMHIFAITLRQSQAALLPD----
325
+ >UniRef100_UPI0021AB612D_2867961/ 139 0.422 6.145E-33 52 223 233 1 175 183
326
+ ----------------------------------------------------DNTGITRPDDLGAGAFNVWSNTFPAQHLPpaDPDGTVDVGGVPFRFPAQLTGPDNLRCAGQRLDAPKGRYDWIYLLAAGERRTEDVLHLHFADGTTDPEWLRVPDfWPQTPPHFGFTTGITFPVMHYPRHIQRDMSPSVWRVRVPVPREAELTGIHLPDNPAIHVFALTLCGPAA---------
327
+ >UniRef100_UPI001C9D367C_1827978/ 139 0.403 6.145E-33 43 227 233 5 195 197
328
+ -------------------------------------------TVIDLSAHYDNRGIQPPDEPGEFGFNIWRNTFPAEELPEPGSLVEVAGTAFVFPPrPTAGGDNIRCRGQLVELPdgaaGGRYDWIGLVGAAERRTEDEVELHYRDGSVSRAWLRMSDfWPQTAAYFDEPLAFRTASMRYPRHTHRHHAPALWQQRIAVVRPEPLAAVRLPDNPAMHVFAMTAVVDEESRLA-----
329
+ >UniRef100_UPI00099FEB85_1841249/ 139 0.280 6.145E-33 33 222 233 765 957 958
330
+ ---------------------------------LPELPQTGQGTQVDLVGVFDNDAITTEMYYGDGDFDGTGRTYPMVQLPQTGQT-EDDGITFAFTNgSEGSNNNVIAAGQKIDVPAGGYANLHVLGAGDSGNVTiPAVATYADGSTAKADIRLTAWLSG-PAYGETEAVRTSQIHARSGPV-GTKAAIFHQKVALDPAKELSSITLtaPASGtaRAHVFALTLEKKS----------
331
+ >UniRef100_A0A401ZJF4_1936993/ 139 0.245 6.145E-33 46 216 233 922 1106 1110
332
+ ----------------------------------------------DLLGLFNNAGISND-GQGNADFDGDGYSYSEQQLTaagyAPGATVTVNGIQYSWPNVPaAAYDNVQVAGQTIQTPDAKagATQLTFLGSATNGPSvGNITITYTDGSTQTAQLGFSDWTLGagtsQPSYGNVVAVKTPYRNAGAGT-DNVGTYIFAsAPIALNTSKQVASITFPsslNQGALHVFAL----------------
333
+ >UniRef100_UPI00048B7B40_311244/ 139 0.270 8.397E-33 41 220 233 1 180 183
334
+ -----------------------------------------DYYKINLNSYYNNNAFTYEESSSKGDLTSFGSSYPAEYLPNEHE-ITVNGIPFIFPTKENKFNNIELENQSIIVPDDSYSTIYILGSSENGSYkEYMELRQNNDLKSRNIFALTDWISNYPMFMEQVAFECGYVHTKDSSIHSLKPKIWIQTLHLDPATEFNTIRLPDNPCIHIFSLTLQK------------
335
+ >UniRef100_A0A229H6X1_1945643/ 139 0.271 8.397E-33 31 220 233 762 950 953
336
+ -------------------------------PALPETGAA---TPVDLAGHFDNDAITTEMYYGDGDFDGTGRTYPMAQLPQTGQT-EDDGITFSFTNgSEGSNNNVIAAGQKISVPAGGYARLHVLGSGDTADvTVPAELGYADGSTAKVDVKLTAWLSG-PKYGETEAVRTSQIHTRTG-PLGTKAAIFHQKVALDPAKELATVTLgaPSgTARAHVFALTLEK------------
337
+ >UniRef100_A0A4D4LI39_68280/ 139 0.269 8.397E-33 33 220 233 763 952 955
338
+ ---------------------------------LPELPQAGAVTQVDLTGHFDNDAITTEMYYGDGDFDGTGRTYPMAQLPQTGQT-EDDGITFAFTNgSEGSNNNVIAAGQKVTVTAGGYTKLHVLGAGDTGNvSVPAEATYADGSTGKLTIQLTAWMSG-PAYGETEAVRTSQIHTRTG-PLGTKAAIFHQVVELDPGKELSAITLgaPSgTARAHIFALSLEK------------
339
+ >UniRef100_UPI0016620FE8_1896314/ 139 0.259 8.397E-33 48 217 233 961 1136 1139
340
+ ------------------------------------------------AAAYNNKGISADSDPGTGTLDPAGYSFSATQLAAvgytPGATVTAGGLPYTWPDTrPGQPDNVAAAGQVIRV-QGRGARLGLLGTGiSSTHAGTVTVTYTDGTSTDLAVVLPDWYSNAASGNSQLAVTTANWNRPPGDTLGdHAVSLYTTGGALDPAKTVATVTLPNDSGFHVFALS---------------
341
+ >UniRef100_A0A919QKH3_1070424/ 139 0.459 1.147E-32 38 221 233 10 193 209
342
+ --------------------------------------TAEGHHLLDLAGHRNNVGATAPDHLGAGAFNIWGNSFPAGELP-SGRPVLVDGVPFDLPvCGAAAPDNVRADGQFIEVAPARYDWLYVLAAAERRVEDEIAFHFTDGSVDFEPLRLSDFWAAPAVFGESAAVVTEVMHYPLHVQADVPAMLWCQRVPVTRRAVLRAARLPRNPAVHVFAATLREA-----------
343
+ >UniRef100_A0A5J4KKR6_2607529/ 139 0.250 1.147E-32 32 217 233 166 359 362
344
+ --------------------------------TLP-KTTGGQMHIFDFSyrvGPFNNIGGTIDEDLQQiQNFDGQHNGYSYDALSAaglPKGSVTINGVNFNWrSAADGNADNYQASGQVVPVtPVAQAKTLAFLGASTGGaASGTATITYTDGSQQTFTLGLTDWCAPTVAYNNRVAAAATYRRTPHG-NQTIKTSVYYTDVALQSGKTIKSVTLPTNGQIHIFDIS---------------
345
+ >UniRef100_E2PX58_1901/ 139 0.288 1.147E-32 33 221 233 751 941 944
346
+ ---------------------------------LPPLGPTGGVTPVDLAAHFDNDAITTEMFFGDGDFDGTGRTYPMAQLPQTGRT-TDDQITFSFANgSEGSKNNVVAAGQRVAVEPGSYARLHVLGSGDTGNvTVPAVLSYADGTAATVPVRLTGWLSG-PAYGETEAVRTSQIHTRGGPV-GTKSAIFHQRVPVDPGRRLVSVTLGRpsgTARAHVFALSLEAA-----------
347
+ >UniRef100_UPI001C0E2853_2842201/ 139 0.268 1.147E-32 6 220 233 745 952 955
348
+ ------PDFR-----IAPVQVTTPAEPWG-LPELPQAGAVTQ---VDLTGHFDNDGITTEMYYGDGDFDGTGRTYPMAQLPQTGQT-EDDGITFAFTNgSEGSDNNVIAAGQKVAVPAGGYTKLHVLGAGDTGNvSVPAVATYADGSTGPLTIQLTGWMSG-PAYGETEAVRTSQIHTRTG-PLGTKAAIFHQVVEVDPAKELSAITLtaPTgTARAHVFALSLEK------------
349
+ >UniRef100_D2PSN6_479435/ 138 0.394 1.568E-32 12 218 233 11 216 225
350
+ ------------MVAVRPYSGPVTVGPDS-VTEPPPESPHVGCRPVDLAPHRNNVGSTPASGTRNGAFNIWGNSFPAEELPPPG-LCAVDQVVYDFPPTePGTADNVRAAGQFVEVPAGRYDWLYVLGAAERRVEDELAFHFADGAVDFEQLRLSDFWAAPAWFGETQVRATRSMHYPFHVQAGVPAMLWSQRVPVTRRSVLSAVRLPRNPAVHLFAATL--------------
351
+ >UniRef100_A0A1H6EW60_1144553/ 138 0.264 1.568E-32 52 215 233 201 378 384
352
+ ----------------------------------------------------NNAGVGDDTEPGQADFDNGGWSYSAQALAAgarPGGTVTWKDHTFTWPNrKPGEWDNVQAAGQTVDLTaPAGAGTLALLGAGASGDIETgVTITYTDGSTQETKVGFSDWALArdayPPRFGNEIVLRTPYRLDGGGGRQDINVYVFAVTpIRLDPAKQVKSLTLarPAGAAtAHIFA-----------------
353
+ >UniRef100_UPI00143AD3F7_2720023/ 138 0.262 1.568E-32 52 215 233 905 1083 1089
354
+ ----------------------------------------------------NNAGIGDDDEAGLANFDGVGWSYSAQALAAagarPGGTVTWKGYDFTWPDrEPGEWDNVQASGQTVDLaAPAGAKTLALLGAGASGDiQTDVTITYTDGSTQQVKVGFSDWALArdayPPRFGNEIVLRTPYRLDGGGGRQDINVYVFAVTpIELDASKQVKSLTLakPTGAAtAHVFA-----------------
355
+ >UniRef100_A0A2T5BN31_2135609/ 138 0.460 2.142E-32 45 219 233 17 190 194
356
+ ---------------------------------------------VDLTPYRNNIALTTDKTLHRGMLNVWGNSLPAEVLPHDG--LTVGGIPFRgVPGGGAEPDNVRCAGQYLELPRTTADWLHLLATSERRCEETAFVHYASGAADPEWVRVSDFLPARAHFGEVLAARSDALHYPHHRQENLGGRLWAVRIPVTRREPVCGLRLPDNPALHVFALSLE-------------
357
+ >UniRef100_UPI001915634B_2778368/ 137 0.250 5.464E-32 31 216 233 907 1107 1111
358
+ -------------------------------VKLPISAlTVVVAKPGNLLGLFNNAGISND-GQGNADFDGDGYSYSAQQLNAagytPGATVTVNGIQYTWPNVAvATFDNVQVAGQTIQTPDakvGATHLTFLGSATNGPSSGNVTITYTDGSTQTAQLGFSDWTlgagNSQPSYGNVVAVKTPYRN-AGPGRDQVATYVFAsAPISLNASKQVASITFPasvDQGALHVFAL----------------
359
+ >UniRef100_A0A8J3HZW2_2778364/ 137 0.241 5.464E-32 51 222 233 775 958 1149
360
+ ---------------------------------------------------YNNVATSDDGSPAGGSFDGI-NSYSSQATQSlgliPGASVNVYSTTFIWPAVnPSYKNNYVAQGQVLPIkPVNNAGTLAFLGsSSYGPSSGTLTVAYTDGSTETFTLGFSDWTlaggKASPSFNNLVAMSMPYRNTPHG-KQNINTYIFYSEIPLAVDKTVQSITLPsdvKNGQLHVFAISTRTGS----------
361
+ >UniRef100_UPI001EF7C8F6_2807632/ 136 0.486 1.393E-31 38 218 233 15 194 208
362
+ --------------------------------------GSPLFRTVDLTGHLNNKAVTTESRKGEGRLNVWRNTIPAQHFSAAGSRVEVDGIPYLLAP-ESAYDNVRCAGQYVTVPEGRYDWIRILATGERRAETEIAVHFADGHIDFEALRVSDFWHAPPRFGESVAYRTPVMHYPHHVQERVNAGVFSTRVPVSRQAAVCALRLPRHVGVHVFALTL--------------
363
+ >UniRef100_A0A938MH69_2026780/ 136 0.231 1.393E-31 40 221 233 21 217 906
364
+ ----------------------------------------PQQLPLNLVELFDNDGISSEKNRKDGNFDcpdhpahVPGSTYPAEFLPESGAIFTappLPDVSFLFPNkADGEKNNFSCAGHKFEPPVNAYAALYILGTAENGKQeGEIGLNFEDG-QLNLPLKFSDWCEP-AQFGEVEAIAVPFRYswqerGGRMEKEDITCRLWVQKIPLPEKRRLESFVLPYNARMHVFAITLVAA-----------
365
+ >UniRef100_A0A8J3HZW2_2778364/ 136 0.232 1.393E-31 51 215 233 965 1144 1149
366
+ ---------------------------------------------------YNNMGTSNDNTPGSGNFDGGHMSYSAQALQskgyKPGSVVVFNGTSFVWPaSTPGTVDNYVAQGQVIPVNSVyNANYIAFLGSASHGPlQGNVLVTYTDGTTETVSLGFSDWTLGagkmKPSYGNKVALTTTYRNGPKG-KQNVATYMFYCEATLgALNKQVQSITLPTLPagpgQLHIFA-----------------
367
+ >UniRef100_A0A1B2HKE2_1586287/ 135 0.257 1.903E-31 52 215 233 910 1080 1085
368
+ ----------------------------------------------------NNVGASDDA-TGDGDFDGGGYSYSRQALAtaglVPGQTGTVDGLTFTWPGSPaGRPDNVTANKQKLTL---SGTKLAFLGSAANGARtRTATVTFTDGTTAPVEIGFSDWTLGgggaAPSYGNVVVANTPYRNQLGGGSEKVATHIFATkTYVAPEGKVLQSVVLPEDVNLHVFA-----------------
369
+ >UniRef100_A0A7G8KM49_2763006/ 135 0.264 2.600E-31 15 223 233 138 363 747
370
+ ---------------VGPTAAPAgRAEPTAAPAVVPpavgegAPATGRAGRPVPLERLFDNVGTSDDADPGAADLDGAGNSLSARDLAAagwtPGRALTLDATRLEWPrSAPGRPDNVRANGQHVAL-SGTGDTLTFLVTGSSpgrvgpGAGGSGTVHYRDGSRSTYTLTAPDWRGGPLA---TKAVALPHHNTPAGQR-REAVRLYAVSVPLARGAAVASLTLPADPgpdaDLHVFALAVRPPAA---------
371
+ >UniRef100_A0A2T0TAZ4_84725/ 135 0.262 2.600E-31 52 216 233 920 1092 1096
372
+ ----------------------------------------------------NNIGASDDAGSEVADFDGGGYSYSRQALAAaglsSGATGTVDGLTFTWPNSPNdRADNVVTNGQSVDVTGTKLS--FIGAAADGGRTAAATVTYTDGTTGTVDLGFSDWTLGgggqNPSYGNVVVAKTPYRNLLGGGNEQVVTNIFATkTFTAPEGKVLKSVQLPTNEGLHVFAI----------------
373
+ >UniRef100_S5TLH7_1366598/ 134 0.453 3.552E-31 41 220 233 38 216 219
374
+ -----------------------------------------EYFTVDLSGHLDNIGLTMPDQLAAGALNVWGNSLPAGALPA--GAVEVGGVPFVTAGGDGsRPDNVRCAGQLLDLPPVAGSWLHVLATSERRCEEELHVHYADGAVDPEWLRVSDFWPAAAHFGEVAAARTGAMHYPHHIQGDLGGQIWATRVPATRGGTLAALRLPDNPALHLFALTVET------------
375
+ >UniRef100_UPI00218069CC_1654476/ 134 0.250 6.629E-31 52 216 233 920 1092 1096
376
+ ----------------------------------------------------NNIGVSDDKGSEEADFDGGGYSYSRQALAAagltSGGTGTVDGLAYTWPNSPeDRADNVIAAGQSIDV---SGTKLSFLGAAAGGARtAAGTVTFTDGTSAPIDLGFSDWTlgggSQNPAYGNVVVAKTPYRNQIGGGSEQVVTNIFATkTYTAPDGKVIKSVKLPTNGGLHVFAI----------------
377
+ >UniRef100_UPI001EF8F640_2911966/ 133 0.269 9.055E-31 43 217 233 5 184 188
378
+ -------------------------------------------VCVDLSKLFNNKGVSWIGLGIAGSFDHSGISVPGEILP-DGITVTWCDIPFQFPKTSSiENDHICCEEQTIEVDPNSYRQIYVAGFSlYGDYSDRVWIHYEDGSSEDKEFGLSDWYSRTEAgnglkHSEQVAMMIPY-YYENGIKIQAMRGIWIQRLLIDPNKKLHSIRLPDNPYMFIFAIT---------------
379
+ >UniRef100_UPI001A9FE9C4_2530381/ 133 0.413 9.055E-31 45 232 233 3 192 221
380
+ ---------------------------------------------IDISPYLDNVGATTAGRTATGRLNVWNNSFAAENLPPGGSNVMVGGVPYVMPPFGGiDPDNIRCAGQYLELpgPGRAVDWLHLLATGERRVEDEIAVHFADGSVDFEPVRVSDFWAAPAAFGEVPAFET-LMHYPAHTQFGVPASVWSQRVPVTRRLPLIGIGLPVNAALHVFAVTLQPPDGTRRPAAVST
381
+ >UniRef100_A0A193C823_31958/ 133 0.259 9.055E-31 21 221 233 734 943 945
382
+ ---------------------PRGKRPDTTIAPVPVSVPAPPWglpalppagdlVPVDLAAVLNSDGVTSEFYLGDGDFDGGGNTYPAAQLPQTGQ-VTDDGVPFLFVNgSEGTPNNVV--GATIPLPAGKYATLHVLGAADtGNAVTTLKVSYVDGS-AEVPLRLTGW-RAAAAFGESEAITTNQLHARAG-VQSVKLAIFHQRVPLDPAREVVSVTLPSaaTPRPHVFAVTLEKG-----------
383
+ >UniRef100_A0A6G3RW39_2706073/ 132 0.402 1.690E-30 47 223 233 21 198 199
384
+ -----------------------------------------------IEDFLDSVGVEPSSRSGSGAFNIWGNAFPAGELPC-GTLTAHDRVPFRFPAADGvRPDHLRCRGQRIALPAGRTDWIHVLGAAERRTEDGVLLEYADGSVRRQWLRLSDfWPETGPRFGERLAYRTTAMLYPRHEQYTMSPSIWHQRVPVAVPDGLTALVLPHNPAMHLFALTLVTEAA---------
385
+ >UniRef100_A0A1B1MEJ8_1915/ 132 0.285 2.308E-30 50 216 233 931 1111 1115
386
+ --------------------------------------------------YLDNNGVSADDNDPSGDFDGGGGSYSAKALAdqklTPGATVDAGGFSFTWPKvGPGAPDNIVVGGgeQVLDVPGGATKLAILGSASNGPSTGTLTLTFTDGSTQQATVGFSDWTLGggaqKPSYGNVVAARTAYRLY-SGSTDDVDTYVFAtAPIAVPAGKRLASVTLPSStsgGRMHVFGL----------------
387
+ >UniRef100_A0A7X3GHH6_2682849/ 132 0.266 3.152E-30 43 222 233 343 522 523
388
+ -------------------------------------------VPIDISGICAIRGI--HNSLGTADVDGDGHSYSREGLPVDG-LLRIGDLSFVFPASQNEAdcDNTACDGQAIPIPPGHYHGISVLASSqYGGSADAFTVEYADGTSEQVQLGFADWWSRFPIAGEKVAWSA-NLNRPSLGKTEEIVHLFANEAPLSRtGSTAVRIVLPNLPNLHVFAVSMWKQA----------
389
+ >UniRef100_A0A7V2U765_2026780/ 132 0.279 3.152E-30 34 218 233 722 916 923
390
+ ----------------------------------PPPAANVECVHLNaLAGHFNNDGISWRANPADGNFDfpsrASGASFIADLLPKKGALLAVpgnEGVTFRFPDKDDRLrNNVLCDGQRLQLarPYGSFEAAWFLGACHDGArSALLTIDYEDGKAQ-GELRLADWLS-RPAAGEIDVLRLSARHAGDGKEEARDCGLVAWRVPLDPSRKLMALTLPRERNMHVFAVTL--------------
391
+ >UniRef100_UPI00224096B5_202862/ 132 0.275 3.152E-30 57 221 233 867 1044 1047
392
+ ---------------------------------------------------------TSTATRPVGDFNGYGGSFVAEELAedglVPGQDVTVDGIGYRWPDaAPGSPDNINAHGQTVTVHAAPGqSRLGLLGAGNEGaATGEVTVHYTDGTTRRASVTLGDWhldGATAPPPGNTAAATMPERQMAGGTPEKMTVYIWSTSVPVDPHRTVASVTLPERttgGQMHVFAVGVGEA-----------
393
+ >UniRef100_UPI00068FB531_1463857/ 132 0.264 3.152E-30 52 215 233 910 1093 1098
394
+ ----------------------------------------------------NSKGVSDDAKP-QGNFDGEGWSYSAQALAAggavPGGTVSAGGFSFTWPDVqPGDPDNIQvtpgqpATGQVVAVqPAAGATKLSLLGsAAEGTAKGTVTLTYTDGTTQQADIGFSDWTlgggSQQPSFGNTVAVKTSYRDTLSSGPDPVGTDVFAtAPIALQAGKQLASVTLPSTVSggvMHVFA-----------------
395
+ >UniRef100_A0A7I8EN04_2717365/ 131 0.262 4.305E-30 46 223 233 230 407 968
396
+ ----------------------------------------------PLPSLLNNQGIGSAA--GQANFDGSGYGYPSDQVPA-GGIIGLAGVSYLFPtHGSATKDNVVALGQSITLPQGHYQQASLLtASSYGPASGTVTVHYTDGSSSTATLNAPDWYN-----GTSDVINTTYRYTPTGT-DQHAVHIYVSQVWIDASRVAASLTLPqtalpaaNTASLHVFALTLQLPSA---------
397
+ >UniRef100_A0A5A5TI23_2014874/ 131 0.229 4.305E-30 49 215 233 103 283 1208
398
+ -------------------------------------------------PAYNNAGSSNDSNPNEGSFDG-NNSYSVQALQGtgllPGQNFTFSNVTFVWPNaAAGTPNNYLVNGQVIPVAPsiaGAANLGFLGASTNGNASGNATVTFTDATTQTFSLGLSDWTlggnpQSTPAFSNQIAATMTYRNTP-VDQQTITTFLFSAQLALPAGKTVQSVTLPtttSSGQMHIFA-----------------
399
+ >UniRef100_A0A3N1SWC4_2485152/ 131 0.418 5.880E-30 45 220 233 17 191 194
400
+ ---------------------------------------------VDLAPHLNNVALTAMQNLGDGRLNVWGNSLQFETIPS--GRLSVDGVPFeTFNEVDSEPDNIRCDAQYLKLPESKADWLHLLTAAERRCEETVHIHYSSGAVDPEWIRVSDFWPARAHFGESLAATSPSMHYPHHRQGNLSGQLWAVRIPVTRREPVRALRLPDNPALHIFALTMET------------
401
+ >UniRef100_UPI0022597B98_2903819/ 131 0.269 5.880E-30 52 215 233 907 1088 1093
402
+ ----------------------------------------------------NSTAISTDDDNPQANFDGEGWSYSAKALAAagatPGGTVSSGGFDFTWPKvAAGDPDNIEVAGdtpQVLNVPSAQgATKLSLLGsAAEGSASGTATLTYTDGTTQKADIGFSDWTLGggadKPSFGNTVAVHTPYRDVQGGGTDPVGTEIFAtAPVTLQAGKQLASVTLPSTTDggvLHVFA-----------------
403
+ >UniRef100_A0A6L5AS91_2575830/ 130 0.243 8.031E-30 42 219 233 2 182 190
404
+ ------------------------------------------YYLVNLEEYYCNCGFSFINQRENGDFTGSGSSYPAEQLPSSEKVIKIHEVPFHFPSKeKGKFNNIEFNEQKIKVKEDSYQAIHVLGAADNGSFlEPISLIDQQGSVSKVMLGFTDWVDYEPKFNDLKAIVCKGVHSAQlGCLEGMQCTIWYQKVKVPTGVLFNEIRLGDNPGMHIFSLTLE-------------
405
+ >UniRef100_UPI000D13FE3E_1463889/ 130 0.241 8.031E-30 52 215 233 907 1088 1093
406
+ ----------------------------------------------------NSTGISTDDDDPRANFDGEGWSYSAKALAAagvtPGGTVSSGGFDFDWPKvGAGDPDNIEVAGagpQVLNVPSGPAdTKLSLLGsAAEGSASGQVTLTYTDGTTQQAEIGFSDWTLGggtqNPSFGNTVAVHTTYRDVQGGGKDPVGTEIFAtAPITLQAGKQLASVTLPSATDggvIHVFA-----------------
407
+ >UniRef100_A0A543N991_405555/ 130 0.437 1.498E-29 45 219 233 17 190 194
408
+ ---------------------------------------------VELQRYKNNIALTTLQTLHLGALNVWGNSLPSETMP--HEQITVDGVPFSVSPATGEaPDNIRCAGQYLELPETAADWLHLLATSERRCEETVHIHYSSGAADRERLRVSDFLPARSHFGELLAARSPAMHYPHHRQDNLSGQIWAVRVPVTRRETLRGFRLPDNPAIHIFALSTE-------------
409
+ >UniRef100_UPI001CB70AD5_1896314/ 130 0.250 1.498E-29 50 215 233 902 1085 1090
410
+ --------------------------------------------------YVNNNGISADDSNPAANFDGEGWSYSAAALAAagatPGGTVSSGGFDFTWPQvAPGAPDNIVVGGgdQVLDVskSAAGATTLSLLGsASEGPTTGTVTLTYTDGTTQQADIGFSDWTlgggSQQPSYGNVVAVHTAYRDVQGGGKDPVGTEIFStAPIALQAGRQLASVTLPSSTNggdMHIFS-----------------
411
+ >UniRef100_UPI002258EC57_2903886/ 130 0.263 1.498E-29 52 215 233 934 1115 1120
412
+ ----------------------------------------------------NNTAISADDDNPQANFDGEGWSYSAKALAAagatPGSTVSANGFDFSWPEvTAGDPDNIEVAGstpQVLTVPPAPgATELSLLGsAAEGSASGTLTLTYTDGTTQQADIGFSDWTlgggSDKPSFGNTIAVHTDYRDVQGGGQDPIGTEVFAtAPIALQAGKQLASVTMPSSTKggvIHVFA-----------------
413
+ >UniRef100_UPI001940CD9B_113564/ 129 0.462 2.045E-29 60 231 233 1 174 176
414
+ ------------------------------------------------------------SNTSSGRFNVWGNSFAAEDLPAGGTGVVVDAVTFTMPPTgTGAPDNVRCAGQYLDLGPQAdlADWLYLLAAGERRVEDEIALHFADGSVDFEPVRVSDFWAAPPAFGETKAFAT-LMHYPIHTQFGVPATIWCQRVPVTRRAPLTGIGLPHNVALHIFAATLQPAAARPAALEVT-
415
+ >UniRef100_A0A2T3VKX0_2135446/ 129 0.416 2.045E-29 36 219 233 3 186 198
416
+ ------------------------------------AAGTGRHRVLDLTDHLDSTGFTRPDATDAGALNIWGNTFATGDLPAGHPHWLVDGVPFRTAEA-GGPDHLRCRGQYLEVPIGRYDWLHLLATAERRTEDPVLLHFADGAVDPEWLRVSDlWPGGQAHFGEAPALRGSRLHYPRHVQADMRPTLWAQRVAVPRRAPLVGLRLPENPALHVFAVTLE-------------
417
+ >UniRef100_A0A4S2RGE1_2563103/ 129 0.241 2.045E-29 52 215 233 907 1088 1093
418
+ ----------------------------------------------------NSTGISADDENPQANFDGEGWSYSAEALAAagaePGGTVSSGGFDFAWPQVhAGDPDNIEVVGsgpQVLNVPSAQGdTKIAFLGsAAEGEASGTVTLTYTDGTTQQAEIGFSDWTLGggtqQPSFGNTVAVHTGYRDVQGGGKDPVGTELFAtAPITLQAGKRLASVTLPSNTEggiIHVFA-----------------
419
+ >UniRef100_UPI001CD27338_2877242/ 128 0.264 5.209E-29 52 215 233 900 1083 1088
420
+ ----------------------------------------------------NSRGISDDTNPT-ANFDGEGWSYSAQALadagAAPGGTVSANGFDFTWPDvKTGDPDNIQvtpgapAPGQAVSVtPVSGATKLSLLGsAAEGSAEGTVTLTYTDGTTQQADVGFSDWTlsggADQPSFGNTVALKTTYRDVQGSTADPVGTDIFAtAPIALQAGKQLASVTLPSAVSggvMHVFA-----------------
421
+ >UniRef100_A0A4U0SM40_2571141/ 128 0.254 7.113E-29 50 216 233 920 1104 1108
422
+ --------------------------------------------------YLNNNGVSSDDDSPAANFDGGGYSYSAKALAAagvtSGSTVSSGDFRFTWPKVNaGDPDNIAvgGGGQVLDAPaaPAGASRLSLLGsASNGAASGTVTLTYTDGTTQEEQIGFSDWTLGggsrQPSYGNSVVVRTDHRDVSGGGTQTVETDLFStAPIVLASGEQLQSVTLPDTvsgGTIHVFAM----------------
423
+ >UniRef100_A0A1Q5MVC9_1703920/ 127 0.247 9.712E-29 52 215 233 915 1096 1101
424
+ ----------------------------------------------------NSTAISTDDDNPQANFDGEGWSYSAEALaaagAAPGGTVSSGGFDFGWPEvAAGDPDNIEVAGtepQVLNVPSASGdTKLSLLGsAAEGSASGQATLTYTDGTTQQAEIGFSDWTLGggaqKPSFGNTVAVHTAYRDVQGGGTDPVGTEIFAtAPIALQAGKQLASVTLPSATEggvIHVFA-----------------
425
+ >UniRef100_A0A1C4K485_1839759/ 127 0.244 9.712E-29 50 215 233 916 1099 1104
426
+ --------------------------------------------------YVNNAGISADDQNPAANFDGGGWSYSAKALAAagavPGGTVSAAGFDFTWPQVqPGAPDNIVVGGgdQVLDVsaTSAGHTRLSLLGSADDGDtSGTVTLTYTDGTTQQAQIGFSDWTlgggAGQPSFGNITAVHTTYRDVMDGTTDPVGTDVFAtAPIDLQAGKQLASVTLPattSGGDMHVFA-----------------
427
+ >UniRef100_UPI001575013E_227866/ 126 0.233 2.472E-28 40 220 233 1 182 187
428
+ ----------------------------------------GKYEMINLEELFNNKGISRMNNPQDANFTGFGSSYISENLPSSGSVLELYGIPFLFPNKDPlVVDNLEFMNQEIQIKEAYYSNIHVLGAADNGSFiEPIKLVGND--IKEVKIGLTDWIESSPKFNNKKGIICEGINsNKSGYTRTVKTNIWYSVVGIPSNNLFKSILLVDNPSMHIFSLTLEK------------
429
+ >UniRef100_UPI00068E7F42_1444769/ 126 0.349 2.472E-28 27 231 233 6 214 219
430
+ ---------------------------QTAQTVQTAPTDQTAHKVLALEPFMNNQAATTPANLADGRLNVWRNSLPAQDAPLE---LLVDGVPLRTARLDGtGPDNVRCAGQRIEVPERRWDWLYLIGCGERRVRDVLTWHFSDGTVDRDHLALSDLWEGRSDFGEELALRTDVIHYPHHVQERIGITLWCQRVPVTSRKPLTAMSLPRNPAVHLFALTLvgrhlgAGADGEPLIQGAS-
431
+ >UniRef100_UPI000F0856B3_2483798/ 126 0.419 3.375E-28 25 221 233 2 194 202
432
+ -------------------------ETTTRVTTAGGSAG----TLVDLSGHRNNLSCTTTDSLREGRLNIWRNSLPQVEMPTAG-LLEIHGVGFSLPRFDGiNPDNVVCSGQHLACASGSYDWIYLLATSERRSEDQFSLHFADGSVDFESFRVSDFWHAEPAFGDRRAFGTTQMHYPFHVQPNLRGDVWFQRVPVTRMVPLSGVTLPDNVAIHLYAMTLIPS-----------
433
+ >UniRef100_UPI001890D6EE_2705253/ 126 0.288 3.375E-28 50 217 233 456 631 634
434
+ --------------------------------------------------ALNATVISDDDAATEGCFDRACDSFSADALAAGGATaggkVTVAGQSFDWlDNGSGRFDSITADGQTIDY-YGSGTTLGILGASSGGDtSGTITLTYSDGTTSTATLGFPSWVTGHPtAFGDTTAVTTLHRDTPHGPGQARAAHyvVSYAPVAITPGKSLVSITLPNKPALHVFSIT---------------
435
+ >UniRef100_UPI00203463BB_2888348/ 125 0.258 4.608E-28 52 215 233 907 1088 1093
436
+ ----------------------------------------------------NSTAVSTDDDNPQANFDGEGWSYSAKALAAagatPGGTVSSGGFDFGWPKvAAGDPDNIEVAGaapQVLNVPSKEGStKLSLLGsAAEGSASGQATLTYTDGTTQQAEIGFSDWTLGggadKPAFGNTVAVHTAYRDVQGGGTDPVGTEIFAtAPIALQAGKQLASVTLPSSTDggvIHVFA-----------------
437
+ >UniRef100_A0A7W9IM19_1816182/ 125 0.437 6.291E-28 45 219 233 13 186 190
438
+ ---------------------------------------------VDLSEHRNNVAFTTPVALDRGRLNVWGNSLPAGTLPS--GRHLLGDVLFDLPEADGRaPDNVRCAGQFVTLPRVRADWIHLVATSERRCEEFVHIHHSSGAVDVEWLRVSDFWSADPHFGESVAGRSADMHYPHHVQRGLIGLVWLVRVPVPRREEITGIRLPDNPALHVFGLTLE-------------
439
+ >UniRef100_A0A3N1SMM6_2485152/ 124 0.252 8.589E-28 52 215 233 930 1111 1116
440
+ ----------------------------------------------------NSTAISADDDNPQANFDGEGWSYSAKALAAagatPGGKVSSGGFDFGWPEvAAGDPDNIEVAGtepQVVNVPAAPGdTKLSLLGsAAEGSASGQATLTYTDGTTQQAEIGFSDWTLGggadKPSFGNTVAVHTAYRDVQGGGTDPVGTEIFAtAPIALQAGKQLASVTLPSTTDggvIHVFA-----------------
441
+ >UniRef100_A0A7W3ZVE1_2213162/ 124 0.284 1.172E-27 34 223 233 32 231 614
442
+ ----------------------------------PAALRAPAAEPRPLRSYFDNRAVSHADRPEAADFDGSGNSLPASGLTAagwtPGSRLLLDATPLTWPDrTPGEPDNVRADGQLVAVDGRGPALTMLLAAtSPHGPTDPVTatgrVHYRDGSSARYTVTAHDWRTGPAA---TSALSLPHHHTPDGVS-TRRARLYAVTVPVDPTRSVRALALPADPgpraDVHVFAVGLRAAAA---------
443
+ >UniRef100_UPI0005AAA057_405782/ 124 0.404 1.601E-27 47 218 233 8 177 187
444
+ -----------------------------------------------LEPFLNNQAATTPENLGDGRLNVWRNSLPAQSAPLE---IVVDGVPLRSARLDGRgPDNVLCAGQRIEVPGRRWDWLYVIGCGERRVRDTVTWHFRDGTVDRDHFALSDLWEGRSDFGEELALRTDVIHYPFHVQERIGITLWCQRVPVTSRKPLSAVSLPRNPAVHLFAMTL--------------
445
+ >UniRef100_UPI000FCC90E2_2487275/ 123 0.262 2.185E-27 52 216 233 914 1096 1100
446
+ ----------------------------------------------------NNKGISADDTNPAANFDGGGYSYSAKALasagATPGATVTSGGFGFTWPKvKPGDPDNIAVSGgdQVLDAPAGsaNATRLSLLGsASNGAADGTMTLAYADGTTQEAQIGFSDWTLGggnrQPSYGNTIALRTAYRDISGGGSQQIATDVFAsAPITLAAGKQLKSVILPTavaGGTLHVFAL----------------
447
+ >UniRef100_A0A553ZJZ9_2595054/ 120 0.264 2.631E-26 43 219 233 38 221 606
448
+ -------------------------------------------HALPLTHLYDNTAVGGGSRPGAADFDGAGNALSAPDLSAagwtPGRALDLDAAPLTWPRAtAGRPDNVVANGQTVAV-GGTGPALTFLAAATGtgaPATGNGTVRYRDGSVSGYRLTAPDWRSGPPA---TKAVALPHLVTPHGTVDG-PARLYAVTVPLRPGRAVASVQLPRAAAsgaeLHVFALAVR-------------
449
+ >UniRef100_UPI00225B5EAE_2975715/ 119 0.387 6.686E-26 47 223 233 8 182 198
450
+ -----------------------------------------------LDPFLNNQAATTPENLTDGRLNVWRNSLPAQSAPLD---IVVDDVPLRSAPLDGRgPDNVLCSGQRIEVPERRWDWLYVIGCGERRVRDVVTWHFSNGTVDRDQLALSDLWEGRSDFGEDLALRTDVIHYPHHVQERIGITLWCQRVPVTSRKPLGAMSLPRNPAVHLFAMTLVGRQA---------
451
+ >UniRef100_UPI00147FFFB7_81569/ 119 0.342 9.123E-26 45 217 233 36 210 220
452
+ ---------------------------------------------VPLLSYFNNIAFAGLNDLSKGQLNIWRNSYPQEAVANLPGYIDVGRVKFSFPQTDGEtPDNIRCDGQRIVLPVDQYDWIYMLCSAERRVEDEATLFFSDGSVDFVPFCVSDfWPGAKGRNGEIEALRFDSLNFPRHRQVRIEPAIWRSRIPVARETPLSAIRLPRNVAAHLFAVT---------------
453
+ >UniRef100_A0A1M5CPJ9_1206085/ 118 0.451 1.245E-25 44 218 233 10 181 187
454
+ --------------------------------------------PVGLDAIRDNVAMTGADELGAGGLNVWRNSLPAGTYP--GAPVEVDGVPFT-GSPHTGPDNVRCAGQTLPVEIGRWDWLWLLATGERRVEDEIAMLFTDGAVDLEAVRVSDFWAAPAAFGETVAFRSEVMHYPHHVQSRLPGTIWCQRVPITRRADLVAIRLPDNLALHVFAATL--------------
455
+ >UniRef100_UPI0003616C8A_239974/ 118 0.437 1.699E-25 45 219 233 17 190 194
456
+ ---------------------------------------------VDLSTHRNNIALTTPETLRNGMLNVWGNSLPAETLRTDC--LRVGRVRFAGVRANGtEPDNVRCAGQYVDLPEIEADWIHLLATSERRCEEEVGVHYASGAATTEWVRVSDFLPARARFGELAAARSSALHYPHHRQEDLSGQVWAVRVPVTRWEAVRGLRLPDNPALHVFAISVE-------------
457
+ >UniRef100_UPI000A606C17_1911/ 117 0.427 2.317E-25 42 219 233 20 197 201
458
+ ------------------------------------------QLPLRLDEFFNNVAFTGPETLGNGRLNVWGNSLPIGTLPT--GRIRVSGVEFDVSAPDGvAPDNVRCTGQLVHLPDGtAADWLHLLITSERRCEETVHLHYASGAVDPEWIRVSDFWPATGHFGEVLAARSAGMHYPHHIQRDLGGQVWSVRVPAVRREPLRSVRLPDNAALHLFAITVE-------------
459
+ >UniRef100_UPI0016035FF4_2448886/ 117 0.273 2.317E-25 19 223 233 17 231 611
460
+ -------------------SLPSLVPPAGAAAPGPTGVRAAAAEPRPLHRYFDNRAVSRPDRPDAADFDGAGNSLSASELTaagwAPGSRLLLDATPLTWPDrAPGEADNVRADGQLVTVTgRGPAVTLLLAATSPYGPAAPVTasgrVHYQDGSSTRYTVTAHDWRTGPAA---TSALSLPRHHAPDGVKAGR-ARLYVVTVPVDPTRTVRALALPADPgpdaDVHVFAVGLRASAA---------
461
+ >UniRef100_UPI0020C07DD2_2707767/ 117 0.398 3.162E-25 47 218 233 8 177 198
462
+ -----------------------------------------------LEPFLNNQAATTPDNLGEGRLNVWRNSIPAQ--PGPLELV-VDGVPLRSARLDGdGPDNLVCAGQRIEVPERRWDWLYVIGCGERRVRDVITWHFADGSVDRDQLALSDLWEGRSDHGEELALRTDVIHYPYHVQERIGITLWSQRVPITSRQPLTALSLPENPAVHLFAMTL--------------
463
+ >UniRef100_UPI000E22B0D5_871959/ 116 0.382 8.028E-25 45 218 233 6 177 181
464
+ ---------------------------------------------LPLEPFLNNQAATTPANLADGRLNVWRNSIPAQ--PGPLERV-VDGVPLRSTRLDGnGPDNLVCSGQWIEVPRRRWDWLYVIGCGERRVRDYVTWHFADGSASRDRFELSDLWEGRSDYGEEFALRTDTIHYPQHVQERIGITLWCQRVPVTRRQPLCALSLPENPAVHLFAMTL--------------
465
+ >UniRef100_UPI00068A9E4F_1463917/ 115 0.376 1.095E-24 47 223 233 8 182 198
466
+ -----------------------------------------------LEPFLNNQAATTPDNLADGRLNVWRNSIPAQ--PGPLERV-VDGVPLRSARLDGnGPDNVLCAGQRIEVPERRWDWLYVIGCGERRVRDVITWHFSDGSVDRDHLTLSDLWEGRSDQGEELALRTDVIHYPYHVQERIGITLWCQRVPITSRQPLSAMSLPMNPAVHLFAMTLVGQSA---------
467
+ >UniRef100_UPI0003469B67_225762/ 114 0.426 3.791E-24 43 219 233 1 176 180
468
+ -------------------------------------------VPVDLSQHLNNIALTDFETLSNGRLNVWSNSLPMETLRADH--IQVGRVGFAGSKATGtEPDNIRCAGQYVDLPEMNADWIHILATSERRCEEEVGVHYTSGAVAGEWIRVSDFLPARAHFGEMAAARSFAMHYPHHRQEDLRGQVWCVRVPVTRWEAVRGLRLPDNPALHIFAASVE-------------
469
+ >UniRef100_V6K9D2_1352941/ 113 0.429 5.170E-24 91 221 233 0 134 140
470
+ -------------------------------------------------------------------------------------------MAFEFPaRATGRGDNIRCRGQLLPLPGVRADWLYLLGAAERRTEDEVELHYADGAVRTAWLRMSDfWPETAAWFGEPEAFRGSGLRYPRHTQDGHRPAIWQQRVPVTVPGELTALRLPDNPAMHVFALTavLEPG-----------
471
+ >UniRef100_A0A022MHX4_1883/ 112 0.369 1.311E-23 47 218 233 3 172 189
472
+ -----------------------------------------------LEPFLNNQAATTPDNLADGRLNIWRNSLPARSEPLE---AVVDGVPLRSAPLDGRgPDNVLCSGQRIAVPERRWDWLYVIGCGERRVRDVLTWHFTNGSVDRDHLALSDLWEGRSGYGEELALRTDVIHYPYHVQERIGITLWCQRVPITSRQPLGAMSLPKNPAVHLFAMTL--------------
473
+ >UniRef100_UPI001672C615_67368/ 111 0.384 4.533E-23 87 227 233 1 143 145
474
+ ---------------------------------------------------------------------------------------ELEGTVFAFPaRDTGAGDNVRCRGQLVELPAGRWDWIGLVGAAERRTEDEVELHHADGTVRREWLRMSDfWPQTAPYFGEPLAFSTSGMRYPRHTHRHHAPSLWQQRVPVRVPAPLAAVRLPDNPAMHVFAMTVTADEESRLA-----
475
+ >UniRef100_UPI001C593FAE_2749826/ 109 0.259 1.149E-22 35 221 233 12 198 203
476
+ -----------------------------------GRRQSVRYSTVELKSHFNNIGFSYPDIY--GNFTGFGSSYPGDQFPhREDNIVNVKGIPFFLYNAKGRSNNIEFAGQSVEVLPDMYSALHVLGSSDNGSFSEYLKFYLKKSpVGQYKLELSNWVAGVPAYNEHEAYRCSALCAGQQVIETVKPVLWLQSVRFRQPIVFDEISLPDNMCMHLFSLTFEGA-----------
477
+ >UniRef100_A0A5B8M4I2_2599293/ 109 0.270 1.149E-22 52 232 233 890 1077 1311
478
+ ----------------------------------------------------NTVGTASESDTGVGDFDAAGNSYSREQLAsvglAPGATGKVGSLHFTWPSSPeGAPDAVNPTGQTIDL-QGEVHSIAFIGAGiNGGASDTAVATLDDGSTMPVDFSFGDWVlptsDGSPAFGNSVVAKMSHRN---AVTQVQGAYLFATTpATAPDGRTIVSVQFPTDSKERVFAIATDVAPATNTATQLTT
479
+ >UniRef100_A0A838EJ16_2740538/ 109 0.237 2.135E-22 91 217 233 15 153 156
480
+ -------------------------------------------------------------------------------------------VVFTWPDVPaGAPDNYQAAGQVIPVQSmSNATILAFLGSATNGaSSGTATIKYTDGSTQDFTLGFSDWTlngnTNQPSYGNAISYTTSYRNNAHltNGKDTIQTYIFYSSVNLEAGKQVASVTLPTTvtgGQMHVFAVT---------------
481
+ >UniRef100_UPI000B595552_1501230/ 107 0.318 1.004E-21 42 219 233 3 182 196
482
+ ------------------------------------------FHAMDLRPYFNNRGFTYESRYGEGRLTMGSSSFPAESIRF-GRMYRFGGIPFRY-QASEDGDNIETSGQAVALPwmPGKLDCVHALGvSANGDSFDCVSFVAGDRLLHTARLALSDFVSDRPAFGDRLAMTLPYMHMVSGRYAHVRPNLWICSIPYPgEAGAARALVFEDNPSMHIFAMTLE-------------
483
+ >UniRef100_A0A2T0PYA0_1144618/ 105 0.433 3.463E-21 70 218 233 3 150 155
484
+ ----------------------------------------------------------------------WRNSLPAEEFPS--GELVIEGVPFHPPRPrRGADDHVTCDGQLLAVAEGGYDWLYLLACSERRVEEEIALHFTGGQVDFEPLRVSDFWAAVPFFGESAAFTSAVMHYPHHVQPRVPGTIWCQRVPVVRRAPLAAVRLPRNAAVHVFAATL--------------
485
+ >UniRef100_A0A838DPV7_2740538/ 105 0.260 3.463E-21 52 221 233 3 194 583
486
+ ----------------------------------------------------NNIGItgTGYAALTAGGFDTAGDSYSAALLAAltpavtAGSTVTVNGVAFTWpgPDITTNYDNWkTAAAQTITFaPVSNATAVAFLGAASDGsSSGTATINYTTGVPQTFTLGFTDWKTGTPAFSNTLALTLSNYDTSAGVVKSPaaPVYVYYadsSSVTLDPTRIVASVTLPAAVTggglVHVFAAAIKTS-----------
487
+ >UniRef100_A0A081P3V2_1501230/ 104 0.296 6.429E-21 42 219 233 3 182 196
488
+ ------------------------------------------FHAMDLRPYFNNRGFTYESRCGEGRLTMGSSSFPAESIRF-GRMYRFGGIPFRY-QTSEGGDNIETSGQTVALPwmPGALDCVHALGvSANGDSFDRVSFVAGDRLLHTARLALTDFVSDRPAFGDRLAMTLPCMHMVSGRYAHVRPNLWICSIPYPGEAGAApALVFEDNPSMHIFAMTLE-------------
489
+ >UniRef100_A0A2T6FTL9_189691/ 104 0.307 8.759E-21 42 219 233 3 182 196
490
+ ------------------------------------------FHAMDLRPYFNNRGFTYESRCGEGRLTMGSSSFPAESVRF-GRMYRFGGIPFRY-QTTEDGDNIETSGQTVALPwmPGTLDCVHALGvSANGDSFDRVSFVAGDRLLHTARLALSDFVSDRPAFGDRLAMTLPYMHMVLGRYAHVRPNLWICSIPyLGEAGAARALVFEDNPSMHIFAMTLE-------------
491
+ >UniRef100_A0A838XCG5_1507437/ 103 0.269 1.626E-20 43 218 233 6 185 189
492
+ -------------------------------------------HIIELASIYNTKGVSIQDPKLVAQLDHIHSSIPGEIFP-SDEVISYQGIPFAFPLTEAvDNDVISCDGQIVEVNAQRsFQTLAFLGFSLFGDyQDKFTIHYADGVEEEVRFGLTNWKQyktGTPLFGEQIAMSLPY-YVENMILTELPRTVWLQKVTLQHSGHIKQVILPRNPYLMVIALTL--------------
493
+ >UniRef100_A0A060CMX9_487357/ 102 0.278 4.108E-20 44 153 233 73 186 187
494
+ --------------------------------------------YANLAAAYNNVGVTSGDDPKPGNFDGTGNSFNAELLAgqglTPGATVSANGYSFQWPNvAPGVADNVQTAGQLIKL-SGSGNTLAFLGSEAGDRTDTVTVHYTDGTTSTGTVGFP-------------------------------------------------------------------------------
495
+ >UniRef100_UPI0020C7B24C_2810306/ 102 0.256 4.108E-20 47 160 233 159 279 401
496
+ -----------------------------------------------LASAADNVGVTEQDDPGPGDIDGGGSSFIAERLAQkgvtPGAAVKANGFSFTWPDaAPGTPDNVTGKGQTIQVSGDeKGNALAFLGTGTSGSaEGTATVHYTDGTTAEAKLGFPNWAVCPP------------------------------------------------------------------------
497
+ >UniRef100_UPI000B9A8B31_1465/ 102 0.252 5.595E-20 43 218 233 6 185 189
498
+ -------------------------------------------HIIGLASIFNAKGVSIQDPTLAAQLDHVHSSIPGEIFP-SDEVISYQGIPFAFPLTETvENDVISCDGQIIEVNaPSSFQTLAFLGFSLFGDyQDKFTIQYVDGIEEEARFGLTNWKQyktGTPLFGEQIAMSLPY-YVENMILTELPRTIWLQKVALRHSEHIKQVILPRNPYLIVIALTL--------------
499
+ >UniRef100_UPI001942DCDF_926357/ 101 0.233 1.038E-19 52 175 233 739 875 1109
500
+ ----------------------------------------------------DNHGISADRTEGQSDYDGWGSGYSRSALAgagvVPGNRFAAGGVSYVWPNTrPGQPDNVVAAGQRLTVaSPAGATRLGLLGSAEGqpaGAAGTLTVHYADGSTTPAEVGFSDWTlaggTATARSDNVVAARMPYRND---------------------------------------------------------
501
+ >UniRef100_A0A652KEP5_1827978/ 100 0.395 2.620E-19 90 227 233 2 145 147
502
+ ------------------------------------------------------------------------------------------GTAFVFPPrPTAGGDNIRCRGQLVELPdgaaGGRYDWIGLVGAAERRTEDEVELHYRDGSVSRAWLRMSDfWPQTAAYFDEPLAFRTASMRYPRHTHRHHAPALWQQRIAVVRPEPLAAVRLPDNPAMHVFAMTAVVDEESRLA-----
503
+ >UniRef100_A0A931JBU5_114683/ 99 0.271 4.857E-19 75 220 233 0 147 150
504
+ ---------------------------------------------------------------------------PMAQLPQTGQT-EDDGIAFAFTNgSEGSNNNVIAAGQKVTVAAGGYTKLHVLGAGDTGNvSVPAEAAYADGSTGKLTIQLTAWRSG-PAYGETEAVRTSQIHTRTG-PLGTKAAIFHQVVELDPAKELSAITLgaPSgTARAHIFALSLEK------------
505
+ >UniRef100_A0A942KCA5_2478917/ 97 0.304 2.270E-18 114 227 233 0 113 114
506
+ ------------------------------------------------------------------------------------------------------------------MPEGRYSELLLLGASEQGSyQATVRFVYQDETSDELTLGLSDWCQ-LPRFGEAIAYEFIQRRGATGAMERITCRIYFQTLPLRPEAVLTRIVLPDRDTMHLFALTLRQAESEETP-----
507
+ >UniRef100_A0A838DN80_2740538/ 95 0.283 1.059E-17 51 157 233 41 160 458
508
+ ---------------------------------------------------YNNVGItasTSTAAMALGNFDNAGDSYPSENLVAdgfiPGTIVTEYGIDFVWPNvAAGQPDNWKAAGQTIAVNAAPGDSvLAFLGAAtdtfNRGAAGTATIHYRDGSSQNFRLNFTDWLN---------------------------------------------------------------------------
509
+ >UniRef100_A0A973VFE2_1873460/ 94 0.295 1.441E-17 45 223 233 5 185 187
510
+ ---------------------------------------------VDLSGLVDRIGATYDTDRDSGEFNPWGNSFPAEELPF-GGTTAVGGVPYALVDKPPRgPDHLEALGQVIDCAAtGPAHGLALLAAGEQGPQElRVHVHLDGGRRLSLPVTVPGWSVRPDAPMTPDQLRAGHLHYPGDYGLARlLPALWSRVLRL-PGVPVTAIELTANPLVHVFAVTLEIGAA---------
511
+ >UniRef100_A0A951HER9_2800791/ 92 0.273 1.241E-16 43 222 233 879 1050 1255
512
+ -------------------------------------------TPLLLDALFN--------SQSTGDFDTEKRGYDSASLPPPGLYhLGANHIPFRLTGHIGS-DNIACNGQVIQLPPsSRGKTLYLLGAAAPGDQgGLFSVEGTQGHLTRLPVRMNDWVLGGSLHNE-AAFTFERQHTAEGLR-AMTTHFWITSLQLPSDQRPVRLRLPYNTNLHLFAATLAAAS----------
513
+ >UniRef100_UPI001EF5A1EE_1795630/ 89 0.271 7.834E-16 31 142 233 879 995 1009
514
+ -------------------------------VTAPGrcAIQTATSCAVDLSGAYNNDGVATLTDPGQGNFDGTGLSFAANLLPAPGAT-TIGGATYQAPPTTGtAKNFVKSTGQAITLPSGNYTSLDIVAAdngSTGSAAATAVVTYSD------------------------------------------------------------------------------------------
515
+ >UniRef100_UPI001EF302F3_2706031/ 85 0.282 2.280E-14 82 220 233 8 147 527
516
+ ----------------------------------------------------------------------------------PGAELTVAGAPLRLPDpAPGAPDNVRADGQRVRVT-GRGDALAFLVTATGGrALGRGSVEYADGHRSSFRVEAPDWRTGTLA---TSAVALPRISTTDGPRKARAA-LYVVTVPLRHDAAVRAVTLPRDPlgpaSLHVFALGVRP------------
517
+ >UniRef100_UPI001AD6B2B7_67304/ 81 0.293 3.568E-13 35 125 233 42 130 243
518
+ -----------------------------------GWVPVPDPVPVPLDSLYDNDGIDTATARG-GGFDGSGYTFPGEELPA--GRVEVDGVPFDFPsSTAGTKNNVVALGQRVDLPRGRYLSAVFL-----------------------------------------------------------------------------------------------------------
519
+ >UniRef100_UPI001C8AAAD7_1490222/ 71 0.311 1.299E-09 47 118 233 906 982 993
520
+ -----------------------------------------------IEWYQNNAGISDDGKAGQANFDGGGWSYSAQALAAeglkAGQPVAWNGFTFTWPNrRPGQLDNVQASGQVVDLPSAP------------------------------------------------------------------------------------------------------------------
521
+ >UniRef100_A0A2N5XH94_2593676/ 70 0.286 3.213E-09 16 120 233 30 143 151
522
+ ----------------APVSATATASPGTARDASPGSGvapTSADPSPLPLHRLFDNTGTAPDGpvAPGQGGLDGAGNALSRDDLAaagwAPGSRLTLDGTPLTWPDSrPGQPDNVVADGQAVR-PDGHGD----------------------------------------------------------------------------------------------------------------
523
+ >UniRef100_A0A4Y8YB55_1883/ 61 0.420 3.184E-06 155 221 233 4 72 78
524
+ -----------------------------------------------------------------------------------------------------------------------------------------------------------WPETAAWFGEPEAFRGSGLRYPRHTQDGHRPAIWQQRVPVTVPGELTALRLPDNPAMHVFALTavLEPG-----------
525
+ >UniRef100_A0A942KBR5_2478917/ 60 0.275 4.289E-06 34 109 233 642 720 721
526
+ ----------------------------------PVSFEEGVFVALDLGGAFNNDAFSDPSNP-RGNFDnrsgVLGATYPAERAPAENSIVEVSGTLFRFPPTSADANNIALKG---------------------------------------------------------------------------------------------------------------------------
527
+ >UniRef100_UPI001F0BFC40_2203210/ 57 0.268 4.622E-05 47 108 233 130 196 287
528
+ -----------------------------------------------LAAAYNSVGVTDESNTAPGDFDGGGNSFSAQKLAdvglSPGAAVTALGAELTWPDvPPGVKDNVSSR----------------------------------------------------------------------------------------------------------------------------
529
+ >UniRef100_UPI000A7FA51B_860235/ 46 0.307 1.287E-01 33 84 233 723 774 827
530
+ ---------------------------------LPPLPDQGTTVTVDLTAAMDNDAFTNEFHMGDGDFDGTGNTYPAAQLPQTGQ----------------------------------------------------------------------------------------------------------------------------------------------------
531
+ >UniRef100_A0A1U9KA27_1471761/ 44 0.254 5.502E-01 170 222 233 0 57 146
532
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------MPYRNSPSG-QDGLATYVYYTYVPLDhPDKMVRSVTLPdadtiDKGRIHIFDIAIKYAA----------
533
+ >UniRef100_UPI001915FEBF_2778368/ 44 0.318 9.823E-01 69 128 233 10 78 79
534
+ ---------------------------------------------------------------------GCGESYSAQALlqapphIAPGNAVVVNGVTLTWPNvAAGSQDNYKTKGQTVPVTPvnGATTQAFLEGSS--------------------------------------------------------------------------------------------------------
535
+ >UniRef100_A0A2A3HR12_1938860/ 151 0.439 5.047E-37 35 231 233 6 203 212
536
+ -----------------------------------PQASAPRYRVVELADHRNNRAATRVHTTAAGGFNVWRNSFPAEHLPPGGSQVEVGGVPFSFPPVGEGDDNVRCDGQFIAVPAGRYDWVHLLAAAERRTEDTVELHYADGSVDTEWLRVSDFWAAPAWFGELPAYRTPVMHYPYHVQPGVSAHLWAQRVPVPRRTELAGLRLPRNIAVHVFAATAqEPPPGTAGLPAPD-
537
+ >UniRef100_C7PY52_479433/ 147 0.267 2.151E-35 47 230 233 1074 1269 1548
538
+ -----------------------------------------------LPAAFNNDAITNDSNRGGADLDGAGASFSAQALAsvgvTPGAPLVHDGLTFTWPDRQvGQSDNVVAAGQTIDI-SGSGSTLGLLGTSTWGaSSGSGTIAYTDGSTQPYTIAFGDWANGTPPTGGDVAIRAPYGNQP-GNQTGWAATIDYFPITLDATKTVQSITLPpgsaqphgGTPAMHIFAMSIKSDQLSVTAPTA--
539
+ >UniRef100_A0A1B4ZDD3_1213862/ 141 0.403 1.250E-33 45 228 233 26 210 211
540
+ ---------------------------------------------LDLTAFADNVGVTSPDRLSEGAFNIWGNTFPADELPK-GGPVDIHGIPFRFPAvGTGQPDNVRCAGQFIDVPVGRYDWIHVLAAAERRTEDFVRLHYTDGAVDPEWLRVSDfWPETASRFGESAAVSCTRLHYPRHIQRSMGPTLWRQRVAVPREQDLSAIRLPDNPAIHIFAMTLAPATQPETTQ----
541
+ >UniRef100_A0A4R0HF04_1124743/ 133 0.394 1.199E-30 25 218 233 35 228 237
542
+ -------------------------MPDQMPDQMPATSVQARCRAVNLAPHRNNVGSTPATDTRGGAFNIWGNSFPAEELPAPGQFV-VDQVAYDFPPTgRGTADNVRAAGQFIEVPSGRYDWLYVLGAAERRVEDELAFHFADGSVDFEQLRLSDFWAAPGWFGETQVRATRSMHYPFHVQAGVPAMLWSQRVPVTRRAALAAVRLPRNPAVHLFAATL--------------
543
+ >UniRef100_A0A2T6FTL9_189691/ 98 0.302 1.187E-18 42 219 233 3 182 196
544
+ ------------------------------------------FHAMDLRPYFNNRGFTYESRCGEGRLTMGSSSFPAESV-RFGRMYRFGGIPFRYQTTEDG-DNIETSGQTVALPwmPGTLDCVHALGVSANGDSfDRVSFVAGDRLLHTARLALSDFVSDRPAFGDRLAMTLPYMHMVLGRYAHVRPNLWICSIPyLGEAGAARALVFEDNPSMHIFAMTLE-------------
model/Protenix-pxd/examples/7wux/msa/2/non_pairing.a3m ADDED
@@ -0,0 +1,436 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ >query
2
+ MGSSHHHHHHSQDPNSTTTAPPVELWTRDLGSCLHGTLATALIRDGHDPVTVLGAPWEFRRRPGAWSSEEYFFFAEPDSLAGRLALYHPFESTWHRSDGDGVDDLREALAAGVLPIAAVDNFHLPFRPAFHDVHAAHLLVVYRITETEVYVSDAQPPAFQGAIPLADFLASWGSLNPPDDADVFFSASPSGRRWLRTRMTGPVPEPDRHWVGRVIRENVARYRQEPPADTQTGLPGLRRYLDELCALTPGTNAASEALSELYVISWNIQAQSGLHAEFLRAHSVKWRIPELAEAAAGVDAVAHGWTGVRMTGAHSRVWQRHRPAELRGHATALVRRLEAALDLLELAADAVS
3
+ >B4XYC1 250 1.00 4.608E-69 19 351 352 4 336 337
4
+ -------------------APPVELWTRDLGSCLHGTLATALIRDGHDPVTVLGAPWEFRRRPGAWSSEEYFFFAEPDSLAGRLALYHPFESTWHRSDGDGVDDLREALAAGVLPIAAVDNFHLPFRPAFHDVHAAHLLVVYRITETEVYVSDAQPPAFQGAIPLADFLASWGSLNPPDDADVFFSASPSGRRWLRTRMTGPVPEPDRHWVGRVIRENVARYRQEPPADTQTGLPGLRRYLDELCALTPGTNAASEALSELYVISWNIQAQSGLHAEFLRAHSVKWRIPELAEAAAGVDAVAHGWTGVRMTGAHSRVWQRHRPAELRGHATALVRRLEAALDLLELAADAVS
5
+ >SRR5215472_11685424 196 0.515 1.144E-50 1 346 352 63 412 423
6
+ -GHSRAGRDAGDGAVTAVSIEPLELWTRDLGSCLQAVFATLLLREGQDPVTVLGSAWDFRYEPGDWRSEEFYYPCAGRPLAEALAPLHPLTSVWHRapaDGPDPLRPLRAQLAAGRLPIAAVDNFHLPFRPAFGDVHAAHLLVVAGIDDERgqVLVSDAQPPEFQGPIPVADFLRAWGSANPEDVQDAFFSNSPLDRRWLEVRFTGEFPKPTRAWLAEVLARNVACLRWPDAGQLWSGLPGVERYVDRVLSQ-ACGPGGSAVLEELYVLSWGLQAHADLHAEFLRRHGVAQDLPALREAAEVVDRVAHAWTGFRMTGAHGRLDRPDFGGDLARHGGVLVRAHHEAASALELA-----
7
+ >3300005562.a:Ga0058697_10000188_20 192 0.458 4.730E-49 22 350 352 9 336 338
8
+ ----------------------VRQWYRDPLSCLQSTLATVLLGAGVEPLPVLGLAWEFLFKPGDVRREEFYYPCRfEGDVARSLAPYHPIRSSWWSPAPgeDPLAELARRVEDGELPVAGVDNYHLPFRPAFRDVHAAHLVVVYAIDreRDEVGVSDAQPPAFRGSIPTEDFLAAWASPNRADAEDAFFSDSEIGRRCLSVEIEGPIAPLDPVRLEAALAENLARF----GAGGWSGLAGLRRYLDDLS--ARAFAGERRPLEELYPFGWGMQAQTYLHGELLREVGADWSFPELAEAGRAVQEVASAWTGLRMTGAHALAAPAAAAAELRRHGNRLRRRYETALERVAQAVESL-
9
+ >SRR6266536_566964 191 0.460 8.792E-49 21 346 352 170 497 519
10
+ ---------------------PVRLWYRDLVSCLQATFATVLLHAGRHPLAALGAAWGFYCWQGEVTTEEFYYGCRHGSLGASLAPHHPVASRWHAGPDGSdpLAPLRDQVGAARLPIAVGDNYHLPFRPAWHDVHAAHLLVVYGFGDGTVEVSDAMPPAFQGPIPVEDFLRSWGSTNPRDEQDDFFSNAAIGRRWLEVTLGEPWPVEDRPWLRSVLQSNLDDLAGGGDglAGGLLGLPGLRGFLDELLARAGRGDSSVLL--ELYVFGWGVQAQASLHGELLRERGRAWDLPALSEAGRAVESVAHAWTGLRITGAHGRRDPAAVAADLARHGRAVEHAYRHAADLVALA-----
11
+ >B5HTY9 190 0.432 1.199E-48 20 350 352 14 349 350
12
+ --------------------PEPELWYRDLISCLQSTFGSVLARAGADPLAVLGAGWRFLHLPGDVRSEEFYYPCPADesggtDLGAALAPHHELHARWWQpaDEDDLWREVRETLAEDRLVIAAVDNFYLPFRPAYQDVHAAHLVIVYGLDETRgvVHVSDAMPPAFRGAVPIEDFLRSWGSANPSDVQDAFFSDSGIGRRCLDVRLDAPAGPLTPELLGGFLRTDVDGFTTATPA--RTGLAGYDEFAAELLDRCRAQDAG--ALRELYPFGWGMQAQASLHGELLRRCGSRWDDPALAAAGRAVESVAHAWTGLRFTGAHGLADPRAAAPDIARHVTRLRGAYACAVDAVGAAAGRL-
13
+ >A0A1G8BDD9 184 0.361 1.702E-46 22 350 352 7 341 344
14
+ ----------------------LDFWFHDLCSCLQDCFGTLLLRHGQDPVAVMGAAWEFHHAPGPVATEEFYHPAPRPTLGDNLMPHHPVRATWreQEDVESSWQDIRASIIDGRPAIAAVDNFHMPIRPAYGDVHAAHLMVVWGFDDEagEVYVLESTPPQYSGPVSLADFQRARSSANdsRPDTRDYFFAGAGIRGRWIDVTVDGAFPAVEREWVADVVTANARGFAEPAPGPGWSGLTGLTTWLEGVCDRADDIEDAGVALAELYTAGWAAQSAAALHADFLRDMGNRFGCDPLVHAGRQVDRLANQWTPLRILGAHGSTTGHRHTDQLRDRVRRFTAGHRDAVARLEAAAAAL-
15
+ >GraSoiStandDraft_9_1057307.scaffolds.fasta_scaffold4049564_1 183 0.356 4.309E-46 20 350 352 5 338 339
16
+ --------------------PGIRPWRHDLTHCLHTTFGVLVGFYGLDPLHVLGAGWGFGYRLDDVRREEYYFPCLDGSLLAGLAPHHGLDSHWHEPEDAAhgWEQVRACVAAGQPVAVAADNFHLPFRPAFSDVHTNHLLAVYGFDDEegTVYVADPVPPRFDGPITVDALTNARDSNNPItHERDMFFTANPIANRWLTVELTGPQPTFDRDFVRRVLLSNLDGFARGKVEGPTMrGVAGLREF---LTACLPRIADEPQRIDEVFIVAGVTLAITGLHADFLADSGRRLGLPALVELGREVDRVAHHWTALRIGVANSRSAPIDDLPALLRRGRNLVADQERVLDRMAQTAAQL-
17
+ >SRR5581483_8883662 181 0.405 2.024E-45 21 319 352 13 314 353
18
+ ---------------------PMAHWHHDLCSCLQCCMASVMHYYGRDPILTLGAVWDFYYSPEDLRKEEFYSPCRWSGLAESLLPYHPVTSRWHQPDDPevGWLQVKEVVQNGSPVIVAVDNFYLPFRPAYQDIHAGHLILVYGFDEetDQVYVLDSMPPAFIGPIALTDLKASRSSLNPADERDYFFSNAPVANRWLELNIEAPFPQFTEKWVMDVINANLRRFTTPCDGSALSGMSGLARYF-DLLDQNMANPAGHHALEELYVLGWSIQAATALHADFLMQVGKQLNWPRLGSIGRQVAHLAHHWTALRMLGAHGRAHPR--------------------------------
19
+ >K0K7T6 179 0.411 6.974E-45 21 349 352 4 332 334
20
+ ---------------------QVEQWYRDPVSCVHATLAEVVRHAGAEPLEVLGLGWEFRHLPGDVRPEEYYWPCRvPGDLAGSVLPHHRVRSVWRTaPEPDPLTALTGPLAVGRLPVLAVDNYHLPFRPAYHDVHAAHLILVRDLDLDRgvALVSDAMPPAHRGELPVADLLRAWRSTMPPDEQDVFFSGRGGQARWLEVIVEAVPPPLTPEALRSALRANVDGFQSQGP--ERTGLAGFGEFLAEVVDRSAAGEAAAP--AEVYTFGWSMQAQSAVHGELLRTCGMRWAEPELAEAGRRVEQVAHHWTALRVTGAHGRTDPVAAAPGLHRHGERLRRSYEQAVESLALASAA--
21
+ >A0A1L7NQD0 179 0.423 1.294E-44 20 350 352 14 344 345
22
+ --------------------PEPELWYRDLISCLQATCGSVLAREGVDPLDVLGAGWQFLHVPGDVRPEEFYYPCSEGELGRALAPHHDLGARWWQPADENdvWREVREHLADDRLVIAAVDNFHLPFRPAYGDVHAAHLVVIYGLDETRgvVYVSDAMPPAFRGAVPIEEFLRSWGSVNPTDVQDAFFSNSKIGRRCLDVSLGTRRGPLTPELLGGYLRTDIEGFTTETSA--RTGLAGYDAFVGELMERCRAGDA--DALRELYPFGWAMQAQASLHGELLRRRGRDWDDAVLAGAGRAVETVAHAWTGLRFTGAHGHGDPRAAAPDIAHHATLLRAAYARAVDAVGAAAARL-
23
+ >SRR5919197_4477474 179 0.452 1.294E-44 21 350 352 224 552 553
24
+ ---------------------PPRQWYRDPISCLHSTLAAVVGYEGADPLEVLGLSFEFLYKPGDVRPEEFYFPCRfGDDLARSIAPYPPVRSEWWRaTGEDPLAELAARISNGELPIVAVDNYHLPFRPAYHDVHAAHLVVVYGIDAGRreVSVSDAMPPAFQGAIADGDFLRSWSSPNPRDDQDAFFSDARIDRRCLSVRFETPIPPLDGARLKDALESNSQRLSAG---EGWSGLPGLRRYLDELVGRADAGERRP--LEELYPFGWAMQAQAYVHGELLRVCGADWSVPELREAGRAVESVAYAWTGLWITGAHGLSAPAEATSGLRRHAGRLRRRYEEALEAVEQAVEAL-
25
+ >SRR5215211_2955382 175 0.442 1.534E-43 31 350 352 1 330 348
26
+ -------------------------------SCLQATFATLLLHRGHDPLEVLGAHWEFRYRPGDVRPEEFYFPERvAGDLGASLAPHHPVSSRWASGPAErPLDGIAAELRAGRLVIAAVDNFHLPFRPAFGDVHAAHLLVVYGIDERHGQVHlsDAMPPAFAGPIPVEDFMRSWSSQNPMDAQDAFFSDAGIGRRYLRTTVGEPSRDLDPRHVLACNRRLFDGGAQSAgaqpagaqPAGDWTGRSGRARYLDQLGRRARAAD--TRALEEVYPFGWGMQAQASLHGELLGRWGRQHAVPRLREAGRLVEAVAHGWTGLRMTAAHGRTDPVAAAPDLARHASRLRHAYDLAHEALAEAEAAL-
27
+ >A0A1M5CPU0 173 0.391 7.186E-43 24 343 352 7 328 364
28
+ ------------------------GWYRDPLSCLHVTLAVLLERAGRDPLDALSRDFGFRWIPGDVRGEEFYWPVdEPDDPVAGMAPSAGIRSRWRTAAADPLAALASALAAGRPPIVAVDNFHLPFRPAYHDVHAAHLVVVTALDvaGGRAFVVDHMPPAHAGWLPVEHLLAAWGSVNPPDAQDDFFSGEPIERRWLEVDLGPGLAPLTAADAAASAVENCARFgPLLGAPAPSSGRADLHALAA--AAVAAARDADGGALAEVYTFGWSMQAQAAVHGELLRRTGAAAGDLVLAAAGRKVEAVAHVWTGLRVTAAHGRLDPAAVAPAVGRHAARLVTAYETAFAAL--------
29
+ >GraSoi013_1_40cm_1032412.scaffolds.fasta_scaffold160357_1 172 0.404 1.814E-42 20 332 352 5 320 339
30
+ --------------------PGIGHWRHDLTHCLHTTMGVLLGFYGLDPLHALGAGWGFAYPAGDVRREEYYFPTVDRSLLGSLAPHHPLSSSWHEPAGaeQGWHDVREAVSGGVPVAVAVDNFHLPFRPAYSDVHTNHLLAVYGFDDDRheAYVADPVPPRFQGPIPLAALAAARDSANPiRHDRDLFFTANPLANRWLTIHLDGPQPALDLDFVRAAMLRNVAGLADGTAAGaVLRGLAGQRAF---LESALADLDAGEHRVDEVFVVAGAILAVTGLHADFLGAAARRLDRPALAELGREVDRVAHHWTALRIGVANARSRPGAEVPALQARAAAL-------------------
31
+ >SRR5919197_654015 172 0.393 2.471E-42 42 347 352 1 309 311
32
+ ------------------------------------------AHRQLDPLVVLGSGWTFAYSPGEWAPAEFFYPALDGSLAATLAPHQPLSIVWREpgSPEEAEQELVAALAGGRPSIVAVDNYWLPFRPAFRDVHAAHLVVVYGHDAERgsFAVLDAVPPAFRGWISRETLARARGSDNPAADDEAFFRGAPIANRWLDVDVDGAVSEVEPEWLGRVVAGNLAHMLGPSGETTWTGLAGVRRYVEWLAERAAAEDGEP-ALKEAYGFGWAPQASAALHGAFLHAAGLRLDAPGLREAARTVDLVAHAWTPLRVGAGHAVSDPPAAAGYLARRGRALVTAYEAAIDRLRELA----
33
+ >A0A1C4Y1U0 170 0.438 1.156E-41 25 350 352 39 368 369
34
+ -------------------------WYRDPLSCLQTTFAAVVDAAGGDPLEVLGAGWEFRHLPGDVRTEEFYHPSRhPEDLGRSIAPHHHVRSRWTTPaaDRDPLSELADEIAAGRLPIAAVDNFHLPFRPAYHDVHAAHLVVVYGVDlaRDLVLVSDAQPPAFTGPIRAEDFLAAWGSVNPADDQDAFFSATRIDRRYLRVEI-GDSRPLDRDGLRAALRANVDGFTAAPASDGgaWTGLAGLRRYLDEVVAAAAAGD--SATVRDVYPFGWSMQAQACLHGELLRTVGVDRDLPCLREAGRAVEAVGHTWSGLRVTAAHGWPAPQAAAESLEHHGARLQQRYQCAVEAVDRAVGRL-
35
+ >SRR5919197_910194 169 0.457 2.916E-41 22 346 352 151 470 475
36
+ ----------------------IRQWYRDPVSCLQSTLATVLLAADTEPLPVLGLRWEFLFVPVDVRPEEFYYPCRfADDLARSLAPYHPLRSSWWSPAPEedPLAELARRVEGGELPIAAVDNYHLPFRPAFHDVHAAHLVVVYAVDreKEEVGVSDAQPPAFRGSIPAKDFLAAWGSANPADTEDAFFSDSEIGRRCLSVEIEGPIPPLDAERLRTALEENLAGFVT--------GLADLGRYVDDLE--ARALADERRPLEELYAFGWGMQAQTYLHGELLRETGAGWSVPELAEAGRAVHEVASAWTGLRMTGAHALGARAAAAADLRRHGNRLRRRYEAALEHVAQA-----
37
+ >SRR5919204_1883335 168 0.472 3.969E-41 22 323 352 124 424 427
38
+ ----------------------VRQWYRDPLSCLQSTLATVLLAADAEPLPVLGLAWDFLFVPGDVRPEEFYYPCRfEGDVARSLAPYHPVRSSWWSPalDEDPLAELARRVEDGELPVAAVDNYHLPFRPAFHDVHAAHLVVVYAVDreRDEVHVSDATPPAFQGAIAAADFLASWSSANPADDEDAFFSDSRIGPRCLAVEIDGPLPPLDRERLRAALCENLARF----GAVGWSGLAGLRRYVDDLTARAQAGERRP--LEELYAFGWGMQAQTYLHGELLRETGAEWSAPELAEAGRAVQATASAWTGLRVTGAHGPAAPGDPGP----------------------------
39
+ >SRR5919202_365103 167 0.449 1.362E-40 22 350 352 157 480 481
40
+ ----------------------VRQWYRDPVSCLQSTLATVLLAAGAEPLPVLGLRWEFLFVPGDVRPEEFYYPCRfEGDVARSLAPYHPLRSSWWSPaaGEDPLAELARRVEGGELPIAAVDNYHLPFRPAFHDVHAAHLVVVYAVDRERgeVAVSDAQPPAFRGAIPAEDFLAASGSPNPADAEDAFFSDSEIGRRCLSVEIDGPIPSLDAERLRAALAENLT--------DFATSLAELGRYVDDLE--ARALDGERRPLEELYAFGWGMQAQTYLHGELLREMGAGGSVRELAEAGRAVQEVASAWTGLRMTGAHGLAAPAAAAADLRRHGNRLRRRYEAALEHVTRAVESL-
41
+ >A0A2A2D0D6 158 0.369 8.748E-38 22 348 352 88 416 422
42
+ ----------------------VRPWRHDLGGCLHGCLATLLEHRGVPALPVLGAAWTFRHFPGGVRREEYYYPcADGESLLTALAPHHPVRSVWHEPADAAtgWEQVRDAVAAGTPVAVAVDNYHLPFRPAYRDVHSNHLVVVHGYDEErgTVRVLDAVPPAFHGDITLAELTASRDSGNeLVHERDMFFTGVHIDNRWLSLEldaAPGDFPALDRAEVARVLALNLAHFAAPPDGDACTGLAGQQAF---LEGTVKRLTAGEDIRDELFVAAGAALACTAVHADWLALAGRTLDLPGLVEQARSVERVAHHWSAVRIMAALTRDGGLTP----RRLAGRVHALLKDHESALTALDD---
43
+ >688.fasta_scaffold2401073_1 156 0.357 7.519E-37 22 308 352 11 304 347
44
+ ----------------------VVSWRHDLVGCLWTSAATILAFHSAPVLPTLGAAWGFRHQPDDLRREEYYYPCKPGvSLYEAIAPYHPVRSRWHEptDAEQGWIQVRDMVLSGEPVVVAADNFYLPFRPAYQDVHTNHLIVLYGFDTERgsATVLDAVPPRFNGEITITEFTAARDSGNPqLHDRDMFFTANPLGNRWLEVEvETAAFPPFDLDMIKYVIRRNLDGFAASPDGGVRDGYSGMAGQAAYLDDLAGRLEVGENVRDELFLVAGAVLANTALHADWLALAAGVIRIPALAEAGRDVERVAHHWTAIR-------------------------------------------
45
+ >SRR5580658_171216 156 0.357 7.519E-37 22 308 352 56 349 392
46
+ ----------------------VVSWRHDLVGCLWTSAATILAFHSAPVLPTLGAAWGFRHQPDDLRREEYYYPCKPGvSLYEAIAPYHPVRSRWHEptDAEQGWIQVRDMVLSGEPVVVAADNFYLPFRPAYQDVHTNHLIVLYGFDTERgsATVLDAVPPRFNGEITITEFTAARDSGNPqLHDRDMFFTANPLGNRWLEVEvETAAFPPFDLDMIKYVIRRNLDGFAASPDGGVRDGYSGMAGQAAYLDDLAGRLEVGENVRDELFLVAGAVLANTALHADWLALAAGVIRIPALAEAGRDVERVAHHWTAIR-------------------------------------------
47
+ >SRR3569833_1969934 149 0.341 1.019E-34 22 308 352 167 457 480
48
+ ----------------------VRPWRHDLAGCLHACAGTLLDHQDIPPLDALGAHWGFYYPPGDFRQEEYYFPCRPGtSLLGSLAPYHPISSRWHlpADAEEGWSDVREQRVAGWPTAVGVDNFWLPLRPAHQDVHANHLVIVYGFDDenETVRVMDTVPPRFDGDLPLSVLTAARGSgTEAHHARDMFFADSAIAHRWLEISVNhARRRPPDRPTIAAYLCRNLAGFAAPDDENDHDGLAGLESFLRDMETRLSRGDEIAD-----ELFVVAGAALadTALHADWLAEAGRAVGIPSLTEAGRSVERIAHHWTALR-------------------------------------------
49
+ >SRR6266536_1184334 149 0.466 1.881E-34 38 286 352 2 252 493
50
+ --------------------------------------ATVLLHAGREPLAALGAAWGFYCRPGEVTTEEFYYGCRHGSLGASLAPHHPVASRWHAGPDGSdpLAPLRDQVGAARLPIAVVDNYHLPFRPAWHDVHAAHLLVVYGFGDGTVEVSDAMPPAFQGPIPVEDFLRSWGSTNPRDEQDDFFSNAAIGRRWLEVTLGEPWPVEDRPWLRSVLQSNLDDLAGGGDglAGGLLGLPGLRGFLDELLARAGRGDSSALL--ELYVFGWGVQAQASLHGELLRERGRAWG-----------------------------------------------------------------
51
+ >A0A022MLG6 147 0.352 4.714E-34 23 339 352 23 341 358
52
+ -----------------------PQWYEDPLSCLQTTLGSILLEHGLRPVEVLGRACEFAFAPDDVMCEEFYRPAqSSRGVAADLCPYH--DVESAWTSGKDADDLIGLIEEHAAVIVAVDNYHLPFRPAYHDVHAAHLVVVpawrrTGGGQLEFYVSDAQPPGFQGWLAAEHLVESWTSGNPTDTQDVFFSSREIGGRVLTVKVRPEPGPLTDDQVVRALRGNLDRWDTgtaGPAEGVWTGRSGLRRFVERLAEHSAD----PARLRPAYTFGWAMQAQAYLHGRFAQECALRTRPGHLAEVAASADRVVSAWSNVRLLSAHAAHTP-GAPELIRRRGEELSHAYEQL------------
53
+ >SRR6185503_6371475 140 0.318 1.158E-31 25 293 352 68 340 342
54
+ -------------------------WRHDLVGCLWTCAASILDFYDVPALETLGAAWTFRHCPQDVRREEYYYPCPEGtSLYEAIAPYHPIRSVWHvpADAEEGWQQVRDQVADGTPVVVAVDNFYLPFRPAYQDVHTNHLSIVYGYDEqaGTVRVLDAVPPRFDGDIRIDELTAARNSANPeLHERDMFFTNRPIANRWLEIELdAAAFPPFTLDTVRSTLRRNLQGFYAAASEVEYLGIQGEQEYLASQANWLDKGDDIRDGLFLAAGAAL---ANTALHAEWLALAGRQFYQPRLAEL----------------------------------------------------------
55
+ >4772|scaffold_11782_c1_3|+1184|00 137 0.296 1.329E-30 22 308 352 7 327 369
56
+ ----------------------VRPWRHDLAGCLHACLGTLLDHAGRRPLEVLGAGWRFYYRLGDLRAEEYYHPCPdGRSLVASVAPGQGISSRWHRpaDAEQGWQQVREQVLAGVPVAVAVDNFELPFRPAYRDVHSNHLVVVYGFDDErgTVRVLDAIPPFFDGDLPLGVLAAARDSGNRsSHERDMFFADNPIGNRWLELVADGAPSAEPRspagylAANLAALRAGASGNPdssagpnsgagpnssaqpnsdaepdRGAEPNSYAGRDGIARFLTDMSDRLADGHSIADELFVVSGVALAGTA---VHADWVGDTGRRLGLPGWPELARRLDRLAHHWSAVR-------------------------------------------
57
+ >SRR5258708_5638915 137 0.508 1.803E-30 104 347 352 13 257 264
58
+ --------------------------------------------------------------------------------------------------------VRQARGAGRRPTAAVDNSPLPFRPAFGDVHAAHLLVVNGVDDERGLVHvsDAQPPEFQGPIPVADFLRAWGSTNPEDTQDAFFSNSPLDRRWLEVRFTGDFPVADRGWLAGVMAENVRRLRRPEPGPLWSGLAGVERYVERVLEQ-AAGPGRSDALEELYVLSWGLQAQADLHAQFLRGFGVAEDLPAMREASCLVDGVAHAWTGFRMTAAHGRLDRPDFGQELRWHGRRLVRAHDEAVDAIELAL----
59
+ >GraSoi2013_115cm_1033766.scaffolds.fasta_scaffold685313_1 134 0.764 1.521E-29 115 305 352 0 190 191
60
+ -------------------------------------------------------------------------------------------------------------------IAAVDNFHLPFRPAFHDVHAAHLLVVYRITDTDVYVSDAQPPAFQGPIPIADFLRSWDSANPAHDADVFFSSSPSDRRWLHARMRGAGPRTDRGWLAQVIRDNVARFRAGSPDGIETGVEGLRRYLDELCTHEPGTQAADAALSELYVISWNIQAQTGLHAEFLRAQGLHWRIPELAEAAARVDAVAHGWT----------------------------------------------
61
+ >ERR671931_1062055 130 0.480 2.348E-28 21 243 352 108 326 335
62
+ ---------------------PPRQWYRDPISCLHSTLAAVVGYEGADPLEVLGLSFEFLYKPGDVRPEEFYFPCRfGDDLARSIAPYHPVRSEWWRaTGEDPLAELAARISNGELPIVAVDNYHLPFRPAYHDVHAAHLVVVYGIDreRDEVGVSDAQPPAFRGSVPAEDFLAAWGSANPADTEDAFFSDSEIGRRCLSVEIEGPIPPLDAERLRTALEENLAGFVT--------GLADLGRYVDDL------------------------------------------------------------------------------------------------------------
63
+ >SRR5439155_7605724 130 0.404 3.181E-28 24 201 352 9 191 192
64
+ ------------------------FWFHDLCSCLHDCIATVLIYQDQDPTLTLGASWEFYYSPADVRREEFYHPLPRPTLAESMMPFHPVRSSWHasDDPDAAWSDVKALVADGQPVIVAVDNFYVPFRPAYGDVHAAHLIVVFGFDDatDEVYVLDSTPPTKRGPMPMSEFLRARYSDNPVSGeRDFFFAGAPIANRWLQLEIGTP------------------------------------------------------------------------------------------------------------------------------------------------------
65
+ >SRR2546423_1207057 128 0.432 1.071E-27 22 266 352 174 413 417
66
+ ----------------------VSQWYRDPVSCLQSTLATVLLAAGAEPLPVLGLAWEFLFIPGDVRPEEFYYPCRfEGDLARSLAPHHPLRSSWWSPAPgeDPLAELARRVERGELPIAAVDNYHLPFRPAFHDVHAAHLVVVYAVDRERgeVGVSDAQPPAFLGSLPAEDFLAAWSSANPADAEDAFFSDAEIGRRCLAVEIEEPIPPLDGERLRAALAENLACFVT--------GLADLRRYVDDLE--ARALAGERPPLEGLYALGLG-------------------------------------------------------------------------------------
67
+ >SRR5215471_7738639 128 0.443 1.451E-27 21 193 352 168 343 344
68
+ ---------------------PTRAWRHPLGGCLFAAVGALLWHRGLDPLEALGAAWRFRYRLGDVRREEFYYPCGEDSLVEALAPHHPVRSRWHspSSPAAAWPEVRERLLAGVPVAVVVDNFHVPFRPAFGDVHSSHLVVVTGFDEGTGTVVDAVPPGFQGPLPLAQLALARGSDNRPrHARDMFFAGDPIGARW--------------------------------------------------------------------------------------------------------------------------------------------------------------
69
+ >SRR5919198_860872 128 0.456 1.966E-27 115 344 352 0 226 920
70
+ -------------------------------------------------------------------------------------------------------------------VAGGDTRLLPFRPAYHDVHAAHLVVVYGIDAGRreVSVSDAMPPAFQSAIADGDLLRSWSSPNPRDDQDAFFSDARIDRRCLSVRFETPIPPLDGARLKDALESNAQRLSAG---EGWSGLPGLRRYLDEVVGRAGAGERRP--LEELYPFGWAMQAQAYVHGELLRVCGADWSVPELREAGRAVESVAYAWTGLRMTGAHGLSAPAEATSGLRRHAGRLRRRYEEALEAVE-------
71
+ >ERR1700691_1894743 126 0.322 8.949E-27 4 235 352 55 293 308
72
+ ----HRHRTSGMSRPATALIEEVVSWRHDLVGCLWTSAGTVLGFHGAPVLETLGAAWGFHHFPDDLRREEYYYPCPPGmSLYEAIAPYHPVSSRWHEPADAAqgWAQVRDIVLSGSPVVVAADNFYLPFRPAYQDIHTNHMVVVYGFDEasGTARVLDAVPPRFDGDITMEELTAARDSTNPvLHERDMFFTNRPIANRWLEITVdTAAFPPFNLEPARPTLRRNLPGSAAPAPAEAYAGTAG--------------------------------------------------------------------------------------------------------------------
73
+ >DeetaT_8_FD_contig_21_3401058_length_202_multi_3_in_0_out_0_1 122 0.400 1.364E-25 24 203 352 9 193 195
74
+ ------------------------FWFHDLCSCLHDCIATVLIYQDQDPTLTLGASWEFYYSPADVRREEFYHPLPRPTLAESMMPFHPVRSSWHasDDPDAAWSDVKALVADGQPVIVAVDNFYVPFRPAYGDVHAAHLIVVFGFDDatDEVYVLDSTPPTKRGPMPISEFLRAIYSDNPVSGeRDFFFADAPSASRSRHLEIGTPSP----------------------------------------------------------------------------------------------------------------------------------------------------
75
+ >SRR6266704_4620549 119 0.447 1.527E-24 22 189 352 1 172 175
76
+ ----------------------VRMWRHDLGHCLHATMGVLLGCYGADPLSVLGAAWGFGYRSGDLRREEYYYPLGSESLLGVMAPHHPVSSRWHRPPDaeTAWTEVREAVASGRAVAVAVDNFHLPFRPAYRDVHTNHLLTVYGFDDerDEVLLADPVPPRFQGAITRAEFAAARRSVNPEDHDRDLFFTRNP------------------------------------------------------------------------------------------------------------------------------------------------------------------
77
+ >EndMetStandDraft_4_1072995.scaffolds.fasta_scaffold2302776_1 118 0.370 3.774E-24 108 327 352 0 209 217
78
+ ------------------------------------------------------------------------------------------------------------LASGVPVAVAADNFFLPFRPAYRDVHSNHLLLLYGFDDDagHVYVVDPVPPSYQGPIPLETLSLARGSVNPvRHDRDMFFTANPIANRWLTVRVGPVQPVMDRAFVARAIEANVA----------GFGLPGLRAFlAAALAKLPDDGT----VIDEIFLVAGPLLAVTGLHAEFLDRAGQAFGVSALRELGRRVDRIAHHLSALRIAVASARHDRAAAVPGLRR------------------------
79
+ >ERR687887_509227 117 0.470 6.896E-24 22 233 352 115 331 332
80
+ ----------------------LRQWYRDPISCLQSTLATVLLAADEEPLPVLGLAWEFLFVPGDVRPEEFYYPCRfEGDVARSLAPYHPLRSSWWSPAPEedPLAELARRAEGGELPIAAVDNYHLPFRPAFHDVHAAHLVVVYAVDrrREEVHVSDATPPAFQGAIAAADFLASWSSTNPADDEDAFFSDSRIGQRCLAVEIDEPLPPFDAERLRTALETNLARFAAEEDDAGRGGL----------------------------------------------------------------------------------------------------------------------
81
+ >SoiMetStandDraft_5_1073268.scaffolds.fasta_scaffold824170_1 116 0.332 1.702E-23 78 328 352 3 256 278
82
+ ------------------------------------------------------------------------------SLLGSLAPYHPISSRWHlpAGAEQGWSDVREQLVEGRPTAVGVDNFWLPFRPAHQDVHANHLVIVYGFDDEnkTVRVMDTVPPRFDGDLPLSVLTAARGSGNeAHHDRDMFFADSAIAHRWLEISVNhARLRPPDRPTIAAYLCRNLAGFAAPDDENDHDGLVGLESFLRDMETRLSRGDEIAD-----ELFVVAGAALadTALHADWLAEAGRAVGIPPLTEAGRSVERIAHHWTALRIIAALTRKGDVSTARLRRRH-----------------------
83
+ >SRR5262245_57182801 115 0.435 2.300E-23 31 219 352 2 194 228
84
+ -------------------------------SCLQATVGSVLAYWGHDPLEILGAGWDFTYIPGEVPFEEFYFPSPPGiDLGQSLAPHHPLSVRWATGVrDDPLGELAGAIEAGQLPIVALDKYHLPFRPAYHDVHAAYLLVVYGVDKRRglVLVSDSTPPHFTGPIAAEPFLAAWQSRNPADEQDAFFSESEIGMRYLVVEPRDRIPRLTQRQLGTALRANAA------------------------------------------------------------------------------------------------------------------------------------
85
+ >SRR3954469_16970431 113 0.377 1.034E-22 22 243 352 47 268 283
86
+ ----------------------VRQWYRDPVSCLQSTIATLLIEAGWDPVETLGLGWQFPYLPGDVRAEDFYWPCRvPGDPVASMLAHHQVSSSWrQETGSDPLAALEAALDRGQLPVVAVDNFYLPFRPAYHDVHSAHLIVVFDVDrDGTVGISDAMPPAFQGELAVEDLLRSWMSAN-PRENEAFFSGAHIGGRWLDVRLGPAPPRLDPSTLAGAL--LADAVAFRKTDVAGAGLAGLADLSAAI------------------------------------------------------------------------------------------------------------
87
+ >SRR5262249_26821897 112 0.471 2.547E-22 21 158 352 6 147 149
88
+ ---------------------PIDHWRHDLGHCLHTTAAVLLAYHRLDPVEVLGAGWGFRYPPGDVRREEYYFPGHPDDLFSGLAPSHGVSSRWrpREGAEDGWRQVRAAHADGAPVAVAVDNFHLPFRPAYRDVHTNHLLAVYGFDDDTgqVFVADPVPPSF-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
89
+ >SRR5688572_1544331 111 0.420 4.641E-22 56 264 352 0 211 212
90
+ --------------------------------------------------------WEFLYKPDDVTAEEFYYPCRVDgDIARSVAPYHEITSRWWraESGGSALDELAGCLNAGALPIAVVDNFHLPFRPAYRDVHAAHLLVVYGVDQQRgeVWVSDAMPPAFSCPIATEEFLASWSSENPLHAGDAFFSGSRIDRRCLLMDVRSQRPPLNRHVAHAALRSNLARFARADDPAGWNGRAGLGRFLQQLLERARAAD--PEALAETYRFG---------------------------------------------------------------------------------------
91
+ >MGYP000725067659 108 0.373 5.102E-21 115 341 352 6 228 245
92
+ -------------------------------------------------------------------------------------------------------------------IVAVNNYHLPFRPAYHDVHAAHLFVLnrLGTPGGVARVHDPQPPAYRGPLSREVLDIARASLRVGDESDPFIAGANPNWRWLEVRVEGPQPSPSLTWVHAIMVENLDALLRQ-----TQGPAALATFLDSLPNRVR--EHGPRALREIYVLGWPAQAEAGLHARFLASVAARHRKPRLAETARAVDHVANGWTGLRVSAAHASTLSAPtAPADVFRQGATLLRRWRRCMD----------
93
+ >SRR5262249_47284095 106 0.432 3.067E-20 25 167 352 10 157 159
94
+ -------------------------WRHELAGCLHACAGALLGFHGIEPLEALGAAWGFHYAPGDARREEYYFPCRPGWsLLRSLAPYHPVGSTWHHPAGdaEGWAEVRSAVASGRPAAVAVDNFHLPFRPAYRDVHSNHLVLVYGFDDDRrlAWVLDAVPPRFDGPIGLHQL----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
95
+ >SRR5690242_2363108 104 0.414 1.364E-19 22 147 352 18 145 148
96
+ ----------------------VDHWRHDLTGCLHQSMALLLAHEGLDPLEVLGAAWGFYYDPRDLRREEYYFPTPYESLLSGLAPFHPVRSRWHlpADAAAGWAEVRAAVADGRPVVVAVDNYELPFRPAYQDVHTNHLVTVVGFDDER------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
97
+ >SRR5262245_28891133 103 0.492 3.334E-19 21 144 352 23 148 156
98
+ ---------------------PVTVWRHDLAGCLHACAATLLAHHGVDPLDAVGAAWGFTYVPGDVRREEYYFPQAGRSLLESLAPYHPVRSEWHRpgSAEEGRRQLLSQLAEGRLVAVAVDNFHLPFRPAFGDVHTNHMVVVYGYD---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
99
+ >SRR5215468_4727865 99 0.449 4.843E-18 21 164 352 181 329 330
100
+ ---------------------PVNAWRHDLVGCLWTSAATMLACHGAPVVETLGAAWGFRHLPGDLRREEYYYPTPPGvSLYQAIAPYHPVRSVWHEpaDAGEGWTQVRDEVLAGRPTVVAADNFYLPFRPAYRDVHTNHLVVVHRLDEaaGTVGVLDAVPPHFDGDITL-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
101
+ >SRR5215467_9451402 98 0.413 1.179E-17 161 337 352 0 176 179
102
+ -----------------------------------------------------------------------------------------------------------------------------------------------------------------PITVADFLRAWSSANPPDPQDVFFSDTRIGRRFMTVTAGEPFPRLDAPMLRRILAANLAGFSGEDASDqaGWTGLPGLKLYLMSLLDACAR--PDPAQLASAYPLGWGMQAQASLHAELLRRWGTQAGLPELREAARLVETAAHAWTGLRMTAAHGRGDPRACAGELARHAAGLRRSYE--------------
103
+ >ERR1700761_2897183 97 0.376 2.869E-17 96 294 352 0 202 203
104
+ ------------------------------------------------------------------------------------------------TSGKDADDLIGLIEEHAAVIVAVDNYHLPFRPAYHDVHAAHLVVVpawrrTGGGQLEFYVSDAQPPGFQGWLAAEHLVESWTSGNPTDTQDVFFSSREIGGRVLTVKVRPEPGPLTDDQVVRALRGNLDRWDTgtaGPADRVWTGRSGVRRVAERLDEHSAD----PARLRPAYTFGWAMQAQAYLHGRFAQECALRTRPGHLAEVA---------------------------------------------------------
105
+ >SRR3954453_9001413 95 0.398 9.369E-17 25 153 352 6 138 139
106
+ -------------------------WRHDLGHCLQTTMGVLLQHHGLDPLQGLGAAWGFHHIPGEVRREEYYFPLHRGGLLESMAPYHPVRSRWHrpEDAGSGWQQVRAAVLAGSPVAVGADNFLLPVRPAYRDVHTNPLLTVYGFDDERdlVLIADP------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
107
+ >SRR5213080_3547182 95 0.373 9.369E-17 133 295 352 0 164 167
108
+ -------------------------------------------------------------------------------------------------------------------------------------HAAHLIVVFGFDDatDEVYVLDSTPPTKRGPMPMSEFLRARYSDNPVSGeRDFFFAGAPIANRWLQLEIGTPSPELTREWVTEVIATNLRRFREPDASPGWAGMAGLTHYLHSICART-LGADAGDALQELYTVGWTAQGSTALHADFLMLAGRRLGWDRLVEVGR--------------------------------------------------------
109
+ >SRR6266536_4448340 93 0.430 7.400E-16 95 227 352 3 139 147
110
+ -----------------------------------------------------------------------------------------------RDAAEVWAQVRERLAAGVPVAVAVDNFHLPFRPAYQDVHTNHLVVVHGCDErrGTVRVLDAVPPGFDGAIGLEQLTAARSSANPvRHDRDLFFTDSPIANRWLEVEVArERLPRFGPAGVSSGIQGNLAGFATPPPP----------------------------------------------------------------------------------------------------------------------------
111
+ >SRR5215216_3959313 92 0.600 9.936E-16 20 139 352 6 123 124
112
+ --------------------PPVQLWCRDLVSCLQATFATVLLHHGHDPVEVLGAPWQFRYRPGDVRTEEFYFPERAGDLGAAIAPYHPVSSRW--CTGRSLDELDAQLRAGRLVIAAVDNFHLPFRPAFCDVHAAHLLV--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
113
+ >SRR5947209_19054265 92 0.427 9.936E-16 106 229 352 0 123 137
114
+ ----------------------------------------------------------------------------------------------------------AAIDAGRPPIVAVDNYHLPFRPAYHDVHAAHLVVVRGYDGDTVQVLDPMPPAFDGPLAGSVLATSRAAATVTDPTDPFFAGSSLRRRWLEVYPTGRQPAWSWAWVQQTLRDNLAALAGPARDDS--------------------------------------------------------------------------------------------------------------------------
115
+ >ERR671931_2548281 89 0.317 7.793E-15 136 349 352 2 215 219
116
+ ----------------------------------------------------------------------------------------------------------------------------------------HLLTVYGFDDEarHALVADAVPPRYQGPLALSDFVAARGSSNPiRHDRDLFFTANPIAHRWLEVDVPARMPALDAEFLRFVVESNLRGFGARGADDAYEGIEGAHRFLVDALARLGRGEAVVDEV--FIVSGTALAA-AGVHADYLLLAADRFGSFALLEAARAVERVASHWAALRIALAELRDVSAPRLEGIRRRGEALVRDHRSALARLEHALEA--
117
+ >SRR5205809_3347963 88 0.503 1.880E-14 69 216 352 3 154 156
118
+ ---------------------------------------------------------------------EFYFPCSDDDLGRVLAPHHTLEIvtrRAPDDDARALSMLGERLEAGALPIAAVDNLHLPFRPAFGDLHAAHLLVVFGVdtDADAVWVSDAIPPAFQGPIPSATFLRSWGSANPPDGQDPFFSSSPLERRWYDVRLVD-APADNADWIARAIAD---------------------------------------------------------------------------------------------------------------------------------------
119
+ >MGYP000871191451 88 0.370 2.521E-14 21 186 352 11 179 182
120
+ ---------------------PLPGWYDDLLSCLQTTIGVSVQAHGWDPVQALAAGWRFSLPAAPVEPVEFYHPA-GDQIGERLCLHHPVQLRWHHPASRAEADagIAAATATGSHSIVAVNNYHLPFRPAYHDVHAAHLFVLnrLGTPGGVARVHDPQPPAYRGPLSREVLDIARASLRVGDESDPFFAG---------------------------------------------------------------------------------------------------------------------------------------------------------------------
121
+ >ERR1051325_7439640 87 0.568 3.380E-14 110 239 352 0 128 129
122
+ --------------------------------------------------------------------------------------------------------------AGELPILAVDNYHLPFRPAYHDVHAAHLLVVYGIDAGRgeVFVSDAMPPAFQGAIACDDLLRSWSSPNPRDDQDAFFSDARIDRRGLSVRFEAAAPPLDRDGLERGLRGNAERL---AAEDEWSGLPGLRRY----------------------------------------------------------------------------------------------------------------
123
+ >SRR5438874_1021933 87 0.443 4.531E-14 126 274 352 1 149 150
124
+ ------------------------------------------------------------------------------------------------------------------------------RPAYRDVHAAHLVVVYGveRDRDEVLVSDAVPPAFRGAIPAETFLRAWSSANPRRDEDGFFTDARIDRRCLSVEVDGPFPRLDPDRACEALRANARGFRDRDDGVGWSGLAGIARYLDWLLERARTGGA--RALEELYPLGWAMQAQAYLH-----------------------------------------------------------------------------
125
+ >SRR2546423_1612834 86 0.731 8.139E-14 192 351 352 0 159 163
126
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------RWLRAAMRGPVPDTGLDWLGHVIRENVARYRQGSAGGTQTGVLGLRSYLDELYRAVPGTDAAAELLSELYVISWNIQAQAGLHAEFLRREGVRWRIHELAEAAAGVAAVAHGWTGVRMTGAHSRVWGRHRFDELRRHAVELVRRLDNALDQLELAAEVVS
127
+ >SRR5581483_10036454 86 0.401 1.091E-13 2 131 352 11 141 143
128
+ --CSRSRPSPTRRPAMRVELQPVRYWRHELGHCLHTAAAVLLAHRGLDPVGVLGAAWGFHY-PGDLRREEYYLPGAAGSLFTALAPYHGIRSVWHRpaDAEPGWQQVRAQVIAGNLVAVAADNYHLPFRPAYRD----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
129
+ >CryGeyStandDraft_13_1057135.scaffolds.fasta_scaffold438374_1 86 0.343 1.091E-13 183 345 352 9 169 184
130
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------FFAGTEIGGRWIDVEIGEPFPKPTEEWVGTVVAENLRGFVEPPIGDGWAGLAGLRRYLADVGDRADDRRD--PVLGELYTVGWASQSVTALHADFLRSTATALGWPEGLEAARRVEHLASLWTPLRILTAHGSTNGIELGDRLRRRMRALIRHYELAIEEVER------
131
+ >GraSoiStandDraft_48_1057284.scaffolds.fasta_scaffold433089_1 83 0.408 1.128E-12 82 217 352 7 148 149
132
+ ----------------------------------------------------------------------------------DLAPFHPVRAAWVgpSHPDEAWEQMRAALRDGRPLIAAVDNFHMPNRPAYGDVHAAHLVVVSGFDDDAgmVDVVESTPPAYRGPVPRECFLLAIGSRNDARSATqaVFFAGTEIGGRWIDVEIGEPFPKPTEEWVGTVVAEN--------------------------------------------------------------------------------------------------------------------------------------
133
+ >SRR5919197_3773559 81 0.555 2.704E-12 115 220 352 4 111 119
134
+ -------------------------------------------------------------------------------------------------------------------IVAVDNYHLPFRPAYHDVHAAHLVVVYGIDGSRreVSVSDAIPPAFQGAIAADDLLRSWASANPRDDQDAFFSDARIDRRSLSVRFDAPIPPLDLDRLEGALRSNAER-----------------------------------------------------------------------------------------------------------------------------------
135
+ >SRR5688572_26547208 80 0.366 8.655E-12 138 288 352 1 150 151
136
+ ------------------------------------------------------------------------------------------------------------------------------------------LVVYDVDagAGTVGVSDAMPPAYAGPLASDDLLRAWWSANPQDAQDVFFSGEGIGGRWLDVRLGTPFGALTVERLRDAVRANLRELTEPSDPD-TAGLAGLARFAREVAGRARRGEAG--RLAEVYTFGWSMQAQSALHGELLRRCGSAWSLP---------------------------------------------------------------
137
+ >SRR5207248_1268395 79 0.514 1.157E-11 22 156 352 61 200 201
138
+ ----------------------VRQWYRDPISCLQSTLATVLLAAGAEPLPVLGLAWELRFQPGRVGREEFAYPCRfEGDVARSLAPYHPIRSSWWSpaDDDDPLVELARRIEGGELPIAAVDNYHLPFRPAFHDVHAAHLVVVYAVDwqRDEVGVSDAQPP---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
139
+ >SRR5882724_12307322 79 0.377 1.547E-11 121 308 352 1 192 205
140
+ -------------------------------------------------------------------------------------------------------------------------YHLPFRPAFHDVHAAHLVVVPGWRRTThgaveFYVSDAQPPQFQGWLSAEHLMNSWTSGNTSDTQDVFFSSREIGGRVLTTKVRSPPDELTTGQVAQALQGNLDRWatgVAGPSDRVWTGRTGLCRFIERLQE----SCDDPEGLRSAYTFGWAMQAQAFLHGRFAQEFAHRSKQTVLLGVAASADRVVSAWSNVR-------------------------------------------
141
+ >SRR5687768_15959820 78 0.362 4.936E-11 148 296 352 0 146 147
142
+ ----------------------------------------------------------------------------------------------------------------------------------------------------VYLADAMPPVFHGHMPTENFLRAWTSVNPNDEQDAFFSDTAIDRRYLTVELGRRFPKFDPGFLHRVLDANLAGFAVEDDPAGWGGLRGLDRFLDDLVTRSRAGDAAG--VAAAYPFGWGMQAQASLHGELLRGWGARYEVPEVSEAGRL-------------------------------------------------------
143
+ >SRR4051794_15511058 76 0.471 1.177E-10 114 245 352 0 139 143
144
+ ------------------------------------------------------------------------------------------------------------------VIVAVDNYYLPFRPAYQDVHAAHLVVVPAWRRTpgggvEFYVSDAQPPAFQGWLSAEHLVASWTSGNPSDTQDVFFSSREIGGRVLTTKVRQRPEEPTTEQVVRALRGNLDRWDNgvaGPTDRLWTGRSGLRRFVDRLHE----------------------------------------------------------------------------------------------------------
145
+ >SRR3712207_6013657 75 0.379 2.801E-10 141 295 352 0 156 162
146
+ ---------------------------------------------------------------------------------------------------------------------------------------------YGFDEeaDEVYVLDSTPPLHKGPITMQDFLAARNSSNPVSGeRDFFFAGAPIANRWLHLEVQSSFPELTRDWVAEVIATNLRRFEASSDGPTFSGMDGLARYLRGVCER-AAGAEGGRALDEMYTVSWVSQAAAGLHADFLMEAGRRLHWYELAEVGR--------------------------------------------------------
147
+ >SRR5919199_5445869 75 0.276 3.740E-10 90 221 352 4 123 149
148
+ ------------------------------------------------------------------------------------------RWRHEADPGTAWREVRARIAGGRPVALAVDEFHLPFRPGYRHAHARRALVAYGFDDEAelVFVADPTPPRFQGSLALSALAAAREAEDGQP--------------WLELELAGPQRAFGPTVVGEALERNLRRF----------------------------------------------------------------------------------------------------------------------------------
149
+ >SRR3982074_821911 74 0.432 4.992E-10 24 131 352 26 136 138
150
+ ------------------------PWRHDLATCLQSCMATLLDANGVAALDVLGANWSFYHRPAALRRAEYYFPCREGvSLLASLAPYHPVRSQWHEpaDAEQGWSQVRAAVAVGRPVAVAVDNYELPFRPAYHD----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
151
+ >SRR5436305_665040 74 0.325 4.992E-10 150 348 352 6 204 208
152
+ ------------------------------------------------------------------------------------------------------------------------------------------------------VSGPVPARSVGCIPRDQLTPARDSGNRsKHERDMFFADQPIGNRWLEAEIdAEHYPAFDRGSIRYAIRRNIDGFTEPGPlgAHRYAGLAGLRAFLDD---SAAKLAAGGQVADEVFVAAGAVLAATALHADWLARAARMLGTIELAEAARQVARVAHHWTAVRIMAALSRDGQVTAPRLARRAANLLADQ-ERALTALGDVLD---
153
+ >SRR5437870_817573 74 0.401 6.662E-10 53 175 352 1 127 131
154
+ -----------------------------------------------------GASWEFFYAAEDVRSEEFYHPAPRPTLGASMMPFHPVSTAWHESTDgeAALAEIEAVIAGGRPVIAAVDNFYMPIRPAFGDVHAAHLVVVTGFDEGTgeVVVLEETPPLYHGPIAVSDFLSARGSGN--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
155
+ >9576|scaffold_589529_c1_1|-3|11 74 0.299 6.662E-10 102 225 352 3 129 140
156
+ ------------------------------------------------------------------------------------------------------DDAFDCVAQGHAVVVAVDSFELPYRPAWRRVNSGRSLIVTAIDRTTGVaqVIDGWMPHYTGSVALADLARARASSVPQDlRREPLYAGTPLRRRWWRIALASEIPHGGRDNVADALAQLTAQATEAP------------------------------------------------------------------------------------------------------------------------------
157
+ >SRR5919199_1533857 74 0.376 6.662E-10 196 341 352 9 148 191
158
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------VGGGAPTPPLDSERLEAALAENLDGFAGT----GWSGLAGLARYVDALET--RALAGERLPLEELYAFGWGMQAQTYLHGELLRETGAAWSVAELAEAGRAVQEVASAWTGLRMTGAHALGAPAAAAADLRRHGNRLRRRYEAALE----------
159
+ >SRR5581483_6019569 73 0.452 1.582E-09 25 127 352 2 107 108
160
+ -------------------------WRHELSNCLHSCIGVALTRHGFDALVVLGSRWQFYYRPGHLRREEYFWPCPPGvSLAETLMPYHPVSSRWHqpEDAGEGWQQVRDRILAGEPALVAVDNFWLPFRP--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
161
+ >SRR4029453_12411764 73 0.453 1.582E-09 20 136 352 87 205 207
162
+ --------------------PEPELWSRALISCLQATFGSLLVRVGADPLVVLGAAWRFLHLPGDVRFDEFYYPCHDGDLGAALAPHHELRSRWWQPADEDdvWREVRESLADDRLVIAAVDNFPLPFRPAYGDVHAAH-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
163
+ >SRR5688572_10121371 72 0.428 2.110E-09 126 239 352 1 126 131
164
+ ------------------------------------------------------------------------------------------------------------------------------RPAYHDVHAAHLIVVGAIDPAAGTadVSDAMPPAYAGPLALDDLLRAWRSTNPQDGQDVFFSGADIGGRWLDVRFDLPFPDLTADRLADMLRANVRGFVAASGADTapdgtaaetcWSGLAGLRRF----------------------------------------------------------------------------------------------------------------
165
+ >SRR5690348_7358098 72 0.400 2.815E-09 25 123 352 41 140 152
166
+ -------------------------WRHELTGCLHVAMGVLLKHRGHDPLEVLGASWGFYHDPADLRREEYYFPARRGSLLADLAPYHPVSSRWHaATGAEAWSRVRDTIAAGQPVAVAADNYYL------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
167
+ >SRR5258708_3518620 72 0.299 3.753E-09 52 194 352 71 215 216
168
+ ----------------------------------------------------LGARWGFAPPRQEAWGElcEYSLPLGSNPYAATLAARTGLQIAQHSGIAAA--DLSGHLASGAPAIVAVDSFYLPYRPAFGRVHSQRTILVRqGQGRTDLRVEDPWPPTYHGSLGAAHLERARRSTVPLDRRaEPVFAGRPIDFEWW-------------------------------------------------------------------------------------------------------------------------------------------------------------
169
+ >SRR5437870_3049837 71 0.420 6.672E-09 20 124 352 36 142 144
170
+ --------------------PEPELWYRDLISCLQATFGSLLLRVGADPLAVLGAGWRFLHLPGDVRSDEFYYPCHDADLGAALAPHHDLRSRWWQPADEDdvWREVRESLGDDRPVIAAVDNFHLP-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
171
+ >DeetaT_8_FD_contig_31_513410_length_211_multi_4_in_0_out_0_1 71 0.352 6.672E-09 115 239 352 28 180 181
172
+ -------------------------------------------------------------------------------------------------------------------VIQADVFHLPFRPAYHDVHAAHTVIVHGFDDEagTVSVLDSMPPAFDGTVSQEdlanargsgnpseeadpffggtisqrDLANARGSGNPFEEADAFFGGTPIAGRWLRFEVVGEMPSLDREWVGRVVTGNLERFAAATDGPALSGLAGVDRF----------------------------------------------------------------------------------------------------------------
173
+ >SRR5438105_1867171 70 0.453 1.185E-08 210 350 352 1 140 141
174
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------LRHVLRENVRALRAPVTGSEWFGLAGLERFVDRLLTR-AAGPDRRTALEEQYVLSWGLQAQADLHAAFLLAAGGRWGLPCLSEAGCLVDRVAHAWTGLRMTGAHGRLDRPEFGLELRWHAGCLVRAHEEAVDAIELALDEL-
175
+ >ERR1700687_5501718 70 0.429 1.580E-08 40 156 352 8 127 128
176
+ ----------------------------------------VLQRHGWEPARALGAGWRFVAAKNPVEPVEFYHPA-GEMLADHLCLHHPVLLRWHQPAHDAAAhcDIGESLAHGTAPIVAVNNFHLPFRPAYHDVHAAHLVVVTGYDEhhDNYQILDLMPP---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
177
+ >SRR5262249_51622373 70 0.418 1.580E-08 20 115 352 51 148 149
178
+ --------------------LPVEGWYHDLCSCLQVDAACVLSAFGQEPLAVLGAGWGFQFRPGDWEPVEFYCPAPDGDLARALAPHHRLCCRWHHPDGPeaALAALVEALRAGLPAI--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
179
+ >12671|scaffold1085376_1|-94|01 69 0.310 2.105E-08 169 350 352 0 184 190
180
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------AARGSDNPvRHGRDLFFTDNPIGNRWLTIETADVMPAFDQDFVAAAVGRNLADFgdtsTSGASTVSYAGAEGQRRFLGDIADRLAAGDEG--AVDEAFVVAGPVLAQTALHASWLSRAARDFAEPGLAEAARRVERVAHHWSAIRIVVASSRAAPAAAAGPLRRRATALADDHWRALDDIARIIGAV-
181
+ >SRR4051794_8300831 69 0.350 2.804E-08 4 116 352 6 119 120
182
+ ----HCRQEYGERAPMNVALSPMTFWYHDLCSCLHNTIATVLHYHHQEPTQTLGAVWDFYYAPAQFHKEEYFFPSRHPTLAENLLPYHPISADWRdSSAADSWPAVREAVARGTPAIV-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
183
+ >SRR5277367_2659287 68 0.500 6.627E-08 21 123 352 29 136 137
184
+ ---------------------PVQHWCRDLVSCLLATLATVLLRAGHAPLEVLGAHWEFRYRPGDVRTEEFYYPcAVPGDLAASLAPHHPLSSSWREPgagaGTEALAEISDELAAGRLVIAAVDNFYL------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
185
+ >SRR5579872_5282090 67 0.350 1.175E-07 136 246 352 1 114 115
186
+ ----------------------------------------------------------------------------------------------------------------------------------------HIILVYGVDQHRglVWLCDPTPPGFNGPLPIGDFQQARNSANPADVQDAFFSASEIRGRYLRIVADPGLAPLSPLELGAALKANLAAFGADSPADgPWTGNIGLRRYLDSVTSH---------------------------------------------------------------------------------------------------------
187
+ >SRR5205809_7151332 66 0.289 2.082E-07 104 209 352 0 106 107
188
+ --------------------------------------------------------------------------------------------------------LREYLHAGRTAIVAVDSYYLPYRPAFGHVHSSRTILVRRGDSQAAEVEDVWSPGYSGPLGWDHLERARYSCMPYAAlTEPVFSGCPLSGEWFAVDLEPVMLPDPTVW----------------------------------------------------------------------------------------------------------------------------------------------
189
+ >SRR5919204_5113640 66 0.452 2.082E-07 21 124 352 194 299 301
190
+ ---------------------PVRLWCRDTISCLHATLATVADHHGWSPLSAVGPLWEFRYFPGDDRGEEFYYPLCGRPPGEALMPYHPvsIEWRAAKSARQGLAELRVALAEDVLPIVAVDNYHLP-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
191
+ >SRR5690242_5973043 66 0.305 2.771E-07 69 200 352 4 135 139
192
+ ---------------------------------------------------------------------EYSLPGGVLSFSERIASRTGVKIVQQDGAHSS--SLYSFLATGQTAIAVVDSFHLPYRPAFGRVHSHRTILVRqGLDPTDVLVEDEWPPAYHGPVPVRSLEAARYSAVPLDPvREPVFAGGKIRGEWFHLEMDG-------------------------------------------------------------------------------------------------------------------------------------------------------
193
+ >SRR5882724_5907471 66 0.394 2.771E-07 20 121 352 93 196 197
194
+ --------------------PEPELWCRDLISCLQATFGTLLARLGADPLAVLGAGWRFLHLPGDVRFDEFYYPCPDADLGAALAPHHELRARWWQPADEDdvWREVRESLVDDRPVIAAVDNF--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
195
+ >SRR5919198_2188180 65 0.556 3.688E-07 115 193 352 5 83 99
196
+ -------------------------------------------------------------------------------------------------------------------IVAVDNYHLPFRPAFRDVHAGHLVVLCAVEDDAVVVSDALSPAFQGRVALADFARSWESANGARGESGFFSGSPIGGAL--------------------------------------------------------------------------------------------------------------------------------------------------------------
197
+ >SRR4051794_17814528 65 0.418 3.688E-07 103 226 352 0 128 136
198
+ -------------------------------------------------------------------------------------------------------ELIELIEAHASVIVAVDNYHLPFRPAYHDVHAAHLIVVpawrRTVDGDvEFYVSDAQPPRFQGWLSEEHVMNACTSGNPADHQDVFFSSQAIGGRVLTVQVRSQPAELTVDRFTEAIAGNVQRWITSEG-----------------------------------------------------------------------------------------------------------------------------
199
+ >ERR1700744_2712043 65 0.342 4.908E-07 21 124 352 5 108 109
200
+ ---------------------PVP-WYRPAINCLAAGVGTVLATAGHDPLDILGSGWDFTHVPGQLPFEEFYWSVTEAsDLGSRLAPHHRVTVEWSDDDAGDLSGLMSELEQDRIPVAAVDKYFLP-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
201
+ >ERR1051325_11437074 64 0.327 1.156E-06 62 179 352 4 120 127
202
+ --------------------------------------------------------------PLRSQLVEYSLPFGPSSFIEALLFRTGLRICSHTGPDP--NNLRRYLAEGGEAIIAVDSFLLPYRPAFGRVHSHRTIIVRkGQNGDEVWVEDAWPPSYEGSLPLAVIENAQHSQVSLDP----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
203
+ >SRR6266404_4313130 63 0.313 1.537E-06 100 197 352 2 100 112
204
+ ----------------------------------------------------------------------------------------------------SESELRQHLALSEPAIVAVDSFYLPYRPAFGKVHSHRTLLVVSSREDLVWVEDDWPPCYQGPLQWSCLQRARYGDVPLQPRFePVFAGGTLSGIWFSVR----------------------------------------------------------------------------------------------------------------------------------------------------------
205
+ >MGYP000377277604 63 0.341 2.044E-06 100 175 352 8 89 135
206
+ ----------------------------------------------------------------------------------------------------SVDDLRAMLDAGKPVIIGLDSDDLygaGDAPFTDDVVAGHAVVITGIDDETglVYINDPGFPDGAGVaIPLETFEDAWQDAD--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
207
+ >SRR5690242_18701050 63 0.616 2.044E-06 1 105 352 51 157 158
208
+ -GDRHRRAPRGRRAGMIETAPQVQLRPRDLRRCLHGSLATALLHDGHDPVTVLGAPWEFRRRAGAWTTEEYYYLPEPDSLAKRLAPYHPFESTWHrgDGPGDPLDELR------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
209
+ >DeetaT_20_FD_contig_41_1501015_length_280_multi_3_in_0_out_0_1 63 0.335 2.044E-06 188 348 352 0 159 163
210
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------PIGNRWLEAEIdAEHYPAFDRGSIRYAIRRNIDGFTEPGPlgAHSYAGLAGLRAFLDD---SAAKLAAGGQVADEVFVAAGAVLAATALHADWLARAARVLGTIELAEAARQVERVAHHWTAVRIMAALSRDGQVTAPRLARRAANLLADQ-ERALTALGDVLD---
211
+ >SRR5256714_1899555 63 0.418 2.044E-06 232 348 352 2 116 218
212
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------GPAALRRYVDDLE--ARALAGERRPLEELYAFGWGMQAQTYLHGELLRETGAGWSVAELAEAGRGVQEVASAWTGLRMTGAHGLGAPAVAAADLRPHGNPLRRRHQEALQRVGRAGG---
213
+ >SRR4051794_37091874 63 0.333 2.718E-06 189 323 352 1 133 134
214
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------IDRRCLLMHVQSVQPPLQRDAVGAALRSNLARFARSDAPEGWNGRAGIDRFLEQLVERARAGD--RQALSDAYRFGWSMQAQSYLHGELLRTKGREWQVAALSEAGRVVESVASAWSGLRVTAAHGRNAPAGVAA----------------------------
215
+ >SRR5215218_1112994 62 0.319 3.614E-06 204 344 352 0 139 145
216
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------PLTREWLTEVIATNLRRFREPDAGAGWAGMAGLTHYLQSICER-SLGPDAGDALQELYTVGWTAQGSTALHADFLMLAGRQLGWDRLVEVGRHVDRLANEWTALRMFGAHGFTRPAEIAERLRRRTIIFLSNYEQTLQLLE-------
217
+ >SRR5215216_6411204 61 0.281 8.489E-06 101 171 352 27 93 106
218
+ -----------------------------------------------------------------------------------------------------LEQLIAHLETGLPAIAFVNTAHLSHW----NHETGHAVVVIGMDEQSVFIHDPAIDEPAKAIPIPEFEAAW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
219
+ >MGYP000919097685 60 0.303 1.499E-05 100 171 352 5 83 138
220
+ ----------------------------------------------------------------------------------------------------TVDDLRAALDAGEPVIVGIDSadvYSGGGGPFDPGMESGHAVVVTGIDngpPGVLYINDPGFPdGAGVEIPLELFEDAW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
221
+ >SRR5205814_1734864 60 0.336 1.992E-05 136 243 352 0 112 114
222
+ ----------------------------------------------------------------------------------------------------------------------------------------HLVTVVGFDDERgeAFVIDPVPPRFSGAIPVEVLTAARSSGNPiVGERDLFFTGNPIGNRWLDIEVEADVPAHDLDFVREVVACNRDAFEATSESGSPvrTGLSGERRFLDSI------------------------------------------------------------------------------------------------------------
223
+ >ERR1700722_17685023 59 0.402 2.647E-05 25 118 352 15 111 112
224
+ -------------------------WCRDLISCLQSTFAAVLDRAGEDPLAVLGAGWQFRQIPGDVRPEEFYYPCSgEGDLGAALAPRHALHSRWWQpaDPDDPWQEIRAELDEDRLVIAAV-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
225
+ >SRR5690348_3972261 59 0.380 2.647E-05 19 115 352 22 121 122
226
+ -------------------APPLPRWYRDYVSCLQSTMATLLLAAGEDPVDTLGLGWEFLHIEGDVRAEEFYWPCRkPGDVAGSLLPHHAATSRWLQaDADDPLAPLEAALAEGRlPVL--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
227
+ >MGYP000822340748 59 0.274 2.647E-05 113 200 352 49 137 210
228
+ -----------------------------------------------------------------------------------------------------------------PIIVGADTYFLPYSANHKKRHAKHTLILCGFDltRNVVYVIDWYsPWFYKGEIDIEIFLQARNSKNEKD--DSFYSGTPIKNNWAYIEKIP-------------------------------------------------------------------------------------------------------------------------------------------------------
229
+ >SRR5215831_14536786 59 0.487 3.516E-05 230 350 352 10 129 138
230
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------WSGLRGVERYVDHVLSKAP-GPDGLAVLEELYVLSWGLQAQADLHAEFLRRHGVAQDLPALREAAAVVDRVAHAWTGFRMTGAHGRLDRPDFGGELAWHGSVLVRAHHEAADALELALEEL-
231
+ >OM-RGC.v1.007693089 59 0.259 4.671E-05 101 171 352 0 76 148
232
+ -----------------------------------------------------------------------------------------------------LDELRTLLDADTPVIIGLDAddlYGTGDSPFADDLVSGHAVVITGIDDEAglVYINDPGFPDGAGVaISISEFEDAW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
233
+ >SRR6185436_5620841 58 0.392 6.204E-05 136 244 352 2 113 117
234
+ ----------------------------------------------------------------------------------------------------------------------------------------HLVVTYGFDEeaDEVYVLDSTPPVFQGAIAVRDFLAARGSTVPREGeQDFFFSGTPIANRWLHLEVGADFPELTREWVSEVVAAHVRGFRATRETASGAALSGLAGLGRYLR-----------------------------------------------------------------------------------------------------------
235
+ >SRR5262245_38567583 58 0.340 8.239E-05 158 290 352 1 132 133
236
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------FQGPIPLAALTAARDSANPvRHERDLFFTANPLANRWLTIHLHGPQPVLDLDLVRRALLGNATGLLDGAADgDRLRGLAGQRWF---LQSLLADLAAGAHRVDEVFIVAGALLATTGLHADFLAAAASRLDRPEL-------------------------------------------------------------
237
+ >3300027819.a:Ga0209514_10000001_1266 58 0.188 8.239E-05 94 171 352 222 311 431
238
+ ----------------------------------------------------------------------------------------------FSSVSEAIRQLEIVINSGRPIMVHLDSYYVKeefaktsefWKNNVGDSHSSHFMVVTGYNESHVYINDPTEPNlsiKNVEVPIEIFKEAW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
239
+ >SRR5688500_5242141 57 0.301 1.094E-04 100 181 352 29 110 113
240
+ ----------------------------------------------------------------------------------------------------SLGKLRQALTSGPVLVGPLDMSQLTYMPNHERlVGADHFVVLYGIDHEHVFLHDPAGFAY-VALPLNDFRRAWRAENIEYRPD--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
241
+ >SRR4051794_22847671 57 0.238 1.453E-04 100 175 352 10 96 106
242
+ ----------------------------------------------------------------------------------------------------SLDGIKSEIAQGRPVIVLVDNSRyirseggkqVPY-PSGQGFEAPHIVVVTGYDADNVYLNDPlaiTVSGKDFRVPTASFQAAAGAKG--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
243
+ >SRR5512142_3069760 56 0.355 3.400E-04 180 286 352 2 106 108
244
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------RDYFFAGSQIGCRWIDVKLGDPFPKPTTAWVGEVIAENLRGFVEPSVPDRRIGLAGLRWYLTDLSERVDSED--GNVLGELYTVGWAAQSVTALHADFLRQTASAFG-----------------------------------------------------------------
245
+ >SRR5215510_68064 55 0.326 4.513E-04 148 245 352 4 107 115
246
+ ----------------------------------------------------------------------------------------------------------------------------------------------------IYVCDSMPPRFRGPIPITDFINAWSSINQRTENDEVFSGAGIDRRWLSVELGAAFPAVDAAFLCRTLAANREQWHRTTPPqsaserDSWTGAQGLWQFLDALLE----------------------------------------------------------------------------------------------------------
247
+ >SRR5215472_923646 55 0.569 4.513E-04 21 99 352 76 154 157
248
+ ---------------------PVQLWTRDLGSCLQAVFATLLLRERQDPVTVLGAAWDFRYEPGDWRSEEFYYPCAGRPLAEALAPLHPLTSTWHRAPTD------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
249
+ >SRR5262249_44885629 55 0.361 5.989E-04 26 116 352 65 158 160
250
+ --------------------------RHDLAGCLPACAASLLGARGLDPLETLGASWSSLHARGEVRRVEYSSPSPPGaSLLGALAPYHPTRSRWHEpaDAEQGWAQVRAAVAAGTPVAV-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
251
+ >MGYP000859423510 55 0.312 7.949E-04 95 171 352 82 161 324
252
+ -----------------------------------------------------------------------------------------------PSGDNGLYDVLQIVNDGVPCIVNVDGYFLSYHPLFKTEHENHAAVLYGYNMNlhTIYISDYMPPYfFNGEISISEFLEAR------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
253
+ >SRR5580693_9259363 53 0.469 1.857E-03 21 100 352 23 103 111
254
+ ---------------------PIQHWCRDLVSCLQATFATVLAHAGHDPLDALGAHWEFRYRPGDVRTEEFYYPcAVPGDLAASLAPHHPLSSSWRQPAEGT-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
255
+ >SRR5690349_8663926 53 0.305 1.857E-03 92 173 352 44 126 150
256
+ --------------------------------------------------------------------------------------------TSFPDFRQASDYLKELLARRKLVFVWGDEYYLPYRkEAFHAIHSTHSFVVTDYDGENkaYYVEDWD--GLYGYLPAAHVEAAFDS----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
257
+ >SRR6266851_2378427 53 0.386 2.464E-03 127 224 352 0 100 101
258
+ -------------------------------------------------------------------------------------------------------------------------------PAFGDVHTNHLLSVFGLDEERgcAYVVDDIPPAFRGWIPIAMLDAARGSANrAEHGRDRFFTNEAIRWRWLEIRCSAQLPRLSDEAIDAVLGQNLAGFRQP-------------------------------------------------------------------------------------------------------------------------------
259
+ >SaaInlV_150m_DNA_4_1039716.scaffolds.fasta_scaffold159517_1 53 0.262 2.464E-03 85 175 352 0 99 177
260
+ -------------------------------------------------------------------------------------EHYGVD--THQGAGAGIESLMSELVQGHAVIVAVDADDM-WNPGslfrglFGEDGADHAVVVTGLdlsdpDHPQVYINDPgDPNGAGKAYPLEQFLAAWSDSG--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
261
+ >SRR5919198_383436 53 0.382 2.464E-03 22 113 352 254 347 351
262
+ ----------------------VEPWYDDLASCLHSTLASVVAQRQLDPLVVLGSGWTFAYSPGEWAPAEFFYPALDGSLAATLAPHqpLSIAWREPGSPEEAEQELVAALAGGGP----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
263
+ >SRR5436853_446621 53 0.283 3.268E-03 136 238 352 0 97 123
264
+ ----------------------------------------------------------------------------------------------------------------------------------------HLLTVYGFDDDagTALLADPVPPSFAGPVPRSLLAAARDSDNPvLHERDMFFTANPIANRWLDVRVGPVQPAFGPAFVRDAVAAAR--------PDPPSAAASLRR-----------------------------------------------------------------------------------------------------------------
265
+ >SRR5215204_5524451 52 0.283 4.335E-03 103 162 352 1 59 117
266
+ -------------------------------------------------------------------------------------------------------HLVDKLDKGMPVCLPVDIYFLPFTSHFQRLHMAHYVNVFGYNDTQYYIISPYY-RYQGWV---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
267
+ >SRR3954452_13515641 52 0.349 4.335E-03 219 341 352 0 119 120
268
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------AGMLAISTETAWTGMNGLDRYLTRLT--VRAEEKDADALADVYPFGWAMQAQAYMHAELLRACAVRWRRPVLGEAARRLAAVSHAWTGVPISAGHGGAD-TRVAETVERHCRRLRRCHEQAVE----------
269
+ >SRR5271163_123213 52 0.265 5.750E-03 100 175 352 2 79 120
270
+ ----------------------------------------------------------------------------------------------------SVDDLQQYLDQGRSVIVSVDPDPI-WYPGQPDQGEGHAVMITAIDETTgmVTLDDTgSPQGNEEQVPISEFQQAWAEHD--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
271
+ >GraSoiStandDraft_4_1057263.scaffolds.fasta_scaffold8820481_1 52 0.270 5.750E-03 99 171 352 122 191 210
272
+ ---------------------------------------------------------------------------------------------------PTLKTIRDFLRKGYIAIVNVNYYPLYRQPGY----SGHFVIVLSIDKRSVRLHDPGLPRKdNMRIPLRQFLAAW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
273
+ >SRR3990172_4137688 52 0.270 5.750E-03 99 171 352 128 197 216
274
+ ---------------------------------------------------------------------------------------------------PTLKTIRDFLRKGYIAIVNVNYYPLYRQPGY----SGHFVIVLSIDKRSVRLHDPGLPRKdNMRIPLRQFLAAW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
275
+ >SRR5215467_2164624 51 0.316 7.626E-03 152 289 352 0 137 138
276
+ --------------------------------------------------------------------------------------------------------------------------------------------------------DASPPSFKGSIPIHALQAARGSENPAiHNRDLFFTNVPIANRWLEVEIGNTFPCITKQWVKEVLSTNTQRFAAPTSEVALSGTEGMVRYFGDF-GLDQVRERGTPAMDELVLVSVAFQEATALHADFLRAMGQRLDWRE--------------------------------------------------------------
277
+ >MGYP000895684420 51 0.301 7.626E-03 100 171 352 80 151 152
278
+ ----------------------------------------------------------------------------------------------------SLARLRGLVARGPVVVGPLDMSKLTYIPGHEHlVGADHFVLVHDVTDEEVFMHDPGGSPY-VSLPIADFLAAW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
279
+ >SRR5919197_1036140 51 0.415 7.626E-03 22 119 352 166 266 267
280
+ ----------------------VRQWYRDPISCLQSTLATVLLAAGAEPLPVLGLAWEFRFQRGRVGREEFAYPCRfEGDVARSLAPYHPLRSSWWSPalDEDPLGELARRVEDGELPVAAVD----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
281
+ >2286|Ga0268252_1295275_1|+2|10 51 0.373 1.011E-02 274 348 352 2 76 87
282
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------HGELLRWCGRRWIDAALAEAGRRVERVAHLWTGVRVVCAHLRDDPAPHGRTLARHTNRLQHAYEDAVEAVARAAG---
283
+ >SRR5947208_11376747 51 0.406 1.011E-02 226 343 352 2 118 122
284
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------PARGRAGLAGLACYLDGICER-AAGPHGRAALDEIYTVGWQMQAATALHADFLRLAGRSLDWDELAEAGRQVDRLANAWTPLRIMGAHAGTRDLDVTGELRRRATRLVADHELTLELL--------
285
+ >ERR671937_651557 51 0.397 1.011E-02 22 111 352 66 158 160
286
+ ----------------------VRQWYRDPVSCLQSTLATVVLAAGAEPLPVLGLGWEFLFEPGDVRPEEFYYPCRfEGDLARSLAPYHPIRSRWWspEPDEDPLAELARRVEAG------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
287
+ >SRR5215472_1733542 51 0.384 1.341E-02 156 269 352 0 114 118
288
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------PGFDGPMASRDFLLAWGSANPADTRDAFFSDSGIGRRCLITRVTGPgRGPVGRDGLAAALRANLNDLTAPlaTSQLPWTGLAGLHRYLDDLRQRAAAGD--QEVLADAYAFGWPMQA----------------------------------------------------------------------------------
289
+ >SRR4051812_10767532 51 0.393 1.341E-02 20 106 352 55 143 145
290
+ --------------------PEPELWYRDLISCLQATFGSLLVRDGADPLVVLGAGWRFLHLPGDVRFDEFYYPCRDGDLGAALAPHHDLHSRWWQPGDEGdvWREIRE-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
291
+ >MGYP000929587384 50 0.285 1.778E-02 115 172 352 1 63 84
292
+ -------------------------------------------------------------------------------------------------------------------IVPVDTALLPYWLTRSDvpeteRGTDHAVVVVAVDEQHVYVNDPDFAQAPQVVELGWFLDAWR-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
293
+ >SRR5713101_4123152 50 0.337 1.778E-02 52 140 352 9 92 103
294
+ ----------------------------------------------------LGARWSFGFPRDDRELQEYTL---PDYLAAKLRTRTGIVIRSHSDPAGL--ELRRHLADEQPAAIAVDSFYLPYRPAFQRVHSSRTILV-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
295
+ >SRR5206468_3369128 50 0.358 1.778E-02 224 343 352 7 123 124
296
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------GEPAPAYRGLAGLRGF---LTAVADALAEGRPASDEGFVVAGPILAITGLHADWLARAARMFDDPRLLEAARVVERVAHHWTAFRIAVATARADPPGAAESLRARGRALVDDHERALALL--------
297
+ >SRR5437879_4950898 50 0.301 2.358E-02 141 239 352 1 106 113
298
+ ---------------------------------------------------------------------------------------------------------------------------------------------YGVDDGHklVWVLDAIPPAFQGPISRATFDAGRDSSNRsRQERDMFFADNPIANRWLELDIEPDRNADgalgDRDRLRQILEGNLRGFTQERKSGPFEGVRGVDRF----------------------------------------------------------------------------------------------------------------
299
+ >GraSoiStandDraft_27_1057306.scaffolds.fasta_scaffold00573_2 50 0.252 2.358E-02 101 171 352 0 77 154
300
+ -----------------------------------------------------------------------------------------------------LDDLKKFIDNGQPPIALVKYANLPDRVDKGST-GGQYVVVVGYDDaaQNIFINDPDMfpwnhaAGFQKAYPYQTWLSAW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
301
+ >A0A2H2XNW3 50 0.271 2.358E-02 101 180 352 125 201 208
302
+ -----------------------------------------------------------------------------------------------------IEDIRQLLACGYLIICLVNWCKLNAHIGYE----GHYVLVYDISETHIYLHDPGLPTYiSQALTITEFEQAWAAPTQRDRN---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
303
+ >SRR3954466_6934608 49 0.329 3.126E-02 88 175 352 0 87 132
304
+ ----------------------------------------------------------------------------------------GIPVSIENSD---VSGLIDALDSGKGIIVAVDSGEYWTGEATEDNAPDHAVVVAAIDEENgiVYLSDTGtPDGNMLAVPLDAFLDAWGDSG--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
305
+ >ERR1700752_922602 49 0.304 3.126E-02 100 175 352 3 84 182
306
+ ----------------------------------------------------------------------------------------------------TLTDLETYLDEGRSIILGVDSsdiWNEPEDPAEPVDQADHALVITAIDKEQGLVvlSDPgDPDGNQSIVPLSDFTEAWSDSG--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
307
+ >SRR2546423_3336499 49 0.373 3.126E-02 24 111 352 176 266 268
308
+ ------------------------QWYRDPISCLQSTLATVLLAAGVEPLPVLGLAWEFLFRPGRIGREEFAYPCRfEGDVARSLAPYHPLRSHWWSPAPEedALAELARRVERG------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
309
+ >SRR5947209_18303409 49 0.482 4.144E-02 20 75 352 68 123 125
310
+ --------------------PGVEFWRHDLSSCLQDCLATLLVQRRHDPVPALGAAWDFYYPPGDLRPEEYYYPCR------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
311
+ >SRR6185503_18933790 49 0.450 4.144E-02 20 99 352 52 131 136
312
+ --------------------PEPELWYRDLISCLQATFGSLLLRAGADPLTVLGAGWRFLHVPGDVRSEEFYYPAEDADLGAALAPHHELHSRWWQPADE------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
313
+ >ERR1700687_2983525 49 0.379 5.494E-02 232 318 352 22 106 109
314
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------GLAALADLLADLASRLEREGAWP--LRDIYVLGWSAQAEASLHSRFLAGAARDLQRPDVAEAARWVDAVAHAWTGFRVAAAHGAAAP---------------------------------
315
+ >SRR5579862_9683268 49 0.357 5.494E-02 213 337 352 4 127 133
316
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ALKANLAAFSADSPADaPWTGNIGLRRYLDHVISHAEA--GHADAVRQVYPFAWSAQASAAMHGELLRTRGGQWRIPELTEAGRAVEAVASAWTPVRVLAAHGWQSPASIASSLRSYGIDLARQYR--------------
317
+ >SRR5215471_6261074 49 0.308 5.494E-02 197 327 352 0 128 147
318
+ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------EVTGPARALDRVFLRRVLADNGRRFRSGSGAGPeLTGLAGLERF----CEWaAAALAAAQPVVDEVFVVAGVVLADTALHADYLAHAAARLGAARLLEAARRVERLAHHWTAVRIAVATARGAEPTAAPRLGR------------------------
319
+ >SRR5213076_2182558 48 0.551 7.282E-02 115 161 352 0 48 116
320
+ -------------------------------------------------------------------------------------------------------------------IVAVDNYHLPFRPAYGDVHTNHLVVVYGFDDEagEVHVLDSKPPRYRGP----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
321
+ >SRR5207237_9007299 48 0.259 7.282E-02 100 171 352 27 106 120
322
+ ----------------------------------------------------------------------------------------------------GVDRLKAEVAAGNPVVVWITAGkYVQRTPvvasyngeTFKLVAGEHAVVVYGYDSGGVYIMDVSNGSFTYT-EWSSFLTRW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
323
+ >4958|scaffold10375_5|+5204|00 48 0.285 7.282E-02 95 175 352 87 169 196
324
+ -----------------------------------------------------------------------------------------------SSPDKAWEANKTAIKT-KPIIVLTDIYHLKFRNEYLKQHGAHFIILFYYDElsNSVGVLDWYePHFYKGEILLNDFLSARYSEN--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
325
+ >EndMetStandDraft_8_1072994.scaffolds.fasta_scaffold5616288_1 48 0.285 7.282E-02 95 175 352 87 169 196
326
+ -----------------------------------------------------------------------------------------------SSPDKAWEANKTAIKT-KPIIVLTDIYHLKFRNEYLKQHGAHFIILFYYDElsNSVGVLDWYePHFYKGEILLNDFLSARYSEN--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
327
+ >SRR5262249_50530649 48 0.330 7.282E-02 1 105 352 93 204 205
328
+ -GGGRGMTSDVTARTYMIIGPEPELWYRDLVSCLRATFGSLLARACADPLTVLGAGWRFLHLPGDVRSEEFYYPCPADesggaDLGAALAPHHGLHSRWWQpaDEDDLWREVR------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
329
+ >SRR5437667_7529899 48 0.381 9.652E-02 235 344 352 0 108 114
330
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------GLRDYLAGVAARARDARD-PGVMDELYVAGWAAQQSAGLHADFLAAAGCRLGRTRLAEAGREVDRLAHHWSDLRMLGAHCRAEPAAAASRIRRRAAQLVTDTERVLAQLE-------
331
+ >SRR2546430_2482901 48 0.346 9.652E-02 146 269 352 4 127 134
332
+ --------------------------------------------------------------------------------------------------------------------------------------------------GKVRVLDEVPPRFDGEIELAELAAARHSVNPiVHGRDKFFTANPIAGRWLSVRATASPPytVDDRERISALLRANIERFDQ-SQADVYSGLSGQARFLAEGARRLDTDPAAKDEL--FVVAGTALAA----------------------------------------------------------------------------------
333
+ >SRR4030042_1077736 48 0.232 9.652E-02 117 172 352 7 59 215
334
+ ---------------------------------------------------------------------------------------------------------------------WRDRTDVPWTETWDD---GHYMVLLGMDAANLYFEDPSLLGARGVIPRAEFVDRWH-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
335
+ >MGYP000240722769 48 0.333 1.279E-01 113 145 352 42 74 91
336
+ -----------------------------------------------------------------------------------------------------------------PIIVLVDVYYLPYRKEYHKYHASHAVLLVGYDE--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
337
+ >SRR5205814_4332124 48 0.359 1.279E-01 194 296 352 0 101 104
338
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------LQVSIGEDFPAPAPGWVDGVIRQNVERFRAGGDGGSFSGLAGLRDYLAGVAARARDARD-PGVMDELYVAGWAAQQSAGLHADFLAAAGCRLGRTRLAEAGRE-------------------------------------------------------
339
+ >SRR6266542_2363188 47 0.509 1.695E-01 21 73 352 49 101 105
340
+ ---------------------PVRLWCRDLVSCLQATFATVLLHAGRDPLAALGAAWGFYYLPGDVTSEEFYYP--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
341
+ >SRR5688572_6867596 47 0.298 1.695E-01 49 150 352 41 139 141
342
+ -------------------------------------------------PELLGARWTFAlpHDERRAELTEYSLPFHPLGFVAAIDRRTGLRLQEGR-----AEELDGTVAGGTPVIAAVDSFHLPYRPAFGRVHSHRTVIVRRVLRDAVEV---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
343
+ >SRR3989344_2091767 47 0.222 2.247E-01 125 175 352 7 60 146
344
+ -----------------------------------------------------------------------------------------------------------------------------WVKSWEKVHSSHFMTVTGYDDDYVYINDPtdhDLTIKNMKVPNNNFLSAWSNGN--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
345
+ >SRR5216683_1865760 47 0.315 2.247E-01 101 172 352 126 194 216
346
+ -----------------------------------------------------------------------------------------------------LDDLKRELSLGSLAIVNVNYFRL----LEKVGYAGHFVVVEAVDEEEVLLQNPGLPPIPnQRVAMATFLAAWH-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
347
+ >SRR3569832_2248283 46 0.377 2.977E-01 134 178 352 21 65 133
348
+ --------------------------------------------------------------------------------------------------------------------------------------GDHWFSVYGIDESGVRIYDPIPSKFTGTIPLEDFKRAWGGNALVA-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
349
+ >SRR4051812_39536360 46 0.300 2.977E-01 104 172 352 70 137 138
350
+ --------------------------------------------------------------------------------------------------------VAAQLAAGLPPIALIpDWRALPAEQTY-ATGNAHAVVITGVTDSDVTFIDPW-PGKSFAMSTTRFEAAWS-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
351
+ >SRR5688572_24881951 46 0.294 2.977E-01 104 171 352 6 62 140
352
+ --------------------------------------------------------------------------------------------------------LEEALGAGLPPIVLIEVAPARW----------HYVVVVGVTDNAVHVHDPARAP-DLRIERAEFLSRW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
353
+ >SRR2546423_2718336 46 0.417 2.977E-01 22 99 352 74 152 162
354
+ ----------------------IRQWYRDPISCLQSTLAAVLLAAGAEPLPVLGLAWEFRFQPGRVGREEFAYPCRfEGDLAGSLAPYHPLRSSWWSPAPE------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
355
+ >SRR5688500_13065661 46 0.325 3.944E-01 271 313 352 2 44 130
356
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------RGLYADFLTEAAALLGDPRVAEAASGWRAAADLWEDLSDAVIP--------------------------------------
357
+ >SRR4051812_2527260 46 0.279 3.944E-01 178 313 352 4 132 135
358
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------HDRDRFFTNQPIAHRWLDVGLESPRPRPSTASI---VRGNLAAFRKVSDGHIFRGSSGLAQFLDTAAGAIAGGKPPDELF---VVAGTALAAS-SLHAEWLSREGMRTGTPVWCELGRAVDRISHHWTALRIAAAR--------------------------------------
359
+ >SRR4051812_40660863 46 0.407 3.944E-01 1 76 352 78 153 154
360
+ -GGGRGMTSVVMARTYMITGPEPELWYRDLISCLQATFGSLLARAGADPLTVLGAGWRFLHLPGDVRSEEFYYPCPP-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
361
+ >SRR5207244_1963219 46 0.405 3.944E-01 22 99 352 88 166 171
362
+ ----------------------IRQWYRDPISCLQSTLATVLLAAGAEPLPVLGLAWEFLFVPGDVRPEEFYYPCRfKGDPARSLAPYHPIRSHWWRPAEE------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
363
+ >A0A2B0WVF8 46 0.236 3.944E-01 93 171 352 79 171 362
364
+ ---------------------------------------------------------------------------------------------VYSDFGNGLQFIKECLNRQEVFIALGSTFFLPYSNDYlnpkfikshidihtDKYVTDHYLAINKLTEDSVFVQDPVPNKYMGEISLEEFHSFW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
365
+ >MGYP001339385609 46 0.295 5.226E-01 129 172 352 3 46 60
366
+ ---------------------------------------------------------------------------------------------------------------------------------YWDQVTSHVVVVIGCDKQGVVINDPSLPDGGRAISWDVFLAAWA-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
367
+ >SRR6185295_5817841 46 0.388 5.226E-01 252 318 352 41 107 118
368
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------DSAGVRQELYVLGWWMQAMTAVHARFLAEAGRALGRPELVEIARRVELVAHEWTGLRITAVHGPADD---------------------------------
369
+ >SRR4051812_38390578 46 0.280 5.226E-01 104 153 352 45 94 119
370
+ --------------------------------------------------------------------------------------------------------IRAELAASGTVIVVANTYHLPWSPAYQQSATPHWLLVTDTHDGLWHLVDP------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
371
+ >UPI000845F276 46 0.256 5.226E-01 100 169 352 85 156 167
372
+ ----------------------------------------------------------------------------------------------------TFQDIASALRNGEVPIVLISTYRL------HRVRAPHWVVVTGFDRHYIYFHDPYegfyernkRQAQHISIPINEFLR--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
373
+ >MGYP001050378313 46 0.526 5.226E-01 87 160 352 109 178 179
374
+ ---------------------------------------------------------------------------------------HGLRRESIDADDGAL------VARGELPIAAVDNFHLPFRPAFHDVHAAHLVVVYGVDRARGLVNvsDAMPPAFSG-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
375
+ >ERR671931_602696 45 0.323 6.924E-01 203 304 352 0 98 99
376
+ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------PALTRKWLHEVVEQNRERLL--ADDDPFCGLVALRAYMEDLLAYCGTPFGGRALVGA-YRLGWPMQAQADLHGELLRLAGARFDDAALCEAAAEVRGVGHAW-----------------------------------------------
377
+ >SRR5882724_1744776 45 0.295 6.924E-01 94 154 352 41 95 101
378
+ ----------------------------------------------------------------------------------------------YRIGARGLDELRGDLADGAVPVVLVSMDYI------HKDPTAHWVVVTGVDDENVTVNDPW-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
379
+ >SRR6478752_1188215 45 0.400 6.924E-01 20 99 352 50 134 137
380
+ --------------------PEPELWYRDLISCLQATFGSLLARLGADPLAVLGAGWRFLHLPGDVRSEEFYYPCPADesggtDLGAALAPHHQLHSLWWQPADE------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
381
+ >SRR6185437_13975043 45 0.282 6.924E-01 135 173 352 14 51 246
382
+ ---------------------------------------------------------------------------------------------------------------------------------------DHYVVVTGVEDGIVRFHDPHGHPYA-TLPADDFIAAWAS----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
383
+ >SRR5215467_3611681 45 0.365 9.172E-01 255 347 352 9 101 110
384
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------HMLGELYTVGWAAQSVAALHADFLRRHAMAFGWSEGLEAARSVDQLANLWTPLRIFAAHASTNGIEVSDRLRQRMRVVVDHYELALEELDRAA----
385
+ >SRR6185312_7446242 45 0.341 9.172E-01 268 308 352 11 51 138
386
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------GAGRLLYADFLDVASVVLDEPALERAAAGFREAGDRWSKLA-------------------------------------------
387
+ >SRR5205085_3472310 45 0.430 9.172E-01 22 99 352 58 136 150
388
+ ----------------------VSQWYRDPISCLQSTLATVLLAAGAEPLPVLGLAWELRFQPGRVGREEFAYTCRfEGDLARSLAPYHPISSRWWSPAED------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
389
+ >SaaInl7_100m_RNA_FD_contig_21_4047958_length_241_multi_3_in_0_out_0_1 45 0.217 9.172E-01 85 171 352 72 172 360
390
+ -------------------------------------------------------------------------------------KIYTMERKFYRSLEEGLYGIHEHLSQNDFFISLGTTYYLPYSRDYKNPKyieshvksnsnkyvTDHYLSVYGLHNENIFINDPVPNKYIGAISLKDFSDFW------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
391
+ >SRR6185312_10924508 44 0.395 1.215E+00 232 327 352 5 95 127
392
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------GMSGLARYFDLLRERTAA-PDGHQALEELYVLGWSLQASTALHADFLMKAGKQLDWYQLTTVGRQVARIAHHWTPLRMLGAHG----RARPDEIRE------------------------
393
+ >MGYP001029765960 44 0.279 1.215E+00 110 152 352 91 133 258
394
+ --------------------------------------------------------------------------------------------------------------QKQPIMAFVDAFDCDWLPFYRKHHIKHTIIVYSINKDDIYFYD-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
395
+ >18595|scaffold4953588_1|+69|01 44 0.323 1.609E+00 86 152 352 25 95 99
396
+ --------------------------------------------------------------------------------------RAGATVTLHETSGrvAAVKHLQEALAAGTPPLAWVDQAHMPYlqLPEVLKGHIGHLVAIAGQTGDSYLIDD-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
397
+ >SRR5215208_421555 44 0.275 1.609E+00 188 295 352 1 106 107
398
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------PIRNRWFEIEWSGAVPVLPSlGRVRCVVNRNLETFDRPPVDGWTFGQAGLRLMFDVLAG---SAAPGVRESDEMFVVAGAALAKTALHAEYLRQAGRRWGVPSLSEASR--------------------------------------------------------
399
+ >SRR5215213_5558053 44 0.298 1.609E+00 101 175 352 49 114 117
400
+ -----------------------------------------------------------------------------------------------------LDDLKEELARGLYPIVYLElvSGQLRYV---------HSVVVVEITDDQVQVLDPEIGERAFNI--EDFNRAWSAKN--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
401
+ >SRR5919202_3634501 44 0.400 1.609E+00 22 90 352 119 188 191
402
+ ----------------------VAHWYRDPLSCLQSTLASVLLHAGAEPLPVLGLAWEFLFKPGEVPREEFAYPCRfEGDVARSLEPYHPIR---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
403
+ >MGYP000886274396 44 0.291 2.132E+00 101 148 352 21 68 69
404
+ -----------------------------------------------------------------------------------------------------WKQNLKKLQEGIPLIILVDLFYLPYTIYLGKEHAAHAIIVYEYCDNKI-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
405
+ >SRR5581483_1739624 44 0.382 2.132E+00 25 92 352 42 109 110
406
+ -------------------------WYRDLISCLQATFGTLVARLGADPLAVLGAGWRFLHLPGDVRFDEFYYPCPDGDLGAALAPHHELRAR-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
407
+ >ERR1700741_1246718 44 0.491 2.132E+00 20 78 352 52 110 120
408
+ --------------------PEPELWYRDLISCLQATFGSIVARAGADPLTVLGAGWRFLHLPGDVRSEEFYYPCPPDD---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
409
+ >SRR4051794_34888363 44 0.322 2.132E+00 4 62 352 75 133 134
410
+ ----HAAAGRPGRRIAAMRLPRMEPWRHDLVGCLHTAIGSVMANHGFDPLVTLGASWGFYYRP-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
411
+ >5940|scaffold5088856_1|+3|11 43 0.366 2.824E+00 22 81 352 21 80 81
412
+ ----------------------LKRWYADPMSCLQACLGTVLIFPGADPLETLGTSWEFRYVPGDVRREEFYYPCRFKDDPA------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
413
+ >ERR1700729_2025172 43 0.463 3.739E+00 23 63 352 65 105 111
414
+ -----------------------PMWYRDTVSCLPATIGSVLAYHGYDPLEVLGAGWDFTFIPG------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
415
+ >SRR5206468_2692918 42 0.328 4.952E+00 1 64 352 41 104 110
416
+ -GRAQPAGRRGRGARVKVELTPLSYWFHDLCSCLHDCLGTVLTYHGQSPIEVMGASWEFFHSPDD-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
417
+ >SRR3954452_12164045 42 0.481 4.952E+00 20 73 352 70 123 125
418
+ --------------------PEPQWWYRDLVSCLQATFGTVLARAGIDPLSVLGAGWRFLHLPGDVRSEEFYYP--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
419
+ >SRR5579862_4067062 42 0.341 4.952E+00 268 308 352 13 53 130
420
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------GAGRPLYGDFLDVAASVLREPSLERAAAGFRDAGRRWTGLA-------------------------------------------
421
+ >ERR1051325_11233650 42 0.454 4.952E+00 21 75 352 72 126 131
422
+ ---------------------PVRQWYRDPVSCLQSTLSTVLLDVGADPLAVLGLGFEFRYLPGEVRPEEFYYPGR------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
423
+ >ERR1700712_5093054 42 0.252 4.952E+00 98 174 352 75 169 193
424
+ --------------------------------------------------------------------------------------------------DQALNDLKAALAAGKATMVGVNNTALykdfPHQDQPgQTPAANHQVVVIGYDtaTDTVYIDDGGWPPDPedagrpeggqkMPVKLDTFLAAWKAD---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
425
+ >SRR3712207_5935252 42 0.292 6.558E+00 268 308 352 0 40 104
426
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------GNLRALYADFLEQAAARLHAPELVPVAGLFRAAAEAWQSVA-------------------------------------------
427
+ >SRR5579872_692970 42 0.280 6.558E+00 76 146 352 32 106 111
428
+ ----------------------------------------------------------------------------PDVGIGKALELLGFAVaeRAHDDGADApFDDLRHALASGPVVLGPLDMGHLTYIPYHEALGGaDHFVLAYAMDEE-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
429
+ >SRR2546430_4736840 42 0.270 6.558E+00 106 167 352 7 80 145
430
+ ----------------------------------------------------------------------------------------------------------EALGGGDPVLVVGDAFHLPWVPYHGRQHLDHGFVIEGLEPGAmpvvAHVVDAYDNatqwghavPLATTLPLADL----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
431
+ >SRR5256885_6193825 42 0.359 8.684E+00 1 98 352 12 114 119
432
+ -GRSPDMTVDVPARTYMITGPEPEWWYRDLVSCLQATFGSLLIREGADPLSVLGAGWRFLHLPGEVRSEEFYYPCPTDesgaiDLGAALAPHHQLHSRRLPPAG-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
433
+ >SRR3954469_21777195 42 0.431 8.684E+00 20 77 352 32 89 121
434
+ --------------------PEPEWWYRDLISCLQATFGSVLANAGADPLAVLGAGWRFLHLPGEVRSEEFYYPCPAG----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
435
+ >SRR3546814_4326061 42 0.311 8.684E+00 100 160 352 66 120 151
436
+ ----------------------------------------------------------------------------------------------------GVAELEERFRAGWLPMVLVSTFYVHG------DHVAHWVVVTGFGPDAVYINDPWVDRKGG-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
model/Protenix-pxd/examples/7wux/msa/2/pairing.a3m ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/examples/dimer.fasta ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ >dimer
2
+ FPTIPLSRLFDNAMLRAHRLHQLAFDTYQEFEEAYIPKEQKYSFLQNPQTSLCFSESIPTPSNREETQQKSNLELLRISLLLIQSWLEPVQFLRSVFANSLVYGASDSNVYDLLKDLEERIQTLMGRLEDGSPRTGQIFKQTYSKFDTNSHNDDALLKNYGLLYCFRKDMDKVETFLRIVQCRSVEGSCGF:FSGSEATAAILSRAPWSLQSVNPGLKTNSSKEPKFTKCRSPERETFSCHWTDEVHHGTKNLGPIQLFYTRRNTQEWTQEWKECPDYVSAGENSCYFNSSFTSIWIPYCIKLTSNGGTVDEKCFSVDEIVQPDPPIALNWTLLNVSLTGIHADIQVRWEAPRNADIQKGWMVLEYELQYKEVNETKWKMMDPILTTSVPVYSLKVDKEYEVRVRSKQRNSGNYGEFSEVLYVTLPQMSQ
model/Protenix-pxd/examples/example.json ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [{
2
+ "sequences": [
3
+ {
4
+ "proteinChain": {
5
+ "sequence": "MGSSHHHHHHSSGLVPRGSHMSGKIQHKAVVPAPSRIPLTLSEIEDLRRKGFNQTEIAELYGVTRQAVSWHKKTYGGRLTTRQIVQQNWPWDTRKPHDKSKAFQRLRDHGEYMRVGSFRTMSEDKKKRLLSWWKMLRDNDLVLEFDPSIEPYEGMAGGGFRYVPRDISDDDLLIRVNEHTQLTAEGELLWSWPDDIEELLSEP",
6
+ "count": 1,
7
+ "msa": {
8
+ "precomputed_msa_dir": "./examples/7r6r/msa/1",
9
+ "pairing_db": "uniref100"
10
+ }
11
+ }
12
+ },
13
+ {
14
+ "dnaSequence": {
15
+ "sequence": "TTTCGGTGGCTGTCAAGCGGG",
16
+ "count": 1
17
+ }
18
+ },
19
+ {
20
+ "dnaSequence": {
21
+ "sequence": "CCCGCTTGACAGCCACCGAAA",
22
+ "count": 1
23
+ }
24
+ }
25
+ ],
26
+ "name": "7r6r"
27
+ },
28
+ {
29
+ "sequences": [
30
+ {
31
+ "proteinChain": {
32
+ "sequence": "MASWSHPQFEKGGTHVAETSAPTRSEPDTRVLTLPGTASAPEFRLIDIDGLLNNRATTDVRDLGSGRLNAWGNSFPAAELPAPGSLITVAGIPFTWANAHARGDNIRCEGQVVDIPPGQYDWIYLLAASERRSEDTIWAHYDDGHADPLRVGISDFLDGTPAFGELSAFRTSRMHYPHHVQEGLPTTMWLTRVGMPRHGVARSLRLPRSVAMHVFALTLRTAAAVRLAEGATT",
33
+ "count": 2,
34
+ "msa": {
35
+ "precomputed_msa_dir": "./examples/7wux/msa/1",
36
+ "pairing_db": "uniref100"
37
+ }
38
+ }
39
+ },
40
+ {
41
+ "proteinChain": {
42
+ "sequence": "MGSSHHHHHHSQDPNSTTTAPPVELWTRDLGSCLHGTLATALIRDGHDPVTVLGAPWEFRRRPGAWSSEEYFFFAEPDSLAGRLALYHPFESTWHRSDGDGVDDLREALAAGVLPIAAVDNFHLPFRPAFHDVHAAHLLVVYRITETEVYVSDAQPPAFQGAIPLADFLASWGSLNPPDDADVFFSASPSGRRWLRTRMTGPVPEPDRHWVGRVIRENVARYRQEPPADTQTGLPGLRRYLDELCALTPGTNAASEALSELYVISWNIQAQSGLHAEFLRAHSVKWRIPELAEAAAGVDAVAHGWTGVRMTGAHSRVWQRHRPAELRGHATALVRRLEAALDLLELAADAVS",
43
+ "count": 2,
44
+ "msa": {
45
+ "precomputed_msa_dir": "./examples/7wux/msa/2",
46
+ "pairing_db": "uniref100"
47
+ }
48
+ }
49
+ },
50
+ {
51
+ "ligand": {
52
+ "ligand": "CCD_P4G",
53
+ "count": 1
54
+ }
55
+ },
56
+ {
57
+ "ligand": {
58
+ "ligand": "CCD_6OI",
59
+ "count": 2
60
+ }
61
+ },
62
+ {
63
+ "ligand": {
64
+ "ligand": "CCD_MG",
65
+ "count": 3
66
+ }
67
+ }
68
+ ],
69
+ "name": "7wux"
70
+ },
71
+ {
72
+ "sequences": [
73
+ {
74
+ "proteinChain": {
75
+ "sequence": "MAEVIRSSAFWRSFPIFEEFDSETLCELSGIASYRKWSAGTVIFQRGDQGDYMIVVVSGRIKLSLFTPQGRELMLRQHEAGALFGEMALLDGQPRSADATAVTAAEGYVIGKKDFLALITQRPKTAEAVIRFLCAQLRDTTDRLETIALYDLNARVARFFLATLRQIHGSEMPQSANLRLTLSQTDIASILGASRPKVNRAILSLEESGAIKRADGIICCNVGRLLSIADPEEDLEHHHHHHHH",
76
+ "count": 2,
77
+ "msa": {
78
+ "precomputed_msa_dir": "./examples/7pzb/msa/1",
79
+ "pairing_db": "uniref100"
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "dnaSequence": {
85
+ "sequence": "CTAGGTAACATTACTCGCG",
86
+ "count": 2
87
+ }
88
+ },
89
+ {
90
+ "dnaSequence": {
91
+ "sequence": "GCGAGTAATGTTAC",
92
+ "count": 2
93
+ }
94
+ },
95
+ {
96
+ "ligand": {
97
+ "ligand": "CCD_PCG",
98
+ "count": 2
99
+ }
100
+ }
101
+ ],
102
+ "name": "7pzb"
103
+ }
104
+ ]
model/Protenix-pxd/examples/example_constraint_msa.json ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "sequences": [
4
+ {
5
+ "proteinChain": {
6
+ "sequence": "YMLDLQPETTDLYCGGGGSGGGGSGGGGSIQRTPKIQVYSRHPAENGKSNFLNCYVSGFHPSDIEVDLLKNGERIEKVEHSDLSFSKDWSFYLLYYTEFTPTEKDEYACRVNHVTLSQPKIVKWDRDMGGGGSGGGGSGGGGSGGGGSGSHSMRYFFTSVSRPGRGEPRFIAVGYVDDTQFVRFDSDAASQRMEPRAPWIEQEGPEYWDGETRKVKAHSQTHRVDLGTLRGCYNQSEAGSHTVQRMYGCDVGSDWRFLRGYHQYAYDGKDYIALKEDLRSWTAADMCAQTTKHKWEAAHVAEQLRAYLEGTCVEWLRRYLENGKETLQRTDAPKTHMTHHAVSDHEATLRCWALSFYPAEITLTWQRDGEDQTQDTELVETRPAGDGTFQKWAAVVVPSGQEQRYTCHVQHEGLPKPLTLRWEHHHHHH",
7
+ "count": 1,
8
+ "msa": {
9
+ "precomputed_msa_dir": "./examples/7st3/msa/1/",
10
+ "pairing_db": "uniref100"
11
+ }
12
+ }
13
+ },
14
+ {
15
+ "proteinChain": {
16
+ "sequence": "EVKLVESGGGLVQPGGSLRLSCAASGSIFSINTMGWYRQTPGKQRDLVADISSGGSTKYGDSVKGRFTISRDNTKNTVYLQMNSLKPEDTAVYYCYGLSYSNDDYWGQGTQVTVSS",
17
+ "count": 1,
18
+ "msa": {
19
+ "precomputed_msa_dir": "./examples/7st3/msa/2/",
20
+ "pairing_db": "uniref100"
21
+ }
22
+ }
23
+ }
24
+ ],
25
+ "modelSeeds": [],
26
+ "name": "7st3_base"
27
+ },
28
+ {
29
+ "sequences": [
30
+ {
31
+ "proteinChain": {
32
+ "sequence": "YMLDLQPETTDLYCGGGGSGGGGSGGGGSIQRTPKIQVYSRHPAENGKSNFLNCYVSGFHPSDIEVDLLKNGERIEKVEHSDLSFSKDWSFYLLYYTEFTPTEKDEYACRVNHVTLSQPKIVKWDRDMGGGGSGGGGSGGGGSGGGGSGSHSMRYFFTSVSRPGRGEPRFIAVGYVDDTQFVRFDSDAASQRMEPRAPWIEQEGPEYWDGETRKVKAHSQTHRVDLGTLRGCYNQSEAGSHTVQRMYGCDVGSDWRFLRGYHQYAYDGKDYIALKEDLRSWTAADMCAQTTKHKWEAAHVAEQLRAYLEGTCVEWLRRYLENGKETLQRTDAPKTHMTHHAVSDHEATLRCWALSFYPAEITLTWQRDGEDQTQDTELVETRPAGDGTFQKWAAVVVPSGQEQRYTCHVQHEGLPKPLTLRWEHHHHHH",
33
+ "count": 1,
34
+ "msa": {
35
+ "precomputed_msa_dir": "./examples/7st3/msa/1/",
36
+ "pairing_db": "uniref100"
37
+ }
38
+ }
39
+ },
40
+ {
41
+ "proteinChain": {
42
+ "sequence": "EVKLVESGGGLVQPGGSLRLSCAASGSIFSINTMGWYRQTPGKQRDLVADISSGGSTKYGDSVKGRFTISRDNTKNTVYLQMNSLKPEDTAVYYCYGLSYSNDDYWGQGTQVTVSS",
43
+ "count": 1,
44
+ "msa": {
45
+ "precomputed_msa_dir": "./examples/7st3/msa/2/",
46
+ "pairing_db": "uniref100"
47
+ }
48
+ }
49
+ }
50
+ ],
51
+ "modelSeeds": [],
52
+ "name": "7st3_pocket_1_8",
53
+ "constraint": {
54
+ "pocket": {
55
+ "binder_chain": [
56
+ "2",
57
+ 1
58
+ ],
59
+ "contact_residues": [
60
+ [
61
+ "1",
62
+ 1,
63
+ 69
64
+ ]
65
+ ],
66
+ "max_distance": 8
67
+ }
68
+ }
69
+ },
70
+ {
71
+ "sequences": [
72
+ {
73
+ "proteinChain": {
74
+ "sequence": "YMLDLQPETTDLYCGGGGSGGGGSGGGGSIQRTPKIQVYSRHPAENGKSNFLNCYVSGFHPSDIEVDLLKNGERIEKVEHSDLSFSKDWSFYLLYYTEFTPTEKDEYACRVNHVTLSQPKIVKWDRDMGGGGSGGGGSGGGGSGGGGSGSHSMRYFFTSVSRPGRGEPRFIAVGYVDDTQFVRFDSDAASQRMEPRAPWIEQEGPEYWDGETRKVKAHSQTHRVDLGTLRGCYNQSEAGSHTVQRMYGCDVGSDWRFLRGYHQYAYDGKDYIALKEDLRSWTAADMCAQTTKHKWEAAHVAEQLRAYLEGTCVEWLRRYLENGKETLQRTDAPKTHMTHHAVSDHEATLRCWALSFYPAEITLTWQRDGEDQTQDTELVETRPAGDGTFQKWAAVVVPSGQEQRYTCHVQHEGLPKPLTLRWEHHHHHH",
75
+ "count": 1,
76
+ "msa": {
77
+ "precomputed_msa_dir": "./examples/7st3/msa/1/",
78
+ "pairing_db": "uniref100"
79
+ }
80
+ }
81
+ },
82
+ {
83
+ "proteinChain": {
84
+ "sequence": "EVKLVESGGGLVQPGGSLRLSCAASGSIFSINTMGWYRQTPGKQRDLVADISSGGSTKYGDSVKGRFTISRDNTKNTVYLQMNSLKPEDTAVYYCYGLSYSNDDYWGQGTQVTVSS",
85
+ "count": 1,
86
+ "msa": {
87
+ "precomputed_msa_dir": "./examples/7st3/msa/2/",
88
+ "pairing_db": "uniref100"
89
+ }
90
+ }
91
+ }
92
+ ],
93
+ "modelSeeds": [],
94
+ "name": "7st3_token_1_15",
95
+ "constraint": {
96
+ "contact": [
97
+ {
98
+ "residue1": [
99
+ "1",
100
+ 1,
101
+ 72
102
+ ],
103
+ "residue2": [
104
+ "2",
105
+ 1,
106
+ 103
107
+ ],
108
+ "max_distance": 15
109
+ }
110
+ ]
111
+ }
112
+ },
113
+ {
114
+ "sequences": [
115
+ {
116
+ "proteinChain": {
117
+ "sequence": "MSSPLKNALVTAMLAGGALSSPTKQHVGIPVNASPEVGPGKYSFKQVRNPNYKFNGPLSVKKTYLKYGVPIPAWLEDAVQNSTSGLAERSTGSATTTPIDSLDDAYITPVQIGTPAQTLNLDFDTGSSDLWVFSSETTASEVDGQTIYTPSKSTTAKLLSGATWSISYGDGSSSSGDVYTDTVSVGGLTVTGQAVESAKKVSSSFTEDSTIDGLLGLAFSTLNTVSPTQQKTFFDNAKASLDSPVFTADLGYHAPGTYNFGFIDTTAYTGSITYTAVSTKQGFWEWTSTGYAVGSGTFKSTSIDGIADTGTTLLYLPATVVSAYWAQVSGAKSSSSVGGYVFPCSATLPSFTFGVGSARIVIPGDYIDFGPISTGSSSCFGGIQSSAGIGINIFGDVALKAAFVVFNGATTPTLGFASK",
118
+ "count": 1,
119
+ "msa": {
120
+ "precomputed_msa_dir": "./examples/5sak/1/",
121
+ "pairing_db": "uniref100"
122
+ }
123
+ }
124
+ },
125
+ {
126
+ "ligand": {"ligand": "CCD_ZRY", "count": 1}
127
+ }
128
+ ],
129
+ "modelSeeds": [],
130
+ "name": "5sak_base"
131
+ },
132
+ {
133
+ "sequences": [
134
+ {
135
+ "proteinChain": {
136
+ "sequence": "MSSPLKNALVTAMLAGGALSSPTKQHVGIPVNASPEVGPGKYSFKQVRNPNYKFNGPLSVKKTYLKYGVPIPAWLEDAVQNSTSGLAERSTGSATTTPIDSLDDAYITPVQIGTPAQTLNLDFDTGSSDLWVFSSETTASEVDGQTIYTPSKSTTAKLLSGATWSISYGDGSSSSGDVYTDTVSVGGLTVTGQAVESAKKVSSSFTEDSTIDGLLGLAFSTLNTVSPTQQKTFFDNAKASLDSPVFTADLGYHAPGTYNFGFIDTTAYTGSITYTAVSTKQGFWEWTSTGYAVGSGTFKSTSIDGIADTGTTLLYLPATVVSAYWAQVSGAKSSSSVGGYVFPCSATLPSFTFGVGSARIVIPGDYIDFGPISTGSSSCFGGIQSSAGIGINIFGDVALKAAFVVFNGATTPTLGFASK",
137
+ "count": 1,
138
+ "msa": {
139
+ "precomputed_msa_dir": "./examples/5sak/1/",
140
+ "pairing_db": "uniref100"
141
+ }
142
+ }
143
+ },
144
+ {
145
+ "ligand": {"ligand": "CCD_ZRY", "count": 1}
146
+ }
147
+ ],
148
+ "modelSeeds": [],
149
+ "name": "5sak_atom_1_3_5",
150
+ "constraint": {
151
+ "contact": [
152
+ {
153
+ "atom1": ["1", 1, 311, "CG2"],
154
+ "atom2": ["2", 1, 1, "C10"],
155
+ "max_distance": 5,
156
+ "min_distance": 3
157
+ }
158
+ ]
159
+ }
160
+ }
161
+
162
+ ]
model/Protenix-pxd/examples/example_without_msa.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [{
2
+ "sequences": [
3
+ {
4
+ "proteinChain": {
5
+ "sequence": "MAEVIRSSAFWRSFPIFEEFDSETLCELSGIASYRKWSAGTVIFQRGDQGDYMIVVVSGRIKLSLFTPQGRELMLRQHEAGALFGEMALLDGQPRSADATAVTAAEGYVIGKKDFLALITQRPKTAEAVIRFLCAQLRDTTDRLETIALYDLNARVARFFLATLRQIHGSEMPQSANLRLTLSQTDIASILGASRPKVNRAILSLEESGAIKRADGIICCNVGRLLSIADPEEDLEHHHHHHHH",
6
+ "count": 2
7
+ }
8
+ },
9
+ {
10
+ "dnaSequence": {
11
+ "sequence": "CTAGGTAACATTACTCGCG",
12
+ "count": 2
13
+ }
14
+ },
15
+ {
16
+ "dnaSequence": {
17
+ "sequence": "GCGAGTAATGTTAC",
18
+ "count": 2
19
+ }
20
+ },
21
+ {
22
+ "ligand": {
23
+ "ligand": "CCD_PCG",
24
+ "count": 2
25
+ }
26
+ }
27
+ ],
28
+ "name": "7pzb_need_search_msa"
29
+ }
30
+ ]
model/Protenix-pxd/examples/finetune_subset.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ 6hvq
2
+ 5mqc
3
+ 5zin
4
+ 3ew0
5
+ 5akv
model/Protenix-pxd/examples/ligands/7wux_smiles.smi ADDED
@@ -0,0 +1 @@
 
 
1
+ Nc1ncnc2c1ncn2[C@@H]1O[C@H](CO[P@@](=O)(O)O[P@](=O)(O)OP(=O)(O)O)[C@@H](O)[C@H]1O
model/Protenix-pxd/examples/ligands/compounds-3d-R.sdf ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ mol_R
2
+ MOE2022 3D
3
+
4
+ 55 59 0 0 1 0 0 0 0 0999 V2000
5
+ 1.8430 3.9110 0.0060 O 0 0 0 0 0 0 0 0 0 0 0 0
6
+ 1.0400 3.0050 0.1630 C 0 0 0 0 0 0 0 0 0 0 0 0
7
+ 1.3790 1.8370 0.7780 N 0 0 0 0 0 0 0 0 0 0 0 0
8
+ 2.6800 1.7040 1.4280 C 0 0 0 0 0 0 0 0 0 0 0 0
9
+ 3.2700 2.6180 1.3520 H 0 0 0 0 0 0 0 0 0 0 0 0
10
+ 2.5860 1.4190 2.4760 H 0 0 0 0 0 0 0 0 0 0 0 0
11
+ 3.2540 0.5870 0.5860 C 0 0 0 0 0 0 0 0 0 0 0 0
12
+ 3.7280 0.8360 -0.7040 C 0 0 0 0 0 0 0 0 0 0 0 0
13
+ 3.6890 1.8370 -1.1060 H 0 0 0 0 0 0 0 0 0 0 0 0
14
+ 4.2500 -0.1980 -1.4740 C 0 0 0 0 0 0 0 0 0 0 0 0
15
+ 4.6150 -0.0020 -2.4720 H 0 0 0 0 0 0 0 0 0 0 0 0
16
+ 4.2990 -1.4870 -0.9510 C 0 0 0 0 0 0 0 0 0 0 0 0
17
+ 4.8160 -2.4870 -1.7410 O 0 0 0 0 0 0 0 0 0 0 0 0
18
+ 4.8150 -3.8560 -1.2980 C 0 0 0 0 0 0 0 0 0 0 0 0
19
+ 5.2650 -4.4870 -2.0640 H 0 0 0 0 0 0 0 0 0 0 0 0
20
+ 3.7890 -4.1790 -1.1180 H 0 0 0 0 0 0 0 0 0 0 0 0
21
+ 5.3890 -3.9390 -0.3750 H 0 0 0 0 0 0 0 0 0 0 0 0
22
+ 3.8390 -1.7460 0.3410 C 0 0 0 0 0 0 0 0 0 0 0 0
23
+ 3.8840 -2.7470 0.7440 H 0 0 0 0 0 0 0 0 0 0 0 0
24
+ 3.3220 -0.7060 1.1050 C 0 0 0 0 0 0 0 0 0 0 0 0
25
+ 2.9690 -0.9010 2.1070 H 0 0 0 0 0 0 0 0 0 0 0 0
26
+ 0.1730 0.9630 0.9500 C 0 0 2 0 0 0 0 0 0 0 0 0
27
+ -0.0990 0.7160 2.4440 C 0 0 0 0 0 0 0 0 0 0 0 0
28
+ 0.8190 0.5160 2.9970 H 0 0 0 0 0 0 0 0 0 0 0 0
29
+ -0.6260 1.5510 2.9050 H 0 0 0 0 0 0 0 0 0 0 0 0
30
+ -0.9990 -0.5510 2.3340 C 0 0 0 0 0 0 0 0 0 0 0 0
31
+ -2.0270 -0.2950 2.0750 H 0 0 0 0 0 0 0 0 0 0 0 0
32
+ -0.9910 -1.1350 3.2540 H 0 0 0 0 0 0 0 0 0 0 0 0
33
+ -0.3240 -1.2490 1.2430 N 0 0 0 0 0 0 0 0 0 0 0 0
34
+ -0.4900 -2.6690 0.9440 C 0 0 0 0 0 0 0 0 0 0 0 0
35
+ 0.2320 -3.0190 0.2070 H 0 0 0 0 0 0 0 0 0 0 0 0
36
+ -0.4230 -3.2860 1.8400 H 0 0 0 0 0 0 0 0 0 0 0 0
37
+ -1.9000 -2.6260 0.3860 C 0 0 0 0 0 0 0 0 0 0 0 0
38
+ -2.1050 -2.4640 -0.9870 C 0 0 0 0 0 0 0 0 0 0 0 0
39
+ -1.2570 -2.3610 -1.6480 H 0 0 0 0 0 0 0 0 0 0 0 0
40
+ -3.3950 -2.4360 -1.5060 C 0 0 0 0 0 0 0 0 0 0 0 0
41
+ -3.5580 -2.3090 -2.5660 H 0 0 0 0 0 0 0 0 0 0 0 0
42
+ -4.4710 -2.5730 -0.6380 C 0 0 0 0 0 0 0 0 0 0 0 0
43
+ -5.7290 -2.5430 -1.1380 F 0 0 0 0 0 0 0 0 0 0 0 0
44
+ -4.2930 -2.7400 0.7280 C 0 0 0 0 0 0 0 0 0 0 0 0
45
+ -5.1440 -2.8450 1.3840 H 0 0 0 0 0 0 0 0 0 0 0 0
46
+ -2.9990 -2.7680 1.2370 C 0 0 0 0 0 0 0 0 0 0 0 0
47
+ -2.8430 -2.9000 2.2980 H 0 0 0 0 0 0 0 0 0 0 0 0
48
+ 0.2400 -0.4310 0.3720 C 0 0 0 0 0 0 0 0 0 0 0 0
49
+ 0.6660 -0.7810 -0.7260 O 0 0 0 0 0 0 0 0 0 0 0 0
50
+ -0.9170 1.7860 0.2880 C 0 0 0 0 0 0 0 0 0 0 0 0
51
+ -2.2660 1.5010 0.0860 C 0 0 0 0 0 0 0 0 0 0 0 0
52
+ -2.6860 0.5710 0.4390 H 0 0 0 0 0 0 0 0 0 0 0 0
53
+ -3.0670 2.4300 -0.5770 C 0 0 0 0 0 0 0 0 0 0 0 0
54
+ -4.1150 2.2290 -0.7440 H 0 0 0 0 0 0 0 0 0 0 0 0
55
+ -2.4960 3.6230 -1.0220 C 0 0 0 0 0 0 0 0 0 0 0 0
56
+ -3.2780 4.5220 -1.6600 F 0 0 0 0 0 0 0 0 0 0 0 0
57
+ -1.1510 3.9170 -0.8290 C 0 0 0 0 0 0 0 0 0 0 0 0
58
+ -0.7280 4.8460 -1.1810 H 0 0 0 0 0 0 0 0 0 0 0 0
59
+ -0.3650 2.9730 -0.1680 C 0 0 0 0 0 0 0 0 0 0 0 0
60
+ 1 2 2 0 0 0 0
61
+ 2 3 1 0 0 0 0
62
+ 2 55 1 0 0 0 0
63
+ 3 4 1 0 0 0 0
64
+ 3 22 1 0 0 0 0
65
+ 4 5 1 0 0 0 0
66
+ 4 6 1 0 0 0 0
67
+ 4 7 1 0 0 0 0
68
+ 7 8 1 0 0 0 0
69
+ 7 20 2 0 0 0 0
70
+ 8 9 1 0 0 0 0
71
+ 8 10 2 0 0 0 0
72
+ 10 11 1 0 0 0 0
73
+ 10 12 1 0 0 0 0
74
+ 12 13 1 0 0 0 0
75
+ 12 18 2 0 0 0 0
76
+ 13 14 1 0 0 0 0
77
+ 14 15 1 0 0 0 0
78
+ 14 16 1 0 0 0 0
79
+ 14 17 1 0 0 0 0
80
+ 18 19 1 0 0 0 0
81
+ 18 20 1 0 0 0 0
82
+ 20 21 1 0 0 0 0
83
+ 22 23 1 0 0 0 0
84
+ 22 44 1 0 0 0 0
85
+ 22 46 1 0 0 0 0
86
+ 23 24 1 0 0 0 0
87
+ 23 25 1 0 0 0 0
88
+ 23 26 1 0 0 0 0
89
+ 26 27 1 0 0 0 0
90
+ 26 28 1 0 0 0 0
91
+ 26 29 1 0 0 0 0
92
+ 29 30 1 0 0 0 0
93
+ 29 44 1 0 0 0 0
94
+ 30 31 1 0 0 0 0
95
+ 30 32 1 0 0 0 0
96
+ 30 33 1 0 0 0 0
97
+ 33 34 1 0 0 0 0
98
+ 33 42 2 0 0 0 0
99
+ 34 35 1 0 0 0 0
100
+ 34 36 2 0 0 0 0
101
+ 36 37 1 0 0 0 0
102
+ 36 38 1 0 0 0 0
103
+ 38 39 1 0 0 0 0
104
+ 38 40 2 0 0 0 0
105
+ 40 41 1 0 0 0 0
106
+ 40 42 1 0 0 0 0
107
+ 42 43 1 0 0 0 0
108
+ 44 45 2 0 0 0 0
109
+ 46 47 1 0 0 0 0
110
+ 46 55 2 0 0 0 0
111
+ 47 48 1 0 0 0 0
112
+ 47 49 2 0 0 0 0
113
+ 49 50 1 0 0 0 0
114
+ 49 51 1 0 0 0 0
115
+ 51 52 1 0 0 0 0
116
+ 51 53 2 0 0 0 0
117
+ 53 54 1 0 0 0 0
118
+ 53 55 1 0 0 0 0
119
+ M END
120
+ > <Name>
121
+ S
122
+
123
+ $$$$
model/Protenix-pxd/examples/ligands/compounds-3d-RS.sdf ADDED
@@ -0,0 +1,246 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ mol_R
2
+ MOE2022 3D
3
+
4
+ 55 59 0 0 1 0 0 0 0 0999 V2000
5
+ 1.8430 3.9110 0.0060 O 0 0 0 0 0 0 0 0 0 0 0 0
6
+ 1.0400 3.0050 0.1630 C 0 0 0 0 0 0 0 0 0 0 0 0
7
+ 1.3790 1.8370 0.7780 N 0 0 0 0 0 0 0 0 0 0 0 0
8
+ 2.6800 1.7040 1.4280 C 0 0 0 0 0 0 0 0 0 0 0 0
9
+ 3.2700 2.6180 1.3520 H 0 0 0 0 0 0 0 0 0 0 0 0
10
+ 2.5860 1.4190 2.4760 H 0 0 0 0 0 0 0 0 0 0 0 0
11
+ 3.2540 0.5870 0.5860 C 0 0 0 0 0 0 0 0 0 0 0 0
12
+ 3.7280 0.8360 -0.7040 C 0 0 0 0 0 0 0 0 0 0 0 0
13
+ 3.6890 1.8370 -1.1060 H 0 0 0 0 0 0 0 0 0 0 0 0
14
+ 4.2500 -0.1980 -1.4740 C 0 0 0 0 0 0 0 0 0 0 0 0
15
+ 4.6150 -0.0020 -2.4720 H 0 0 0 0 0 0 0 0 0 0 0 0
16
+ 4.2990 -1.4870 -0.9510 C 0 0 0 0 0 0 0 0 0 0 0 0
17
+ 4.8160 -2.4870 -1.7410 O 0 0 0 0 0 0 0 0 0 0 0 0
18
+ 4.8150 -3.8560 -1.2980 C 0 0 0 0 0 0 0 0 0 0 0 0
19
+ 5.2650 -4.4870 -2.0640 H 0 0 0 0 0 0 0 0 0 0 0 0
20
+ 3.7890 -4.1790 -1.1180 H 0 0 0 0 0 0 0 0 0 0 0 0
21
+ 5.3890 -3.9390 -0.3750 H 0 0 0 0 0 0 0 0 0 0 0 0
22
+ 3.8390 -1.7460 0.3410 C 0 0 0 0 0 0 0 0 0 0 0 0
23
+ 3.8840 -2.7470 0.7440 H 0 0 0 0 0 0 0 0 0 0 0 0
24
+ 3.3220 -0.7060 1.1050 C 0 0 0 0 0 0 0 0 0 0 0 0
25
+ 2.9690 -0.9010 2.1070 H 0 0 0 0 0 0 0 0 0 0 0 0
26
+ 0.1730 0.9630 0.9500 C 0 0 2 0 0 0 0 0 0 0 0 0
27
+ -0.0990 0.7160 2.4440 C 0 0 0 0 0 0 0 0 0 0 0 0
28
+ 0.8190 0.5160 2.9970 H 0 0 0 0 0 0 0 0 0 0 0 0
29
+ -0.6260 1.5510 2.9050 H 0 0 0 0 0 0 0 0 0 0 0 0
30
+ -0.9990 -0.5510 2.3340 C 0 0 0 0 0 0 0 0 0 0 0 0
31
+ -2.0270 -0.2950 2.0750 H 0 0 0 0 0 0 0 0 0 0 0 0
32
+ -0.9910 -1.1350 3.2540 H 0 0 0 0 0 0 0 0 0 0 0 0
33
+ -0.3240 -1.2490 1.2430 N 0 0 0 0 0 0 0 0 0 0 0 0
34
+ -0.4900 -2.6690 0.9440 C 0 0 0 0 0 0 0 0 0 0 0 0
35
+ 0.2320 -3.0190 0.2070 H 0 0 0 0 0 0 0 0 0 0 0 0
36
+ -0.4230 -3.2860 1.8400 H 0 0 0 0 0 0 0 0 0 0 0 0
37
+ -1.9000 -2.6260 0.3860 C 0 0 0 0 0 0 0 0 0 0 0 0
38
+ -2.1050 -2.4640 -0.9870 C 0 0 0 0 0 0 0 0 0 0 0 0
39
+ -1.2570 -2.3610 -1.6480 H 0 0 0 0 0 0 0 0 0 0 0 0
40
+ -3.3950 -2.4360 -1.5060 C 0 0 0 0 0 0 0 0 0 0 0 0
41
+ -3.5580 -2.3090 -2.5660 H 0 0 0 0 0 0 0 0 0 0 0 0
42
+ -4.4710 -2.5730 -0.6380 C 0 0 0 0 0 0 0 0 0 0 0 0
43
+ -5.7290 -2.5430 -1.1380 F 0 0 0 0 0 0 0 0 0 0 0 0
44
+ -4.2930 -2.7400 0.7280 C 0 0 0 0 0 0 0 0 0 0 0 0
45
+ -5.1440 -2.8450 1.3840 H 0 0 0 0 0 0 0 0 0 0 0 0
46
+ -2.9990 -2.7680 1.2370 C 0 0 0 0 0 0 0 0 0 0 0 0
47
+ -2.8430 -2.9000 2.2980 H 0 0 0 0 0 0 0 0 0 0 0 0
48
+ 0.2400 -0.4310 0.3720 C 0 0 0 0 0 0 0 0 0 0 0 0
49
+ 0.6660 -0.7810 -0.7260 O 0 0 0 0 0 0 0 0 0 0 0 0
50
+ -0.9170 1.7860 0.2880 C 0 0 0 0 0 0 0 0 0 0 0 0
51
+ -2.2660 1.5010 0.0860 C 0 0 0 0 0 0 0 0 0 0 0 0
52
+ -2.6860 0.5710 0.4390 H 0 0 0 0 0 0 0 0 0 0 0 0
53
+ -3.0670 2.4300 -0.5770 C 0 0 0 0 0 0 0 0 0 0 0 0
54
+ -4.1150 2.2290 -0.7440 H 0 0 0 0 0 0 0 0 0 0 0 0
55
+ -2.4960 3.6230 -1.0220 C 0 0 0 0 0 0 0 0 0 0 0 0
56
+ -3.2780 4.5220 -1.6600 F 0 0 0 0 0 0 0 0 0 0 0 0
57
+ -1.1510 3.9170 -0.8290 C 0 0 0 0 0 0 0 0 0 0 0 0
58
+ -0.7280 4.8460 -1.1810 H 0 0 0 0 0 0 0 0 0 0 0 0
59
+ -0.3650 2.9730 -0.1680 C 0 0 0 0 0 0 0 0 0 0 0 0
60
+ 1 2 2 0 0 0 0
61
+ 2 3 1 0 0 0 0
62
+ 2 55 1 0 0 0 0
63
+ 3 4 1 0 0 0 0
64
+ 3 22 1 0 0 0 0
65
+ 4 5 1 0 0 0 0
66
+ 4 6 1 0 0 0 0
67
+ 4 7 1 0 0 0 0
68
+ 7 8 1 0 0 0 0
69
+ 7 20 2 0 0 0 0
70
+ 8 9 1 0 0 0 0
71
+ 8 10 2 0 0 0 0
72
+ 10 11 1 0 0 0 0
73
+ 10 12 1 0 0 0 0
74
+ 12 13 1 0 0 0 0
75
+ 12 18 2 0 0 0 0
76
+ 13 14 1 0 0 0 0
77
+ 14 15 1 0 0 0 0
78
+ 14 16 1 0 0 0 0
79
+ 14 17 1 0 0 0 0
80
+ 18 19 1 0 0 0 0
81
+ 18 20 1 0 0 0 0
82
+ 20 21 1 0 0 0 0
83
+ 22 23 1 0 0 0 0
84
+ 22 44 1 0 0 0 0
85
+ 22 46 1 0 0 0 0
86
+ 23 24 1 0 0 0 0
87
+ 23 25 1 0 0 0 0
88
+ 23 26 1 0 0 0 0
89
+ 26 27 1 0 0 0 0
90
+ 26 28 1 0 0 0 0
91
+ 26 29 1 0 0 0 0
92
+ 29 30 1 0 0 0 0
93
+ 29 44 1 0 0 0 0
94
+ 30 31 1 0 0 0 0
95
+ 30 32 1 0 0 0 0
96
+ 30 33 1 0 0 0 0
97
+ 33 34 1 0 0 0 0
98
+ 33 42 2 0 0 0 0
99
+ 34 35 1 0 0 0 0
100
+ 34 36 2 0 0 0 0
101
+ 36 37 1 0 0 0 0
102
+ 36 38 1 0 0 0 0
103
+ 38 39 1 0 0 0 0
104
+ 38 40 2 0 0 0 0
105
+ 40 41 1 0 0 0 0
106
+ 40 42 1 0 0 0 0
107
+ 42 43 1 0 0 0 0
108
+ 44 45 2 0 0 0 0
109
+ 46 47 1 0 0 0 0
110
+ 46 55 2 0 0 0 0
111
+ 47 48 1 0 0 0 0
112
+ 47 49 2 0 0 0 0
113
+ 49 50 1 0 0 0 0
114
+ 49 51 1 0 0 0 0
115
+ 51 52 1 0 0 0 0
116
+ 51 53 2 0 0 0 0
117
+ 53 54 1 0 0 0 0
118
+ 53 55 1 0 0 0 0
119
+ M END
120
+ > <Name>
121
+ S
122
+
123
+ $$$$
124
+ mol_S
125
+ MOE2022 3D
126
+
127
+ 55 59 0 0 1 0 0 0 0 0999 V2000
128
+ 1.5220 4.2070 -0.8770 O 0 0 0 0 0 0 0 0 0 0 0 0
129
+ 0.8070 3.3300 -0.4130 C 0 0 0 0 0 0 0 0 0 0 0 0
130
+ 1.3080 2.1770 0.1270 N 0 0 0 0 0 0 0 0 0 0 0 0
131
+ 2.7120 2.0740 0.5360 C 0 0 0 0 0 0 0 0 0 0 0 0
132
+ 3.2960 2.8760 0.1030 H 0 0 0 0 0 0 0 0 0 0 0 0
133
+ 2.7910 2.2270 1.6050 H 0 0 0 0 0 0 0 0 0 0 0 0
134
+ 3.3560 0.7600 0.1460 C 0 0 0 0 0 0 0 0 0 0 0 0
135
+ 3.4390 0.3940 -1.1990 C 0 0 0 0 0 0 0 0 0 0 0 0
136
+ 3.0560 1.0430 -1.9460 H 0 0 0 0 0 0 0 0 0 0 0 0
137
+ 4.0160 -0.8170 -1.5650 C 0 0 0 0 0 0 0 0 0 0 0 0
138
+ 4.0770 -1.1020 -2.5830 H 0 0 0 0 0 0 0 0 0 0 0 0
139
+ 4.5220 -1.6610 -0.5810 C 0 0 0 0 0 0 0 0 0 0 0 0
140
+ 5.0790 -2.8500 -0.9960 O 0 0 0 0 0 0 0 0 0 0 0 0
141
+ 5.7550 -3.7890 -0.1290 C 0 0 0 0 0 0 0 0 0 0 0 0
142
+ 6.1420 -4.6210 -0.7170 H 0 0 0 0 0 0 0 0 0 0 0 0
143
+ 5.0650 -4.1830 0.6170 H 0 0 0 0 0 0 0 0 0 0 0 0
144
+ 6.5910 -3.3030 0.3750 H 0 0 0 0 0 0 0 0 0 0 0 0
145
+ 4.4620 -1.3010 0.7650 C 0 0 0 0 0 0 0 0 0 0 0 0
146
+ 4.8540 -1.9350 1.5140 H 0 0 0 0 0 0 0 0 0 0 0 0
147
+ 3.8780 -0.0900 1.1220 C 0 0 0 0 0 0 0 0 0 0 0 0
148
+ 3.8290 0.1840 2.1450 H 0 0 0 0 0 0 0 0 0 0 0 0
149
+ 0.1910 1.3310 0.6670 C 0 0 1 0 0 0 0 0 0 0 0 0
150
+ 0.1330 -0.0450 -0.0200 C 0 0 0 0 0 0 0 0 0 0 0 0
151
+ -0.8850 -0.2520 -0.3480 H 0 0 0 0 0 0 0 0 0 0 0 0
152
+ 0.8030 -0.1100 -0.8750 H 0 0 0 0 0 0 0 0 0 0 0 0
153
+ 0.5050 -1.0520 1.0690 C 0 0 0 0 0 0 0 0 0 0 0 0
154
+ -0.1300 -1.9280 1.0300 H 0 0 0 0 0 0 0 0 0 0 0 0
155
+ 1.5230 -1.3960 0.9350 H 0 0 0 0 0 0 0 0 0 0 0 0
156
+ 0.3750 -0.3420 2.3320 N 0 0 0 0 0 0 0 0 0 0 0 0
157
+ 0.5330 -0.9630 3.6460 C 0 0 0 0 0 0 0 0 0 0 0 0
158
+ 0.0500 -0.3600 4.4060 H 0 0 0 0 0 0 0 0 0 0 0 0
159
+ 0.0060 -1.9070 3.6730 H 0 0 0 0 0 0 0 0 0 0 0 0
160
+ 1.9830 -1.1770 4.0270 C 0 0 0 0 0 0 0 0 0 0 0 0
161
+ 2.7010 -0.1350 4.6230 C 0 0 0 0 0 0 0 0 0 0 0 0
162
+ 2.2280 0.8000 4.8010 H 0 0 0 0 0 0 0 0 0 0 0 0
163
+ 4.0350 -0.3160 4.9780 C 0 0 0 0 0 0 0 0 0 0 0 0
164
+ 4.5900 0.4650 5.4300 H 0 0 0 0 0 0 0 0 0 0 0 0
165
+ 4.6300 -1.5450 4.7290 C 0 0 0 0 0 0 0 0 0 0 0 0
166
+ 5.9270 -1.7250 5.0670 F 0 0 0 0 0 0 0 0 0 0 0 0
167
+ 3.9400 -2.5950 4.1400 C 0 0 0 0 0 0 0 0 0 0 0 0
168
+ 4.4240 -3.5210 3.9680 H 0 0 0 0 0 0 0 0 0 0 0 0
169
+ 2.6070 -2.4050 3.7830 C 0 0 0 0 0 0 0 0 0 0 0 0
170
+ 2.0670 -3.1950 3.3280 H 0 0 0 0 0 0 0 0 0 0 0 0
171
+ 0.2890 0.9840 2.1620 C 0 0 0 0 0 0 0 0 0 0 0 0
172
+ 0.2840 1.7830 3.0980 O 0 0 0 0 0 0 0 0 0 0 0 0
173
+ -1.0390 2.1600 0.3390 C 0 0 0 0 0 0 0 0 0 0 0 0
174
+ -2.3890 1.9160 0.5940 C 0 0 0 0 0 0 0 0 0 0 0 0
175
+ -2.6960 1.0370 1.1020 H 0 0 0 0 0 0 0 0 0 0 0 0
176
+ -3.3350 2.8540 0.1730 C 0 0 0 0 0 0 0 0 0 0 0 0
177
+ -4.3690 2.7000 0.3510 H 0 0 0 0 0 0 0 0 0 0 0 0
178
+ -2.9040 4.0060 -0.4840 C 0 0 0 0 0 0 0 0 0 0 0 0
179
+ -3.8270 4.9050 -0.8900 F 0 0 0 0 0 0 0 0 0 0 0 0
180
+ -1.5630 4.2630 -0.7360 C 0 0 0 0 0 0 0 0 0 0 0 0
181
+ -1.2550 5.1470 -1.2310 H 0 0 0 0 0 0 0 0 0 0 0 0
182
+ -0.6330 3.3150 -0.3080 C 0 0 0 0 0 0 0 0 0 0 0 0
183
+ 1 2 2 0 0 0 0
184
+ 2 3 1 0 0 0 0
185
+ 2 55 1 0 0 0 0
186
+ 3 4 1 0 0 0 0
187
+ 3 22 1 0 0 0 0
188
+ 4 5 1 0 0 0 0
189
+ 4 6 1 0 0 0 0
190
+ 4 7 1 0 0 0 0
191
+ 7 8 1 0 0 0 0
192
+ 7 20 2 0 0 0 0
193
+ 8 9 1 0 0 0 0
194
+ 8 10 2 0 0 0 0
195
+ 10 11 1 0 0 0 0
196
+ 10 12 1 0 0 0 0
197
+ 12 13 1 0 0 0 0
198
+ 12 18 2 0 0 0 0
199
+ 13 14 1 0 0 0 0
200
+ 14 15 1 0 0 0 0
201
+ 14 16 1 0 0 0 0
202
+ 14 17 1 0 0 0 0
203
+ 18 19 1 0 0 0 0
204
+ 18 20 1 0 0 0 0
205
+ 20 21 1 0 0 0 0
206
+ 22 23 1 0 0 0 0
207
+ 22 44 1 0 0 0 0
208
+ 22 46 1 0 0 0 0
209
+ 23 24 1 0 0 0 0
210
+ 23 25 1 0 0 0 0
211
+ 23 26 1 0 0 0 0
212
+ 26 27 1 0 0 0 0
213
+ 26 28 1 0 0 0 0
214
+ 26 29 1 0 0 0 0
215
+ 29 30 1 0 0 0 0
216
+ 29 44 1 0 0 0 0
217
+ 30 31 1 0 0 0 0
218
+ 30 32 1 0 0 0 0
219
+ 30 33 1 0 0 0 0
220
+ 33 34 1 0 0 0 0
221
+ 33 42 2 0 0 0 0
222
+ 34 35 1 0 0 0 0
223
+ 34 36 2 0 0 0 0
224
+ 36 37 1 0 0 0 0
225
+ 36 38 1 0 0 0 0
226
+ 38 39 1 0 0 0 0
227
+ 38 40 2 0 0 0 0
228
+ 40 41 1 0 0 0 0
229
+ 40 42 1 0 0 0 0
230
+ 42 43 1 0 0 0 0
231
+ 44 45 2 0 0 0 0
232
+ 46 47 1 0 0 0 0
233
+ 46 55 2 0 0 0 0
234
+ 47 48 1 0 0 0 0
235
+ 47 49 2 0 0 0 0
236
+ 49 50 1 0 0 0 0
237
+ 49 51 1 0 0 0 0
238
+ 51 52 1 0 0 0 0
239
+ 51 53 2 0 0 0 0
240
+ 53 54 1 0 0 0 0
241
+ 53 55 1 0 0 0 0
242
+ M END
243
+ > <Name>
244
+ R
245
+
246
+ $$$$
model/Protenix-pxd/examples/prot.fasta ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ >A|protein
2
+ MASWSHPQFEKGGTHVAETSAPTRSEPDTRVLTLPGTASAPEFRLIDIDGLLNNRATTDVRDLGSGRLNAWGNSFPAAELPAPGSLITVAGIPFTWANAHARGDNIRCEGQVVDIPPGQYDWIYLLAASERRSEDTIWAHYDDGHADPLRVGISDFLDGTPAFGELSAFRTSRMHYPHHVQEGLPTTMWLTRVGMPRHGVARSLRLPRSVAMHVFALTLRTAAAVRLAEGATT
3
+ >B|protein
4
+ MGSSHHHHHHSQDPNSTTTAPPVELWTRDLGSCLHGTLATALIRDGHDPVTVLGAPWEFRRRPGAWSSEEYFFFAEPDSLAGRLALYHPFESTWHRSDGDGVDDLREALAAGVLPIAAVDNFHLPFRPAFHDVHAAHLLVVYRITETEVYVSDAQPPAFQGAIPLADFLASWGSLNPPDDADVFFSASPSGRRWLRTRMTGPVPEPDRHWVGRVIRENVARYRQEPPADTQTGLPGLRRYLDELCALTPGTNAASEALSELYVISWNIQAQSGLHAEFLRAHSVKWRIPELAEAAAGVDAVAHGWTGVRMTGAHSRVWQRHRPAELRGHATALVRRLEAALDLLELAADAVS
model/Protenix-pxd/finetune_demo.sh ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ export LAYERNORM_TYPE=fast_layernorm
16
+ export USE_DEEPSPEED_EVO_ATTENTION=true
17
+ # wget -P /af3-dev/release_model/ https://af3-dev.tos-cn-beijing.volces.com/release_model/protenix_base_default_v0.5.0.pt
18
+ checkpoint_path="/af3-dev/release_model/protenix_base_default_v0.5.0.pt"
19
+
20
+ python3 ./runner/train.py \
21
+ --model_name "protenix_base_constraint_v0.5.0" \
22
+ --run_name protenix_finetune \
23
+ --seed 42 \
24
+ --base_dir ./output \
25
+ --dtype bf16 \
26
+ --project protenix \
27
+ --use_wandb false \
28
+ --diffusion_batch_size 48 \
29
+ --eval_interval 400 \
30
+ --log_interval 50 \
31
+ --checkpoint_interval 400 \
32
+ --ema_decay 0.999 \
33
+ --train_crop_size 384 \
34
+ --max_steps 100000 \
35
+ --warmup_steps 2000 \
36
+ --lr 0.001 \
37
+ --sample_diffusion.N_step 20 \
38
+ --load_checkpoint_path ${checkpoint_path} \
39
+ --load_ema_checkpoint_path ${checkpoint_path} \
40
+ --data.train_sets weightedPDB_before2109_wopb_nometalc_0925 \
41
+ --data.weightedPDB_before2109_wopb_nometalc_0925.base_info.pdb_list examples/finetune_subset.txt \
42
+ --data.test_sets recentPDB_1536_sample384_0925,posebusters_0925
model/Protenix-pxd/inference_demo.sh ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ export LAYERNORM_TYPE=fast_layernorm
16
+ export USE_DEEPSPEED_EVO_ATTENTION=true
17
+
18
+ N_sample=5
19
+ N_step=200
20
+ N_cycle=10
21
+ seed=101
22
+
23
+ input_json_path="./examples/example.json"
24
+ dump_dir="./output"
25
+ model_name="protenix_base_default_v0.5.0"
26
+
27
+ python3 runner/inference.py \
28
+ --model_name ${model_name} \
29
+ --seeds ${seed} \
30
+ --dump_dir ${dump_dir} \
31
+ --input_json_path ${input_json_path} \
32
+ --model.N_cycle ${N_cycle} \
33
+ --sample_diffusion.N_sample ${N_sample} \
34
+ --sample_diffusion.N_step ${N_step}
35
+
36
+ # The following is a demo to use DDP for inference
37
+ # torchrun \
38
+ # --nproc_per_node $NPROC \
39
+ # --master_addr $WORKER_0_HOST \
40
+ # --master_port $WORKER_0_PORT \
41
+ # --node_rank=$ID \
42
+ # --nnodes=$WORKER_NUM \
43
+ # runner/inference.py \
44
+ # --seeds ${seed} \
45
+ # --dump_dir ${dump_dir} \
46
+ # --input_json_path ${input_json_path} \
47
+ # --model.N_cycle ${N_cycle} \
48
+ # --sample_diffusion.N_sample ${N_sample} \
49
+ # --sample_diffusion.N_step ${N_step}
model/Protenix-pxd/protenix/__init__.py ADDED
File without changes
model/Protenix-pxd/protenix/config/__init__.py ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ from .config import load_config, parse_configs, parse_sys_args, save_config
model/Protenix-pxd/protenix/config/config.py ADDED
@@ -0,0 +1,290 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ import argparse
16
+ import copy
17
+ import sys
18
+ from typing import Any, Optional, Union
19
+
20
+ import yaml
21
+ from ml_collections.config_dict import ConfigDict
22
+
23
+ from protenix.config.extend_types import (
24
+ DefaultNoneWithType,
25
+ GlobalConfigValue,
26
+ ListValue,
27
+ RequiredValue,
28
+ ValueMaybeNone,
29
+ get_bool_value,
30
+ )
31
+
32
+
33
+ class ArgumentNotSet(object):
34
+ pass
35
+
36
+
37
+ class ConfigManager(object):
38
+ def __init__(self, global_configs: dict, fill_required_with_null: bool = False):
39
+ """
40
+ Initialize the ConfigManager instance.
41
+
42
+ Args:
43
+ global_configs (dict): A dictionary containing global configuration settings.
44
+ fill_required_with_null (bool, optional):
45
+ A boolean flag indicating whether required values should be filled with `None` if not provided. Defaults to False.
46
+ """
47
+ self.global_configs = global_configs
48
+ self.fill_required_with_null = fill_required_with_null
49
+ self.config_infos, self.default_configs = self.get_config_infos()
50
+
51
+ def get_value_info(
52
+ self, value
53
+ ) -> tuple[Any, Optional[Any], Optional[bool], Optional[bool]]:
54
+ """
55
+ Return the type, default value, whether it allows None, and whether it is required for a given value.
56
+
57
+ Args:
58
+ value: The value to determine the information for.
59
+
60
+ Returns:
61
+ tuple: A tuple containing the following elements:
62
+ - dtype: The type of the value.
63
+ - default_value: The default value for the value.
64
+ - allow_none: A boolean indicating whether the value can be None.
65
+ - required: A boolean indicating whether the value is required.
66
+ """
67
+ if isinstance(value, DefaultNoneWithType):
68
+ return value.dtype, None, True, False
69
+ elif isinstance(value, ValueMaybeNone):
70
+ return value.dtype, value.value, True, False
71
+ elif isinstance(value, RequiredValue):
72
+ if self.fill_required_with_null:
73
+ return value.dtype, None, True, False
74
+ else:
75
+ return value.dtype, None, False, True
76
+ elif isinstance(value, GlobalConfigValue):
77
+ return self.get_value_info(self.global_configs[value.global_key])
78
+ elif isinstance(value, ListValue):
79
+ return (value.dtype, value.value, False, False)
80
+ elif isinstance(value, list):
81
+ if not value:
82
+ return (str, value, False, False)
83
+ return (type(value[0]), value, False, False)
84
+ else:
85
+ return type(value), value, False, False
86
+
87
+ def _get_config_infos(self, config_dict: dict) -> dict:
88
+ """
89
+ Recursively extracts configuration information from a given dictionary.
90
+
91
+ Args:
92
+ config_dict (dict): The dictionary containing configuration settings.
93
+
94
+ Returns:
95
+ tuple: A tuple containing two dictionaries:
96
+ - all_keys: A dictionary mapping keys to their corresponding configuration information.
97
+ - default_configs: A dictionary mapping keys to their default configuration values.
98
+
99
+ Raises:
100
+ AssertionError: If a key contains a period (.), which is not allowed.
101
+ """
102
+ all_keys = {}
103
+ default_configs = {}
104
+ for key, value in config_dict.items():
105
+ assert "." not in key
106
+ if isinstance(value, (dict)):
107
+ children_keys, children_configs = self._get_config_infos(value)
108
+ all_keys.update(
109
+ {
110
+ f"{key}.{child_key}": child_value_type
111
+ for child_key, child_value_type in children_keys.items()
112
+ }
113
+ )
114
+ default_configs[key] = children_configs
115
+ else:
116
+ value_info = self.get_value_info(value)
117
+ all_keys[key] = value_info
118
+ default_configs[key] = value_info[1]
119
+ return all_keys, default_configs
120
+
121
+ def get_config_infos(self):
122
+ return self._get_config_infos(self.global_configs)
123
+
124
+ def _merge_configs(
125
+ self,
126
+ new_configs: dict,
127
+ global_configs: dict,
128
+ local_configs: dict,
129
+ prefix="",
130
+ ) -> ConfigDict:
131
+ """Overwrite default configs with new configs recursively.
132
+ Args:
133
+ new_configs: global flattern config dict with all hierarchical config keys joined by '.', i.e.
134
+ {
135
+ 'c_z': 32,
136
+ 'model.evoformer.c_z': 16,
137
+ ...
138
+ }
139
+ global_configs: global hierarchical merging configs, i.e.
140
+ {
141
+ 'c_z' 32,
142
+ 'c_m': 128,
143
+ 'model': {
144
+ 'evoformer': {
145
+ ...
146
+ }
147
+ }
148
+ }
149
+ local_configs: hierarchical merging config dict in current level, i.e. for 'model' level, this maybe
150
+ {
151
+ 'evoformer': {
152
+ 'c_z': GlobalConfigValue("c_z"),
153
+ },
154
+ 'embedder': {
155
+ ...
156
+ }
157
+ }
158
+ prefix (str, optional): A prefix string to prepend to keys during recursion. Defaults to an empty string.
159
+
160
+ Returns:
161
+ ConfigDict: The merged configuration dictionary.
162
+
163
+ Raises:
164
+ Exception: If a required config value is not allowed to be None.
165
+ """
166
+ # Merge configs in current level first, since these configs maybe referenced by lower level
167
+ for key, value in local_configs.items():
168
+ if isinstance(value, dict):
169
+ continue
170
+ full_key = f"{prefix}.{key}" if prefix else key
171
+ dtype, default_value, allow_none, required = self.config_infos[full_key]
172
+ if full_key in new_configs and not isinstance(
173
+ new_configs[full_key], ArgumentNotSet
174
+ ):
175
+ if allow_none and new_configs[full_key] in [
176
+ "None",
177
+ "none",
178
+ "null",
179
+ ]:
180
+ local_configs[key] = None
181
+ elif dtype == bool:
182
+ local_configs[key] = get_bool_value(new_configs[full_key])
183
+ elif isinstance(value, (ListValue, list)):
184
+ local_configs[key] = (
185
+ [dtype(s) for s in new_configs[full_key].strip().split(",")]
186
+ if new_configs[full_key].strip()
187
+ else []
188
+ )
189
+ else:
190
+ local_configs[key] = dtype(new_configs[full_key])
191
+ elif isinstance(value, GlobalConfigValue):
192
+ local_configs[key] = global_configs[value.global_key]
193
+ else:
194
+ if not allow_none and default_value is None:
195
+ raise Exception(f"config {full_key} not allowed to be none")
196
+ local_configs[key] = default_value
197
+ for key, value in local_configs.items():
198
+ if not isinstance(value, dict):
199
+ continue
200
+ self._merge_configs(
201
+ new_configs, global_configs, value, f"{prefix}.{key}" if prefix else key
202
+ )
203
+
204
+ def merge_configs(self, new_configs: dict) -> ConfigDict:
205
+ configs = copy.deepcopy(self.global_configs)
206
+ self._merge_configs(new_configs, configs, configs)
207
+ return ConfigDict(configs)
208
+
209
+
210
+ def parse_configs(
211
+ configs: dict, arg_str: str = None, fill_required_with_null: bool = False
212
+ ) -> ConfigDict:
213
+ """
214
+ Parses and merges configuration settings from a dictionary and command-line arguments.
215
+
216
+ Args:
217
+ configs (dict): A dictionary containing initial configuration settings.
218
+ arg_str (str, optional): A string representing command-line arguments. Defaults to None.
219
+ fill_required_with_null (bool, optional):
220
+ A boolean flag indicating whether required values should be filled with `None` if not provided. Defaults to False.
221
+
222
+ Returns:
223
+ ConfigDict: The merged configuration dictionary.
224
+ """
225
+ manager = ConfigManager(configs, fill_required_with_null=fill_required_with_null)
226
+ parser = argparse.ArgumentParser()
227
+ # Register arguments
228
+ for key, (
229
+ dtype,
230
+ default_value,
231
+ allow_none,
232
+ required,
233
+ ) in manager.config_infos.items():
234
+ # All config use str type, strings will be converted to real dtype later
235
+ parser.add_argument(
236
+ "--" + key, type=str, default=ArgumentNotSet(), required=required
237
+ )
238
+ # Merge user commandline pargs with default ones
239
+ merged_configs = manager.merge_configs(
240
+ vars(parser.parse_args(arg_str.split())) if arg_str else {}
241
+ )
242
+ return merged_configs
243
+
244
+
245
+ def parse_sys_args() -> str:
246
+ """
247
+ Check whether command-line arguments are valid.
248
+ Each argument is expected to be in the format `--key value`.
249
+
250
+ Returns:
251
+ str: A string formatted as command-line arguments.
252
+
253
+ Raises:
254
+ AssertionError: If any key does not start with `--`.
255
+ """
256
+ args = sys.argv[1:]
257
+ arg_str = ""
258
+ for k, v in zip(args[::2], args[1::2]):
259
+ assert k.startswith("--")
260
+ arg_str += f"{k} {v} "
261
+ return arg_str
262
+
263
+
264
+ def load_config(path: str) -> dict:
265
+ """
266
+ Loads a configuration from a YAML file.
267
+
268
+ Args:
269
+ path (str): The path to the YAML file containing the configuration.
270
+
271
+ Returns:
272
+ dict: A dictionary containing the configuration loaded from the YAML file.
273
+ """
274
+ with open(path, "r") as f:
275
+ return yaml.safe_load(f)
276
+
277
+
278
+ def save_config(config: Union[ConfigDict, dict], path: str) -> None:
279
+ """
280
+ Saves a configuration to a YAML file.
281
+
282
+ Args:
283
+ config (ConfigDict or dict): The configuration to be saved.
284
+ If it is a ConfigDict, it will be converted to a dictionary.
285
+ path (str): The path to the YAML file where the configuration will be saved.
286
+ """
287
+ with open(path, "w") as f:
288
+ if isinstance(config, ConfigDict):
289
+ config = config.to_dict()
290
+ yaml.safe_dump(config, f)
model/Protenix-pxd/protenix/config/extend_types.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ class DefaultNoneWithType(object):
17
+ def __init__(self, dtype):
18
+ self.dtype = dtype
19
+
20
+
21
+ class ValueMaybeNone(object):
22
+ def __init__(self, value):
23
+ assert value is not None
24
+ self.dtype = type(value)
25
+ self.value = value
26
+
27
+
28
+ class GlobalConfigValue(object):
29
+ def __init__(self, global_key):
30
+ self.global_key = global_key
31
+
32
+
33
+ class RequiredValue(object):
34
+ def __init__(self, dtype):
35
+ self.dtype = dtype
36
+
37
+
38
+ class ListValue(object):
39
+ def __init__(self, value, dtype=None):
40
+ if value is not None:
41
+ self.value = value
42
+ self.dtype = dtype or type(value[0])
43
+ else:
44
+ self.value = None
45
+ self.dtype = dtype
46
+
47
+
48
+ def get_bool_value(bool_str: str):
49
+ bool_str_lower = bool_str.lower()
50
+ if bool_str_lower in ("false", "f", "no", "n", "0"):
51
+ return False
52
+ elif bool_str_lower in ("true", "t", "yes", "y", "1"):
53
+ return True
54
+ else:
55
+ raise ValueError(f"Cannot interpret {bool_str} as bool")
model/Protenix-pxd/protenix/data/__init__.py ADDED
File without changes
model/Protenix-pxd/protenix/data/ccd.py ADDED
@@ -0,0 +1,450 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ import functools
16
+ import logging
17
+ import pickle
18
+ from collections import defaultdict
19
+ from pathlib import Path
20
+ from typing import Any, Optional, Union
21
+
22
+ import biotite
23
+ import biotite.structure as struc
24
+ import biotite.structure.io.pdbx as pdbx
25
+ import numpy as np
26
+ from biotite.structure import AtomArray
27
+ from rdkit import Chem
28
+
29
+ from configs.configs_data import data_configs
30
+ from protenix.data.substructure_perms import get_substructure_perms
31
+
32
+ logger = logging.getLogger(__name__)
33
+
34
+ COMPONENTS_FILE = data_configs["ccd_components_file"]
35
+ RKDIT_MOL_PKL = Path(data_configs["ccd_components_rdkit_mol_file"])
36
+
37
+
38
+ @functools.lru_cache
39
+ def biotite_load_ccd_cif() -> pdbx.CIFFile:
40
+ """biotite load CCD components file
41
+
42
+ Returns:
43
+ pdbx.CIFFile: ccd components file
44
+ """
45
+ return pdbx.CIFFile.read(COMPONENTS_FILE)
46
+
47
+
48
+ def _map_central_to_leaving_groups(component) -> Optional[dict[str, list[list[str]]]]:
49
+ """map each central atom (bonded atom) index to leaving atom groups in component (atom_array).
50
+
51
+ Returns:
52
+ dict[str, list[list[str]]]: central atom name to leaving atom groups (atom names).
53
+ """
54
+ comp = component.copy()
55
+ # Eg: ions
56
+ if comp.bonds is None:
57
+ return {}
58
+ central_to_leaving_groups = defaultdict(list)
59
+ for c_idx in np.flatnonzero(~comp.leaving_atom_flag):
60
+ bonds, _ = comp.bonds.get_bonds(c_idx)
61
+ for l_idx in bonds:
62
+ if comp.leaving_atom_flag[l_idx]:
63
+ comp.bonds.remove_bond(c_idx, l_idx)
64
+ group_idx = struc.find_connected(comp.bonds, l_idx)
65
+ if not np.all(comp.leaving_atom_flag[group_idx]):
66
+ return None
67
+ central_to_leaving_groups[comp.atom_name[c_idx]].append(
68
+ comp.atom_name[group_idx].tolist()
69
+ )
70
+ return central_to_leaving_groups
71
+
72
+
73
+ @functools.lru_cache
74
+ def get_component_atom_array(
75
+ ccd_code: str, keep_leaving_atoms: bool = False, keep_hydrogens=False
76
+ ) -> AtomArray:
77
+ """get component atom array
78
+
79
+ Args:
80
+ ccd_code (str): ccd code
81
+ keep_leaving_atoms (bool, optional): keep leaving atoms. Defaults to False.
82
+ keep_hydrogens (bool, optional): keep hydrogens. Defaults to False.
83
+
84
+ Returns:
85
+ AtomArray: Biotite AtomArray of CCD component
86
+ with additional attribute: leaving_atom_flag (bool)
87
+ """
88
+ ccd_cif = biotite_load_ccd_cif()
89
+ if ccd_code not in ccd_cif:
90
+ logger.warning(f"Warning: get_component_atom_array() can not parse {ccd_code}")
91
+ return None
92
+ try:
93
+ comp = pdbx.get_component(ccd_cif, data_block=ccd_code, use_ideal_coord=True)
94
+ except biotite.InvalidFileError as e:
95
+ # Eg: UNL without atom.
96
+ logger.warning(
97
+ f"Warning: get_component_atom_array() can not parse {ccd_code} for {e}"
98
+ )
99
+ return None
100
+ atom_category = ccd_cif[ccd_code]["chem_comp_atom"]
101
+ leaving_atom_flag = atom_category["pdbx_leaving_atom_flag"].as_array()
102
+ comp.set_annotation("leaving_atom_flag", leaving_atom_flag == "Y")
103
+
104
+ for atom_id in ["alt_atom_id", "pdbx_component_atom_id"]:
105
+ comp.set_annotation(atom_id, atom_category[atom_id].as_array())
106
+ if not keep_leaving_atoms:
107
+ comp = comp[~comp.leaving_atom_flag]
108
+ if not keep_hydrogens:
109
+ # EG: ND4
110
+ comp = comp[~np.isin(comp.element, ["H", "D"])]
111
+
112
+ # Map central atom index to leaving group (atom_indices) in component (atom_array).
113
+ comp.central_to_leaving_groups = _map_central_to_leaving_groups(comp)
114
+ if comp.central_to_leaving_groups is None:
115
+ logger.warning(
116
+ f"Warning: ccd {ccd_code} has leaving atom group bond to more than one central atom, central_to_leaving_groups is None."
117
+ )
118
+ return comp
119
+
120
+
121
+ @functools.lru_cache(maxsize=None)
122
+ def get_one_letter_code(ccd_code: str) -> Union[str, None]:
123
+ """get one_letter_code from CCD components file.
124
+
125
+ normal return is one letter: ALA --> A, DT --> T
126
+ unknown protein: X
127
+ unknown DNA or RNA: N
128
+ other unknown: None
129
+ some ccd_code will return more than one letter:
130
+ eg: XXY --> THG
131
+
132
+ Args:
133
+ ccd_code (str): _description_
134
+
135
+ Returns:
136
+ str: one letter code
137
+ """
138
+ ccd_cif = biotite_load_ccd_cif()
139
+ if ccd_code not in ccd_cif:
140
+ return None
141
+ one = ccd_cif[ccd_code]["chem_comp"]["one_letter_code"].as_item()
142
+ if one == "?":
143
+ return None
144
+ else:
145
+ return one
146
+
147
+
148
+ @functools.lru_cache(maxsize=None)
149
+ def get_mol_type(ccd_code: str) -> str:
150
+ """get mol_type from CCD components file.
151
+
152
+ based on _chem_comp.type
153
+ http://mmcif.rcsb.org/dictionaries/mmcif_pdbx_v50.dic/Items/_chem_comp.type.html
154
+
155
+ not use _chem_comp.pdbx_type, because it is not consistent with _chem_comp.type
156
+ e.g. ccd 000 --> _chem_comp.type="NON-POLYMER" _chem_comp.pdbx_type="ATOMP"
157
+ https://mmcif.wwpdb.org/dictionaries/mmcif_pdbx_v5_next.dic/Items/_struct_asym.pdbx_type.html
158
+
159
+ Args:
160
+ ccd_code (str): ccd code
161
+
162
+ Returns:
163
+ str: mol_type, one of {"protein", "rna", "dna", "ligand"}
164
+ """
165
+ ccd_cif = biotite_load_ccd_cif()
166
+ if ccd_code not in ccd_cif:
167
+ return "ligand"
168
+
169
+ link_type = ccd_cif[ccd_code]["chem_comp"]["type"].as_item().upper()
170
+
171
+ if "PEPTIDE" in link_type and link_type != "PEPTIDE-LIKE":
172
+ return "protein"
173
+ if "DNA" in link_type:
174
+ return "dna"
175
+ if "RNA" in link_type:
176
+ return "rna"
177
+ return "ligand"
178
+
179
+
180
+ def get_all_ccd_code() -> list:
181
+ """get all ccd code from components file"""
182
+ ccd_cif = biotite_load_ccd_cif()
183
+ return list(ccd_cif.keys())
184
+
185
+
186
+ _ccd_rdkit_mols: dict[str, Chem.Mol] = {}
187
+
188
+
189
+ def get_component_rdkit_mol(ccd_code: str) -> Union[Chem.Mol, None]:
190
+ """get rdkit mol by PDBeCCDUtils
191
+ https://github.com/PDBeurope/ccdutils
192
+
193
+ preprocessing all ccd components in _components_file at first time run.
194
+
195
+ Args:
196
+ ccd_code (str): ccd code
197
+
198
+ Returns
199
+ rdkit.Chem.Mol: rdkit mol with ref coord
200
+ """
201
+ global _ccd_rdkit_mols
202
+ # _ccd_rdkit_mols is not empty
203
+ if _ccd_rdkit_mols:
204
+ return _ccd_rdkit_mols.get(ccd_code, None)
205
+
206
+ rdkit_mol_pkl = RKDIT_MOL_PKL
207
+ if rdkit_mol_pkl.exists():
208
+ with open(rdkit_mol_pkl, "rb") as f:
209
+ _ccd_rdkit_mols = pickle.load(f)
210
+ return _ccd_rdkit_mols.get(ccd_code, None)
211
+ else:
212
+ raise FileNotFoundError(
213
+ f"CCD components file {rdkit_mol_pkl} not found, please download it to your DATA_ROOT_DIR before running."
214
+ "See https://github.com/bytedance/Protenix"
215
+ )
216
+
217
+
218
+ @functools.lru_cache
219
+ def get_ccd_ref_info(ccd_code: str, return_perm: bool = True) -> dict[str, Any]:
220
+ """
221
+ Ref: AlphaFold3 SI Chapter 2.8
222
+ Reference features. Features derived from a residue, nucleotide or ligand’s reference conformer.
223
+ Given an input CCD code or SMILES string, the conformer is typically generated
224
+ with RDKit v.2023_03_3 [25] using ETKDGv3 [26]. On error, we fall back to using the CCD ideal coordinates,
225
+ or finally the representative coordinates
226
+ if they are from before our training date cut-off (2021-09-30 unless otherwise stated).
227
+ At the end, any atom coordinates still missing are set to zeros.
228
+
229
+ Get reference atom mapping and coordinates.
230
+
231
+ Args:
232
+ name (str): CCD name
233
+ return_perm (bool): return atom permutations.
234
+
235
+ Returns:
236
+ Dict:
237
+ ccd: ccd code
238
+ atom_map: atom name to atom index
239
+ coord: atom coordinates
240
+ charge: atom formal charge
241
+ perm: atom permutation
242
+ """
243
+ mol = get_component_rdkit_mol(ccd_code)
244
+ if mol is None:
245
+ return {}
246
+ if mol.GetNumAtoms() == 0: # eg: "UNL"
247
+ logger.warning(
248
+ f"Warning: mol {ccd_code} from get_component_rdkit_mol() has no atoms,"
249
+ "get_ccd_ref_info() return empty dict"
250
+ )
251
+ return {}
252
+ conf = mol.GetConformer(mol.ref_conf_id)
253
+ coord = conf.GetPositions()
254
+ charge = np.array([atom.GetFormalCharge() for atom in mol.GetAtoms()])
255
+
256
+ results = {
257
+ "ccd": ccd_code, # str
258
+ "atom_map": mol.atom_map, # dict[str,int]: atom name to atom index
259
+ "coord": coord, # np.ndarray[float]: atom coordinates, shape:(n_atom,3)
260
+ "mask": mol.ref_mask, # np.ndarray[bool]: atom mask, shape:(n_atom,)
261
+ "charge": charge, # np.ndarray[int]: atom formal charge, shape:(n_atom,)
262
+ }
263
+
264
+ if return_perm:
265
+ try:
266
+ Chem.SanitizeMol(mol)
267
+ perm = get_substructure_perms(mol, MaxMatches=1000)
268
+
269
+ except:
270
+ # Sanitize failed, permutation is unavailable
271
+ perm = np.array(
272
+ [
273
+ [
274
+ i
275
+ for i, atom in enumerate(mol.GetAtoms())
276
+ if atom.GetAtomicNum() != 1
277
+ ]
278
+ ]
279
+ )
280
+ # np.ndarray[int]: atom permutation, shape:(n_atom_wo_h, n_perm)
281
+ results["perm"] = perm.T
282
+
283
+ return results
284
+
285
+
286
+ # Modified from biotite to use consistent ccd components file
287
+ def _connect_inter_residue(
288
+ atoms: AtomArray, residue_starts: np.ndarray
289
+ ) -> struc.BondList:
290
+ """
291
+ Create a :class:`BondList` containing the bonds between adjacent
292
+ amino acid or nucleotide residues.
293
+
294
+ Parameters
295
+ ----------
296
+ atoms : AtomArray or AtomArrayStack
297
+ The structure to create the :class:`BondList` for.
298
+ residue_starts : ndarray, dtype=int
299
+ Return value of
300
+ ``get_residue_starts(atoms, add_exclusive_stop=True)``.
301
+
302
+ Returns
303
+ -------
304
+ BondList
305
+ A bond list containing all inter residue bonds.
306
+ """
307
+
308
+ bonds = []
309
+
310
+ atom_names = atoms.atom_name
311
+ res_names = atoms.res_name
312
+ res_ids = atoms.res_id
313
+ chain_ids = atoms.chain_id
314
+
315
+ # Iterate over all starts excluding:
316
+ # - the last residue and
317
+ # - exclusive end index of 'atoms'
318
+ for i in range(len(residue_starts) - 2):
319
+ curr_start_i = residue_starts[i]
320
+ next_start_i = residue_starts[i + 1]
321
+ after_next_start_i = residue_starts[i + 2]
322
+
323
+ # Check if the current and next residue is in the same chain
324
+ if chain_ids[next_start_i] != chain_ids[curr_start_i]:
325
+ continue
326
+ # Check if the current and next residue
327
+ # have consecutive residue IDs
328
+ # (Same residue ID is also possible if insertion code is used)
329
+ if res_ids[next_start_i] - res_ids[curr_start_i] > 1:
330
+ continue
331
+
332
+ # Get link type for this residue from RCSB components.cif
333
+ curr_link = get_mol_type(res_names[curr_start_i])
334
+ next_link = get_mol_type(res_names[next_start_i])
335
+
336
+ if curr_link == "protein" and next_link in "protein":
337
+ curr_connect_atom_name = "C"
338
+ next_connect_atom_name = "N"
339
+ elif curr_link in ["dna", "rna"] and next_link in ["dna", "rna"]:
340
+ curr_connect_atom_name = "O3'"
341
+ next_connect_atom_name = "P"
342
+ else:
343
+ # Create no bond if the connection types of consecutive
344
+ # residues are not compatible
345
+ continue
346
+
347
+ # Index in atom array for atom name in current residue
348
+ # Addition of 'curr_start_i' is necessary, as only a slice of
349
+ # 'atom_names' is taken, beginning at 'curr_start_i'
350
+ curr_connect_indices = np.where(
351
+ atom_names[curr_start_i:next_start_i] == curr_connect_atom_name
352
+ )[0]
353
+ curr_connect_indices += curr_start_i
354
+
355
+ # Index in atom array for atom name in next residue
356
+ next_connect_indices = np.where(
357
+ atom_names[next_start_i:after_next_start_i] == next_connect_atom_name
358
+ )[0]
359
+ next_connect_indices += next_start_i
360
+
361
+ if len(curr_connect_indices) == 0 or len(next_connect_indices) == 0:
362
+ # The connector atoms are not found in the adjacent residues
363
+ # -> skip this bond
364
+ continue
365
+
366
+ bonds.append(
367
+ (curr_connect_indices[0], next_connect_indices[0], struc.BondType.SINGLE)
368
+ )
369
+
370
+ return struc.BondList(atoms.array_length(), np.array(bonds, dtype=np.uint32))
371
+
372
+
373
+ def add_inter_residue_bonds(
374
+ atom_array: AtomArray,
375
+ exclude_struct_conn_pairs: bool = False,
376
+ remove_far_inter_chain_pairs: bool = False,
377
+ ) -> AtomArray:
378
+ """
379
+ add polymer bonds (C-N or O3'-P) between adjacent residues based on auth_seq_id.
380
+
381
+ exclude_struct_conn_pairs: if True, do not add bond between adjacent residues already has non-standard polymer bonds
382
+ on atom C or N or O3' or P.
383
+
384
+ remove_far_inter_chain_pairs: if True, remove inter chain (based on label_asym_id) bonds that are far away from each other.
385
+
386
+ returns:
387
+ AtomArray: Biotite AtomArray merged inter residue bonds into atom_array.bonds
388
+ """
389
+ res_starts = struc.get_residue_starts(atom_array, add_exclusive_stop=True)
390
+ inter_bonds = _connect_inter_residue(atom_array, res_starts)
391
+
392
+ if atom_array.bonds is None:
393
+ atom_array.bonds = inter_bonds
394
+ return atom_array
395
+
396
+ select_mask = np.ones(len(inter_bonds._bonds), dtype=bool)
397
+ if exclude_struct_conn_pairs:
398
+ for b_idx, (atom_i, atom_j, b_type) in enumerate(inter_bonds._bonds):
399
+ atom_k = atom_i if atom_array.atom_name[atom_i] in ("N", "O3'") else atom_j
400
+ bonds, types = atom_array.bonds.get_bonds(atom_k)
401
+ if len(bonds) == 0:
402
+ continue
403
+ for b in bonds:
404
+ if (
405
+ # adjacent residues
406
+ abs((res_starts <= b).sum() - (res_starts <= atom_k).sum()) == 1
407
+ and atom_array.chain_id[b] == atom_array.chain_id[atom_k]
408
+ and atom_array.atom_name[b] not in ("C", "P")
409
+ ):
410
+ select_mask[b_idx] = False
411
+ break
412
+
413
+ if remove_far_inter_chain_pairs:
414
+ if not hasattr(atom_array, "label_asym_id"):
415
+ logging.warning(
416
+ "label_asym_id not found, far inter chain bonds will not be removed"
417
+ )
418
+ for b_idx, (atom_i, atom_j, b_type) in enumerate(inter_bonds._bonds):
419
+ if atom_array.label_asym_id[atom_i] != atom_array.label_asym_id[atom_j]:
420
+ coord_i = atom_array.coord[atom_i]
421
+ coord_j = atom_array.coord[atom_j]
422
+ if np.linalg.norm(coord_i - coord_j) > 2.5:
423
+ select_mask[b_idx] = False
424
+
425
+ # filter out removed_inter_bonds from atom_array.bonds
426
+ remove_bonds = inter_bonds._bonds[~select_mask]
427
+ remove_mask = np.isin(atom_array.bonds._bonds[:, 0], remove_bonds[:, 0]) & np.isin(
428
+ atom_array.bonds._bonds[:, 1], remove_bonds[:, 1]
429
+ )
430
+ atom_array.bonds._bonds = atom_array.bonds._bonds[~remove_mask]
431
+
432
+ # merged normal inter_bonds into atom_array.bonds
433
+ inter_bonds._bonds = inter_bonds._bonds[select_mask]
434
+ atom_array.bonds = atom_array.bonds.merge(inter_bonds)
435
+ return atom_array
436
+
437
+
438
+ def res_names_to_sequence(res_names: list[str]) -> str:
439
+ """convert res_names to sequences {chain_id: canonical_sequence} based on CCD
440
+
441
+ Return
442
+ str: canonical_sequence
443
+ """
444
+ seq = ""
445
+ for res_name in res_names:
446
+ one = get_one_letter_code(res_name)
447
+ one = "X" if one is None else one
448
+ one = "X" if len(one) > 1 else one
449
+ seq += one
450
+ return seq
model/Protenix-pxd/protenix/data/compute_esm.py ADDED
@@ -0,0 +1,230 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ import argparse
16
+ import os
17
+
18
+ import pandas as pd
19
+ import torch
20
+ from esm import FastaBatchedDataset, pretrained
21
+ from tqdm.auto import tqdm
22
+
23
+ ESM_CONFIG = {
24
+ "esm2-3b": {
25
+ "type": "esm2",
26
+ "model_path": "esm2_t36_3B_UR50D.pt",
27
+ "emb_dim": 2560,
28
+ "n_layers": 36,
29
+ },
30
+ "esm2-3b-ism": {
31
+ "type": "esm2",
32
+ "model_path": "esm2_t36_3B_UR50D_ism.pt",
33
+ "emb_dim": 2560,
34
+ "n_layers": 36,
35
+ }, # https://www.biorxiv.org/content/10.1101/2024.11.08.622579v2
36
+ }
37
+
38
+
39
+ def _load_esm2_model(model_path):
40
+ if os.path.exists(model_path):
41
+ model, alphabet = pretrained.load_model_and_alphabet_local(model_path)
42
+ else:
43
+ model, alphabet = pretrained.load_model_and_alphabet(
44
+ os.path.splitext(os.path.basename(model_path))[0]
45
+ )
46
+ return model, alphabet
47
+
48
+
49
+ def load_esm_model(model_name, local_esm_dir="release_data/checkpoint"):
50
+ local_model_path = os.path.join(local_esm_dir, ESM_CONFIG[model_name]["model_path"])
51
+ if os.path.exists(local_model_path):
52
+ print("Try to load ESM language model from ", local_model_path)
53
+
54
+ if "ism" in model_name and not os.path.exists(local_model_path):
55
+ raise RuntimeError(
56
+ f"esm2-3b-ism model: {local_model_path} does not exist \n"
57
+ + "this model can not be download from fair-esm, \n"
58
+ + "download it from https://af3-dev.tos-cn-beijing.volces.com/release_model/esm2_t36_3B_UR50D_ism.pt"
59
+ )
60
+ if model_name.startswith("esm2"):
61
+ model, alphabet = _load_esm2_model(local_model_path)
62
+ model.eval()
63
+ if torch.cuda.is_available():
64
+ model = model.cuda()
65
+
66
+ return model, alphabet
67
+
68
+
69
+ def _check_files_exist(save_dir, labels):
70
+ return all(
71
+ [os.path.exists(os.path.join(save_dir, label + ".pt")) for label in labels]
72
+ )
73
+
74
+
75
+ def compute_ESM_embeddings(
76
+ model_name,
77
+ model,
78
+ alphabet,
79
+ labels,
80
+ sequences,
81
+ save_dir,
82
+ toks_per_batch=4096,
83
+ truncation_seq_length=1022,
84
+ ):
85
+ if model_name.startswith("esm2"):
86
+ embeddings = compute_esm2_embeddings(
87
+ model,
88
+ alphabet,
89
+ labels,
90
+ sequences,
91
+ save_dir,
92
+ toks_per_batch,
93
+ truncation_seq_length,
94
+ )
95
+ return embeddings
96
+
97
+
98
+ # Adapt from Corso, Gabriele, et al. "Diffdock: Diffusion steps, twists, and turns for molecular docking."
99
+ # URL: https://github.com/gcorso/DiffDock/blob/main/utils/inference_utils.py
100
+ def compute_esm2_embeddings(
101
+ model,
102
+ alphabet,
103
+ labels,
104
+ sequences,
105
+ save_dir,
106
+ toks_per_batch=4096,
107
+ truncation_seq_length=1022,
108
+ ):
109
+ dataset = FastaBatchedDataset(labels, sequences)
110
+ batches = dataset.get_batch_indices(toks_per_batch, extra_toks_per_seq=1)
111
+ data_loader = torch.utils.data.DataLoader(
112
+ dataset,
113
+ collate_fn=alphabet.get_batch_converter(truncation_seq_length),
114
+ batch_sampler=batches,
115
+ )
116
+ repr_layer = model.num_layers
117
+ embeddings = {}
118
+ with torch.no_grad():
119
+ for batch_idx, (labels, strs, toks) in enumerate(tqdm(data_loader)):
120
+ print(
121
+ f"Processing {batch_idx + 1} of {len(batches)} batches ({toks.size(0)} sequences)"
122
+ )
123
+ if _check_files_exist(save_dir, labels):
124
+ continue
125
+ if torch.cuda.is_available():
126
+ toks = toks.to(device="cuda", non_blocking=True)
127
+ out = model(toks, repr_layers=[repr_layer], return_contacts=False)
128
+ representation = out["representations"][repr_layer].to(device="cpu")
129
+ for i, label in enumerate(labels):
130
+ truncate_len = min(truncation_seq_length, len(strs[i]))
131
+ embeddings[label] = representation[i, 1 : truncate_len + 1].clone()
132
+ save_path = os.path.join(save_dir, label + ".pt")
133
+ torch.save(embeddings[label], save_path)
134
+ return embeddings
135
+
136
+
137
+ def pdb_sequences_iterator(
138
+ input_path="./scripts/msa/data/pdb_seqs/pdb_seq.csv",
139
+ save_path="./scripts/msa/data/pdb_seqs/pdb_labels_seqs.csv",
140
+ start_id=0,
141
+ end_id=-1,
142
+ ):
143
+ if os.path.exists(save_path):
144
+ df_seq = pd.read_csv(save_path)
145
+ else:
146
+ df = pd.read_csv(input_path)
147
+ # Protein only
148
+ df = df[df["mol_type"] == "protein"]
149
+ # Sequence name
150
+ df["pdb_entity_id"] = df["pdb_id"] + "_" + df["entity_id"].astype(str)
151
+ # Group by 'seq'
152
+ df_seq = (
153
+ df.groupby("seq")["pdb_entity_id"]
154
+ .apply(lambda x: ",".join(x))
155
+ .reset_index()
156
+ )
157
+ # Use the first pdb_entity_id as the label
158
+ df_seq["seq_label"] = df_seq["pdb_entity_id"].apply(lambda x: x.split(",")[0])
159
+ assert df_seq["seq_label"].nunique() == len(df_seq)
160
+ # Get a part id
161
+ df_seq["part_id"] = df_seq["pdb_entity_id"].apply(lambda x: x[1:3])
162
+ df_seq.to_csv(save_path)
163
+
164
+ if end_id == -1:
165
+ end_id = len(df_seq)
166
+ df_seq = df_seq[start_id:end_id]
167
+
168
+ part_counts = dict(df_seq["part_id"].value_counts())
169
+ for part_id, count in part_counts.items():
170
+ df_part = df_seq[df_seq["part_id"] == part_id]
171
+ print(f"Part {part_id}: {len(df_part)} sequences.")
172
+ yield part_id, df_part["seq_label"].tolist(), df_part["seq"].tolist()
173
+
174
+
175
+ def process_pdb_dataset(
176
+ model_name, root_save_dir, pdb_seq_path, pdb_seq_label_path, start_id=0, end_id=-1
177
+ ):
178
+
179
+ model, alphabet = load_esm_model(model_name)
180
+ seq_iterator = pdb_sequences_iterator(
181
+ pdb_seq_path, pdb_seq_label_path, start_id, end_id
182
+ )
183
+ error_parts = []
184
+ for part_id, labels, sequences in seq_iterator:
185
+ save_dir = os.path.join(root_save_dir, f"{part_id}")
186
+
187
+ if not os.path.exists(save_dir):
188
+ os.makedirs(save_dir)
189
+ print(f"[{part_id}] Generating ESM language model embeddings")
190
+ lm_embeddings = compute_ESM_embeddings(
191
+ model_name,
192
+ model,
193
+ alphabet,
194
+ labels,
195
+ sequences,
196
+ save_dir,
197
+ truncation_seq_length=4094,
198
+ toks_per_batch=16384,
199
+ )
200
+ print(f"[{part_id}] Processed {len(lm_embeddings)} sequences in total. Done!")
201
+
202
+ print("Error parts: ", error_parts)
203
+
204
+
205
+ def main():
206
+ parser = argparse.ArgumentParser()
207
+ parser.add_argument("--model_name", type=str, choices=list(ESM_CONFIG.keys()))
208
+ parser.add_argument("--start_id", type=int, default=0)
209
+ parser.add_argument("--end_id", type=int, default=-1)
210
+ args = parser.parse_args()
211
+
212
+ save_dir = f"./esm_embeddings/{args.model_name}"
213
+ pdb_seq_path = "./scripts/msa/data/pdb_seqs/pdb_seq.csv"
214
+ pdb_seq_label_path = "./scripts/msa/data/pdb_seqs/pdb_labels_seqs.csv"
215
+
216
+ if not os.path.exists(save_dir):
217
+ print("Make dir: ", save_dir)
218
+ os.makedirs(save_dir)
219
+ process_pdb_dataset(
220
+ args.model_name,
221
+ save_dir,
222
+ pdb_seq_path,
223
+ pdb_seq_label_path,
224
+ args.start_id,
225
+ args.end_id,
226
+ )
227
+
228
+
229
+ if __name__ == "__main__":
230
+ main()
model/Protenix-pxd/protenix/data/constants.py ADDED
@@ -0,0 +1,977 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from rdkit.Chem import GetPeriodicTable
16
+
17
+ EvaluationChainInterface = [
18
+ "intra_ligand",
19
+ "intra_dna",
20
+ "intra_rna",
21
+ "intra_prot",
22
+ "ligand_prot",
23
+ "rna_prot",
24
+ "dna_prot",
25
+ "prot_prot",
26
+ "antibody_antigen",
27
+ "antibody",
28
+ ]
29
+
30
+ EntityPolyTypeDict = {
31
+ "nuc": [
32
+ "peptide nucleic acid",
33
+ "polydeoxyribonucleotide",
34
+ "polydeoxyribonucleotide/polyribonucleotide hybrid",
35
+ "polyribonucleotide",
36
+ ],
37
+ "protein": ["polypeptide(D)", "polypeptide(L)"],
38
+ "ligand": ["cyclic-pseudo-peptide", "other"],
39
+ }
40
+
41
+ CRYSTALLIZATION_METHODS = {
42
+ "X-RAY DIFFRACTION",
43
+ "NEUTRON DIFFRACTION",
44
+ "ELECTRON CRYSTALLOGRAPHY",
45
+ "POWDER CRYSTALLOGRAPHY",
46
+ "FIBER DIFFRACTION",
47
+ }
48
+
49
+ ### Protein Constants ###
50
+ # https://mmcif.wwpdb.org/dictionaries/mmcif_pdbx_v40.dic/Items/_entity_poly.pdbx_seq_one_letter_code_can.html
51
+
52
+ mmcif_restype_1to3 = {
53
+ "A": "ALA",
54
+ "R": "ARG",
55
+ "N": "ASN",
56
+ "D": "ASP",
57
+ "C": "CYS",
58
+ "Q": "GLN",
59
+ "E": "GLU",
60
+ "G": "GLY",
61
+ "H": "HIS",
62
+ "I": "ILE",
63
+ "L": "LEU",
64
+ "K": "LYS",
65
+ "M": "MET",
66
+ "F": "PHE",
67
+ "P": "PRO",
68
+ "S": "SER",
69
+ "T": "THR",
70
+ "W": "TRP",
71
+ "Y": "TYR",
72
+ "V": "VAL",
73
+ "B": "ASX", # additional
74
+ "Z": "GLX", # additional
75
+ # "X": "UNK",
76
+ }
77
+
78
+ mmcif_restype_3to1 = {v: k for k, v in mmcif_restype_1to3.items()}
79
+
80
+ """
81
+ vdw table from rdkit; indices match those of the ligand atom_types.
82
+ https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/atomic_data.cpp#L46
83
+ """
84
+
85
+ rdkit_vdws = [
86
+ 1.2,
87
+ 1.4,
88
+ 2.2,
89
+ 1.9,
90
+ 1.8,
91
+ 1.7,
92
+ 1.6,
93
+ 1.55,
94
+ 1.5,
95
+ 1.54,
96
+ 2.4,
97
+ 2.2,
98
+ 2.1,
99
+ 2.1,
100
+ 1.95,
101
+ 1.8,
102
+ 1.8,
103
+ 1.88,
104
+ 2.8,
105
+ 2.4,
106
+ 2.3,
107
+ 2.15,
108
+ 2.05,
109
+ 2.05,
110
+ 2.05,
111
+ 2.05,
112
+ 2.0,
113
+ 2.0,
114
+ 2.0,
115
+ 2.1,
116
+ 2.1,
117
+ 2.1,
118
+ 2.05,
119
+ 1.9,
120
+ 1.9,
121
+ 2.02,
122
+ 2.9,
123
+ 2.55,
124
+ 2.4,
125
+ 2.3,
126
+ 2.15,
127
+ 2.1,
128
+ 2.05,
129
+ 2.05,
130
+ 2.0,
131
+ 2.05,
132
+ 2.1,
133
+ 2.2,
134
+ 2.2,
135
+ 2.25,
136
+ 2.2,
137
+ 2.1,
138
+ 2.1,
139
+ 2.16,
140
+ 3.0,
141
+ 2.7,
142
+ 2.5,
143
+ 2.48,
144
+ 2.47,
145
+ 2.45,
146
+ 2.43,
147
+ 2.42,
148
+ 2.4,
149
+ 2.38,
150
+ 2.37,
151
+ 2.35,
152
+ 2.33,
153
+ 2.32,
154
+ 2.3,
155
+ 2.28,
156
+ 2.27,
157
+ 2.25,
158
+ 2.2,
159
+ 2.1,
160
+ 2.05,
161
+ 2.0,
162
+ 2.0,
163
+ 2.05,
164
+ 2.1,
165
+ 2.05,
166
+ 2.2,
167
+ 2.3,
168
+ 2.3,
169
+ 2.0,
170
+ 2.0,
171
+ 2.0,
172
+ 2.0,
173
+ 2.0,
174
+ 2.0,
175
+ 2.4,
176
+ 2.0,
177
+ 2.3,
178
+ 2.0,
179
+ 2.0,
180
+ 2.0,
181
+ 2.0,
182
+ 2.0,
183
+ 2.0,
184
+ 2.0,
185
+ 2.0,
186
+ 2.0,
187
+ 2.0,
188
+ 2.0,
189
+ 2.0,
190
+ 2.0,
191
+ 2.0,
192
+ 2.0,
193
+ 2.0,
194
+ 2.0,
195
+ 2.0,
196
+ 2.0,
197
+ 2.0,
198
+ 2.0,
199
+ 2.0,
200
+ 2.0,
201
+ 2.0,
202
+ 2.0,
203
+ 2.0,
204
+ ]
205
+
206
+
207
+ """
208
+ atom37 vdw table. Orders match atom37 indices. Note: the vdw's for N and O are different from rdkit_van_der_waals in this file.
209
+ We used the rdkit values for consistency.
210
+ Ref to https://github.com/aqlaboratory/openfold/blob/80c85b54e1a81d9a66df3f1b6c257ff97f10acd3/openfold/utils/loss.py#L1208C5-L1211C6
211
+ rdkit_van_der_waals_radius = {
212
+ "C": 1.7,
213
+ "N": 1.6,
214
+ "O": 1.55,
215
+ "S": 1.8,
216
+ }
217
+
218
+ atom37_vdw = [
219
+ rdkit_van_der_waals_radius[name[0]]
220
+ for name in residue_constants.atom_types
221
+ ]
222
+
223
+ """
224
+ atom37_vdw = [
225
+ 1.55,
226
+ 1.7,
227
+ 1.7,
228
+ 1.7,
229
+ 1.52,
230
+ 1.7,
231
+ 1.7,
232
+ 1.7,
233
+ 1.52,
234
+ 1.52,
235
+ 1.8,
236
+ 1.7,
237
+ 1.7,
238
+ 1.7,
239
+ 1.55,
240
+ 1.55,
241
+ 1.52,
242
+ 1.52,
243
+ 1.8,
244
+ 1.7,
245
+ 1.7,
246
+ 1.7,
247
+ 1.7,
248
+ 1.55,
249
+ 1.55,
250
+ 1.55,
251
+ 1.52,
252
+ 1.52,
253
+ 1.7,
254
+ 1.55,
255
+ 1.55,
256
+ 1.52,
257
+ 1.7,
258
+ 1.7,
259
+ 1.7,
260
+ 1.55,
261
+ 1.52,
262
+ ]
263
+
264
+
265
+ # Standard residues (AlphaFold3 SI Talbe 13)
266
+ PRO_STD_RESIDUES = {
267
+ "ALA": 0,
268
+ "ARG": 1,
269
+ "ASN": 2,
270
+ "ASP": 3,
271
+ "CYS": 4,
272
+ "GLN": 5,
273
+ "GLU": 6,
274
+ "GLY": 7,
275
+ "HIS": 8,
276
+ "ILE": 9,
277
+ "LEU": 10,
278
+ "LYS": 11,
279
+ "MET": 12,
280
+ "PHE": 13,
281
+ "PRO": 14,
282
+ "SER": 15,
283
+ "THR": 16,
284
+ "TRP": 17,
285
+ "TYR": 18,
286
+ "VAL": 19,
287
+ "UNK": 20,
288
+ }
289
+
290
+ RNA_STD_RESIDUES = {
291
+ "A": 21,
292
+ "G": 22,
293
+ "C": 23,
294
+ "U": 24,
295
+ "N": 25,
296
+ }
297
+
298
+ DNA_STD_RESIDUES = {
299
+ "DA": 26,
300
+ "DG": 27,
301
+ "DC": 28,
302
+ "DT": 29,
303
+ "DN": 30,
304
+ }
305
+
306
+ GAP = {"-": 31}
307
+ STD_RESIDUES = PRO_STD_RESIDUES | RNA_STD_RESIDUES | DNA_STD_RESIDUES
308
+ STD_RESIDUES_WITH_GAP = STD_RESIDUES | GAP
309
+ STD_RESIDUES_WITH_GAP_ID_TO_NAME = {
310
+ idx: res_type for res_type, idx in STD_RESIDUES_WITH_GAP.items()
311
+ }
312
+
313
+ rna_order_with_x = {
314
+ "A": 0,
315
+ "G": 1,
316
+ "C": 2,
317
+ "U": 3,
318
+ "N": 4,
319
+ }
320
+
321
+ RNA_NT_TO_ID = {
322
+ "A": 0,
323
+ "G": 1,
324
+ "C": 2,
325
+ "U": 3,
326
+ "N": 4,
327
+ "R": 4, # A or G
328
+ "Y": 4, # C or U
329
+ "S": 4, # G or C
330
+ "W": 4, # A or U
331
+ "K": 4, # G or U
332
+ "M": 4, # A or C
333
+ "B": 4, # C, G, U
334
+ "D": 4, # A, G, U
335
+ "H": 4, # A, C, U
336
+ "V": 4, # A, C, G
337
+ "X": 4,
338
+ "I": 4,
339
+ "T": 4,
340
+ "-": 5,
341
+ }
342
+
343
+ # Partial inversion of RNA_NT_TO_ID
344
+ RNA_ID_TO_NT = {
345
+ 0: "A",
346
+ 1: "G",
347
+ 2: "C",
348
+ 3: "U",
349
+ 4: "N", # Also R, Y, S, W, K, M, B, D, H
350
+ 5: "-",
351
+ }
352
+
353
+
354
+ def get_all_elems():
355
+ """
356
+ Retrieve a list of all element symbols from the RDKit periodic table up to a specified cutoff.
357
+
358
+ Returns:
359
+ list: A list of element symbols strings.
360
+ """
361
+ elem_list = []
362
+ pt = GetPeriodicTable()
363
+ for i in range(1, 119):
364
+ elem_list.append(pt.GetElementSymbol(i).upper())
365
+
366
+ # 128 elements in the AlphaFold3 SI Table 5 ref_element
367
+ elem_list += [f"UNK_ELEM_{i}" for i in range(119, 129)]
368
+ return elem_list
369
+
370
+
371
+ # len(STD_RESIDUES) + Atomic number up to 118 + 10 UNK_ELEM
372
+ ELEMS = dict([(i, len(STD_RESIDUES) + idx) for idx, i in enumerate(get_all_elems())])
373
+
374
+ RES_ATOMS_DICT = {
375
+ "ALA": {"N": 0, "CA": 1, "C": 2, "O": 3, "CB": 4, "OXT": 5},
376
+ "ARG": {
377
+ "N": 0,
378
+ "CA": 1,
379
+ "C": 2,
380
+ "O": 3,
381
+ "CB": 4,
382
+ "CG": 5,
383
+ "CD": 6,
384
+ "NE": 7,
385
+ "CZ": 8,
386
+ "NH1": 9,
387
+ "NH2": 10,
388
+ "OXT": 11,
389
+ },
390
+ "ASN": {
391
+ "N": 0,
392
+ "CA": 1,
393
+ "C": 2,
394
+ "O": 3,
395
+ "CB": 4,
396
+ "CG": 5,
397
+ "OD1": 6,
398
+ "ND2": 7,
399
+ "OXT": 8,
400
+ },
401
+ "ASP": {
402
+ "N": 0,
403
+ "CA": 1,
404
+ "C": 2,
405
+ "O": 3,
406
+ "CB": 4,
407
+ "CG": 5,
408
+ "OD1": 6,
409
+ "OD2": 7,
410
+ "OXT": 8,
411
+ },
412
+ "CYS": {"N": 0, "CA": 1, "C": 2, "O": 3, "CB": 4, "SG": 5, "OXT": 6},
413
+ "GLN": {
414
+ "N": 0,
415
+ "CA": 1,
416
+ "C": 2,
417
+ "O": 3,
418
+ "CB": 4,
419
+ "CG": 5,
420
+ "CD": 6,
421
+ "OE1": 7,
422
+ "NE2": 8,
423
+ "OXT": 9,
424
+ },
425
+ "GLU": {
426
+ "N": 0,
427
+ "CA": 1,
428
+ "C": 2,
429
+ "O": 3,
430
+ "CB": 4,
431
+ "CG": 5,
432
+ "CD": 6,
433
+ "OE1": 7,
434
+ "OE2": 8,
435
+ "OXT": 9,
436
+ },
437
+ "GLY": {"N": 0, "CA": 1, "C": 2, "O": 3, "OXT": 4},
438
+ "HIS": {
439
+ "N": 0,
440
+ "CA": 1,
441
+ "C": 2,
442
+ "O": 3,
443
+ "CB": 4,
444
+ "CG": 5,
445
+ "ND1": 6,
446
+ "CD2": 7,
447
+ "CE1": 8,
448
+ "NE2": 9,
449
+ "OXT": 10,
450
+ },
451
+ "ILE": {
452
+ "N": 0,
453
+ "CA": 1,
454
+ "C": 2,
455
+ "O": 3,
456
+ "CB": 4,
457
+ "CG1": 5,
458
+ "CG2": 6,
459
+ "CD1": 7,
460
+ "OXT": 8,
461
+ },
462
+ "LEU": {
463
+ "N": 0,
464
+ "CA": 1,
465
+ "C": 2,
466
+ "O": 3,
467
+ "CB": 4,
468
+ "CG": 5,
469
+ "CD1": 6,
470
+ "CD2": 7,
471
+ "OXT": 8,
472
+ },
473
+ "LYS": {
474
+ "N": 0,
475
+ "CA": 1,
476
+ "C": 2,
477
+ "O": 3,
478
+ "CB": 4,
479
+ "CG": 5,
480
+ "CD": 6,
481
+ "CE": 7,
482
+ "NZ": 8,
483
+ "OXT": 9,
484
+ },
485
+ "MET": {
486
+ "N": 0,
487
+ "CA": 1,
488
+ "C": 2,
489
+ "O": 3,
490
+ "CB": 4,
491
+ "CG": 5,
492
+ "SD": 6,
493
+ "CE": 7,
494
+ "OXT": 8,
495
+ },
496
+ "PHE": {
497
+ "N": 0,
498
+ "CA": 1,
499
+ "C": 2,
500
+ "O": 3,
501
+ "CB": 4,
502
+ "CG": 5,
503
+ "CD1": 6,
504
+ "CD2": 7,
505
+ "CE1": 8,
506
+ "CE2": 9,
507
+ "CZ": 10,
508
+ "OXT": 11,
509
+ },
510
+ "PRO": {"N": 0, "CA": 1, "C": 2, "O": 3, "CB": 4, "CG": 5, "CD": 6, "OXT": 7},
511
+ "SER": {"N": 0, "CA": 1, "C": 2, "O": 3, "CB": 4, "OG": 5, "OXT": 6},
512
+ "THR": {"N": 0, "CA": 1, "C": 2, "O": 3, "CB": 4, "OG1": 5, "CG2": 6, "OXT": 7},
513
+ "TRP": {
514
+ "N": 0,
515
+ "CA": 1,
516
+ "C": 2,
517
+ "O": 3,
518
+ "CB": 4,
519
+ "CG": 5,
520
+ "CD1": 6,
521
+ "CD2": 7,
522
+ "NE1": 8,
523
+ "CE2": 9,
524
+ "CE3": 10,
525
+ "CZ2": 11,
526
+ "CZ3": 12,
527
+ "CH2": 13,
528
+ "OXT": 14,
529
+ },
530
+ "TYR": {
531
+ "N": 0,
532
+ "CA": 1,
533
+ "C": 2,
534
+ "O": 3,
535
+ "CB": 4,
536
+ "CG": 5,
537
+ "CD1": 6,
538
+ "CD2": 7,
539
+ "CE1": 8,
540
+ "CE2": 9,
541
+ "CZ": 10,
542
+ "OH": 11,
543
+ "OXT": 12,
544
+ },
545
+ "VAL": {"N": 0, "CA": 1, "C": 2, "O": 3, "CB": 4, "CG1": 5, "CG2": 6, "OXT": 7},
546
+ "UNK": {"N": 0, "CA": 1, "C": 2, "O": 3, "CB": 4, "CG": 5, "OXT": 6},
547
+ "DA": {
548
+ "OP3": 0,
549
+ "P": 1,
550
+ "OP1": 2,
551
+ "OP2": 3,
552
+ "O5'": 4,
553
+ "C5'": 5,
554
+ "C4'": 6,
555
+ "O4'": 7,
556
+ "C3'": 8,
557
+ "O3'": 9,
558
+ "C2'": 10,
559
+ "C1'": 11,
560
+ "N9": 12,
561
+ "C8": 13,
562
+ "N7": 14,
563
+ "C5": 15,
564
+ "C6": 16,
565
+ "N6": 17,
566
+ "N1": 18,
567
+ "C2": 19,
568
+ "N3": 20,
569
+ "C4": 21,
570
+ },
571
+ "DC": {
572
+ "OP3": 0,
573
+ "P": 1,
574
+ "OP1": 2,
575
+ "OP2": 3,
576
+ "O5'": 4,
577
+ "C5'": 5,
578
+ "C4'": 6,
579
+ "O4'": 7,
580
+ "C3'": 8,
581
+ "O3'": 9,
582
+ "C2'": 10,
583
+ "C1'": 11,
584
+ "N1": 12,
585
+ "C2": 13,
586
+ "O2": 14,
587
+ "N3": 15,
588
+ "C4": 16,
589
+ "N4": 17,
590
+ "C5": 18,
591
+ "C6": 19,
592
+ },
593
+ "DG": {
594
+ "OP3": 0,
595
+ "P": 1,
596
+ "OP1": 2,
597
+ "OP2": 3,
598
+ "O5'": 4,
599
+ "C5'": 5,
600
+ "C4'": 6,
601
+ "O4'": 7,
602
+ "C3'": 8,
603
+ "O3'": 9,
604
+ "C2'": 10,
605
+ "C1'": 11,
606
+ "N9": 12,
607
+ "C8": 13,
608
+ "N7": 14,
609
+ "C5": 15,
610
+ "C6": 16,
611
+ "O6": 17,
612
+ "N1": 18,
613
+ "C2": 19,
614
+ "N2": 20,
615
+ "N3": 21,
616
+ "C4": 22,
617
+ },
618
+ "DT": {
619
+ "OP3": 0,
620
+ "P": 1,
621
+ "OP1": 2,
622
+ "OP2": 3,
623
+ "O5'": 4,
624
+ "C5'": 5,
625
+ "C4'": 6,
626
+ "O4'": 7,
627
+ "C3'": 8,
628
+ "O3'": 9,
629
+ "C2'": 10,
630
+ "C1'": 11,
631
+ "N1": 12,
632
+ "C2": 13,
633
+ "O2": 14,
634
+ "N3": 15,
635
+ "C4": 16,
636
+ "O4": 17,
637
+ "C5": 18,
638
+ "C7": 19,
639
+ "C6": 20,
640
+ },
641
+ "DN": {
642
+ "OP3": 0,
643
+ "P": 1,
644
+ "OP1": 2,
645
+ "OP2": 3,
646
+ "O5'": 4,
647
+ "C5'": 5,
648
+ "C4'": 6,
649
+ "O4'": 7,
650
+ "C3'": 8,
651
+ "O3'": 9,
652
+ "C2'": 10,
653
+ "C1'": 11,
654
+ },
655
+ "A": {
656
+ "OP3": 0,
657
+ "P": 1,
658
+ "OP1": 2,
659
+ "OP2": 3,
660
+ "O5'": 4,
661
+ "C5'": 5,
662
+ "C4'": 6,
663
+ "O4'": 7,
664
+ "C3'": 8,
665
+ "O3'": 9,
666
+ "C2'": 10,
667
+ "O2'": 11,
668
+ "C1'": 12,
669
+ "N9": 13,
670
+ "C8": 14,
671
+ "N7": 15,
672
+ "C5": 16,
673
+ "C6": 17,
674
+ "N6": 18,
675
+ "N1": 19,
676
+ "C2": 20,
677
+ "N3": 21,
678
+ "C4": 22,
679
+ },
680
+ "C": {
681
+ "OP3": 0,
682
+ "P": 1,
683
+ "OP1": 2,
684
+ "OP2": 3,
685
+ "O5'": 4,
686
+ "C5'": 5,
687
+ "C4'": 6,
688
+ "O4'": 7,
689
+ "C3'": 8,
690
+ "O3'": 9,
691
+ "C2'": 10,
692
+ "O2'": 11,
693
+ "C1'": 12,
694
+ "N1": 13,
695
+ "C2": 14,
696
+ "O2": 15,
697
+ "N3": 16,
698
+ "C4": 17,
699
+ "N4": 18,
700
+ "C5": 19,
701
+ "C6": 20,
702
+ },
703
+ "G": {
704
+ "OP3": 0,
705
+ "P": 1,
706
+ "OP1": 2,
707
+ "OP2": 3,
708
+ "O5'": 4,
709
+ "C5'": 5,
710
+ "C4'": 6,
711
+ "O4'": 7,
712
+ "C3'": 8,
713
+ "O3'": 9,
714
+ "C2'": 10,
715
+ "O2'": 11,
716
+ "C1'": 12,
717
+ "N9": 13,
718
+ "C8": 14,
719
+ "N7": 15,
720
+ "C5": 16,
721
+ "C6": 17,
722
+ "O6": 18,
723
+ "N1": 19,
724
+ "C2": 20,
725
+ "N2": 21,
726
+ "N3": 22,
727
+ "C4": 23,
728
+ },
729
+ "U": {
730
+ "OP3": 0,
731
+ "P": 1,
732
+ "OP1": 2,
733
+ "OP2": 3,
734
+ "O5'": 4,
735
+ "C5'": 5,
736
+ "C4'": 6,
737
+ "O4'": 7,
738
+ "C3'": 8,
739
+ "O3'": 9,
740
+ "C2'": 10,
741
+ "O2'": 11,
742
+ "C1'": 12,
743
+ "N1": 13,
744
+ "C2": 14,
745
+ "O2": 15,
746
+ "N3": 16,
747
+ "C4": 17,
748
+ "O4": 18,
749
+ "C5": 19,
750
+ "C6": 20,
751
+ },
752
+ "N": {
753
+ "OP3": 0,
754
+ "P": 1,
755
+ "OP1": 2,
756
+ "OP2": 3,
757
+ "O5'": 4,
758
+ "C5'": 5,
759
+ "C4'": 6,
760
+ "O4'": 7,
761
+ "C3'": 8,
762
+ "O3'": 9,
763
+ "C2'": 10,
764
+ "O2'": 11,
765
+ "C1'": 12,
766
+ },
767
+ }
768
+
769
+ CRYSTALLIZATION_AIDS = (
770
+ "SO4",
771
+ "GOL",
772
+ "EDO",
773
+ "PO4",
774
+ "ACT",
775
+ "PEG",
776
+ "DMS",
777
+ "TRS",
778
+ "PGE",
779
+ "PG4",
780
+ "FMT",
781
+ "EPE",
782
+ "MPD",
783
+ "MES",
784
+ "CD",
785
+ "IOD",
786
+ )
787
+
788
+ PROT_STD_RESIDUES_ONE_TO_THREE = {
789
+ "A": "ALA",
790
+ "R": "ARG",
791
+ "N": "ASN",
792
+ "D": "ASP",
793
+ "C": "CYS",
794
+ "Q": "GLN",
795
+ "E": "GLU",
796
+ "G": "GLY",
797
+ "H": "HIS",
798
+ "I": "ILE",
799
+ "L": "LEU",
800
+ "K": "LYS",
801
+ "M": "MET",
802
+ "F": "PHE",
803
+ "P": "PRO",
804
+ "S": "SER",
805
+ "T": "THR",
806
+ "W": "TRP",
807
+ "Y": "TYR",
808
+ "V": "VAL",
809
+ "X": "UNK",
810
+ }
811
+
812
+ CRYSTALLIZATION_AIDS = (
813
+ "SO4",
814
+ "GOL",
815
+ "EDO",
816
+ "PO4",
817
+ "ACT",
818
+ "PEG",
819
+ "DMS",
820
+ "TRS",
821
+ "PGE",
822
+ "PG4",
823
+ "FMT",
824
+ "EPE",
825
+ "MPD",
826
+ "MES",
827
+ "CD",
828
+ "IOD",
829
+ )
830
+
831
+
832
+ ### Molecule Constants ###
833
+ # AlphaFold3 SI Tabel 9
834
+ LIGAND_EXCLUSION = {'144', 'SEP', 'PG0', 'BEN', 'NH4', 'PO4', '3SY', 'BO3', 'UNL', 'MES', 'FLC', 'PGR', '15P', 'MYR',
835
+ 'POL', 'CIT', 'N', 'SPD', 'CAQ', 'IPA', 'EGL', 'SAR', 'NO3', 'STU', 'NHE', 'BU1', 'OXA', 'TPO',
836
+ 'EEE', 'CAD', 'CBM', 'SPM', 'BCN', 'FMT', 'PEP', 'CM', 'BAM', 'ETF', 'IOD', 'MLI', 'MRD', 'SCN',
837
+ 'GSH', 'CCN', 'SR', '1PE', 'ACY', 'STE', '9JE', 'SEO', 'IHS', 'MLA', 'TBU', 'DEP', 'STO', 'ACE',
838
+ 'NA', 'TRS', 'CPT', 'OHE', 'TME', 'CL', 'BME', 'DN', '3HR', 'LDA', 'SO4', 'MPD', 'OLC', 'DOD',
839
+ 'PE4', 'DOX', 'CMO', 'POP', 'PG4', '2F2', 'DMS', 'IMD', 'NH2', 'EOX', 'IPH', 'ACT', '7PE', 'UNX',
840
+ 'GTT', '7N5', 'AZI', 'FCY', 'SIN', 'AAE', 'BTB', 'BTC', 'PGE', 'PE3', 'MB3', 'EDO', 'PLM', 'BCT',
841
+ 'EOH', 'P6G', 'ACN', 'D10', 'EPE', 'DIO', 'CO3', 'PVO', 'TAR', 'URE', 'BDN', 'GOL', 'MSE', 'HED',
842
+ 'CLR', 'MEG', 'IHP', 'PEO', 'CXS', 'MOH', 'GYF', 'PEG', 'FJO', 'FW5', 'OLA', '2JC', 'ABA', 'O4B',
843
+ 'UPL', 'OME', 'C8E', 'OMB', 'UNK'} # fmt: skip
844
+
845
+
846
+ # AlphaFold3 SI Tabel 11
847
+ GLYCANS = {'79J', 'LXZ', 'KO1', 'Z57', 'XDX', '8OQ', 'G0S', '14T', 'ZB3', '9PG', 'BGL', 'GYU', 'AHG', 'SUC', 'ADA', 'NGR',
848
+ '4R1', 'EBQ', 'GAF', 'NAA', 'GYP', 'NDG', 'U2D', 'ISL', '9GP', 'KDM', 'HSX', 'NYT', 'V3P', '4NN', 'Z3L', 'ZCZ',
849
+ 'D5E', 'RIP', '3LR', 'GL1', 'K99', 'MQG', 'RAM', 'TUP', 'KDB', 'SIO', 'Z5L', 'GUL', 'GU2', 'EQV', '0V4', 'ABD',
850
+ 'RY7', '5II', 'GAL', '2GL', 'DR5', '4RS', 'MNA', 'DFX', '0WK', 'HTG', 'RP5', 'A1Q', 'B1N', 'GUF', 'NGA', 'TMR',
851
+ 'C3X', '9S7', 'XLS', 'MAG', 'RST', 'SDY', 'HSH', 'GN4', 'GTR', 'KBA', '6YR', 'CKB', 'DDA', 'RHC', 'OPM', 'SIZ',
852
+ 'GE3', 'TS8', 'Z6W', 'BZD', '56N', 'RIB', 'GL6', '8GA', 'GLC', 'TAG', 'QIF', 'TA6', 'UAP', 'TVY', 'GC1', 'ARW',
853
+ 'GU3', 'LBS', 'KDD', 'NPF', '49V', 'CDR', '12E', '6LA', '2M4', 'SA0', 'HNW', 'AOG', 'G8Z', '8LR', 'GPH', 'XXX',
854
+ 'GPM', 'MTT', 'JFZ', 'LOG', 'LMO', '5TH', '8I4', 'GUP', '5KQ', 'R2G', 'SSG', 'P8E', 'RF5', 'TOC', 'CT3', '2FL',
855
+ '73E', 'VJ4', '0H0', 'ERI', 'AMG', '3GR', 'BO1', 'AFD', 'FYJ', 'IDF', 'NBY', 'DOM', 'MBF', 'QDK', 'TDG', '6GR',
856
+ 'MAV', '1X4', 'AF1', 'EEN', 'ZB1', 'Z2D', '445', 'KHP', 'LKS', '10M', '491', 'OTU', 'BNG', 'AY9', 'KDR', 'LEC',
857
+ 'FFX', 'AFO', 'SGA', '16F', 'X34', 'SEJ', 'LAG', 'DNO', '6PZ', 'LBT', 'OSU', '3BU', '6K3', 'SFU', 'YDR', 'SIA',
858
+ '2WP', '25E', 'SMD', 'NBG', 'DO8', 'LGU', 'S81', 'Z3Q', 'TWA', 'G6S', '2WS', 'G6D', '18D', 'IN1', '64K', 'QPS',
859
+ 'PTQ', 'FX1', 'RVM', '8GP', 'NLC', 'FCA', 'JLT', 'AH8', 'MFB', 'RRJ', 'SOL', 'TM5', 'TCB', 'GU5', 'TWY', 'ETT',
860
+ '8YV', 'SG6', 'XMM', '17T', 'BGC', 'MLR', 'Z6J', '9SJ', 'R2B', 'BBK', 'BEM', 'LTG', '0NZ', 'DKZ', '3YW', 'ASO',
861
+ 'FUB', '4GL', 'GLT', 'KTU', 'CBF', 'ARI', 'FIF', 'LCN', 'SG5', 'AC1', 'SUP', 'ZMR', 'GU8', 'YYH', 'XKJ', 'JSV',
862
+ 'DQR', 'M6D', 'FBP', 'AFP', 'F6P', 'GLG', 'JZR', 'DLG', '9C1', 'AAL', 'RRY', 'ZDC', 'TVS', 'B1H', 'XXM', '8B7',
863
+ 'RCD', 'UBO', '7D1', 'XYT', 'WZ2', 'X1X', 'LRH', 'GDA', 'GLS', 'G6P', '49A', 'NM9', 'DVC', 'MG5', 'SCR', 'MAF',
864
+ '149', 'LFC', 'FMF', 'FRU', 'BG8', 'GP4', 'GU1', 'XXR', '4V5', 'MA2', '293', '6KH', 'GAA', 'MXY', 'QV4', 'MSX',
865
+ 'GU6', '95Z', 'Z9M', 'ARB', 'FNY', 'H1S', 'VG1', 'VTB', 'Z61', 'H6Z', '7K3', 'XGP', 'SOE', 'Z6H', 'GYV', 'MLB',
866
+ 'DR3', 'ISD', 'BGN', 'AXR', 'SCG', 'Z8T', '6UD', 'KDF', 'GLA', 'BNX', '3MG', 'BDP', 'KFN', 'Z9N', '2FG', 'PNA',
867
+ 'MUB', 'ZDO', '9WJ', 'GMB', 'LER', 'TVM', '89Y', 'Z4Y', '9SM', 'NGS', 'LAO', 'KGM', 'FKD', 'M1F', 'BG6', 'LAK',
868
+ '8GG', '6LS', 'GBH', 'CEG', 'BDR', 'RR7', 'SOG', 'AZC', 'AMU', 'BS7', '3S6', 'MXZ', 'Z3U', 'MDP', '6MJ', 'M3M',
869
+ 'DT6', 'PRP', 'TUG', 'Z16', 'IDG', 'TUR', 'Z4S', 'GM0', 'A0K', 'GCN', 'ZEE', 'UEA', 'HVC', 'CE5', 'FUD', 'NAG',
870
+ 'GPO', '22S', '3J4', 'DKX', 'FMO', 'BXP', 'NSQ', '50A', 'MAT', '5TM', '0MK', '9OK', 'RI2', 'SZZ', 'IDS', 'JRV',
871
+ '18O', '1CF', 'RAO', 'P53', '27C', 'Z3K', 'Z4U', 'Z4R', 'B4G', '6KU', 'HBZ', '07E', 'KBG', '98U', 'GFP', 'LFR',
872
+ 'G2F', '51N', 'FUF', 'LGC', '6S2', 'E3M', 'G7P', 'OTN', 'MVP', 'TVD', 'BBV', 'E5G', 'MJJ', 'IEM', 'FSA', 'CE8',
873
+ 'U1Y', '1FT', 'HTM', 'DLD', 'YO5', 'W9T', '5N6', 'PNG', 'NGY', 'DSR', 'M3N', 'GP0', '3MK', 'RBL', 'GTM', 'FSW',
874
+ '4JA', 'YYM', 'Z4V', '3HD', '2DR', 'AIG', 'GL0', 'BND', 'TM6', 'TUJ', 'DAN', '5GF', '4QY', '3FM', '6KW', 'LNV',
875
+ '289', 'BFN', 'PSG', 'U9J', 'YX0', 'EQP', 'YZ0', '0BD', 'GAT', 'LVZ', 'FUL', '22O', 'DLF', 'MA1', 'BXY', 'C3G',
876
+ 'CR6', 'GNS', 'EEQ', 'IDY', 'FFC', 'NBX', 'SID', '9KJ', '9WZ', 'M2F', 'FK9', 'SSH', 'TWG', 'RVG', 'BXX', '24S',
877
+ 'FSM', 'GDL', 'F1X', '3R3', 'ALX', '4GC', 'GL2', 'DL6', 'GS1', 'AMV', 'TVV', '2DG', 'RGG', 'TFU', '1GN', 'N3U',
878
+ 'SOR', 'MA3', 'GCT', 'H1M', '16G', '49T', 'BCD', 'GPW', 'DAG', 'GN1', 'IAB', 'EBG', 'GPU', '38J', '1LL', 'DR2',
879
+ 'YIO', 'YKR', '15L', 'WZ1', 'BTG', 'GPK', '5MM', '26O', 'AMN', 'DEL', 'CTT', '83Y', 'GMT', 'CTO', 'MBE', '1SD',
880
+ '6ZC', 'AXP', 'OX2', '5LT', 'MRH', '6BG', 'MDA', 'SG7', '045', 'GC4', 'LDY', 'YYJ', '07Y', 'KDO', 'GP1', 'BHG',
881
+ 'DPC', 'BM3', 'GU4', 'ISX', 'P6P', 'GPQ', '1S4', '475', 'GYE', 'CBK', 'CEZ', 'SGD', 'TH1', 'V3M', 'RWI', 'RM4',
882
+ 'U9M', 'U2A', '7GP', '05L', 'Z0F', 'GLO', 'LXB', 'TGA', '61J', 'GYG', 'GCU', 'GE1', 'F1P', 'GLP', 'CTR', 'AHR',
883
+ '3LJ', 'FUY', 'JVA', 'LAT', 'NHF', 'RB5', 'XYS', 'LXC', 'SLT', 'U8V', 'GMH', 'EAG', 'GCV', 'B6D', 'IDU', 'KG1',
884
+ 'BDF', 'NTP', 'IXD', 'RZM', 'PH5', 'SHB', 'X6Y', 'B16', 'Z9E', '9VP', 'LAH', 'H2P', 'TNX', '5GO', 'TGY', '5SP',
885
+ 'RHA', '5KV', 'GTK', 'SUS', 'DAF', '6DM', '8S0', '6MN', 'G4D', 'NT1', 'XYF', '5TJ', '46Z', '9AM', '7K2', '6C2',
886
+ 'WIA', '9YW', 'G4S', '46D', 'Z9W', 'ABL', 'XYZ', 'G3I', 'S7P', 'GC9', 'GQ1', 'GCO', 'M6P', 'WUN', 'U63', 'ZB2',
887
+ 'GLD', 'T6P', 'ZEL', '145', '2OS', 'BGP', 'C4W', 'IDX', 'MUR', '3SA', 'CR1', '34V', 'DEG', 'F55', 'L0W', 'TYV',
888
+ 'CJB', 'TW7', 'DDL', '5L3', 'NGC', 'ACX', 'JVS', 'NA1', 'GAD', '7JZ', 'BOG', 'GCW', 'BDG', 'Z15', '0LP', 'ABE',
889
+ 'RG1', 'DGU', 'N1L', 'NGE', 'PUF', 'B9D', '49S', '5LS', '4N2', '23V', 'RUU', 'B0D', 'RTV', '42D', 'M1P', 'MAB',
890
+ '2F8', 'TQY', 'L6S', 'V71', '2H5', 'M8C', 'NTF', 'H3S', 'LM2', 'MN0', 'JV4', '9WN', 'U9G', 'LZ0', 'X0X', 'TXB',
891
+ '3DO', 'SG4', 'IDR', '8B9', 'TOA', 'CRA', 'HSJ', '0HX', 'FDQ', 'FUC', 'ABF', 'ALL', 'G20', 'GL9', 'IDC', 'LOX',
892
+ 'Z2T', 'RP6', '2HA', 'AHM', 'DRI', 'EMZ', 'GMZ', 'HD4', 'GU9', 'L1L', 'PNW', 'PPC', 'MMA', 'CE6', '5KS', 'MGC',
893
+ 'XLF', 'KO2', 'RUG', 'HSG', 'SF6', 'IPT', 'TF0', 'GCD', 'B8D', '0YT', 'GRX', 'HNV', 'FVQ', 'RV7', 'J5B', 'ERE',
894
+ 'DFR', 'LVO', '4GP', 'BQY', 'BMA', 'KDA', 'ARA', 'KDN', 'ZCD', 'A5C', 'T68', 'XYL', 'YJM', 'NM6', '9CD', 'CNP',
895
+ 'U97', '9T1', 'C5X', 'R1X', 'BW3', '09X', 'GNX', 'PDX', 'Z9D', 'DGO', 'SLM', '66O', '4CQ', 'X6X', 'RTG', 'HSY',
896
+ '20X', 'GCB', 'EUS', 'FNG', '1S3', 'EGA', 'MQT', 'NXD', '5TK', 'Z9K', 'TGR', '9MR', 'M7P', 'PA1', 'MFU', 'UBH',
897
+ 'CBI', 'TMX', 'T6D', '32O', 'JHM', 'X2F', '4SG', '3DY', 'SGC', 'PAV', 'A2G', 'LAI', '0UB', 'BXF', '3J3', '9T7',
898
+ 'T6T', 'OI7', 'ANA', '9QG', 'K5B', 'KOT', 'GIV', 'MGL', 'GL4', '9SP', 'FDP', 'GPV', '6KS', 'GXV', 'NFG', 'M7B',
899
+ 'DG0', '57S', 'GUZ', '96O', 'GCS', 'MAN', 'YYB', 'TWD', 'MGS', 'TT7', 'PNJ', 'GXL', 'TRE', 'G28', '7NU', '8PK',
900
+ 'LKA', 'ASG', 'SF9', '2M8', '1GL', '5KT', 'BWG', 'OTG', 'VJ1', 'ZGE', '40J', 'Z4K', 'F58', 'KME', 'SR1', 'ZB0',
901
+ 'UDC', '6KL', '6LW', '8EX', 'D1M', '62I', 'H6Q', 'RAE', 'SHD', 'AGL', 'DGS', 'VKN', 'TWJ', 'MRP', 'TGK', 'HSQ',
902
+ 'ASC', 'F8X', '6GB', '0XY', 'BMX', 'SN5', 'Z5J', 'ZD0', 'DJB', 'KDE', 'TEU', 'M55', 'YYQ', 'DK4', 'D6G', 'KD5',
903
+ 'AH2', '4AM', 'RER', '16O', 'C3B', 'G1P', 'NG6', 'MBG', 'Z4W', 'MAW', '147', 'NGK', 'CKP', 'DJE', 'GL5', 'TVG',
904
+ 'PKM', 'L6T', 'XS2', '2GS', 'BTU', 'G16', 'PSV', 'AQA', 'MCU', 'SNG', '2M5', 'SLB', 'BM7', 'H53', 'MA8', 'OAK',
905
+ 'GRF', 'BGS', 'NTO', 'YYK', 'EPG', '6GP', 'MYG', 'FCT', 'Z9H', 'GL7', '48Z', '4UZ', '7CV', 'DYM', 'GLF', 'GU0',
906
+ 'CGF', 'STZ', '44S', 'LB2', 'TU4', 'Z8H', '5QP', 'A6P', 'XYP', 'B2G', 'U9A', 'SWE', 'NGZ', 'SGN', 'B7G', 'MAL',
907
+ '291', 'FSI', 'R1P', 'ACR', 'PZU', 'X2Y', 'Z9L', 'STW', 'U9D', 'X1P', 'TTV', 'GS9', 'QKH', 'SHG', 'N9S', 'NNG',
908
+ 'RP3', 'G3F', 'YX1', 'EMP', 'XIL', '08U', 'WOO', 'FCB', 'NG1', 'TRV', '20S', 'RAF', 'GZL', 'C4B', '9SG', 'GAC'} # fmt: skip
909
+
910
+
911
+ # AlphaFold3 SI Tabel 12
912
+ IONS = {'XGP', 'Z4K', '147', 'B0D', 'G6D', 'RIB', 'AXR', 'SOG', 'NTF', 'SHB', 'RG1', 'G6S', 'GPO', 'BTG', '5LT', 'CEG', 'KG1',
913
+ 'TDG', 'TRV', 'WZ1', 'ARI', 'HVC', 'TM6', '2DG', '6K3', 'ARA', 'ASO', '6GB', 'NBX', 'OTG', 'ASG', 'YO5', 'MRH', 'GYP',
914
+ 'C4B', 'GDA', 'MUB', 'XXM', 'M6D', 'OPM', 'GYV', 'DKX', '9SG', 'LOG', 'TRE', 'DLG', 'FNG', 'BBK', 'ABF', 'AQA', '3BU',
915
+ 'SIA', 'CGF', 'LBS', 'QV4', 'NAA', 'GLC', 'BHG', 'MSX', 'ZB1', 'YYJ', 'TUP', '6ZC', '0WK', 'RY7', 'L1L', 'RRY', 'M55',
916
+ '9PG', '5GF', '4V5', 'FMO', 'SWE', 'KDA', 'P8E', '14T', 'DL6', 'CKB', '2M8', 'AHR', 'NGY', '8GP', 'YYQ', 'LVO', 'CRA',
917
+ 'GU9', 'PPC', '6GP', 'CR1', 'G20', 'T6P', 'EMZ', 'RHA', 'GC4', 'AH2', 'FCT', 'QDK', 'DDA', 'RTV', '8S0', 'TVG', 'HNV',
918
+ 'FYJ', 'BDP', 'GYE', 'TS8', 'CEZ', '42D', 'NHF', 'NT1', 'WOO', '0LP', 'HBZ', 'SG5', 'NM9', 'CJB', 'DLF', 'EUS', 'IDY',
919
+ '2GL', 'NTO', 'PNG', 'B2G', '7NU', '4UZ', '5LS', '475', 'DJE', 'Z9E', 'GC9', 'QPS', '0NZ', 'F1X', 'G8Z', '2F8', '3SA',
920
+ '46D', '3DO', '6PZ', 'OI7', 'SLM', 'A0K', '9SJ', 'TWD', 'AOG', 'TW7', '2WS', 'GU5', 'NSQ', 'FUD', 'GLO', 'TNX', 'XYP',
921
+ 'JFZ', '2HA', 'G16', 'V3M', 'RTG', 'C4W', 'R2G', 'HD4', '66O', 'MFB', 'GXL', '8YV', 'NFG', 'FFC', '3YW', 'XYZ', '445',
922
+ 'IXD', 'GUL', 'CTO', '05L', 'Z3L', 'RBL', 'DR5', 'S81', 'CTR', '15L', 'GLP', '7K3', 'LDY', 'Z4S', 'H2P', '4GP', '5SP',
923
+ '18O', 'DGS', 'OX2', 'DFR', 'GN1', 'BGL', 'Z9K', 'GU4', '0V4', 'MA2', 'U2A', 'MXZ', 'PA1', '9YW', 'GS9', '3MK', 'AAL',
924
+ 'NBY', 'XXX', 'ISD', 'SEJ', 'DKZ', 'GL9', '23V', 'AMN', 'AHG', '25E', 'DJB', '7K2', 'GDL', '08U', 'TT7', 'DRI', 'HSY',
925
+ 'LB2', 'GCV', 'X1P', 'MN0', 'BW3', 'U9J', 'FFX', 'Z3U', 'LOX', 'MQG', 'HSG', 'GCO', 'GPQ', 'IDR', '2GS', 'AGL', 'RUU',
926
+ '5KV', 'R1X', 'LZ0', 'P6P', '0H0', '32O', 'LAG', 'YYK', '07E', '6KS', 'KOT', '17T', 'TQY', 'RM4', 'LNV', 'BGN', 'STW',
927
+ 'NGC', 'GLF', '2WP', 'GL5', 'KHP', '9SP', 'LAI', 'KDB', 'JVA', 'OTN', 'NA1', 'RR7', 'B16', 'PSV', 'NXD', 'C5X', 'G1P',
928
+ 'RRJ', 'DAF', '5N6', 'SG4', 'KDN', '95Z', 'FDQ', 'K5B', 'MDP', 'GTK', '4SG', 'ALL', 'LXC', 'TM5', 'NGA', '98U', '7JZ',
929
+ 'A6P', 'UBH', '293', '9T7', 'PUF', '5TM', 'VTB', 'BGP', 'JV4', 'SN5', 'FSA', 'LAK', 'G7P', 'BGC', 'ZCD', '7GP', '79J',
930
+ 'FKD', 'TWY', 'ZGE', 'OAK', 'FMF', 'ZCZ', 'GL2', 'MAV', 'ZB3', 'SA0', '3LR', 'SHD', 'XLS', 'DOM', 'Z4R', 'GP0', '5KS',
931
+ 'KO1', 'FCB', 'LFC', 'AC1', 'NPF', 'X6Y', 'IDF', '20X', '6KL', '6LW', '49S', '0YT', 'BDR', 'GBH', 'LAH', 'KO2', '40J',
932
+ '4CQ', 'D5E', 'T6D', 'SUP', 'TGR', 'Z57', 'SDY', '4NN', 'MNA', 'Z5J', '20S', 'CT3', 'DQR', '5MM', '83Y', '49T', 'BDG',
933
+ 'GL1', 'TOC', '6UD', 'GM0', 'GU3', '18D', 'ADA', '4AM', '9WZ', 'HSX', 'QIF', '6DM', '4RS', 'KDF', 'GAL', 'ISL', 'Z9H',
934
+ 'GC1', 'Z9W', 'NBG', 'MAL', 'BGS', 'W9T', 'U9A', '62I', 'M6P', 'AFO', 'C3G', 'M2F', 'RUG', 'ARW', 'LEC', 'B8D', '61J',
935
+ 'GL7', 'F58', 'GP4', 'GFP', 'TVY', 'ZB0', 'FSM', 'BDF', 'TCB', 'ZEL', 'IDG', '9CD', 'PNA', 'SF9', 'DSR', 'MG5', 'E5G',
936
+ 'PNW', 'TH1', '1S4', 'PTQ', 'KDD', 'SSH', 'F55', 'V71', 'VG1', '9T1', '145', 'GU2', '2M5', '8I4', 'H1S', 'YYB', '1LL',
937
+ '4N2', 'BG6', 'R2B', 'MAT', 'LMO', 'OSU', 'PSG', 'RCD', '26O', 'DGO', 'SID', 'FUB', '2FL', '3HD', '34V', 'FK9', 'AMG',
938
+ 'G4D', 'EPG', 'BWG', 'KTU', '491', 'JHM', 'NG1', 'DLD', 'MCU', 'MQT', 'EQV', 'CBF', '4GL', 'GS1', 'DEG', 'DDL', 'SGA',
939
+ '16O', 'X6X', 'H53', 'FUC', 'IDS', 'LTG', 'TMX', '9SM', '045', 'DAN', 'FRU', 'Z5L', 'AHM', 'BNG', 'AFP', 'MAF', 'UBO',
940
+ 'BOG', '2H5', 'NG6', '10M', 'NM6', 'RST', 'C3X', '9S7', '49A', 'AXP', 'PH5', 'ISX', 'B6D', 'GU6', 'TWG', '6GR', 'H3S',
941
+ 'Z61', '9WJ', 'BMA', 'U63', 'LKA', 'GRF', 'VJ1', 'RZM', 'MA3', '0XY', 'GAF', 'GAD', '1FT', '149', 'DPC', 'LFR', 'B9D',
942
+ 'CE5', 'SOR', '6KU', 'SFU', 'BEM', 'YKR', '38J', 'N3U', 'ARB', 'CBK', 'SGD', '8EX', 'WZ2', '8B9', 'TF0', 'X2Y', 'PKM',
943
+ 'RF5', 'D1M', 'AF1', 'DR2', 'EQP', 'AMV', 'PRP', 'VJ4', 'BCD', '1GN', 'SMD', '9QG', 'GCW', 'A5C', 'M3N', 'SZZ', 'B1H',
944
+ 'GPH', 'NDG', '5KT', 'TYV', 'KDM', 'A2G', 'CE6', 'H1M', 'JVS', 'ABL', 'LAO', 'P53', 'GCN', 'QKH', 'U2D', 'YYH', '6S2',
945
+ 'L0W', 'DEL', 'G2F', 'LER', 'MGC', 'RI2', '5KQ', 'DT6', 'U97', 'BG8', '1X4', 'GYG', 'U9D', 'SG7', '8B7', 'FCA', 'RWI',
946
+ '8GG', 'TAG', 'ERE', '46Z', '5QP', 'UDC', '51N', 'SGN', 'NLC', '8LR', 'L6T', 'WIA', 'TMR', 'IDC', 'GLT', 'FDP', 'GCT',
947
+ 'FSW', 'XYS', 'GAA', 'N9S', 'DO8', 'UAP', 'TUG', 'F1P', '2FG', '12E', '56N', 'IAB', 'LAT', 'X1X', 'MBE', 'GP1', 'X34',
948
+ '6MJ', '6KH', 'G3F', '3DY', 'XYF', 'GE1', 'MAB', 'Z9L', '289', 'GIV', 'F8X', '9WN', 'KDO', 'GLA', 'SIZ', 'G0S', 'EGA',
949
+ 'MJJ', 'B7G', 'BND', 'JRV', '1S3', 'DAG', 'GL0', 'GPV', 'HTM', '3R3', 'SHG', 'DR3', 'TTV', 'DK4', '22S', 'IDU', 'XIL',
950
+ 'RER', '6BG', 'GXV', 'BTU', 'GE3', 'H6Z', 'ZD0', 'SF6', 'VKN', 'GYU', '16F', 'K99', 'KGM', 'FX1', 'NGS', 'RVG', 'YX1',
951
+ '4GC', 'EEQ', 'XDX', 'MVP', 'PNJ', 'BS7', 'M7B', '0BD', 'AIG', 'TVV', 'BXY', 'T68', 'SIO', '8OQ', '2OS', 'S7P', 'GNX',
952
+ 'TUR', 'YX0', 'DVC', 'NGK', 'M8C', 'RHC', 'GPM', 'LKS', '64K', 'GMT', 'JLT', 'XS2', 'LBT', 'TVM', '6MN', 'DYM', 'E3M',
953
+ 'NGR', 'G6P', 'RAO', 'SCR', 'YJM', 'MRP', 'YIO', 'ACR', '291', '3GR', 'M1F', 'L6S', 'XLF', 'GU1', 'LVZ', 'DNO', '22O',
954
+ 'SOL', 'GPW', 'KD5', 'GCU', 'ERI', 'YZ0', 'TXB', 'ABD', 'YYM', 'BFN', 'G4S', 'GAC', 'PAV', 'MMA', 'RV7', 'MBG', '16G',
955
+ 'MA8', 'GU8', '4JA', 'NTP', 'FNY', '07Y', '1CF', 'KDE', 'Z16', 'CBI', '50A', 'Z4W', 'U9G', 'D6G', 'JSV', 'YDR', 'DGU',
956
+ 'Z15', 'G3I', 'XKJ', 'IEM', 'CDR', 'GLG', '0HX', 'TA6', '57S', 'LGU', '27C', 'BO1', 'EEN', 'HSJ', 'GLD', 'RP3', 'FSI',
957
+ 'LRH', '8PK', 'GTR', 'B1N', 'XXR', 'TFU', 'RAF', 'ETT', 'AY9', '3FM', 'G28', '2DR', 'FUL', 'CE8', 'GQ1', 'TGA', '6C2',
958
+ 'NGZ', '6LS', 'SOE', 'BQY', 'HSH', 'XYL', '5TH', 'A1Q', 'HTG', 'Z3K', '3MG', 'GMH', 'M1P', 'ASC', '73E', 'Z8T', 'STZ',
959
+ 'RAE', 'GL6', '7CV', 'GPU', '5L3', '7D1', 'CKP', 'BXP', 'M7P', 'RVM', 'TWA', '4R1', 'N1L', 'X2F', 'TVD', '3J3', 'TOA',
960
+ 'B4G', 'WUN', '0MK', '6YR', 'H6Q', 'CNP', 'TEU', 'MBF', '44S', 'Z9N', 'BM7', 'NGE', 'U9M', 'GMB', 'MTT', '9GP', 'DG0',
961
+ 'RP5', 'KBA', 'ALX', 'FVQ', 'TGY', 'EBG', 'BXF', '9C1', 'BBV', 'AFD', '4QY', 'GCD', 'FBP', '96O', 'GNS', 'OTU', 'ACX',
962
+ 'RP6', 'UEA', 'SGC', 'Z4V', 'RAM', 'AZC', 'J5B', '1GL', 'TGK', 'HSQ', 'LM2', 'MYG', 'PDX', 'Z6W', 'ZDC', '09X', 'IDX',
963
+ '9MR', 'MFU', 'CR6', 'Z8H', 'SUS', 'PZU', '89Y', '5TK', 'KME', 'U1Y', 'Z4U', 'LCN', 'GPK', 'MUR', '5TJ', 'NYT', '24S',
964
+ 'SR1', '0UB', '48Z', 'MGL', 'Z6J', 'BMX', 'C3B', 'TVS', 'SLB', 'IPT', 'MLB', 'SLT', 'Z9D', 'GRX', 'AH8', 'F6P', 'BNX',
965
+ 'JZR', 'LXB', 'M3M', 'XYT', 'MA1', 'GTM', 'SCG', 'Z3Q', 'KFN', 'LGC', 'ZB2', 'FIF', 'GLS', 'SSG', 'Z4Y', 'T6T', 'GCS',
966
+ 'GZL', 'U8V', 'V3P', 'ABE', 'MGS', '6KW', '8GA', 'BZD', 'FUF', 'GMZ', 'FUY', 'HNW', 'LXZ', 'IN1', 'SNG', 'GAT', 'Z9M',
967
+ 'BM3', 'ZDO', '9AM', '3LJ', 'X0X', 'MAN', '5GO', 'AMU', 'GUF', 'XMM', 'EAG', 'SUC', 'BXX', 'Z0F', '9OK', 'CTT', 'MLR',
968
+ '49V', 'ZMR', 'TWJ', 'MAW', '5II', 'ZEE', 'KBG', 'EMP', 'GUZ', 'TUJ', 'RB5', 'GCB', '9KJ', 'MAG', 'Z2D', '6LA', '2M4',
969
+ 'GN4', 'MDA', 'TU4', 'Z2T', 'GL4', 'EBQ', 'NNG', '1SD', 'ANA', 'MXY', 'Z6H', 'GU0', 'GUP', 'SG6', 'NAG', '9VP', 'RIP',
970
+ '3S6', 'KDR', 'R1P', '3J4', 'DFX', 'RGG'} # fmt: skip
971
+
972
+
973
+ # AlphaFold3 SI Tabel 15
974
+ PBV2_COMMON_NATURAL_LIGANDS = {'UPG', 'CDP', 'DSG', 'APC', 'GSP', 'FAD', 'IPE', 'NAI', '2BA', 'PGA', 'A3P', 'PRP', 'NAD', 'PLG',
975
+ 'SFG', 'MFU', 'APR', 'GTP', 'PLP', 'UDP', 'SAH', 'ACP', 'GSH', 'CTP', 'AKG', 'F15', '5AD', 'BCN',
976
+ 'BDP', 'H4B', 'PHO', 'FMN', 'MTA', 'NGA', 'OGA', 'SLB', 'SIN', 'C5P', 'TPP', 'BGC', 'NCA', 'UD1',
977
+ 'ANP', 'DGL', 'FDA', 'URI', 'ADP', 'MTE', 'PJ8', 'ATP'} # fmt: skip
model/Protenix-pxd/protenix/data/constraint_featurizer.py ADDED
The diff for this file is too large to render. See raw diff
 
model/Protenix-pxd/protenix/data/data_pipeline.py ADDED
@@ -0,0 +1,373 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 ByteDance and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ import logging
16
+ import os
17
+ from collections import defaultdict
18
+ from pathlib import Path
19
+ from typing import Any, Optional, Union
20
+
21
+ import biotite.structure.io as strucio
22
+ import numpy as np
23
+ import pandas as pd
24
+ import torch
25
+ from biotite.structure import AtomArray
26
+
27
+ from protenix.data.msa_featurizer import MSAFeaturizer
28
+ from protenix.data.parser import DistillationMMCIFParser, MMCIFParser
29
+ from protenix.data.tokenizer import AtomArrayTokenizer, TokenArray
30
+ from protenix.utils.cropping import CropData
31
+ from protenix.utils.file_io import load_gzip_pickle
32
+
33
+ torch.multiprocessing.set_sharing_strategy("file_system")
34
+
35
+
36
+ class DataPipeline(object):
37
+ """
38
+ DataPipeline class provides static methods to handle various data processing tasks related to bioassembly structures.
39
+ """
40
+
41
+ @staticmethod
42
+ def get_data_from_mmcif(
43
+ mmcif: Union[str, Path],
44
+ pdb_cluster_file: Union[str, Path, None] = None,
45
+ dataset: str = "WeightedPDB",
46
+ interface_radius: float = 5,
47
+ ) -> tuple[list[dict[str, Any]], dict[str, Any]]:
48
+ """
49
+ Get raw data from mmcif with tokenizer and a list of chains and interfaces for sampling.
50
+
51
+ Args:
52
+ mmcif (Union[str, Path]): The raw mmcif file.
53
+ pdb_cluster_file (Union[str, Path, None], optional): Cluster info txt file. Defaults to None.
54
+ dataset (str, optional): The dataset type, either "WeightedPDB" or "Distillation". Defaults to "WeightedPDB".
55
+ interface_radius (float, optional): The radius of the interface. Defaults to 5.
56
+ Returns:
57
+ tuple[list[dict[str, Any]], dict[str, Any]]:
58
+ sample_indices_list (list[dict[str, Any]]): The sample indices list (each one is a chain or an interface).
59
+ bioassembly_dict (dict[str, Any]): The bioassembly dict with sequence, atom_array, and token_array.
60
+ """
61
+ try:
62
+ if dataset == "WeightedPDB":
63
+ parser = MMCIFParser(mmcif_file=mmcif)
64
+ bioassembly_dict = parser.get_bioassembly()
65
+ elif dataset == "Distillation":
66
+ parser = DistillationMMCIFParser(mmcif_file=mmcif)
67
+ bioassembly_dict = parser.get_structure_dict()
68
+ else:
69
+ raise NotImplementedError(
70
+ 'Unsupported "dataset", please input either "WeightedPDB" or "Distillation".'
71
+ )
72
+
73
+ sample_indices_list = parser.make_indices(
74
+ bioassembly_dict=bioassembly_dict,
75
+ pdb_cluster_file=pdb_cluster_file,
76
+ interface_radius=interface_radius,
77
+ )
78
+ if len(sample_indices_list) == 0:
79
+ # empty indices and AtomArray
80
+ return [], bioassembly_dict
81
+
82
+ atom_array = bioassembly_dict["atom_array"]
83
+ atom_array.set_annotation(
84
+ "resolution", [parser.resolution] * len(atom_array)
85
+ )
86
+
87
+ tokenizer = AtomArrayTokenizer(atom_array)
88
+ token_array = tokenizer.get_token_array()
89
+ bioassembly_dict["msa_features"] = None
90
+ bioassembly_dict["template_features"] = None
91
+
92
+ bioassembly_dict["token_array"] = token_array
93
+ return sample_indices_list, bioassembly_dict
94
+
95
+ except Exception as e:
96
+ logging.warning("Gen data failed for %s due to %s", mmcif, e)
97
+ return [], {}
98
+
99
+ @staticmethod
100
+ def get_label_entity_id_to_asym_id_int(atom_array: AtomArray) -> dict[str, int]:
101
+ """
102
+ Get a dictionary that associates each label_entity_id with its corresponding asym_id_int.
103
+
104
+ Args:
105
+ atom_array (AtomArray): AtomArray object
106
+
107
+ Returns:
108
+ dict[str, int]: label_entity_id to its asym_id_int
109
+ """
110
+ entity_to_asym_id = defaultdict(set)
111
+ for atom in atom_array:
112
+ entity_id = atom.label_entity_id
113
+ entity_to_asym_id[entity_id].add(atom.asym_id_int)
114
+ return entity_to_asym_id
115
+
116
+ @staticmethod
117
+ def get_data_bioassembly(
118
+ bioassembly_dict_fpath: Union[str, Path],
119
+ ) -> dict[str, Any]:
120
+ """
121
+ Get the bioassembly dict.
122
+
123
+ Args:
124
+ bioassembly_dict_fpath (Union[str, Path]): The path to the bioassembly dictionary file.
125
+
126
+ Returns:
127
+ dict[str, Any]: The bioassembly dict with sequence, atom_array and token_array.
128
+
129
+ Raises:
130
+ AssertionError: If the bioassembly dictionary file does not exist.
131
+ """
132
+ assert os.path.exists(
133
+ bioassembly_dict_fpath
134
+ ), f"File not exists {bioassembly_dict_fpath}"
135
+ bioassembly_dict = load_gzip_pickle(bioassembly_dict_fpath)
136
+
137
+ return bioassembly_dict
138
+
139
+ @staticmethod
140
+ def _map_ref_chain(
141
+ one_sample: pd.Series, bioassembly_dict: dict[str, Any]
142
+ ) -> list[int]:
143
+ """
144
+ Map the chain or interface chain_x_id to the reference chain asym_id.
145
+
146
+ Args:
147
+ one_sample (pd.Series): A dict of one chain or interface from indices list.
148
+ bioassembly_dict (dict[str, Any]): The bioassembly dict with sequence, atom_array and token_array.
149
+
150
+ Returns:
151
+ list[int]: A list of asym_id_lnt of the chosen chain or interface, length 1 or 2.
152
+ """
153
+ atom_array = bioassembly_dict["atom_array"]
154
+ ref_chain_indices = []
155
+ for chain_id_field in ["chain_1_id", "chain_2_id"]:
156
+ chain_id = one_sample[chain_id_field]
157
+ assert np.isin(
158
+ chain_id, np.unique(atom_array.chain_id)
159
+ ), f"PDB {bioassembly_dict['pdb_id']} {chain_id_field}:{chain_id} not in atom_array"
160
+ chain_asym_id = atom_array[atom_array.chain_id == chain_id].asym_id_int[0]
161
+ ref_chain_indices.append(chain_asym_id)
162
+ if one_sample["type"] == "chain":
163
+ break
164
+ return ref_chain_indices
165
+
166
+ @staticmethod
167
+ def get_msa_raw_features(
168
+ bioassembly_dict: dict[str, Any],
169
+ selected_indices: np.ndarray,
170
+ msa_featurizer: Optional[MSAFeaturizer],
171
+ ) -> Optional[dict[str, np.ndarray]]:
172
+ """
173
+ Get tokenized MSA features of the bioassembly
174
+
175
+ Args:
176
+ bioassembly_dict (Mapping[str, Any]): The bioassembly dict with sequence, atom_array and token_array.
177
+ selected_indices (torch.Tensor): Cropped token indices.
178
+ msa_featurizer (MSAFeaturizer): MSAFeaturizer instance.
179
+
180
+ Returns:
181
+ Optional[dict[str, np.ndarray]]: The tokenized MSA features of the bioassembly.
182
+ """
183
+ if msa_featurizer is None:
184
+ return None
185
+
186
+ entity_to_asym_id_int = dict(
187
+ DataPipeline.get_label_entity_id_to_asym_id_int(
188
+ bioassembly_dict["atom_array"]
189
+ )
190
+ )
191
+
192
+ msa_feats = msa_featurizer(
193
+ bioassembly_dict=bioassembly_dict,
194
+ selected_indices=selected_indices,
195
+ entity_to_asym_id_int=entity_to_asym_id_int,
196
+ )
197
+
198
+ return msa_feats
199
+
200
+ @staticmethod
201
+ def get_template_raw_features(
202
+ bioassembly_dict: dict[str, Any],
203
+ selected_indices: np.ndarray,
204
+ template_featurizer: None,
205
+ ) -> Optional[dict[str, np.ndarray]]:
206
+ """
207
+ Get tokenized template features of the bioassembly.
208
+
209
+ Args:
210
+ bioassembly_dict (dict[str, Any]): The bioassembly dict with sequence, atom_array and token_array.
211
+ selected_indices (np.ndarray): Cropped token indices.
212
+ template_featurizer (None): Placeholder for the template featurizer.
213
+
214
+ Returns:
215
+ Optional[dict[str, np.ndarray]]: The tokenized template features of the bioassembly,
216
+ or None if the template featurizer is not provided.
217
+ """
218
+ if template_featurizer is None:
219
+ return None
220
+
221
+ entity_to_asym_id_int = dict(
222
+ DataPipeline.get_label_entity_id_to_asym_id_int(
223
+ bioassembly_dict["atom_array"]
224
+ )
225
+ )
226
+
227
+ template_feats = template_featurizer(
228
+ bioassembly_dict=bioassembly_dict,
229
+ selected_indices=selected_indices,
230
+ entity_to_asym_id_int=entity_to_asym_id_int,
231
+ )
232
+ return template_feats
233
+
234
+ @staticmethod
235
+ def crop(
236
+ one_sample: pd.Series,
237
+ bioassembly_dict: dict[str, Any],
238
+ crop_size: int,
239
+ msa_featurizer: Optional[MSAFeaturizer],
240
+ template_featurizer: None,
241
+ method_weights: list[float] = [0.2, 0.4, 0.4],
242
+ contiguous_crop_complete_lig: bool = False,
243
+ spatial_crop_complete_lig: bool = False,
244
+ drop_last: bool = False,
245
+ remove_metal: bool = False,
246
+ ) -> tuple[str, TokenArray, AtomArray, dict[str, Any], dict[str, Any]]:
247
+ """
248
+ Crop data based on the crop size and reference chain indices.
249
+
250
+ Args:
251
+ one_sample (pd.Series): A dict of one chain or interface from indices list.
252
+ bioassembly_dict (dict[str, Any]): A dict of bioassembly dict with sequence, atom_array and token_array.
253
+ crop_size (int): the crop size.
254
+ msa_featurizer (MSAFeaturizer): Default to an empty replacement for msa featurizer.
255
+ template_featurizer (None): Placeholder for the template featurizer.
256
+ method_weights (list[float]): The weights corresponding to these three cropping methods:
257
+ ["ContiguousCropping", "SpatialCropping", "SpatialInterfaceCropping"].
258
+ contiguous_crop_complete_lig (bool): Whether to crop the complete ligand in ContiguousCropping method.
259
+ spatial_crop_complete_lig (bool): Whether to crop the complete ligand in SpatialCropping method.
260
+ drop_last (bool): Whether to drop the last fragment in ContiguousCropping.
261
+ remove_metal (bool): Whether to remove metal atoms from the crop.
262
+
263
+ Returns:
264
+ tuple[str, TokenArray, AtomArray, dict[str, Any], dict[str, Any]]:
265
+ crop_method (str): The crop method.
266
+ cropped_token_array (TokenArray): TokenArray after cropping.
267
+ cropped_atom_array (AtomArray): AtomArray after cropping.
268
+ cropped_msa_features (dict[str, Any]): The cropped msa features.
269
+ cropped_template_features (dict[str, Any]): The cropped template features.
270
+ """
271
+ if crop_size <= 0:
272
+ selected_indices = None
273
+ # Prepare msa
274
+ msa_features = DataPipeline.get_msa_raw_features(
275
+ bioassembly_dict=bioassembly_dict,
276
+ selected_indices=selected_indices,
277
+ msa_featurizer=msa_featurizer,
278
+ )
279
+ # Prepare template
280
+ template_features = DataPipeline.get_template_raw_features(
281
+ bioassembly_dict=bioassembly_dict,
282
+ selected_indices=selected_indices,
283
+ template_featurizer=template_featurizer,
284
+ )
285
+ return (
286
+ "no_crop",
287
+ bioassembly_dict["token_array"],
288
+ bioassembly_dict["atom_array"],
289
+ msa_features or {},
290
+ template_features or {},
291
+ -1,
292
+ )
293
+
294
+ ref_chain_indices = DataPipeline._map_ref_chain(
295
+ one_sample=one_sample, bioassembly_dict=bioassembly_dict
296
+ )
297
+
298
+ crop = CropData(
299
+ crop_size=crop_size,
300
+ ref_chain_indices=ref_chain_indices,
301
+ token_array=bioassembly_dict["token_array"],
302
+ atom_array=bioassembly_dict["atom_array"],
303
+ method_weights=method_weights,
304
+ contiguous_crop_complete_lig=contiguous_crop_complete_lig,
305
+ spatial_crop_complete_lig=spatial_crop_complete_lig,
306
+ drop_last=drop_last,
307
+ remove_metal=remove_metal,
308
+ )
309
+ # Get crop method
310
+ crop_method = crop.random_crop_method()
311
+ # Get crop indices based crop method
312
+ selected_indices, reference_token_index = crop.get_crop_indices(
313
+ crop_method=crop_method
314
+ )
315
+ # Prepare msa
316
+ msa_features = DataPipeline.get_msa_raw_features(
317
+ bioassembly_dict=bioassembly_dict,
318
+ selected_indices=selected_indices,
319
+ msa_featurizer=msa_featurizer,
320
+ )
321
+ # Prepare template
322
+ template_features = DataPipeline.get_template_raw_features(
323
+ bioassembly_dict=bioassembly_dict,
324
+ selected_indices=selected_indices,
325
+ template_featurizer=template_featurizer,
326
+ )
327
+
328
+ (
329
+ cropped_token_array,
330
+ cropped_atom_array,
331
+ cropped_msa_features,
332
+ cropped_template_features,
333
+ ) = crop.crop_by_indices(
334
+ selected_token_indices=selected_indices,
335
+ msa_features=msa_features,
336
+ template_features=template_features,
337
+ )
338
+
339
+ if crop_method == "ContiguousCropping":
340
+ resovled_atom_num = cropped_atom_array.is_resolved.sum()
341
+ # The criterion of “more than 4 atoms” is chosen arbitrarily.
342
+ assert (
343
+ resovled_atom_num > 4
344
+ ), f"{resovled_atom_num=} <= 4 after ContiguousCropping"
345
+
346
+ return (
347
+ crop_method,
348
+ cropped_token_array,
349
+ cropped_atom_array,
350
+ cropped_msa_features,
351
+ cropped_template_features,
352
+ reference_token_index,
353
+ )
354
+
355
+ @staticmethod
356
+ def save_atoms_to_cif(
357
+ output_cif_file: str, atom_array: AtomArray, include_bonds: bool = False
358
+ ) -> None:
359
+ """
360
+ Save atom array data to a CIF file.
361
+
362
+ Args:
363
+ output_cif_file (str): The output path for saving atom array in cif
364
+ atom_array (AtomArray): The atom array to be saved
365
+ include_bonds (bool): Whether to include bond information in the CIF file. Default is False.
366
+
367
+ """
368
+ strucio.save_structure(
369
+ file_path=output_cif_file,
370
+ array=atom_array,
371
+ data_block=os.path.basename(output_cif_file).replace(".cif", ""),
372
+ include_bonds=include_bonds,
373
+ )